| kiki33hun |
11-25-2011 07:45 |
Re: [Help] Change Brass Knuckles For Terrors only!
PHP Code:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#define MAX_KNIFE_SNDS 9
new knife_sounds[MAX_KNIFE_SNDS][] =
{
"weapons/knife_deploy1.wav",
"weapons/knife_hit1.wav",
"weapons/knife_hit2.wav",
"weapons/knife_hit3.wav",
"weapons/knife_hit4.wav",
"weapons/knife_hitwall1.wav",
"weapons/knife_slash1.wav",
"weapons/knife_slash2.wav",
"weapons/knife_stab.wav"
}
new fistsounds[MAX_KNIFE_SNDS][] =
{
"weapons/knife_slash1.wav",
"bknuckles/knife_hit1.wav",
"bknuckles/knife_hit2.wav",
"bknuckles/knife_hit3.wav",
"bknuckles/knife_hit4.wav",
"bknuckles/knife_hit4.wav",
"weapons/knife_slash1.wav",
"weapons/knife_slash2.wav",
"bknuckles/knife_stab.wav"
}
new v_fist[] = "models/ELNtion/v_elntion_box.mdl"
new p_fist[] = "models/ELNtion/p_elntion_box.mdl"
public plugin_init()
{
register_event("CurWeapon", "Event_CurWeapon", "be","1=1")
register_event("Damage", "Event_Damage", "be", "2!0")
register_forward(FM_EmitSound , "EmitSound")
}
public plugin_precache()
{
precache_model(v_fist)
precache_model(p_fist)
for(new i = 0; i < MAX_KNIFE_SNDS; i++)
precache_sound(fistsounds[i])
}
public Event_Damage(id)
{
if( get_user_team( id ) == 2 )
{
return PLUGIN_HANDLED;
}
if(!is_user_alive(id) || !is_user_connected(id))
return PLUGIN_CONTINUE
new AttakerWeapon, AttakerPartHit
get_user_attacker(id, AttakerWeapon, AttakerPartHit)
if(AttakerWeapon != CSW_KNIFE)
return PLUGIN_CONTINUE
new Float:Random_Float[3]
for(new i = 0; i < 3; i++) Random_Float[i] = random_float(100.0, 150.0)
Punch_View(id, Random_Float)
return PLUGIN_CONTINUE
}
public Event_CurWeapon(id)
{
new weaponID = read_data(2)
if( get_user_team( id ) == 2 )
{
return PLUGIN_HANDLED;
}
if(weaponID != CSW_KNIFE)
return PLUGIN_CONTINUE
entity_set_string(id, EV_SZ_viewmodel, v_fist)
entity_set_string(id, EV_SZ_weaponmodel, p_fist)
return PLUGIN_CONTINUE
}
public EmitSound(entity, channel, const sound[])
{
if(pev_valid(entity) && is_user_alive(entity))
{
for(new i = 0; i < MAX_KNIFE_SNDS; i++)
{
if(equal(sound , knife_sounds[i]))
{
emit_sound(entity, channel, fistsounds[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
}
}
return FMRES_IGNORED;
}
stock Punch_View(id, Float:ViewAngle[3])
{
entity_set_vector(id, EV_VEC_punchangle, ViewAngle)
}
|