FM_SetModel is called whenever any entity is assigned any model, regardless of the entity or the model.
Code:
#define GRENADE_CLASS "grenade"
#define GRENADE_MODEL "models/w_grenade.mdl"
public plugin_init()
{
register_forward(FM_SetModel,"fw_setmodel");
}
public fw_setmodel(ent,model[])
{
static owner;
owner = pev(ent,pev_owner);
// no owner, DEFINITELY not a grenade we want
if(!is_user_connected(owner))
return FMRES_IGNORED;
// method 1:
// check model. make sure this is near top of
// plugins list, to catch before model changers.
if(equali(model,GRENADE_MODEL))
{
// owner threw grenade
}
// method 2:
// check classname.
// doesn't matter where plugin is placed.
static classname[32];
pev(ent,pev_classname,classname,31);
if(equali(classname,GRENADE_CLASS))
{
// owner threw grenade
}
}
__________________
No longer around. Thanks your support, everyone! As always:
THIS ONES FOR YOU
3000 PTS