public pfn_touch(entity1, entity2) { if(g_apacheactive == 0) { return PLUGIN_CONTINUE } if(entity1 > 0 && is_valid_ent(entity1)) { new classname[32] entity_get_string(entity1, EV_SZ_classname, classname, 31) new classname2[32] if(entity2 > 0 && is_valid_ent(entity2)) { entity_get_string(entity2, EV_SZ_classname, classname2, 31) } new attacker = entity_get_edict(entity1, EV_ENT_owner) if((equal(classname, "apache_rocket") || equal(classname, "apache_bomb")) && (entity2 == 0 || equal(classname2, "player") || equal(classname2, "amx_apache") || equal(classname2, "apache_rocket") || equal(classname2, "func_breakable") || equal(classname2, "func_pushable"))) { if(entity2 > 0) { if(attacker == entity_get_edict(entity2, EV_ENT_owner)) { return PLUGIN_CONTINUE } } new Float:explosion[3] entity_get_vector(entity1, EV_VEC_origin, explosion) if(!stealth[attacker]) { /*radius_damage(explosion,200,300)*/ HL_RadiusDamage(explosion,0,200.0,300.0) } else { /*radius_damage(explosion,120,300)*/ HL_RadiusDamage(explosion,0,120.0,300.0) } message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(3) write_coord(floatround(explosion[0])) write_coord(floatround(explosion[1])) write_coord(floatround(explosion[2])) write_short(boom) write_byte(50) write_byte(15) write_byte(0) message_end() emit_sound(entity1, CHAN_WEAPON, "vox/_period.wav", 0.8, ATTN_NORM, 0, PITCH_NORM) //emit_sound(entity1, CHAN_VOICE, "vox/_period.wav", 0.8, ATTN_NORM, 0, PITCH_NORM) remove_entity(entity1) } if(equal(classname, "apache_bullet")) { if(equal(classname2, "player") || equal(classname2, "amx_apache") || equal(classname2, "func_breakable") || equal(classname2, "func_pushable")) { if(entity2 > 0) { if(attacker == entity_get_edict(entity2, EV_ENT_owner)) { return PLUGIN_CONTINUE } if(equal(classname2, "func_breakable") || equal(classname2, "func_pushable")) { force_use(entity2, attacker) } else { new Float:origin[3] entity_get_vector(entity2, EV_VEC_origin, origin) cod_inflict_damage( attacker, entity2, get_pcvar_float(bulletdmg) + 5.0, 1.0, CSW_KNIFE, (1<<24)) } } } remove_entity(entity1) } if(equal(classname, "amx_apache")) { if(equal(classname2, "player") || equal(classname2, "amx_apache") || equal(classname2, "func_breakable") || equal(classname2, "func_pushable")) { if(equal(classname2, "player") || equal(classname2, "amx_apache")) { new friendlyfire = get_pcvar_num(ff); if((friendlyfire == 1 || friendlyfire == 0 && get_user_team(attacker) != get_user_team(entity2))) { new Float:origin[3] entity_get_vector(entity2, EV_VEC_origin, origin) if(equal(classname2, "player") && get_user_health(entity2) == 1) { client_print(entity2, print_center, "NEVER STAND IN THE ROTORS AGAIN!") } cod_inflict_damage( attacker, entity2, 1.0, 1.0, entity2, (1<<24)) } } else if(equal(classname2, "func_breakable") || equal(classname2, "func_pushable")) { force_use(entity2, attacker) } else { new Float:origin[3] entity_get_vector(entity2, EV_VEC_origin, origin) cod_inflict_damage( attacker, entity2, get_pcvar_float(bulletdmg) + 5.0, 1.0, CSW_KNIFE, (1<<24)) } } } } return PLUGIN_CONTINUE }