PHP Code:
new Trie:g_tFistSounds
new g_iszFistPModel, g_iszFistVModel, g_iszCrowbarPModel, g_iszCrowbarVModel
public plugin_init()
{
register_event("CurWeapon", "CurWeapon", "be", "1=1", "2=29")
register_forward(FM_EmitSound, "EmitSound")
RegisterHam(Ham_Spawn, "player", "client_spawn", 1)
}
public plugin_precache()
{
g_tFistSounds = TrieCreate()
new bullet_hit2[] = "weapons/bullet_hit2.wav"
new cbar_hitbod1[] = "weapons/cbar_hitbod1.wav"
new cbar_hitbod2[] = "weapons/cbar_hitbod2.wav"
TrieSetString(g_tFistSounds, "weapons/knife_hit1.wav", bullet_hit2)
TrieSetString(g_tFistSounds, "weapons/knife_hit2.wav", bullet_hit2)
TrieSetString(g_tFistSounds, "weapons/knife_hit3.wav", bullet_hit2)
TrieSetString(g_tFistSounds, "weapons/knife_hit4.wav", bullet_hit2)
TrieSetString(g_tFistSounds, "weapons/knife_hitwall1.wav", cbar_hitbod1)
TrieSetString(g_tFistSounds, "weapons/knife_stab.wav", cbar_hitbod2)
new p_bknuckles[] = "models/p_bknuckles.mdl"
new v_bknuckles[] = "models/v_bknuckles.mdl"
new p_crowbar[] = "models/p_crowbar.mdl"
new v_crowbar[] = "models/v_crowbar.mdl"
g_iszFistPModel = engfunc(EngFunc_AllocString, p_bknuckles)
g_iszFistVModel = engfunc(EngFunc_AllocString, v_bknuckles)
g_iszCrowbarPModel = engfunc(EngFunc_AllocString, p_crowbar)
g_iszCrowbarVModel = engfunc(EngFunc_AllocString, v_crowbar)
precache_sound( bullet_hit2 )
precache_sound( cbar_hitbod1 )
precache_sound( cbar_hitbod2 )
precache_model( p_bknuckles )
precache_model( v_bknuckles )
precache_model( p_crowbar )
precache_model( v_crowbar )
precache_model("models/player/amx_t_nike/amx_t_nike.mdl")
precache_model("models/player/amx_ct_puma/amx_ct_puma.mdl")
}
public EmitSound(id, channel, sample[], Float:vol, Float:attn, flags, pitch)
{
if (get_pcvar_num(cvar_fists) && is_user_alive(id) )
{
new szSound[32]
if( TrieGetString(g_tFistSounds, sample, szSound, charsmax(szSound)) )
{
emit_sound(id, channel, szSound, vol, attn, flags, pitch)
return FMRES_SUPERCEDE
}
}
return FMRES_IGNORED
}
public CurWeapon(id)
{
if( is_user_alive(id) )
{
if( id == crowbaruser )
{
set_pev(id, pev_viewmodel, g_iszCrowbarVModel)
set_pev(id, pev_weaponmodel, g_iszCrowbarPModel)
}
else if( get_pcvar_num(cvar_fists) )
{
set_pev(id, pev_viewmodel, g_iszFistVModel)
set_pev(id, pev_weaponmodel, g_iszFistPModel)
}
}
}
public client_spawn(id)
{
if( is_user_alive( id ) )
{
switch( cs_get_user_team(id) )
{
case CS_TEAM_T:cs_set_player_model(id, "amx_t_nike")
case CS_TEAM_CT:cs_set_player_model(id, "amx_ct_puma")
}
}
}