PHP Code:
void CheatCommand(int client)
{
int give_flags = GetCommandFlags("give");
SetCommandFlags("give", give_flags & ~FCVAR_CHEAT);
if (GetEntProp(client, Prop_Send, "m_isHangingFromLedge"))//懸掛
{
FakeClientCommand(client, "give health");
}
else if (IsIncapacitated(client))//倒地
{
if(GetInfectedAttacker(client) < 0)
{
FakeClientCommand(client, "give health");
SetEntPropFloat(client, Prop_Send, "m_healthBufferTime", GetGameTime());
SetEntPropFloat(client, Prop_Send, "m_healthBuffer", 0.0);
}
}
else if(GetClientHealth(client)<100) //血量低於100
{
FakeClientCommand(client, "give health");
SetEntPropFloat(client, Prop_Send, "m_healthBufferTime", GetGameTime());
SetEntPropFloat(client, Prop_Send, "m_healthBuffer", 0.0);
}
SetCommandFlags("give", give_flags);
}
bool IsIncapacitated(int client)
{
return view_as<bool>(GetEntProp(client, Prop_Send, "m_isIncapacitated"));
}
int GetInfectedAttacker(int client)
{
int attacker;
/* Charger */
attacker = GetEntPropEnt(client, Prop_Send, "m_pummelAttacker");
if (attacker > 0)
{
return attacker;
}
attacker = GetEntPropEnt(client, Prop_Send, "m_carryAttacker");
if (attacker > 0)
{
return attacker;
}
/* Jockey */
attacker = GetEntPropEnt(client, Prop_Send, "m_jockeyAttacker");
if (attacker > 0)
{
return attacker;
}
/* Hunter */
attacker = GetEntPropEnt(client, Prop_Send, "m_pounceAttacker");
if (attacker > 0)
{
return attacker;
}
/* Smoker */
attacker = GetEntPropEnt(client, Prop_Send, "m_tongueOwner");
if (attacker > 0)
{
return attacker;
}
return -1;
}
__________________