Teraz działa (kasę zabiera, ale nie daje HE), tylko szkoda, że działa to nawet wtedy, gdy komuś da się granat funkcją "give_item" ;/
Ale mam pewien pomysł ;] zaraz go sprawdzę.
tak popatrzylem w kod diablo i tam jest jeszcze "hegrenade" ale to moze byc błąd Micza 
EDIT
no ze tak mozna kupic hegrenada 
mozesz tez sprobować toucha wykryć z tego co pamietam ktos tak kiedys robil i chyba cos bylo z tego 
Ja tego "hegrenade" nie widzę w podstawowym kodzie diablo, no i nawet jeśli będę znał wszystkie możliwości kupienia HE przez komendy, to jednak pozostają jeszcze komendy typu "cl_autobuy", gdzie trzeba jakoś wykryć kiedy HE się kupuje. Co do toucha, to on chyba także będzie się wykonywał, gdy granat dostanie ktoś przez komendę "give_item", ale w sumie można by z tym coś próbować.
Teraz mam coś takiego
public plugin_init() {
register_menucmd(register_menuid("BuyItem"), (1<<3), "cmd_hegren");
register_menucmd(-34, (1<<3), "cmd_hegren");
register_clcmd("hegren", "cmd_hegren");
register_clcmd("cl_setautobuy", "cmd_hegren");
register_clcmd("cl_autobuy", "cmd_hegren");
register_clcmd("cl_rebuy", "cmd_hegren");
RegisterHam(Ham_Item_AddToPlayer, "weapon_hegrenade", "fw_ItemAddToPlayer");
}
public cmd_hegren(id) {
boughtTime[id] = get_gametime()+0.5;
}
public fw_ItemAddToPlayer(iWeapon, id) {
if(boughtTime[id] > get_gametime()) {
if(boughtHeGrenade[id] < 1) {
boughtHeGrenade[id]++;
return HAM_IGNORED;
}
return HAM_SUPERCEDE;
}
return HAM_IGNORED;
}
i serwera pada w taki sam sposób jak to było wcześniej przy użyciu "Ham_Item_AttachToPlayer".