I have no idea what could cause this, most likely a conflict somewhere causing my checks to fail.
Try doing this
PHP Code:
public Action BlockRecursiveDamage(int iVictim, int &iCharger, int &iInflictor, float &fDamage, int &iDamagetype)
{
if(GetClientTeam(iVictim) != 2)
return Plugin_Continue;
if(iCharger < 1 || iCharger > MaxClients ||
GetClientTeam(iCharger) != 3 || !IsPlayerAlive(iCharger) ||
GetEntProp(iCharger, Prop_Send, "m_zombieClass", 1) != 6 )
return Plugin_Continue;
int iAbility = GetEntPropEnt(iCharger, Prop_Send, "m_customAbility");
if(iAbility <= MaxClients || !HasEntProp(iAbility, Prop_Send, "m_isCharging"))
return Plugin_Continue;
if(GetEntProp(iAbility, Prop_Send, "m_isCharging", 1))
{
if(GetEntPropEnt(iVictim, Prop_Send, "m_carryAttacker") == iCharger &&
GetEntPropEnt(iCharger, Prop_Send, "m_carryVictim") == iVictim)
return Plugin_Continue;
if(g_fPreventDamage[iCharger][iVictim] > GetEngineTime())
return Plugin_Handled;
g_fPreventDamage[iCharger][iVictim] = GetEngineTime() + 0.5;
}
return Plugin_Continue;
}
Creating an block in the damage hook for next collision if this don't work i'v no idea how to help you.
Besure to restart server.
Quote:
Originally Posted by TrueSurvivor
could it be possible that m_carryVictim is changed briefly upon charger_impact?
|
Not that i know of.
__________________