1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119. | 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
} |