i know this is an old plugin but it is throwing tons of errors in the logs and i would like to fix this ...
L 05/27/2015 - 04:19:15: [AMXX] Displaying debug trace (plugin "Brass_Knuckles.amxx")
L 05/27/2015 - 04:19:15: [AMXX] [0] 9918.attach::Event_DeathMsg (line 47)
Best i can tell it dosent like this ..
Code:
#include <amxmodx>
#include <fakemeta>
#include <cstrike>
#include <engine>
new PLUGIN_NAME[] = "Brass Knuckles"
new PLUGIN_AUTHOR[] = "Cheap_Suit"
new PLUGIN_VERSION[] = "1.1"
new g_bknuckles[33]
public plugin_init()
{
register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR )
register_cvar( "amx_bk_enable", "1")
register_cvar( "amx_bk_cost", "50")
register_clcmd( "say /buybk", "cmd_BuyBK", 0, "- Buy a brass knuckles" )
register_concmd( "buybk", "cmd_BuyBK", 0, "- Buy a brass knuckles" )
register_event("DeathMsg", "Event_DeathMsg", "a")
register_event( "CurWeapon", "Event_CurWeapon", "be", "1=1" )
register_event( "Damage", "Event_DamageDeath", "bd", "2>0" )
register_event( "Damage", "Event_Damage", "be", "2>0" )
register_forward( FM_EmitSound, "fw_EmitSound" )
}
public plugin_precache()
{
precache_model( "models/p_bknuckles.mdl" )
precache_model( "models/v_bknuckles.mdl" )
precache_sound( "bknuckles/knife_hit1.wav" )
precache_sound( "bknuckles/knife_hit2.wav" )
precache_sound( "bknuckles/knife_hit3.wav" )
precache_sound( "bknuckles/knife_hit4.wav" )
precache_sound( "bknuckles/knife_stab.wav" )
}
public client_connect( id )
g_bknuckles[id] = 0
public Event_DamageDeath( id )
g_bknuckles[id] = 0
public Event_DeathMsg()
g_bknuckles[read_data( 2 )] = 0
public Event_CurWeapon(id)
{
if ( !is_user_connected( id ) || !is_user_alive( id ) )
return PLUGIN_CONTINUE
if ( read_data( 2 ) != CSW_KNIFE )
return PLUGIN_CONTINUE
if ( !g_bknuckles[id] )
return PLUGIN_CONTINUE
entity_set_string( id, EV_SZ_viewmodel, "models/v_bknuckles.mdl" )
entity_set_string( id, EV_SZ_weaponmodel, "models/p_bknuckles.mdl" )
return PLUGIN_CONTINUE
}
public cmd_BuyBK(id)
{
new Cost = get_cvar_num( "amx_bk_cost" ), Money = cs_get_user_money( id )
if ( !get_cvar_num( "amx_bk_enable" ) )
client_print( id, print_chat, "Sorry, brass knuckles is currently off" )
else if ( !is_user_alive( id ) )
client_print( id, print_chat, "Sorry, You need to be alive" )
else if ( Money < Cost )
client_print( id, print_chat, "Sorry, You need $%d to buy", Cost )
else if ( g_bknuckles[id] )
client_print( id, print_chat, "Sorry, You already bought a pair of brass knuckles" )
else
{
g_bknuckles[id] = 1
cs_set_user_money( id, Money - Cost )
client_print( id, print_chat, "You bought a pair of brass knuckles" )
new temp[2], weapon = get_user_weapon( id, temp[0], temp[1] )
if( weapon == CSW_KNIFE )
{
entity_set_string( id, EV_SZ_viewmodel, "models/v_bknuckles.mdl" )
entity_set_string( id, EV_SZ_weaponmodel, "models/p_bknuckles.mdl" )
}
}
return PLUGIN_HANDLED
}
public Event_Damage( id )
{
if ( !is_user_alive( id ) || !is_user_connected( id ) )
return PLUGIN_CONTINUE
new AttakerWeapon, AttakerPartHit
new Attacker = get_user_attacker( id, AttakerWeapon, AttakerPartHit )
if ( AttakerWeapon != CSW_KNIFE )
return PLUGIN_CONTINUE
if ( !g_bknuckles[Attacker] )
return PLUGIN_CONTINUE
new Float:RandomFloat[3]
for( new i = 0; i < 3; i++ ) RandomFloat[i] = random_float( -100.0, 150.0 )
entity_set_vector( id, EV_VEC_punchangle, RandomFloat )
return PLUGIN_CONTINUE
}
public fw_EmitSound( id, channel, sample[] )
{
if ( !is_user_alive( id ) || !is_user_connected( id ) )
return FMRES_IGNORED
new temp[2], weapon = get_user_weapon( id, temp[0], temp[1] )
if ( weapon != CSW_KNIFE )
return FMRES_IGNORED
if ( !g_bknuckles[id] )
return FMRES_IGNORED
if ( equal( sample, "weapons/knife_hit1.wav" ) )
{
emit_sound( id, CHAN_WEAPON, "bknuckles/knife_hit1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM )
return FMRES_SUPERCEDE
}
else if ( equal ( sample, "weapons/knife_hit2.wav" ) )
{
emit_sound( id, CHAN_WEAPON, "bknuckles/knife_hit2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM )
return FMRES_SUPERCEDE
}
else if ( equal( sample, "weapons/knife_hit3.wav" ) )
{
emit_sound( id, CHAN_WEAPON, "bknuckles/knife_hit3.wav", 1.0, ATTN_NORM, 0, PITCH_NORM )
return FMRES_SUPERCEDE
}
else if ( equal( sample, "weapons/knife_hit4.wav" ) )
{
emit_sound( id, CHAN_WEAPON, "bknuckles/knife_hit4.wav", 1.0, ATTN_NORM, 0, PITCH_NORM )
return FMRES_SUPERCEDE
}
else if ( equal( sample, "weapons/knife_stab.wav") )
{
emit_sound( id, CHAN_WEAPON, "bknuckles/knife_stab.wav", 1.0, ATTN_NORM, 0, PITCH_NORM )
return FMRES_SUPERCEDE
}
return FMRES_IGNORED
}