I have my own stock
PHP Code:
stock UserKill(id, inflictor = 0, killer = 0, weapon = 0, body = 0, shouldgib = 0, damagebits = 0, bool:addDeath = false) {
if(!userAlive(id) || !userConnected(killer)) return;
new iDeaths;
if(!addDeath) iDeaths = get_pdata_int(id, 444);
set_pdata_int(id, 75, body);
set_pdata_int(id, 76, damagebits);
set_pdata_int(id, 107, 1);
set_pev(id, pev_dmg_inflictor, inflictor ? inflictor : killer ? killer : id);
set_msg_block(83, BLOCK_ONCE);
ExecuteHamB(Ham_Killed, id, killer ? killer : id, shouldgib);
if(!addDeath) set_pdata_int(id, 444, iDeaths);
if(userAlive(id)) return;
new effect = pev(id, pev_effects);
if(effect & 128) set_pev(id, pev_effects, effect - 128);
new len, name[32];
if(get_weaponname(weapon, name, 31)) {
if(~1<<4|1<<6|1<<9|1<<25 & 1<<weapon) len = 7;
else name = "grenade";
}
else name = weapon == 2 ? "tracktrain" : "world";
emessage_begin(MSG_ALL, 83);
ewrite_byte(killer ? killer : id);
ewrite_byte(id);
ewrite_byte(body == 1 ? 1 : 0);
ewrite_string(name[len]);
emessage_end();
}
when I use it in the following way (suicide):
PHP Code:
public SomeFunction(id) {
UserKill(id);
}
doesn't kill a player