←  Dodatki

AMXX.pl: Support AMX Mod X i SourceMod

»
Wklejka 13004045512873 dodana przez R3X, 18.03.2011 00:29
Typ:


CzyDuzoMiejscaNaMine
13004045512873
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;
}