silah sesleri - crosair
Gönderilme zamanı: Pzr May 20, 2018 10:39 pm
Beyler serverımıdaki silah seslerini değiştirmeye çalışıyorum bu plugini buldum yanlız bunu yükleyince aimler acılmıyor sabit kalıyor mermiler sekiyor ama crosair sabit kalıyor burda nişan almada zorluk cıkarıyor.plugin aşşada aimi sabit tutan kodu bilen varsa kaldırıp ata bilirmi yada sadece sesleri değiştirmek için plugin varsa başka oda olur.
Kod: Tümünü seç
#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <fakemeta_util>
#include <cstrike>
new silahsesler[][][] = {
{CSW_AK47,"weapons/csgo17/ak47-1.wav",4},
{CSW_AUG,"weapons/csgo17/aug-3.wav",4},
{CSW_AWP,"weapons/csgo17/awp_12yn.wav",2},
{CSW_SG552,"weapons/csgo17/sg552-2.wav",4},
{CSW_FAMAS,"weapons/csgo17/famas-2.wav",4},
{CSW_P90,"weapons/csgo17/p90-2.wav",4},
{CSW_MP5NAVY,"weapons/csgo17/mp5-2.wav",4},
{CSW_MAC10,"weapons/csgo17/mac10-1.wav",4},
{CSW_M249,"weapons/csgo17/m249-1.wav",2},
{CSW_GLOCK18,"weapons/csgo17/glock18-12yn.wav",4},
{CSW_GALIL,"weapons/csgo17/galil-2.wav",4},
{CSW_DEAGLE,"weapons/csgo17/deagle_012yn.wav",2},
{CSW_SCOUT,"weapons/csgo17/scout-2.wav",2},
{CSW_UMP45,"weapons/csgo17/ump45-2.wav",4},
{CSW_M3,"weapons/csgo17/m3-2.wav",2},
{CSW_P228,"weapons/csgo17/scout-2.wav",2},
{CSW_XM1014,"weapons/csgo17/xm1014-2.wav",2}
}
new const susturuculuusp[] = "weapons/csgo17/susturuculu/usp-2.wav"
new const susturuculum4a1[] = "weapons/csgo17/susturuculu/m4a1-1.wav"
new const susturucusuzusp[] = "weapons/csgo17/susturucusuz/usp_unsil-1.wav"
new const susturucusuzm4a1[] = "weapons/csgo17/susturucusuz/m4a1_unsil-1.wav"
public plugin_precache(){
for(new i;i<sizeof(silahsesler);i++){
precache_sound(silahsesler[i][1])
}
precache_sound(susturuculuusp)
precache_sound(susturuculum4a1)
precache_sound(susturucusuzusp)
precache_sound(susturucusuzm4a1)
}
public plugin_init(){
RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack")
RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack")
register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
register_forward(FM_PlaybackEvent, "fw_PlaybackEvent")
}
public fw_UpdateClientData_Post(id, sendweapons, cd_handle)
{
if(!is_user_alive(id) || !is_user_connected(id))
return FMRES_IGNORED
for(new i;i<sizeof(silahsesler);i++){
if(get_user_weapon(id) == silahsesler[i][0][0])
set_cd(cd_handle, CD_flNextAttack, get_gametime() + 0.001)
}
if(get_user_weapon(id) == CSW_USP)
set_cd(cd_handle, CD_flNextAttack, get_gametime() + 0.001)
if(get_user_weapon(id) == CSW_M4A1)
set_cd(cd_handle, CD_flNextAttack, get_gametime() + 0.001)
return FMRES_HANDLED
}
public fw_PlaybackEvent(flags, invoker, eventid, Float:delay, Float:origin[3], Float:angles[3], Float:fparam1, Float:fparam2, iParam1, iParam2, bParam1, bParam2)
{
if (!is_user_connected(invoker))
return FMRES_IGNORED
static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_m4a1", invoker)
static weapon2; weapon2 = fm_find_ent_by_owner(-1, "weapon_usp", invoker)
engfunc(EngFunc_PlaybackEvent, flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2)
for(new i;i<sizeof(silahsesler);i++){
if(get_user_weapon(invoker) == silahsesler[i][0][0]){
UTIL_PlayWeaponAnimation(invoker, silahsesler[i][2][0])
emit_sound(invoker, CHAN_WEAPON, silahsesler[i][1], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
}
}
if(get_user_weapon(invoker) == CSW_M4A1){
if(cs_get_weapon_silen(weapon)){
UTIL_PlayWeaponAnimation(invoker, 2)
emit_sound(invoker, CHAN_WEAPON, susturuculum4a1, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
}else{
UTIL_PlayWeaponAnimation(invoker, 9)
emit_sound(invoker, CHAN_WEAPON, susturucusuzm4a1, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
}
}
if(get_user_weapon(invoker) == CSW_USP){
if(cs_get_weapon_silen(weapon2)){
UTIL_PlayWeaponAnimation(invoker, 2)
emit_sound(invoker, CHAN_WEAPON, susturuculuusp, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
}else{
UTIL_PlayWeaponAnimation(invoker, 10)
emit_sound(invoker, CHAN_WEAPON, susturucusuzusp, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
}
}
return FMRES_SUPERCEDE
}
stock UTIL_PlayWeaponAnimation(const Player, const Sequence)
{
set_pev(Player, pev_weaponanim, Sequence)
message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player)
write_byte(Sequence)
write_byte(pev(Player, pev_body))
message_end()
}
public fw_TraceAttack(Victim, Attacker, Float:Damage, Float:Direction[3], Ptr, DamageBits)
{
static Float:flEnd[3], Float:vecPlane[3]
get_tr2(Ptr, TR_vecEndPos, flEnd)
get_tr2(Ptr, TR_vecPlaneNormal, vecPlane)
if(!is_user_alive(Victim))
{
Make_BulletHole(Attacker, flEnd, Damage)
}
return HAM_IGNORED
}
stock Make_BulletHole(id, Float:Origin[3], Float:Damage)
{
static Decal; Decal = random_num(41, 45)
static LoopTime;
if(Damage > 100.0) LoopTime = 2
else LoopTime = 1
for(new i = 0; i < LoopTime; i++)
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_WORLDDECAL)
engfunc(EngFunc_WriteCoord, Origin[0])
engfunc(EngFunc_WriteCoord, Origin[1])
engfunc(EngFunc_WriteCoord, Origin[2])
write_byte(Decal)
message_end()
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_GUNSHOTDECAL)
engfunc(EngFunc_WriteCoord, Origin[0])
engfunc(EngFunc_WriteCoord, Origin[1])
engfunc(EngFunc_WriteCoord, Origin[2])
write_short(id)
write_byte(Decal)
message_end()
}
}