How can I return the grenade's name when it touch a player?
I have a method but I want to know if have any other better than mine.
Thats the code that I'm using:
PHP Code:
new const szGrenades[] =
{
"smokegrenade",
"flashbang"
}
new g_gGrenadeType
PHP Code:
register_touch("player","grenade","fwd_touch")
register_clcmd("say /grenadeUsed", "showLastGrenade")
PHP Code:
public showLastGrenade(id)
{
console_print(id,"%s",GetGrenadeType(g_gGrenadeType))
PHP Code:
public fwd_touch(touched, toucher)
{
new id = pev(toucher, pev_owner)
if(get_user_team(id) != get_user_team(touched))
{
new GrenadeType = (get_pdata_int(toucher, 114) & 3)
if(GrenadeType != CSW_HEGRENADE)
{
if(fGetDistance(toucher, touched) <= 5.0)
{
g_gGrenadeType = GrenadeType
}
}
}
}
PHP Code:
Float:fGetDistance(const touchedPlayer, const toucherPlayer)
{
new Float:fOrigin[2][3]
pev(touchedPlayer, pev_origin, fOrigin[0])
pev(toucherPlayer, pev_origin, fOrigin[1])
new Float:floatDistance = fOrigin[1][2] - fOrigin[0][2]
return floatDistance
}
PHP Code:
GetGrenadeType(GrenadeType)
{
switch(GrenadeType)
{
case CSW_SMOKEGRENADE: g_gGrenadeType = szGrenades[0]
case CSW_FLASHBANG: g_gGrenadeType = szGrenades[1]
}
return g_gGrenadeType
}
__________________