rendered paste bodypublic pfn_touch(ptr , ptd) {
if(ptr > 0 && ptd > 0 && ptd <= get_maxplayers()) {
if(!is_valid_ent(ptr) || !is_valid_ent(ptd)) return;
new pToucher[64] , pTouched[33];
entity_get_string(ptr , EV_SZ_model , pToucher , 63);
entity_get_string(ptd , EV_SZ_classname , pTouched , 32);
new model = check_nade_model(pToucher);
if(model > 0 && equal(pTouched , "player")) {
if(is_user_alive(ptd)) {
new ammo = cs_get_user_bpammo(ptd , model);
new max_ammo;
switch(model) {
case CSW_FLASHBANG: max_ammo = get_nade_num(CSW_FLASHBANG);
case CSW_HEGRENADE: max_ammo = get_nade_num(CSW_HEGRENADE);
case CSW_SMOKEGRENADE: max_ammo = get_nade_num(CSW_SMOKEGRENADE);
}
if(ammo > 0 && ammo < max_ammo) {
remove_entity(ptr);
cs_set_user_bpammo(ptd , model , ammo + 1);
emit_sound(ptd, CHAN_WEAPON , "items/9mmclip1.wav" , 1.0 , ATTN_NORM , 0 , PITCH_NORM);
}
}
}
}
}
stock check_nade_model(model[]) {
if( containi( model, "w_flashbang.mdl" ) == 0 ) return CSW_FLASHBANG;
if( containi( model, "w_hegrenade.mdl" ) == 0 ) return CSW_HEGRENADE;
if( containi( model, "w_smokegrenade.mdl" ) == 0 ) return CSW_SMOKEGRENADE;
return 0;
}
stock get_nade_num(nade) {
switch(nade) {
case CSW_FLASHBANG: return get_cvar_num(CVAR_FB);
case CSW_HEGRENADE: return get_cvar_num(CVAR_HE);
case CSW_SMOKEGRENADE: return get_cvar_num(CVAR_SG);
}
return 0;
}