Kod:
/* Sublime AMXX Editor v2.2 */
#include <amxmodx>
// #include <amxmisc>
// #include <cstrike>
// #include <engine>
// #include <fakemeta>
// #include <hamsandwich>
// #include <fun>
// #include <xs>
// #include <sqlx>
#include <reapi>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "DeciduousBuffalo111"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHookChain(RG_CBasePlayer_TraceAttack, "Fw_TraceAttack_Pre", 0)
RegisterHookChain(RG_CBasePlayer_TakeDamage, "Fw_TakeDamage_Post", 1)
}
public Fw_TraceAttack_Pre(iVictim, iAttacker, Float:flDamage, Float:flDirection[3], iTracehandle, bitsDamageType)
{
if (iVictim == iAttacker || !is_user_connected(iVictim) || !is_user_connected(iAttacker))
return HC_CONTINUE
static Ent_Classname[64]
//pev(iAttacker, pev_classname, Ent_Classname, sizeof(Ent_Classname))
get_member(iAttacker, var_classname, Ent_Classname, sizeof(Ent_Classname))
if(equal(Ent_Classname, "func_train"))
{
return HC_SUPERCEDE
}
return HC_CONTINUE
}
public Fw_TakeDamage_Post(iVictim, iInflictor, iAttacker, Float:flDamage, bitsDamageType)
{
// Not Vaild Victim or Attacker so skip the event (Important to block out bounds errors)
if (!is_user_connected(iVictim) || !is_user_connected(iAttacker))
return HC_CONTINUE
static Ent_Classname[64]
//pev(iAttacker, pev_classname, Ent_Classname, sizeof(Ent_Classname))
get_member(iAttacker, var_classname, Ent_Classname, sizeof(Ent_Classname))
if(equal(Ent_Classname, "func_train"))
{
SetHookChainReturn(ATYPE_FLOAT, 0.0)
}
return HC_CONTINUE
})

