All pastes #42413 Raw Edit

Stuff

public text v1 · immutable
#42413 ·published 2006-02-20 23:26 UTC
rendered paste body
public 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;
}