* Check if ReGameDLL is available.
native bool:is_regamedll();
new const GRENADE_GIBS[] = "models/grenade_gibs/grenade_gibs.mdl"
register_plugin(PLUGIN, VERSION, AUTHOR);
register_forward(FM_SetModel, "Set_Model_Gibs", true);
RegisterHam(Ham_TakeDamage, "player", "Death_Grenade_Gibs", false);
RegisterHam(Ham_Spawn, "player", "Delete_Blood_Gibs", true);
register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
precache_model(GRENADE_GIBS);
public Set_Model_Gibs(iEntity, const model[])
if(equal(model, "models/hgibs.mdl"))
engfunc(EngFunc_SetModel, iEntity, GRENADE_GIBS);
public Death_Grenade_Gibs(id, iInflictor, iAttacker, Float:flDamage, bitsDamageType)
if(bitsDamageType & DMG_GRENADE)
new classname[32]; pev(iInflictor, pev_classname, classname, 31);
if(equal(classname, "grenade"))
SetHamParamInteger(5, bitsDamageType | DMG_ALWAYSGIB)
public Delete_Blood_Gibs(id)
if(is_user_connected(id))
set_pdata_int(id, BLOOD_COLOR, -1)
while((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "gib")) > 0)
set_pev(ent, pev_flags, FL_KILLME);
set_native_filter("native_filter")
public native_filter(const szNativeName[], iNativeID, iTrapMode)