i trying to detect zombie around me, when i shooting.
i put the code on fw_TraceAttack, i using "print_chat" to test counting wrong or not.
i'm using this method to count zombie around me
PHP Code:
public fw_TraceAttack(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
{
if(!is_user_alive(iAttacker))
return
if(get_user_weapon(iAttacker) != CSW_M249)
return
new NearestZombie = 0
for(new i = 0; i <= get_maxplayers(); i++)
{
if(is_user_alive(i) && entity_range(iAttacker, i) < 400.0 && zp_get_user_zombie(i))
NearestZombie ++
}
if(NearestZombie == 0) client_print(iAttacker, print_chat, "0 Zombie Near You !")
if(NearestZombie == 1) client_print(iAttacker, print_chat, "1 Zombie Near You !")
if(NearestZombie == 2) client_print(iAttacker, print_chat, "2 Zombie Near You !")
if(NearestZombie == 3) client_print(iAttacker, print_chat, "3 Zombie Near You !")
if(NearestZombie == 4) client_print(iAttacker, print_chat, "4 Zombie Near You !")
}
it works well to detect zombie, but my question is:
how to get each zombie origin near me & count it ??
i try this but not work
Code:
new vOrigin[3]
pev(NearestZombie, pev_origin, vOrigin)
-----------------------------------------------
Note:
but when i change to this.
it's not work, counting zombie is wrong.
PHP Code:
public fw_TraceAttack(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
{
if(!is_user_alive(iAttacker))
return
if(get_user_weapon(iAttacker) != CSW_M249)
return
for(new i = 0; i <= get_maxplayers(); i++)
{
if(!is_user_alive(i))
continue
if(entity_range(iAttacker, i) > 400.0)
continue
if(!zp_get_user_zombie(i))
continue
if(i == 0) client_print(iAttacker, print_chat, "0 Zombie Near You !")
if(i == 1) client_print(iAttacker, print_chat, "1 Zombie Near You !")
if(i == 2) client_print(iAttacker, print_chat, "2 Zombie Near You !")
if(i == 3) client_print(iAttacker, print_chat, "3 Zombie Near You !")
if(i == 4) client_print(iAttacker, print_chat, "4 Zombie Near You !")
}
}