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. | czyDuzoMiejsca(const Float:vfPunkt[3], Float:odleglosc){
new Float:vfStart[3], Float:vfEnd[3];
vfStart[0] = vfEnd[0] = vfPunkt[0];
vfStart[1] = vfEnd[1] = vfPunkt[1];
vfStart[2] = vfEnd[2] = vfPunkt[2];
//1
vfStart[0] += odleglosc;
vfEnd[0] -= odleglosc;
if(engfunc( EngFunc_PointContents, vfStart ) != CONTENTS_EMPTY
&& engfunc( EngFunc_PointContents, vfEnd ) != CONTENTS_EMPTY)
return 0;
//2
vfStart[0] -= odleglosc;
vfEnd[0] += odleglosc;
vfStart[1] += odleglosc;
vfEnd[1] -= odleglosc;
if(engfunc( EngFunc_PointContents, vfStart ) != CONTENTS_EMPTY
&& engfunc( EngFunc_PointContents, vfEnd ) != CONTENTS_EMPTY)
return 0;
return 1;
}
public PostawMine(id)
{
if (!ilosc_min_gracza[id])
{
client_print(id, print_center, "Wykorzystales juz wszystkie miny!");
return PLUGIN_CONTINUE;
}
new Float:origin[3];
entity_get_vector(id, EV_VEC_origin, origin);
if(!czyDuzoMiejsca(origin, 33.0))
{
client_print(id, print_center, "Zbyt waskie przejscie!");
return PLUGIN_CONTINUE;
}
if(inteligencja_gracza[id] < 1)
client_print(id, print_center, "Aby wzmocnic miny, zwieksz inteligencje!");
ilosc_min_gracza[id]--;
new ent = create_entity("info_target");
entity_set_string(ent ,EV_SZ_classname, "Mine");
entity_set_edict(ent ,EV_ENT_owner, id);
entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
entity_set_origin(ent, origin);
entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
entity_set_model(ent, "models/mine.mdl");
entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});
drop_to_floor(ent);
entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01) ;
set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50) ;
return PLUGIN_CONTINUE;
} |