View difference between Paste ID: TRz8nhJD and h2k5kJTH
SHOW: | | - or go back to the newest paste.
1
#include <a_samp>
2
#include <zcmd>
3
#include <sscanf>
4
#include <DOF2>
5
#include <string>
6
#include <cpstream>
7
#include <streamer>
8
9
#define Red                                                                  	0xFF0000FF
10
#define Pink                                                                    0xFF44AAFF
11
12
#define pasta_race     		"/Races/%02d.ini"
13
#define pasta_veiculos      "/Veiculos/%02d.ini"
14
#undef MAX_PLAYERS
15
#define MAX_PLAYERS 50
16
17
new bool:EventoIniciou;
18
new Anuncio;
19
new TimerCountCP[MAX_PLAYERS];
20
new bool:AutoRepararX[MAX_PLAYERS];
21
new Text:TextdrawAnuncio;
22
new PlayerText:TextContar[MAX_PLAYERS+1];
23
new PlayerText:InicioRace0[MAX_PLAYERS];
24
new PlayerText:InicioRace1[MAX_PLAYERS];
25
new PlayerText:InicioRace2[MAX_PLAYERS];
26
new PlayerText:InicioRace3[MAX_PLAYERS];
27
new PlayerText:InicioRace4[MAX_PLAYERS];
28
new PlayerText:InicioRace5[MAX_PLAYERS];
29
new PlayerText:InicioRace6[MAX_PLAYERS];
30
new PlayerText:InicioRace7[MAX_PLAYERS];
31
new PlayerText:Textdraw0[MAX_PLAYERS];
32
new PlayerText:Textdraw1[MAX_PLAYERS];
33
new PlayerText:Textdraw2[MAX_PLAYERS];
34
new PlayerText:Textdraw5[MAX_PLAYERS];
35
new PlayerText:Textdraw6[MAX_PLAYERS];
36
new PlayerText:Textdraw7[MAX_PLAYERS];
37
new PlayerText:Textdraw8[MAX_PLAYERS];
38
new PlayerText:Textdraw9[MAX_PLAYERS];
39
new PlayerText:Textdraw10[MAX_PLAYERS];
40
new PlayerText:CPConquistado[MAX_PLAYERS];
41
/*new Colocados[MAX_PLAYERS];
42
new AtualizarText[MAX_PLAYERS];*/
43
new String[128],
44
	String2[128],
45
	String3[128],
46
	String4[128],
47
	String5[128],
48
	String6[128],
49
	Primeiro[50],
50
	Segundo[50],
51
	Terceiro[50],
52
	Quarto[50],
53
	Quinto[50];
54
new bool:Colision = false;
55
new bool:AlguemGanhou[MAX_PLAYERS] = false;
56
new Terminou = 0;
57
new Lugar[MAX_PLAYERS];
58
new PlayersEvento;
59
new PlayerText:TempoCorrida[MAX_PLAYERS];
60
new AutoReparar[MAX_PLAYERS];
61
new bool:Congelado = true;
62
new bool:Status = false; // DEFINE SE O EVENTO ESTÁ FECHADO OU ABERTO. FALSE SE ESTIVER ABERTO
63
new Float:PosEvento[3];
64
new Vagas = 0;
65
new IRVeiculos;
66
new bool:Evento[MAX_PLAYERS] = false;
67
new bool:EventoCriado = false;
68
new Count[MAX_PLAYERS];
69
new TimerCount[MAX_PLAYERS];
70
new TempoMinimo[3];
71
new Tempo[MAX_PLAYERS][4];
72
new TempoRecorde[MAX_PLAYERS];
73
new TamanhoCPS = 15;
74
new Float:CP[3];
75
new CPCountX[MAX_PLAYERS];
76
new CPCountY[MAX_PLAYERS];
77
new CPCountZ[MAX_PLAYERS];
78
new str[128];
79
new CPCount;
80
new AddCP[MAX_PLAYERS] = 0; // Checkpoints conquistados pelo jogador(a)
81
new TotalCPS;
82
new RaceName;
83
new bool:CriacaoAndamento = false;
84
new bool:CPAtivado = false;
85
new CPCarregado;
86
new CPID;
87
new Float:Position[4];
88
new PosV = 0;
89
new DistanciaV = 4;
90
new Veiculo[MAX_VEHICLES];
91
new TotalVeiculos;
92
new Float:Pos[4];
93
new Cor[2] = 1;
94
new Modelo;
95
new Str[128];
96
new IDVeiculos;
97
new bool:Salvando = false;
98
public OnFilterScriptInit()
99
{
100
	print("\n--------------------------------------");
101
	print(" Race filterscript by Gami");
102
	print("--------------------------------------\n");
103
	CriacaoAndamento = false;
104
	CPAtivado = false;
105
	RaceName = CPID;
106
	IRVeiculos = 0;
107
	
108
	TextdrawAnuncio = TextDrawCreate(306.399871, 153.315612, "");
109
	TextDrawLetterSize(TextdrawAnuncio, 0.322797, 1.943465);
110
	TextDrawAlignment(TextdrawAnuncio, 2);
111
	TextDrawSetShadow(TextdrawAnuncio, 0);
112
	TextDrawSetOutline(TextdrawAnuncio, -1);
113
	TextDrawBackgroundColor(TextdrawAnuncio, 51);
114
	TextDrawFont(TextdrawAnuncio, 1);
115
	TextDrawSetProportional(TextdrawAnuncio, 1);
116
117
	for(new I = 0; I < MAX_PLAYERS+1; I++){
118
	
119
120
		CPConquistado[I] = CreatePlayerTextDraw(I, 321.199920, 359.893463, "");
121
		PlayerTextDrawLetterSize(I, CPConquistado[I], 0.449999, 1.600000);
122
		PlayerTextDrawAlignment(I, CPConquistado[I], 2);
123
		PlayerTextDrawColor(I, CPConquistado[I], -1);
124
		PlayerTextDrawSetShadow(I, CPConquistado[I], 0);
125
		PlayerTextDrawSetOutline(I, CPConquistado[I], -1);
126
		PlayerTextDrawBackgroundColor(I, CPConquistado[I], 51);
127
		PlayerTextDrawFont(I, CPConquistado[I], 2);
128
		PlayerTextDrawSetProportional(I, CPConquistado[I], 1);
129
130
131
132
		Textdraw10[I] = CreatePlayerTextDraw(I, 530.399963, 212.551101, "9|:");
133
		PlayerTextDrawLetterSize(I, Textdraw10[I], 0.203997, 2.172444);
134
		PlayerTextDrawAlignment(I, Textdraw10[I], 1);
135
		PlayerTextDrawColor(I, Textdraw10[I], -1);
136
		PlayerTextDrawSetShadow(I, Textdraw10[I], 0);
137
		PlayerTextDrawSetOutline(I, Textdraw10[I], 1);
138
		PlayerTextDrawBackgroundColor(I, Textdraw10[I], 51);
139
		PlayerTextDrawFont(I, Textdraw10[I], 1);
140
		PlayerTextDrawSetProportional(I, Textdraw10[I], 1);
141
142
		Textdraw0[I] = CreatePlayerTextDraw(I, 530.799987, 104.540000, "usebox");
143
		PlayerTextDrawLetterSize(I, Textdraw0[I], 0.000000, 20.589998);
144
		PlayerTextDrawTextSize(I, Textdraw0[I], 632.000000, 0.000000);
145
		PlayerTextDrawAlignment(I, Textdraw0[I], 1);
146
		PlayerTextDrawColor(I, Textdraw0[I], 0);
147
		PlayerTextDrawUseBox(I, Textdraw0[I], true);
148
		PlayerTextDrawBoxColor(I, Textdraw0[I], 102);
149
		PlayerTextDrawSetShadow(I, Textdraw0[I], 0);
150
		PlayerTextDrawSetOutline(I, Textdraw0[I], 0);
151
		PlayerTextDrawFont(I, Textdraw0[I], 0);
152
153
		Textdraw1[I] = CreatePlayerTextDraw(I, 581.200683, 105.031028, "Race Info");
154
		PlayerTextDrawLetterSize(I, Textdraw1[I], 0.179600, 0.942933);
155
		PlayerTextDrawTextSize(I, Textdraw1[I], 381.199920, 101.546730);
156
		PlayerTextDrawAlignment(I, Textdraw1[I], 2);
157
		PlayerTextDrawColor(I, Textdraw1[I], 255);
158
		PlayerTextDrawUseBox(I, Textdraw1[I], true);
159
		PlayerTextDrawBoxColor(I, Textdraw1[I], -5963521);
160
		PlayerTextDrawSetShadow(I, Textdraw1[I], 0);
161
		PlayerTextDrawSetOutline(I, Textdraw1[I], 0);
162
		PlayerTextDrawBackgroundColor(I, Textdraw1[I], 51);
163
		PlayerTextDrawFont(I, Textdraw1[I], 2);
164
		PlayerTextDrawSetProportional(I, Textdraw1[I], 1);
165
166
		Textdraw2[I] = CreatePlayerTextDraw(I, 530.000000, 117.973381, "~y~~h~1|:  ~r~Ninguem");
167
		PlayerTextDrawLetterSize(I, Textdraw2[I], 0.157999, 1.077331);
168
		PlayerTextDrawAlignment(I, Textdraw2[I], 1);
169
		PlayerTextDrawColor(I, Textdraw2[I], -1);
170
		PlayerTextDrawSetShadow(I, Textdraw2[I], 0);
171
		PlayerTextDrawSetOutline(I, Textdraw2[I], 1);
172
		PlayerTextDrawBackgroundColor(I, Textdraw2[I], 51);
173
		PlayerTextDrawFont(I, Textdraw2[I], 1);
174
		PlayerTextDrawSetProportional(I, Textdraw2[I], 1);
175
	/*
176
		Textdraw3[I] = CreatePlayerTextDraw(I, 557.599975, 271.288970, "/10");
177
		PlayerTextDrawLetterSize(I, Textdraw3[I], 0.409999, 2.072885);
178
		PlayerTextDrawAlignment(I, Textdraw3[I], 1);
179
		PlayerTextDrawColor(I, Textdraw3[I], -1378294017);
180
		PlayerTextDrawSetShadow(I, Textdraw3[I], 0);
181
		PlayerTextDrawSetOutline(I, Textdraw3[I], 1);
182
		PlayerTextDrawBackgroundColor(I, Textdraw3[I], 51);
183
		PlayerTextDrawFont(I, Textdraw3[I], 3);
184
		PlayerTextDrawSetProportional(I, Textdraw3[I], 1);
185
186
		Textdraw4[I] = CreatePlayerTextDraw(I, 532.800048, 250.880004, "2|");
187
		PlayerTextDrawLetterSize(I, Textdraw4[I], 0.607999, 3.964443);
188
		PlayerTextDrawAlignment(I, Textdraw4[I], 1);
189
		PlayerTextDrawColor(I, Textdraw4[I], -1378294017);
190
		PlayerTextDrawSetShadow(I, Textdraw4[I], 0);
191
		PlayerTextDrawSetOutline(I, Textdraw4[I], 1);
192
		PlayerTextDrawBackgroundColor(I, Textdraw4[I], 51);
193
		PlayerTextDrawFont(I, Textdraw4[I], 3);
194
		PlayerTextDrawSetProportional(I, Textdraw4[I], 1)
195
	*/
196
		Textdraw5[I] = CreatePlayerTextDraw(I, 603.599792, 272.782257, "x/x");
197
		PlayerTextDrawLetterSize(I, Textdraw5[I], 0.275999, 1.600000);
198
		PlayerTextDrawAlignment(I, Textdraw5[I], 1);
199
		PlayerTextDrawColor(I, Textdraw5[I], -2147483393);
200
		PlayerTextDrawSetShadow(I, Textdraw5[I], 0);
201
		PlayerTextDrawSetOutline(I, Textdraw5[I], 1);
202
		PlayerTextDrawBackgroundColor(I, Textdraw5[I], 51);
203
		PlayerTextDrawFont(I, Textdraw5[I], 1);
204
		PlayerTextDrawSetProportional(I, Textdraw5[I], 1);
205
206
		Textdraw6[I] = CreatePlayerTextDraw(I, 530.000000, 134.897872, "~y~~h~2|:  ~r~Ninguem");
207
		PlayerTextDrawLetterSize(I, Textdraw6[I], 0.157999, 1.077331);
208
		PlayerTextDrawAlignment(I, Textdraw6[I], 1);
209
		PlayerTextDrawColor(I, Textdraw6[I], -1);
210
		PlayerTextDrawSetShadow(I, Textdraw6[I], 0);
211
		PlayerTextDrawSetOutline(I, Textdraw6[I], 1);
212
		PlayerTextDrawBackgroundColor(I, Textdraw6[I], 51);
213
		PlayerTextDrawFont(I, Textdraw6[I], 1);
214
		PlayerTextDrawSetProportional(I, Textdraw6[I], 1);
215
216
		Textdraw7[I] = CreatePlayerTextDraw(I, 530.000000, 152.817825, "~y~~h~3|:  ~r~Ninguem");
217
		PlayerTextDrawLetterSize(I, Textdraw7[I], 0.157999, 1.077331);
218
		PlayerTextDrawAlignment(I, Textdraw7[I], 1);
219
		PlayerTextDrawColor(I, Textdraw7[I], -1);
220
		PlayerTextDrawSetShadow(I, Textdraw7[I], 0);
221
		PlayerTextDrawSetOutline(I, Textdraw7[I], 1);
222
		PlayerTextDrawBackgroundColor(I, Textdraw7[I], 51);
223
		PlayerTextDrawFont(I, Textdraw7[I], 1);
224
		PlayerTextDrawSetProportional(I, Textdraw7[I], 1);
225
226
		Textdraw8[I] = CreatePlayerTextDraw(I, 529.599975, 172.231155, "~y~~h~4|:  ~r~Ninguem");
227
		PlayerTextDrawLetterSize(I, Textdraw8[I], 0.157999, 1.077331);
228
		PlayerTextDrawAlignment(I, Textdraw8[I], 1);
229
		PlayerTextDrawColor(I, Textdraw8[I], -1);
230
		PlayerTextDrawSetShadow(I, Textdraw8[I], 0);
231
		PlayerTextDrawSetOutline(I, Textdraw8[I], 1);
232
		PlayerTextDrawBackgroundColor(I, Textdraw8[I], 51);
233
		PlayerTextDrawFont(I, Textdraw8[I], 1);
234
		PlayerTextDrawSetProportional(I, Textdraw8[I], 1);
235
236
		Textdraw9[I] = CreatePlayerTextDraw(I, 530.000000, 189.653366, "~y~~h~5|:  ~r~Ninguem");
237
		PlayerTextDrawLetterSize(I, Textdraw9[I], 0.157999, 1.077331);
238
		PlayerTextDrawAlignment(I, Textdraw9[I], 1);
239
		PlayerTextDrawColor(I, Textdraw9[I], -1);
240
		PlayerTextDrawSetShadow(I, Textdraw9[I], 0);
241
		PlayerTextDrawSetOutline(I, Textdraw9[I], 1);
242
		PlayerTextDrawBackgroundColor(I, Textdraw9[I], 51);
243
		PlayerTextDrawFont(I, Textdraw9[I], 1);
244
		PlayerTextDrawSetProportional(I, Textdraw9[I], 1);
245
	
246
	
247
	
248
249
		TempoCorrida[I] = CreatePlayerTextDraw(I, 14.400009, 238.933471, "00:00:00");
250
		PlayerTextDrawFont(I, TempoCorrida[I], 1);
251
		PlayerTextDrawLetterSize(I, TempoCorrida[I], 0.225000, 1.251000);
252
		PlayerTextDrawColor(I, TempoCorrida[I], -1);
253
		PlayerTextDrawSetOutline(I, TempoCorrida[I], 1);
254
		PlayerTextDrawSetProportional(I, TempoCorrida[I], 1);
255
256
		TextContar[I] = CreatePlayerTextDraw(I, 229.200103, 361.386688, "");
257
		PlayerTextDrawLetterSize(I, TextContar[I], 0.449999, 1.600000);
258
		PlayerTextDrawAlignment(I, TextContar[I], 1);
259
		PlayerTextDrawColor(I, TextContar[I], -1);
260
		PlayerTextDrawSetShadow(I, TextContar[I], 0);
261
		PlayerTextDrawSetOutline(I, TextContar[I], 1);
262
		PlayerTextDrawBackgroundColor(I, TextContar[I], 51);
263
		PlayerTextDrawFont(I, TextContar[I], 1);
264
		PlayerTextDrawSetProportional(I, TextContar[I], 1);
265
266
267
		InicioRace0[I] = CreatePlayerTextDraw(I, 150.800003, 255.366668, "usebox"); // BOX
268
		PlayerTextDrawLetterSize(I, InicioRace0[I], 0.000000, 6.430986);
269
		PlayerTextDrawTextSize(I, InicioRace0[I], 12.400000, 0.000000);
270
		PlayerTextDrawAlignment(I, InicioRace0[I], 1);
271
		PlayerTextDrawColor(I, InicioRace0[I], 0);
272
		PlayerTextDrawUseBox(I, InicioRace0[I], true);
273
		PlayerTextDrawBoxColor(I, InicioRace0[I], 102);
274
		PlayerTextDrawSetShadow(I, InicioRace0[I], 0);
275
		PlayerTextDrawSetOutline(I, InicioRace0[I], 0);
276
		PlayerTextDrawFont(I, InicioRace0[I], 0);
277
278
		InicioRace7[I] = CreatePlayerTextDraw(I, 81.431015, 255.857666, "Race Info");
279
		PlayerTextDrawLetterSize(I, InicioRace7[I], 0.169600, 1.375999);
280
		PlayerTextDrawTextSize(I, InicioRace7[I], 3814.800292, 130.915496);
281
		PlayerTextDrawAlignment(I, InicioRace7[I], 2);
282
		PlayerTextDrawColor(I, InicioRace7[I], 255);
283
		PlayerTextDrawUseBox(I, InicioRace7[I], true);
284
		PlayerTextDrawBoxColor(I, InicioRace7[I], -1523963137);
285
		PlayerTextDrawSetShadow(I, InicioRace7[I], 0);
286
		PlayerTextDrawSetOutline(I, InicioRace7[I], 0);
287
		PlayerTextDrawBackgroundColor(I, InicioRace7[I], 51);
288
		PlayerTextDrawFont(I, InicioRace7[I], 2);
289
		PlayerTextDrawSetProportional(I, InicioRace7[I], 1);
290
291
		InicioRace1[I] = CreatePlayerTextDraw(I, 16.400007, 270.791229, "~b~~h~Checkpoints ID:");
292
		PlayerTextDrawLetterSize(I, InicioRace1[I], 0.262000, 1.127111);
293
		PlayerTextDrawAlignment(I, InicioRace1[I], 1);
294
		PlayerTextDrawColor(I, InicioRace1[I], -1);
295
		PlayerTextDrawSetShadow(I, InicioRace1[I], 0);
296
		PlayerTextDrawSetOutline(I, InicioRace1[I], 1);
297
		PlayerTextDrawBackgroundColor(I, InicioRace1[I], 51);
298
		PlayerTextDrawFont(I, InicioRace1[I], 1);
299
		PlayerTextDrawSetProportional(I, InicioRace1[I], 1);
300
301
302
		InicioRace2[I] = CreatePlayerTextDraw(I, 91.199966, 270.791137, "");
303
		PlayerTextDrawLetterSize(I, InicioRace2[I], 0.261999, 1.127110);
304
		PlayerTextDrawAlignment(I, InicioRace2[I], 1);
305
		PlayerTextDrawColor(I, InicioRace2[I], -1);
306
		PlayerTextDrawSetShadow(I, InicioRace2[I], 0);
307
		PlayerTextDrawSetOutline(I, InicioRace2[I], 1);
308
		PlayerTextDrawBackgroundColor(I, InicioRace2[I], 51);
309
		PlayerTextDrawFont(I, InicioRace2[I], 1);
310
		PlayerTextDrawSetProportional(I, InicioRace2[I], 1);
311
312
		InicioRace3[I] = CreatePlayerTextDraw(I, 16.728918, 282.737854, "~p~~h~Recordista:");
313
		PlayerTextDrawLetterSize(I, InicioRace3[I], 0.261999, 1.127110);
314
		PlayerTextDrawAlignment(I, InicioRace3[I], 1);
315
		PlayerTextDrawColor(I, InicioRace3[I], -1);
316
		PlayerTextDrawSetShadow(I, InicioRace3[I], 0);
317
		PlayerTextDrawSetOutline(I, InicioRace3[I], 1);
318
		PlayerTextDrawBackgroundColor(I, InicioRace3[I], 51);
319
		PlayerTextDrawFont(I, InicioRace3[I], 1);
320
		PlayerTextDrawSetProportional(I, InicioRace3[I], 1);
321
322
323
		InicioRace4[I] = CreatePlayerTextDraw(I, 70.533325, 283.235687, "");
324
		PlayerTextDrawLetterSize(I, InicioRace4[I], 0.261999, 1.127110);
325
		PlayerTextDrawAlignment(I, InicioRace4[I], 1);
326
		PlayerTextDrawColor(I, InicioRace4[I], -1);
327
		PlayerTextDrawSetShadow(I, InicioRace4[I], 0);
328
		PlayerTextDrawSetOutline(I, InicioRace4[I], -1);
329
		PlayerTextDrawBackgroundColor(I, InicioRace4[I], 51);
330
		PlayerTextDrawFont(I, InicioRace4[I], 1);
331
		PlayerTextDrawSetProportional(I, InicioRace4[I], 1);
332
333
		InicioRace5[I] = CreatePlayerTextDraw(I, 16.800001, 296.177886, "~y~~h~Tempo:");
334
		PlayerTextDrawLetterSize(I, InicioRace5[I], 0.261999, 1.127110);
335
		PlayerTextDrawAlignment(I, InicioRace5[I], 1);
336
		PlayerTextDrawColor(I, InicioRace5[I], -1);
337
		PlayerTextDrawSetShadow(I, InicioRace5[I], 0);
338
		PlayerTextDrawSetOutline(I, InicioRace5[I], 1);
339
		PlayerTextDrawBackgroundColor(I, InicioRace5[I], 51);
340
		PlayerTextDrawFont(I, InicioRace5[I], 1);
341
		PlayerTextDrawSetProportional(I, InicioRace5[I], 1);
342
343
		InicioRace6[I] = CreatePlayerTextDraw(I, 54.799991, 296.675811, "");
344
		PlayerTextDrawLetterSize(I, InicioRace6[I], 0.261999, 1.127110);
345
		PlayerTextDrawAlignment(I, InicioRace6[I], 1);
346
		PlayerTextDrawColor(I,InicioRace6[I], -1);
347
		PlayerTextDrawSetShadow(I, InicioRace6[I], 0);
348
		PlayerTextDrawSetOutline(I, InicioRace6[I], -1);
349
		PlayerTextDrawBackgroundColor(I, InicioRace6[I], 51);
350
		PlayerTextDrawFont(I, InicioRace6[I], 1);
351
		PlayerTextDrawSetProportional(I, InicioRace6[I], 1);
352
	}
353
	return 1;
354
}
355
356
public OnFilterScriptExit()
357
{
358
	TextDrawHideForAll(TextdrawAnuncio);
359
    TextDrawDestroy(TextdrawAnuncio);
360
	for(new i = 0; i < MAX_PLAYERS; i++){
361
		DisablePlayerRaceCheckpoint(i);
362
		RemovePlayerMapIcon(i, 0);
363
		PlayerTextDrawDestroy(i, InicioRace0[i]);
364
		PlayerTextDrawDestroy(i, InicioRace1[i]);
365
		PlayerTextDrawDestroy(i, InicioRace2[i]);
366
		PlayerTextDrawDestroy(i, InicioRace3[i]);
367
		PlayerTextDrawDestroy(i, InicioRace4[i]);
368
		PlayerTextDrawDestroy(i, InicioRace5[i]);
369
		PlayerTextDrawDestroy(i, InicioRace6[i]);
370
		PlayerTextDrawDestroy(i, InicioRace7[i]);
371
		PlayerTextDrawDestroy(i, TempoCorrida[i]);
372
		PlayerTextDrawHide(i, TextContar[i]);
373
		PlayerTextDrawHide(i, Textdraw10[i]);
374
		
375
		PlayerTextDrawHide(i, Textdraw0[i]);
376
		PlayerTextDrawHide(i, Textdraw1[i]);
377
		PlayerTextDrawHide(i, Textdraw2[i]);
378
		PlayerTextDrawHide(i, Textdraw5[i]);
379
		PlayerTextDrawHide(i, Textdraw6[i]);
380
		PlayerTextDrawHide(i, Textdraw7[i]);
381
 		PlayerTextDrawHide(i, Textdraw8[i]);
382
		PlayerTextDrawHide(i, Textdraw9[i]);
383
		
384
 		PlayerTextDrawDestroy(i, Textdraw0[i]);
385
		PlayerTextDrawDestroy(i, Textdraw1[i]);
386
		PlayerTextDrawDestroy(i, Textdraw2[i]);
387
		PlayerTextDrawDestroy(i, Textdraw5[i]);
388
		PlayerTextDrawDestroy(i, Textdraw6[i]);
389
		PlayerTextDrawDestroy(i, Textdraw7[i]);
390
		PlayerTextDrawDestroy(i, Textdraw8[i]);
391
 		PlayerTextDrawDestroy(i, Textdraw9[i]);
392
		PlayerTextDrawDestroy(i, Textdraw10[i]);
393
		PlayerTextDrawDestroy(i, TextContar[i]);
394
395
	}
396
397
	for(new X; X < MAX_VEHICLES; X++){
398
	    DestroyVehicle(Veiculo[X]);
399
	}
400
401
	DOF2_Exit();
402
	return 1;
403
}
404
405
public OnPlayerConnect(playerid)
406
{
407
408
	CPConquistado[playerid] = CreatePlayerTextDraw(playerid, 321.199920, 359.893463, "");
409
	PlayerTextDrawLetterSize(playerid, CPConquistado[playerid], 0.449999, 1.600000);
410
	PlayerTextDrawAlignment(playerid, CPConquistado[playerid], 2);
411
	PlayerTextDrawColor(playerid, CPConquistado[playerid], -1);
412
	PlayerTextDrawSetShadow(playerid, CPConquistado[playerid], 0);
413
	PlayerTextDrawSetOutline(playerid, CPConquistado[playerid], -1);
414
	PlayerTextDrawBackgroundColor(playerid, CPConquistado[playerid], 51);
415
	PlayerTextDrawFont(playerid, CPConquistado[playerid], 2);
416
	PlayerTextDrawSetProportional(playerid, CPConquistado[playerid], 1);
417
418
419
	TextdrawAnuncio = TextDrawCreate(306.399871, 153.315612, "");
420
	TextDrawLetterSize(TextdrawAnuncio, 0.322797, 1.943465);
421
	TextDrawAlignment(TextdrawAnuncio, 2);
422
	TextDrawColor(TextdrawAnuncio, -1);
423
	TextDrawSetShadow(TextdrawAnuncio, 0);
424
	TextDrawSetOutline(TextdrawAnuncio, -1);
425
	TextDrawBackgroundColor(TextdrawAnuncio, 51);
426
	TextDrawFont(TextdrawAnuncio, 1);
427
	TextDrawSetProportional(TextdrawAnuncio, 1);
428
429
    Textdraw10[playerid] = CreatePlayerTextDraw(playerid, 530.399963, 212.551101, "9|:");
430
    PlayerTextDrawLetterSize(playerid, Textdraw10[playerid], 0.203997, 2.172444);
431
    PlayerTextDrawAlignment(playerid, Textdraw10[playerid], 1);
432
    PlayerTextDrawColor(playerid, Textdraw10[playerid], -1);
433
    PlayerTextDrawSetShadow(playerid, Textdraw10[playerid], 0);
434
    PlayerTextDrawSetOutline(playerid, Textdraw10[playerid], 1);
435
    PlayerTextDrawBackgroundColor(playerid, Textdraw10[playerid], 51);
436
    PlayerTextDrawFont(playerid, Textdraw10[playerid], 1);
437
    PlayerTextDrawSetProportional(playerid, Textdraw10[playerid], 1);
438
439
    Textdraw0[playerid] = CreatePlayerTextDraw(playerid, 530.799987, 104.540000, "usebox");
440
    PlayerTextDrawLetterSize(playerid, Textdraw0[playerid], 0.000000, 20.589998);
441
    PlayerTextDrawTextSize(playerid, Textdraw0[playerid], 632.000000, 0.000000);
442
    PlayerTextDrawAlignment(playerid, Textdraw0[playerid], 1);
443
    PlayerTextDrawColor(playerid, Textdraw0[playerid], 0);
444
    PlayerTextDrawUseBox(playerid, Textdraw0[playerid], true);
445
    PlayerTextDrawBoxColor(playerid, Textdraw0[playerid], 102);
446
    PlayerTextDrawSetShadow(playerid, Textdraw0[playerid], 0);
447
    PlayerTextDrawSetOutline(playerid, Textdraw0[playerid], 0);
448
    PlayerTextDrawFont(playerid, Textdraw0[playerid], 0);
449
450
    Textdraw1[playerid] = CreatePlayerTextDraw(playerid, 581.200683, 105.031028, "Race Info");
451
    PlayerTextDrawLetterSize(playerid, Textdraw1[playerid], 0.179600, 0.942933);
452
    PlayerTextDrawTextSize(playerid, Textdraw1[playerid], 381.199920, 101.546730);
453
    PlayerTextDrawAlignment(playerid, Textdraw1[playerid], 2);
454
    PlayerTextDrawColor(playerid, Textdraw1[playerid], 255);
455
    PlayerTextDrawUseBox(playerid, Textdraw1[playerid], true);
456
    PlayerTextDrawBoxColor(playerid, Textdraw1[playerid], -5963521);
457
    PlayerTextDrawSetShadow(playerid, Textdraw1[playerid], 0);
458
    PlayerTextDrawSetOutline(playerid, Textdraw1[playerid], 0);
459
    PlayerTextDrawBackgroundColor(playerid, Textdraw1[playerid], 51);
460
    PlayerTextDrawFont(playerid, Textdraw1[playerid], 2);
461
    PlayerTextDrawSetProportional(playerid, Textdraw1[playerid], 1);
462
463
    Textdraw2[playerid] = CreatePlayerTextDraw(playerid, 530.000000, 117.973381, "~y~~h~1|:  ~r~Ninguem");
464
    PlayerTextDrawLetterSize(playerid, Textdraw2[playerid], 0.249999, 1.475553);
465
    PlayerTextDrawAlignment(playerid, Textdraw2[playerid], 1);
466
    PlayerTextDrawColor(playerid, Textdraw2[playerid], -1);
467
    PlayerTextDrawSetShadow(playerid, Textdraw2[playerid], 0);
468
    PlayerTextDrawSetOutline(playerid, Textdraw2[playerid], 1);
469
    PlayerTextDrawBackgroundColor(playerid, Textdraw2[playerid], 51);
470
    PlayerTextDrawFont(playerid, Textdraw2[playerid], 1);
471
    PlayerTextDrawSetProportional(playerid, Textdraw2[playerid], 1);
472
/*
473
		Textdraw3[playerid] = CreatePlayerTextDraw(playerid, 557.599975, 271.288970, "/10");
474
		PlayerTextDrawLetterSize(playerid, Textdraw3[playerid], 0.409999, 2.072885);
475
		PlayerTextDrawAlignment(playerid, Textdraw3[playerid], 1);
476
		PlayerTextDrawColor(playerid, Textdraw3[playerid], -1378294017);
477
		PlayerTextDrawSetShadow(playerid, Textdraw3[playerid], 0);
478
		PlayerTextDrawSetOutline(playerid, Textdraw3[playerid], 1);
479
		PlayerTextDrawBackgroundColor(playerid, Textdraw3[playerid], 51);
480
		PlayerTextDrawFont(playerid, Textdraw3[playerid], 3);
481
		PlayerTextDrawSetProportional(playerid, Textdraw3[playerid], 1);
482
483
		Textdraw4[playerid] = CreatePlayerTextDraw(playerid, 532.800048, 250.880004, "2|");
484
		PlayerTextDrawLetterSize(playerid, Textdraw4[playerid], 0.607999, 3.964443);
485
		PlayerTextDrawAlignment(playerid, Textdraw4[playerid], 1);
486
		PlayerTextDrawColor(playerid, Textdraw4[playerid], -1378294017);
487
		PlayerTextDrawSetShadow(playerid, Textdraw4[playerid], 0);
488
		PlayerTextDrawSetOutline(playerid, Textdraw4[playerid], 1);
489
		PlayerTextDrawBackgroundColor(playerid, Textdraw4[playerid], 51);
490
		PlayerTextDrawFont(playerid, Textdraw4[playerid], 3);
491
		PlayerTextDrawSetProportional(playerid, Textdraw4[playerid], 1)
492
*/
493
    Textdraw5[playerid] = CreatePlayerTextDraw(playerid, 603.599792, 272.782257, "x/x");
494
    PlayerTextDrawLetterSize(playerid, Textdraw5[playerid], 0.275999, 1.600000);
495
    PlayerTextDrawAlignment(playerid, Textdraw5[playerid], 1);
496
    PlayerTextDrawColor(playerid, Textdraw5[playerid], -2147483393);
497
    PlayerTextDrawSetShadow(playerid, Textdraw5[playerid], 0);
498
    PlayerTextDrawSetOutline(playerid, Textdraw5[playerid], 1);
499
    PlayerTextDrawBackgroundColor(playerid, Textdraw5[playerid], 51);
500
    PlayerTextDrawFont(playerid, Textdraw5[playerid], 1);
501
    PlayerTextDrawSetProportional(playerid, Textdraw5[playerid], 1);
502
503
    Textdraw6[playerid] = CreatePlayerTextDraw(playerid, 530.000000, 134.897872, "~y~~h~2|:  ~r~Ninguem");
504
    PlayerTextDrawLetterSize(playerid, Textdraw6[playerid], 0.249999, 1.475553);
505
    PlayerTextDrawAlignment(playerid, Textdraw6[playerid], 1);
506
    PlayerTextDrawColor(playerid, Textdraw6[playerid], -1);
507
    PlayerTextDrawSetShadow(playerid, Textdraw6[playerid], 0);
508
    PlayerTextDrawSetOutline(playerid, Textdraw6[playerid], 1);
509
    PlayerTextDrawBackgroundColor(playerid, Textdraw6[playerid], 51);
510
    PlayerTextDrawFont(playerid, Textdraw6[playerid], 1);
511
    PlayerTextDrawSetProportional(playerid, Textdraw6[playerid], 1);
512
513
    Textdraw7[playerid] = CreatePlayerTextDraw(playerid, 530.000000, 152.817825, "~y~~h~3|:  ~r~Ninguem");
514
    PlayerTextDrawLetterSize(playerid, Textdraw7[playerid], 0.249999, 1.475553);
515
    PlayerTextDrawAlignment(playerid, Textdraw7[playerid], 1);
516
    PlayerTextDrawColor(playerid, Textdraw7[playerid], -1);
517
    PlayerTextDrawSetShadow(playerid, Textdraw7[playerid], 0);
518
    PlayerTextDrawSetOutline(playerid, Textdraw7[playerid], 1);
519
    PlayerTextDrawBackgroundColor(playerid, Textdraw7[playerid], 51);
520
    PlayerTextDrawFont(playerid, Textdraw7[playerid], 1);
521
    PlayerTextDrawSetProportional(playerid, Textdraw7[playerid], 1);
522
523
    Textdraw8[playerid] = CreatePlayerTextDraw(playerid, 529.599975, 172.231155, "~y~~h~4|:  ~r~Ninguem");
524
    PlayerTextDrawLetterSize(playerid, Textdraw8[playerid], 0.249999, 1.475553);
525
    PlayerTextDrawAlignment(playerid, Textdraw8[playerid], 1);
526
    PlayerTextDrawColor(playerid, Textdraw8[playerid], -1);
527
    PlayerTextDrawSetShadow(playerid, Textdraw8[playerid], 0);
528
    PlayerTextDrawSetOutline(playerid, Textdraw8[playerid], 1);
529
    PlayerTextDrawBackgroundColor(playerid, Textdraw8[playerid], 51);
530
    PlayerTextDrawFont(playerid, Textdraw8[playerid], 1);
531
    PlayerTextDrawSetProportional(playerid, Textdraw8[playerid], 1);
532
533
    Textdraw9[playerid] = CreatePlayerTextDraw(playerid, 530.000000, 189.653366, "~y~~h~5|:  ~r~Ninguem");
534
    PlayerTextDrawLetterSize(playerid, Textdraw9[playerid], 0.249999, 1.475553);
535
    PlayerTextDrawAlignment(playerid, Textdraw9[playerid], 1);
536
    PlayerTextDrawColor(playerid, Textdraw9[playerid], -1);
537
    PlayerTextDrawSetShadow(playerid, Textdraw9[playerid], 0);
538
    PlayerTextDrawSetOutline(playerid, Textdraw9[playerid], 1);
539
    PlayerTextDrawBackgroundColor(playerid, Textdraw9[playerid], 51);
540
    PlayerTextDrawFont(playerid, Textdraw9[playerid], 1);
541
    PlayerTextDrawSetProportional(playerid, Textdraw9[playerid], 1);
542
543
544
545
546
    TempoCorrida[playerid] = CreatePlayerTextDraw(playerid, 14.400009, 238.933471, "00:00:00");
547
    PlayerTextDrawFont(playerid, TempoCorrida[playerid], 1);
548
    PlayerTextDrawLetterSize(playerid, TempoCorrida[playerid], 0.225000, 1.251000);
549
    PlayerTextDrawColor(playerid, TempoCorrida[playerid], -1);
550
    PlayerTextDrawSetOutline(playerid, TempoCorrida[playerid], 1);
551
    PlayerTextDrawSetProportional(playerid, TempoCorrida[playerid], 1);
552
553
    TextContar[playerid] = CreatePlayerTextDraw(playerid, 229.200103, 361.386688, "");
554
    PlayerTextDrawLetterSize(playerid, TextContar[playerid], 0.449999, 1.600000);
555
    PlayerTextDrawAlignment(playerid, TextContar[playerid], 1);
556
    PlayerTextDrawColor(playerid, TextContar[playerid], -1);
557
    PlayerTextDrawSetShadow(playerid, TextContar[playerid], 0);
558
    PlayerTextDrawSetOutline(playerid, TextContar[playerid], 1);
559
    PlayerTextDrawBackgroundColor(playerid, TextContar[playerid], 51);
560
    PlayerTextDrawFont(playerid, TextContar[playerid], 1);
561
    PlayerTextDrawSetProportional(playerid, TextContar[playerid], 1);
562
563
564
    InicioRace0[playerid] = CreatePlayerTextDraw(playerid, 150.800003, 255.366668, "usebox"); // BOX
565
    PlayerTextDrawLetterSize(playerid, InicioRace0[playerid], 0.000000, 6.430986);
566
    PlayerTextDrawTextSize(playerid, InicioRace0[playerid], 12.400000, 0.000000);
567
    PlayerTextDrawAlignment(playerid, InicioRace0[playerid], 1);
568
    PlayerTextDrawColor(playerid, InicioRace0[playerid], 0);
569
    PlayerTextDrawUseBox(playerid, InicioRace0[playerid], true);
570
    PlayerTextDrawBoxColor(playerid, InicioRace0[playerid], 102);
571
    PlayerTextDrawSetShadow(playerid, InicioRace0[playerid], 0);
572
    PlayerTextDrawSetOutline(playerid, InicioRace0[playerid], 0);
573
    PlayerTextDrawFont(playerid, InicioRace0[playerid], 0);
574
575
    InicioRace7[playerid] = CreatePlayerTextDraw(playerid, 81.431015, 255.857666, "Race Info");
576
    PlayerTextDrawLetterSize(playerid, InicioRace7[playerid], 0.169600, 1.375999);
577
    PlayerTextDrawTextSize(playerid, InicioRace7[playerid], 3814.800292, 130.915496);
578
    PlayerTextDrawAlignment(playerid, InicioRace7[playerid], 2);
579
    PlayerTextDrawColor(playerid, InicioRace7[playerid], 255);
580
    PlayerTextDrawUseBox(playerid, InicioRace7[playerid], true);
581
    PlayerTextDrawBoxColor(playerid, InicioRace7[playerid], -1523963137);
582
    PlayerTextDrawSetShadow(playerid, InicioRace7[playerid], 0);
583
    PlayerTextDrawSetOutline(playerid, InicioRace7[playerid], 0);
584
    PlayerTextDrawBackgroundColor(playerid, InicioRace7[playerid], 51);
585
    PlayerTextDrawFont(playerid, InicioRace7[playerid], 2);
586
    PlayerTextDrawSetProportional(playerid, InicioRace7[playerid], 1);
587
588
    InicioRace1[playerid] = CreatePlayerTextDraw(playerid, 16.400007, 270.791229, "~b~~h~Checkpoints ID:");
589
    PlayerTextDrawLetterSize(playerid, InicioRace1[playerid], 0.262000, 1.127111);
590
    PlayerTextDrawAlignment(playerid, InicioRace1[playerid], 1);
591
    PlayerTextDrawColor(playerid, InicioRace1[playerid], -1);
592
    PlayerTextDrawSetShadow(playerid, InicioRace1[playerid], 0);
593
    PlayerTextDrawSetOutline(playerid, InicioRace1[playerid], 1);
594
    PlayerTextDrawBackgroundColor(playerid, InicioRace1[playerid], 51);
595
    PlayerTextDrawFont(playerid, InicioRace1[playerid], 1);
596
    PlayerTextDrawSetProportional(playerid, InicioRace1[playerid], 1);
597
598
599
    InicioRace2[playerid] = CreatePlayerTextDraw(playerid, 91.199966, 270.791137, "");
600
    PlayerTextDrawLetterSize(playerid, InicioRace2[playerid], 0.261999, 1.127110);
601
    PlayerTextDrawAlignment(playerid, InicioRace2[playerid], 1);
602
    PlayerTextDrawColor(playerid, InicioRace2[playerid], -1);
603
    PlayerTextDrawSetShadow(playerid, InicioRace2[playerid], 0);
604
    PlayerTextDrawSetOutline(playerid, InicioRace2[playerid], 1);
605
    PlayerTextDrawBackgroundColor(playerid, InicioRace2[playerid], 51);
606
    PlayerTextDrawFont(playerid, InicioRace2[playerid], 1);
607
    PlayerTextDrawSetProportional(playerid, InicioRace2[playerid], 1);
608
609
    InicioRace3[playerid] = CreatePlayerTextDraw(playerid, 16.728918, 282.737854, "~p~~h~Recordista:");
610
    PlayerTextDrawLetterSize(playerid, InicioRace3[playerid], 0.261999, 1.127110);
611
    PlayerTextDrawAlignment(playerid, InicioRace3[playerid], 1);
612
    PlayerTextDrawColor(playerid, InicioRace3[playerid], -1);
613
    PlayerTextDrawSetShadow(playerid, InicioRace3[playerid], 0);
614
    PlayerTextDrawSetOutline(playerid, InicioRace3[playerid], 1);
615
    PlayerTextDrawBackgroundColor(playerid, InicioRace3[playerid], 51);
616
    PlayerTextDrawFont(playerid, InicioRace3[playerid], 1);
617
    PlayerTextDrawSetProportional(playerid, InicioRace3[playerid], 1);
618
619
620
    InicioRace4[playerid] = CreatePlayerTextDraw(playerid, 70.533325, 283.235687, "");
621
    PlayerTextDrawLetterSize(playerid, InicioRace4[playerid], 0.261999, 1.127110);
622
    PlayerTextDrawAlignment(playerid, InicioRace4[playerid], 1);
623
    PlayerTextDrawColor(playerid, InicioRace4[playerid], -1);
624
    PlayerTextDrawSetShadow(playerid, InicioRace4[playerid], 0);
625
    PlayerTextDrawSetOutline(playerid, InicioRace4[playerid], -1);
626
    PlayerTextDrawBackgroundColor(playerid, InicioRace4[playerid], 51);
627
    PlayerTextDrawFont(playerid, InicioRace4[playerid], 1);
628
    PlayerTextDrawSetProportional(playerid, InicioRace4[playerid], 1);
629
630
    InicioRace5[playerid] = CreatePlayerTextDraw(playerid, 16.800001, 296.177886, "~y~~h~Tempo:");
631
    PlayerTextDrawLetterSize(playerid, InicioRace5[playerid], 0.261999, 1.127110);
632
    PlayerTextDrawAlignment(playerid, InicioRace5[playerid], 1);
633
    PlayerTextDrawColor(playerid, InicioRace5[playerid], -1);
634
    PlayerTextDrawSetShadow(playerid, InicioRace5[playerid], 0);
635
    PlayerTextDrawSetOutline(playerid, InicioRace5[playerid], 1);
636
    PlayerTextDrawBackgroundColor(playerid, InicioRace5[playerid], 51);
637
    PlayerTextDrawFont(playerid, InicioRace5[playerid], 1);
638
    PlayerTextDrawSetProportional(playerid, InicioRace5[playerid], 1);
639
640
    InicioRace6[playerid] = CreatePlayerTextDraw(playerid, 54.799991, 296.675811, "");
641
    PlayerTextDrawLetterSize(playerid, InicioRace6[playerid], 0.261999, 1.127110);
642
    PlayerTextDrawAlignment(playerid, InicioRace6[playerid], 1);
643
    PlayerTextDrawColor(playerid, InicioRace6[playerid], -1);
644
    PlayerTextDrawSetShadow(playerid, InicioRace6[playerid], 0);
645
    PlayerTextDrawSetOutline(playerid, InicioRace6[playerid], -1);
646
    PlayerTextDrawBackgroundColor(playerid, InicioRace6[playerid], 51);
647
    PlayerTextDrawFont(playerid, InicioRace6[playerid], 1);
648
    PlayerTextDrawSetProportional(playerid, InicioRace6[playerid], 1);
649
650
    return 1;
651
}
652
653
public OnPlayerDisconnect(playerid, reason)
654
{
655
	return 1;
656
}
657
658
public OnPlayerSpawn(playerid)
659
{
660
	return 1;
661
}
662
663
public OnPlayerDeath(playerid, killerid, reason)
664
{
665
	return 1;
666
}
667
668
public OnVehicleSpawn(vehicleid)
669
{
670
	return 1;
671
}
672
673
public OnVehicleDeath(vehicleid, killerid)
674
{
675
	return 1;
676
}
677
678
public OnPlayerText(playerid, text[])
679
{
680
	return 1;
681
}
682
683
public OnPlayerCommandText(playerid, cmdtext[])
684
{
685
686
	return 0;
687
}
688
689
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
690
{
691
	return 1;
692
}
693
694
public OnPlayerExitVehicle(playerid, vehicleid)
695
{
696
	return 1;
697
}
698
699
public OnPlayerStateChange(playerid, newstate, oldstate)
700
{
701
	return 1;
702
}
703
704
public OnPlayerEnterCheckpoint(playerid)
705
{
706
	return 1;
707
}
708
709
public OnPlayerLeaveCheckpoint(playerid)
710
{
711
	return 1;
712
}
713
714
public OnPlayerEnterRaceCheckpoint(playerid)
715
{
716
    new file[128];
717
    format(file, sizeof(file), pasta_race, CPCarregado);
718
    if (CPAtivado == false) return SendClientMessage(playerid, Red, "** [ERRO] Os CPs estão desativados!");
719
    DisablePlayerRaceCheckpoint(playerid);
720
    CPCountX[playerid]++;
721
    CPCountY[playerid]++;
722
    CPCountZ[playerid]++;
723
    format(String, sizeof(String), "%02d CPX", CPCountX[playerid]);
724
    format(String2, sizeof(String2), "%02d CPY", CPCountY[playerid]);
725
    format(String3, sizeof(String3), "%02d CPZ", CPCountZ[playerid]);
726
    format(String4, sizeof(String4), "%02d CPX", CPCountX[playerid] + 1);
727
    format(String5, sizeof(String5), "%02d CPY", CPCountY[playerid] + 1);
728
    format(String6, sizeof(String6), "%02d CPZ", CPCountZ[playerid] + 1);
729
730
    if (AddCP[playerid] < TotalCPS)
731
    { // VERIFICA SE OS CPS ADQUIRIDOS SÃO MENOR DO QUE O TOTAL DE CPS
732
        SetPlayerRaceCheckpoint(playerid, 0, DOF2_GetFloat(file, String), DOF2_GetFloat(file, String2), DOF2_GetFloat(file, String3), DOF2_GetFloat(file, String4), DOF2_GetFloat(file, String5), DOF2_GetFloat(file, String6), TamanhoCPS);
733
        SetPlayerMapIcon(playerid, 0, DOF2_GetFloat(file, String4), DOF2_GetFloat(file, String5), DOF2_GetFloat(file, String6), 53, -1, MAPICON_LOCAL);
734
        AddCP[playerid]++;
735
        format(Str, sizeof(Str), "~g~~h~%d/%d", AddCP[playerid], DOF2_GetInt(file, "Total CPS"));
736
        PlayerTextDrawSetString(playerid, Textdraw5[playerid], Str);
737
        if (AddCP[playerid] == TotalCPS - 1)
738
        { // VERIFICA SE O PLAYER ESTÁ NO PENÚLTIMO CP PARA SETAR O CP FINAL
739
            SetPlayerRaceCheckpoint(playerid, 1, DOF2_GetFloat(file, String), DOF2_GetFloat(file, String2), DOF2_GetFloat(file, String3), DOF2_GetFloat(file, String4), DOF2_GetFloat(file, String5), DOF2_GetFloat(file, String6), TamanhoCPS);
740
            RemovePlayerMapIcon(playerid, 0);
741
        }
742
        if (AddCP[playerid] == TotalCPS)
743
        {
744
            AlguemGanhou[playerid] = true;
745
            KillTimer(TempoRecorde[playerid]);
746
            DisablePlayerRaceCheckpoint(playerid);
747
            TempoMinimo[1] = DOF2_GetInt(file, "Recorde Minutos");
748
            TempoMinimo[0] = DOF2_GetInt(file, "Recorde Segundos");
749
            Terminou++;
750
            Lugar[Terminou] = playerid;
751
            format(str, sizeof(str), "** [CORRIDA]{FFFFFF} %s terminou a corrida em %d° lugar, em um tempo de %02d:%02d!", GetName(playerid), Terminou, Tempo[playerid][1], Tempo[playerid][0]);
752
            SendClientMessageToAll(Red, str);
753
			for (new i; i < MAX_PLAYERS; i++)
754
			{
755
				SetTimerEx("AtualizarTextdraws", 500, false, "i", i);
756
			}
757
            if (Tempo[playerid][1] <= TempoMinimo[1] && Tempo[playerid][0] < TempoMinimo[0] || Tempo[playerid][1] < TempoMinimo[1])
758
            {
759
                format(str, sizeof(str), "** [CORRIDA] %s é o novo recordista do CPs ID %02d com um tempo de %02d:%02d!", GetName(playerid), CPCarregado, Tempo[playerid][1], Tempo[playerid][0]);
760
                SendClientMessageToAll(Pink, str);
761
                DOF2_SetString(file, "Recordista", GetName(playerid));
762
                DOF2_SetInt(file, "Recorde Minutos", Tempo[playerid][1]);
763
                DOF2_SetInt(file, "Recorde Segundos", Tempo[playerid][0]);
764
                DOF2_SaveFile();
765
                format(Str, sizeof(Str), "%s", DOF2_GetString(file, "Recordista"));
766
                PlayerTextDrawSetString(playerid, InicioRace4[playerid], Str);
767
                format(Str, sizeof(Str), "00:%02d:%02d", DOF2_GetInt(file, "Recorde Minutos"), DOF2_GetInt(file, "Recorde Segundos"));
768
                PlayerTextDrawSetString(playerid, InicioRace6[playerid], Str);
769
            }
770
        }
771
        KillTimer(TimerCountCP[playerid]);
772
        format(str, sizeof(str), "~r~~h~CHECKPOINT~b~CONQUISTADO~n~~w~%d/%d", AddCP[playerid], TotalCPS);
773
        PlayerTextDrawSetString(playerid, CPConquistado[playerid], str);
774
        PlayerTextDrawShow(playerid, CPConquistado[playerid]);
775
        TimerCountCP[playerid] = SetTimerEx("CountCP", 3000, true, "i", playerid);
776
    }
777
    
778
/*
779
    
780
    new j, aPID, I;
781
    for (I = 1; I < MAX_PLAYERS; I++) //Loop todos jogadores para ordenar começando pelo 2º numero = 1
782
    {
783
        if (!IsPlayerConnected(I)) continue;
784
        Colocados[I] = I; // Colocados[1] = 1;
785
        aPID = Colocados[I]; // AtualPD = 1;
786
        j = I - 1; // j = 0;
787
        while (j > -1 && AddCP[Colocados[j + 1]] < AddCP[Colocados[j]])
788
        {
789
            Colocados[j + 1] = Colocados[j]; // Colocados[1] = Colocados[0]
790
            AddCP[Colocados[j + 1]] = AddCP[Colocados[j]]; // AddCP[Colocados[1]] = AddCP[Colocados[0]]
791
            j--; // j = -1;
792
        }
793
        Colocados[j + 1] = aPID; // Colocados[0] = 1; Se for feito o while Colocados[0] = Colocados[1];
794
        AddCP[Colocados[j + 1]] = AddCP[aPID]; // AddCP[Colocados[0]] = AddCP[Colocados[1]];
795
796
        AtualizarText[I - 1] = SetTimerEx("AtualizarTextdraws", 100, false, "d", I - 1);
797
        AtualizarText[I] = SetTimerEx("AtualizarTextdraws", 100, false, "d", I);
798
    }
799
800
*/
801
    return 1;
802
}
803
804
public OnPlayerLeaveRaceCheckpoint(playerid)
805
{
806
	return 1;
807
}
808
809
public OnRconCommand(cmd[])
810
{
811
	return 1;
812
}
813
814
public OnPlayerRequestSpawn(playerid)
815
{
816
	return 1;
817
}
818
819
public OnObjectMoved(objectid)
820
{
821
	return 1;
822
}
823
824
public OnPlayerObjectMoved(playerid, objectid)
825
{
826
	return 1;
827
}
828
829
public OnPlayerPickUpPickup(playerid, pickupid)
830
{
831
	return 1;
832
}
833
834
public OnVehicleMod(playerid, vehicleid, componentid)
835
{
836
	return 1;
837
}
838
839
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
840
{
841
	return 1;
842
}
843
844
public OnVehicleRespray(playerid, vehicleid, color1, color2)
845
{
846
	return 1;
847
}
848
849
public OnPlayerSelectedMenuRow(playerid, row)
850
{
851
	return 1;
852
}
853
854
public OnPlayerExitedMenu(playerid)
855
{
856
	return 1;
857
}
858
859
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
860
{
861
	return 1;
862
}
863
864
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
865
{
866
	return 1;
867
}
868
869
public OnRconLoginAttempt(ip[], password[], success)
870
{
871
	return 1;
872
}
873
874
public OnPlayerUpdate(playerid)
875
{
876
	return 1;
877
}
878
879
public OnPlayerStreamIn(playerid, forplayerid)
880
{
881
	return 1;
882
}
883
884
public OnPlayerStreamOut(playerid, forplayerid)
885
{
886
	return 1;
887
}
888
889
public OnVehicleStreamIn(vehicleid, forplayerid)
890
{
891
	return 1;
892
}
893
894
public OnVehicleStreamOut(vehicleid, forplayerid)
895
{
896
	return 1;
897
}
898
899
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
900
{
901
	return 1;
902
}
903
904
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
905
{
906
	return 1;
907
}
908
909
public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ){
910
	new vID = GetPlayerVehicleID(playerid);
911
	SetVehiclePos(vID, fX, fY, fZ);
912
	SetPlayerPos(playerid, fX, fY, fZ);
913
	PutPlayerInVehicle(playerid, vID, 0);
914
	return 1;
915
}
916
/*
917
CMD:xb(playerid){
918
	new CPs[5], i, Atual, j;
919
	for (i = 1; i < MAX_PLAYERS; i++)
920
	{
921
	    if (!IsPlayerConnected(i)) continue;
922
	    printf("%i", i);
923
		CPs[i] = AddCP[i];
924
		Atual = CPs[i];
925
		j = i - 1; // j = 0;
926
		while (j > -1 && AddCP[j+1] < AddCP[j])
927
		{
928
		    CPs[j+1] = CPs[j];
929
			j--;
930
		}
931
		CPs[j+1] = Atual;
932
	}
933
934
	format(Str, 128, "Quantidade dos CPs dos ids foram organizados em ordem crescente: %d, %d, %d", CPs[0], CPs[1], CPs[2]);
935
	SendClientMessageToAll(-1, Str);
936
	return 1;
937
}
938
*/
939
CMD:pintar(playerid, params[])
940
{
941
    new CorP[2];
942
    if (sscanf(params, "dd", CorP[0], CorP[1])) return SendClientMessage(playerid, Red, "** [ERRO] {AAAAAA}Utilize: /Pintar [Cor 1] [Cor 2]");
943
    SendClientMessage(playerid, -1, "** Cores alteradas com sucesso!");
944
    ChangeVehicleColor(GetPlayerVehicleID(playerid), CorP[0], CorP[1]);
945
    return 1;
946
}
947
948
CMD:novocp(playerid, params[]){
949
	new file[128], pasta[128], id;
950
	if(sscanf(params, "d", id)) return SendClientMessage(playerid, Red, "** [ERRO] {AAAAAA}Utilize: /NovoCP [ID dos veículos salvos]");
951
	format(pasta, sizeof(pasta), pasta_veiculos, id);
952
	if(!DOF2_FileExists(pasta)) return SendClientMessage(playerid, Red, "** [ERRO] O ID de veículos que você colocou não existe! Salve usando /SalvarVeiculos");
953
	if(CriacaoAndamento == true) return SendClientMessage(playerid, 0xFF0000FF, "** [ERRO] Alguém já está criando CPs!");
954
	for(new X; X < 500; X++){
955
	    format(file, sizeof(file), pasta_race, X);
956
	    if(DOF2_FileExists(file)) continue;
957
	    if(!DOF2_FileExists(file)){
958
			DOF2_CreateFile(file);
959
			DOF2_SetString(file, "Criador", GetName(playerid));
960
			DOF2_SetInt(file, "ID Veiculos", id);
961
			DOF2_SaveFile();
962
			CriacaoAndamento = true;
963
			RaceName = X;
964
			format(str, sizeof(str), "** [INFO]{FFFFFF} Você começou a criar o CP ID: %02d! Para criar os checkpoints use /SalvarCP", X);
965
			SendClientMessage(playerid, Red, str);
966
		} break;
967
	}
968
	return 1;
969
}
970
971
CMD:salvarcp(playerid){
972
	new file[500];
973
	format(file, sizeof(file), pasta_race, RaceName);
974
	if(CriacaoAndamento == false) return SendClientMessage(playerid, 0xFF0000FF, "** [ERRO] Primeiro use /NovoCP para criar os arquivos!");
975
	if(CPCount > 800) return SendClientMessage(playerid, Red, "** [ERRO] Você já salvou 800 CPS que são o máximo");
976
	GetPlayerPos(playerid, CP[0], CP[1], CP[2]);
977
	CPCount++;
978
	format(str, sizeof(str), "%02d CPX", CPCountX[playerid]);
979
	DOF2_SetFloat(file, str, CP[0]);
980
	CPCountX[playerid]++;
981
	format(str, sizeof(str), "%02d CPY", CPCountY[playerid]);
982
	DOF2_SetFloat(file, str, CP[1]);
983
	CPCountY[playerid]++;
984
	format(str, sizeof(str), "%02d CPZ", CPCountZ[playerid]);
985
	DOF2_SetFloat(file, str, CP[2]);
986
	CPCountZ[playerid]++;
987
	TotalCPS++;
988
	DOF2_SaveFile();
989
990
	SetPlayerRaceCheckpoint(playerid, 1, CP[0], CP[1], CP[2], 0.0, 0.0, 0.0, 7);
991
	format(str, sizeof(str), "** [INFO] {FFFFFF}CP salvo com sucesso [%d / 800]!", CPCount);
992
	SendClientMessage(playerid, Red, str);
993
	return 1;
994
}
995
996
CMD:arquivarcps(playerid){
997
	new file[128];
998
	format(file, sizeof(file), pasta_race, RaceName);
999
	if(CriacaoAndamento == false) return SendClientMessage(playerid, Red, "** [ERRO] Não há um CP em criação! (Use: /NovoCP)");
1000
	DOF2_SetString(file, "Recordista", "Ninguem");
1001
	DOF2_SetInt(file, "Total CPS", TotalCPS);
1002
	DOF2_SetInt(file, "Recorde Minutos", 90);
1003
	DOF2_SetInt(file, "Recorde Segundos", 00);
1004
	DOF2_SaveFile();
1005
	CriacaoAndamento = false;
1006
	CPCountX[playerid] = 0;
1007
	CPCountY[playerid] = 0;
1008
	CPCountZ[playerid] = 0;
1009
	SendClientMessage(playerid, Red, "** [INFO]{FFFFFF} Seus CPs foram arquivados com sucesso!");
1010
	for(new i; i < MAX_PLAYERS; i++){
1011
	    if(!IsPlayerConnected(i)) continue;
1012
	    DisablePlayerRaceCheckpoint(i);
1013
	}
1014
	return 1;
1015
}
1016
1017
CMD:carregarcps(playerid, params[]){
1018
	new file[128], string[128];
1019
	if(CriacaoAndamento == true || CPAtivado == true) return SendClientMessage(playerid, 0xFF0000FF, "** [ERRO] Está havendo uma criação de CPs");
1020
	if(sscanf(params, "d", CPCarregado)) return SendClientMessage(playerid, 0xFF0000FF, "** [ERRO] {AAAAAA}Utilize: /CarregarCP [ID dos CPs salvos]");
1021
	format(file, sizeof(file), pasta_race, CPCarregado);
1022
	if(!DOF2_FileExists(file)) return SendClientMessage(playerid, 0xFF0000FF, "** [ERRO] Não existe nenhum CP salvo com esse nome.");
1023
	TotalCPS = DOF2_GetInt(file, "Total CPS");
1024
	format(string, sizeof(string), "** [ATENÇÃO] {AAAAAA}Você carregou o CPs ID {FF44AA}\"%02d\" {AAAAAA}criados pelo jogador(a) {FF44AA}%s ", CPCarregado, DOF2_GetString(file, "Criador"));
1025
	SendClientMessage(playerid, Red, string);
1026
	if(DOF2_GetInt(file, "Recorde Minutos") == 90 && DOF2_GetInt(file, "Recorde Segundos") == 0){
1027
	 	format(string, sizeof(string), "** [ATENÇÃO] {AAAAAA}Recorde no tempo de {FF44AA}\"Sem recorde\"{AAAAAA} por {FF44AA}\"%s\"", DOF2_GetString(file, "Recordista"));
1028
 		SendClientMessage(playerid, Red, string);
1029
	}else{
1030
	 	format(string, sizeof(string), "** [ATENÇÃO] {AAAAAA}Recorde no tempo de {FF44AA}\"%02d:%02d\"{AAAAAA} por {FF44AA}\"%s\"", DOF2_GetInt(file, "Recorde Minutos"), DOF2_GetInt(file, "Recorde Segundos"), DOF2_GetString(file, "Recordista"));
1031
	 	SendClientMessage(playerid, Red, string);
1032
 	}
1033
 	format(string, sizeof(string), "** [ATENÇÃO] {AAAAAA}ID Veículos: {FF44AA}%d", DOF2_GetInt(file, "ID Veiculos"));
1034
 	SendClientMessage(playerid, Red, string);
1035
  	format(string, sizeof(string), "** [ATENÇÃO] {AAAAAA}Total de CPs: {FF44AA}%d", TotalCPS);
1036
 	SendClientMessage(playerid, Red, string);
1037
 	SendClientMessage(playerid, -1, "");
1038
	SetPlayerPos(playerid, DOF2_GetFloat(file, "00 CPX"), DOF2_GetFloat(file, "00 CPY"), DOF2_GetFloat(file, "00 CPZ"));
1039
	SetPlayerMapIcon(playerid, 0, DOF2_GetFloat(file, "00 CPX"), DOF2_GetFloat(file, "00 CPY"), DOF2_GetFloat(file, "00 CPZ"), 53, -1, MAPICON_LOCAL);
1040
	return 1;
1041
}
1042
1043
CMD:cps(playerid){
1044
	new file[128];
1045
	format(file, sizeof(file), pasta_race, CPCarregado);
1046
	if(CPAtivado == true){
1047
 		for(new i; i < MAX_PLAYERS; i++){
1048
 		    if(!IsPlayerConnected(i)) continue;
1049
		    DisablePlayerRaceCheckpoint(i);
1050
	    	CPCountX[playerid] = 0;
1051
			CPCountY[playerid] = 0;
1052
			CPCountZ[playerid] = 0;
1053
			KillTimer(TempoRecorde[i]);
1054
			Tempo[i][0] = 0;
1055
			Tempo[i][1] = 0;
1056
			Tempo[i][3] = 0;
1057
			Terminou = 0;
1058
			AlguemGanhou[i] = false;
1059
		}
1060
        SendClientMessage(playerid, Red, "** [INFO]{FFFFFF} Os CPs foram desativados!");
1061
        CPAtivado = false;
1062
	}else{
1063
	    SendClientMessage(playerid, Red, "** [INFO]{FFFFFF} Os CPs foram ativados!");
1064
		CPAtivado = true;
1065
		for(new i; i < MAX_PLAYERS; i++){
1066
		    if(!IsPlayerConnected(i)) continue;
1067
		    RemovePlayerMapIcon(i, 0);
1068
			SetPlayerRaceCheckpoint(i, 0, DOF2_GetFloat(file, "00 CPX"), DOF2_GetFloat(file, "00 CPY"), DOF2_GetFloat(file, "00 CPZ"), DOF2_GetFloat(file, "01 CPX"), DOF2_GetFloat(file, "01 CPY"), DOF2_GetFloat(file, "01 CPZ"), TamanhoCPS);
1069
			SetPlayerMapIcon(i, 0, DOF2_GetFloat(file, "01 CPX"), DOF2_GetFloat(file, "01 CPY"), DOF2_GetFloat(file, "01 CPZ"), 53, -1, MAPICON_LOCAL);
1070
		}
1071
	}
1072
	return 1;
1073
}
1074
CMD:tamanhocps(playerid, params[]){
1075
    if(sscanf(params, "d", TamanhoCPS)) return SendClientMessage(playerid, 0xFF0000FF, "** [ERRO] {AAAAAA}Utilize: /TamanhoCps [Tamanho dos CPS(padrão 15)]");
1076
	SendClientMessage(playerid, Red, "** [INFO] {FFFFFF}Você alterou o tamanho dos CPS.");
1077
	return 1;
1078
}
1079
1080
CMD:destruircps(playerid){
1081
    if(CPAtivado == true) return SendClientMessage(playerid, Red, "** [ERRO] Os CPS estão ativados!");
1082
	SendClientMessage(playerid, Red, "** [INFO]{FFFFFF} Todos os CPs foram destruídos com sucesso!");
1083
	for(new i; i < MAX_PLAYERS; i++){
1084
		CPCountX[i] = 0;
1085
		CPCountY[i] = 0;
1086
		CPCountZ[i] = 0;
1087
		AddCP[i] = 0;
1088
	}
1089
	CPCount = 0;
1090
	TotalCPS = 0;
1091
	return 1;
1092
}
1093
1094
CMD:raceemandamento(playerid){
1095
	if(CriacaoAndamento == false){
1096
		SendClientMessage(playerid, 0xFF0000FF, "** [INFO] {FFFFFF}Você ativou o Race em Andamento!");
1097
		CriacaoAndamento = true;
1098
	}else{
1099
		SendClientMessage(playerid, 0xFF0000FF, "** [INFO]{FFFFFF} Você desativou o Race em Andamento!");
1100
		CriacaoAndamento = false;
1101
	}
1102
	return 1;
1103
}
1104
1105
CMD:deletarcps(playerid, params[]){
1106
	new file[128], id;
1107
	if(sscanf(params, "d", id)) return SendClientMessage(playerid, Red, "** [ERRO] {aaaaaa}Utilize: /DeletarCPs [ID do CP]");
1108
	format(file, sizeof(file), pasta_race, id);
1109
	if(!DOF2_FileExists(file)) return SendClientMessage(playerid, Red, "** [ERRO] Esse CP não existe");
1110
	DOF2_RemoveFile(file);
1111
	SendClientMessage(playerid, Red, "** [INFO] {FFFFFF}CP deletado com sucesso!");
1112
	return 1;
1113
}
1114
1115
1116
1117
CMD:distanciav(playerid, params[]){
1118
	new x;
1119
	if(sscanf(params, "d", x)) return SendClientMessage(playerid, Red, "** [ERRO] {AAAAAA}Utilize: /DistanciaV [Distância 0-5]");
1120
	if(x < 1 || x > 20) return SendClientMessage(playerid, Red, "** [ERRO] A distância entre os veículos deve ser entre 1 e 15!");
1121
	format(Str, sizeof(Str), "** [INFO] {FFFFFF}Distância dos veículos alterada para %d!", x);
1122
	SendClientMessage(playerid, Red, Str);
1123
	DistanciaV = x;
1124
	return 1;
1125
}
1126
1127
1128
CMD:c(playerid, params[]){
1129
	new Quantidade, file[128];
1130
	format(file, sizeof(file), pasta_veiculos, IDVeiculos);
1131
	if(!sscanf(params, "dd", Modelo, Quantidade)){
1132
		GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
1133
		GetPlayerPos(playerid, Position[0], Position[1], Position[2]);
1134
		GetPlayerFacingAngle(playerid, Position[3]);
1135
		GetPlayerFacingAngle(playerid, Pos[3]);
1136
		if(PosV == 0){
1137
		    for(new X; X < Quantidade; X++){
1138
	   			Pos[0] = Pos[0] - DistanciaV;
1139
				Veiculo[TotalVeiculos] = CreateVehicle(Modelo, Pos[0], Pos[1], Pos[2], Pos[3], Cor[0], Cor[1], -1, 0);
1140
				TotalVeiculos++;
1141
				AddVehicleComponent(TotalVeiculos, 1010);
1142
				AddVehicleComponent(TotalVeiculos, 1087);
1143
				AddVehicleComponent(TotalVeiculos, 1085);
1144
				if(Salvando == true){
1145
					DOF2_SetInt(file, "Modelo", Modelo);
1146
					DOF2_SetInt(file, "Total Veiculos", X);
1147
					format(Str, sizeof(Str), "%02d PosX", TotalVeiculos);
1148
					DOF2_SetFloat(file, Str, Pos[0]);
1149
					format(Str, sizeof(Str), "%02d PosY", TotalVeiculos);
1150
					DOF2_SetFloat(file, Str, Pos[1]);
1151
					format(Str, sizeof(Str), "%02d PosZ", TotalVeiculos);
1152
					DOF2_SetFloat(file, Str, Pos[2]);
1153
					format(Str, sizeof(Str), "%02d Angle", TotalVeiculos);
1154
					DOF2_SetFloat(file, Str, Pos[3]);
1155
					DOF2_SetInt(file, "Modelo", Modelo);
1156
					DOF2_SetInt(file, "Total Veiculos", TotalVeiculos);
1157
					DOF2_SaveFile();
1158
				}
1159
1160
			}
1161
			PutPlayerInVehicle(playerid, TotalVeiculos, 0);
1162
			format(Str, sizeof(Str), "** [INFO] {FFFFFF}Veículos criados com sucesso! [%d | 200] (Ângulo: %0.3f | Cores: %d e %d)", TotalVeiculos, Pos[3], Cor[0], Cor[1]);
1163
			SendClientMessage(playerid, Red, Str);
1164
		}
1165
		if(PosV == 1){
1166
		    for(new X; X < Quantidade; X++){
1167
	   			Pos[1] = Pos[1] - DistanciaV;
1168
				Veiculo[TotalVeiculos] = CreateVehicle(Modelo, Pos[0], Pos[1], Pos[2], Pos[3], Cor[0], Cor[1], -1, 0);
1169
				TotalVeiculos++;
1170
				if(Salvando == true){
1171
					DOF2_SetInt(file, "Modelo", Modelo);
1172
					DOF2_SetInt(file, "Total Veiculos", TotalVeiculos);
1173
					format(Str, sizeof(Str), "%02d PosX", TotalVeiculos);
1174
					DOF2_SetFloat(file, Str, Pos[0]);
1175
					format(Str, sizeof(Str), "%02d PosY", TotalVeiculos);
1176
					DOF2_SetFloat(file, Str, Pos[1]);
1177
					format(Str, sizeof(Str), "%02d PosZ", TotalVeiculos);
1178
					DOF2_SetFloat(file, Str, Pos[2]);
1179
					format(Str, sizeof(Str), "%02d Angle", TotalVeiculos);
1180
					DOF2_SetFloat(file, Str, Pos[3]);
1181
					DOF2_SaveFile();
1182
				}
1183
1184
			}
1185
			PutPlayerInVehicle(playerid, TotalVeiculos, 0);
1186
			format(Str, sizeof(Str), "** [INFO] {FFFFFF}Veículos criados com sucesso! [%d | 200] (Ângulo: %0.3f | Cores: %d e %d)", TotalVeiculos, Pos[3], Cor[0], Cor[1]);
1187
			SendClientMessage(playerid, Red, Str);
1188
		}
1189
		if(PosV == 2){
1190
		    for(new X; X < Quantidade; X++){
1191
	   			Pos[0] = Pos[0] - 3;
1192
				Pos[1] = Pos[1] + 3.1114;
1193
				Veiculo[TotalVeiculos] = CreateVehicle(Modelo, Pos[0], Pos[1], Pos[2], Pos[3], Cor[0], Cor[1], -1, 0);
1194
				TotalVeiculos++;
1195
				AddVehicleComponent(TotalVeiculos, 1010);
1196
				AddVehicleComponent(TotalVeiculos, 1087);
1197
				AddVehicleComponent(TotalVeiculos, 1085);
1198
				if(Salvando == true){
1199
					DOF2_SetInt(file, "Modelo", Modelo);
1200
					DOF2_SetInt(file, "Total Veiculos", X);
1201
					format(Str, sizeof(Str), "%02d PosX", TotalVeiculos);
1202
					DOF2_SetFloat(file, Str, Pos[0]);
1203
					format(Str, sizeof(Str), "%02d PosY", TotalVeiculos);
1204
					DOF2_SetFloat(file, Str, Pos[1]);
1205
					format(Str, sizeof(Str), "%02d PosZ", TotalVeiculos);
1206
					DOF2_SetFloat(file, Str, Pos[2]);
1207
					format(Str, sizeof(Str), "%02d Angle", TotalVeiculos);
1208
					DOF2_SetFloat(file, Str, Pos[3]);
1209
					DOF2_SetInt(file, "Modelo", Modelo);
1210
					DOF2_SetInt(file, "Total Veiculos", TotalVeiculos);
1211
					DOF2_SaveFile();
1212
				}
1213
1214
			}
1215
			PutPlayerInVehicle(playerid, TotalVeiculos, 0);
1216
			format(Str, sizeof(Str), "** [INFO] {FFFFFF}Veículos criados com sucesso! [%d | 200] (Ângulo: %0.3f | Cores: %d e %d)", TotalVeiculos, Pos[3], Cor[0], Cor[1]);
1217
			SendClientMessage(playerid, Red, Str);
1218
		}
1219
		if(PosV == 3){
1220
		    for(new X; X < Quantidade; X++){
1221
	   			Pos[0] = Pos[0] - 2.7035;
1222
				Pos[1] = Pos[1] - 2.6541;
1223
		
1224
				Veiculo[TotalVeiculos] = CreateVehicle(Modelo, Pos[0], Pos[1], Pos[2], Pos[3], Cor[0], Cor[1], -1, 0);
1225
				TotalVeiculos++;
1226
				AddVehicleComponent(TotalVeiculos, 1010);
1227
				AddVehicleComponent(TotalVeiculos, 1087);
1228
				AddVehicleComponent(TotalVeiculos, 1085);
1229
				if(Salvando == true){
1230
					DOF2_SetInt(file, "Modelo", Modelo);
1231
					DOF2_SetInt(file, "Total Veiculos", X);
1232
					format(Str, sizeof(Str), "%02d PosX", TotalVeiculos);
1233
					DOF2_SetFloat(file, Str, Pos[0]);
1234
					format(Str, sizeof(Str), "%02d PosY", TotalVeiculos);
1235
					DOF2_SetFloat(file, Str, Pos[1]);
1236
					format(Str, sizeof(Str), "%02d PosZ", TotalVeiculos);
1237
					DOF2_SetFloat(file, Str, Pos[2]);
1238
					format(Str, sizeof(Str), "%02d Angle", TotalVeiculos);
1239
					DOF2_SetFloat(file, Str, Pos[3]);
1240
					DOF2_SetInt(file, "Modelo", Modelo);
1241
					DOF2_SetInt(file, "Total Veiculos", TotalVeiculos);
1242
					DOF2_SaveFile();
1243
				}
1244
1245
			}
1246
			PutPlayerInVehicle(playerid, TotalVeiculos, 0);
1247
			format(Str, sizeof(Str), "** [INFO] {FFFFFF}Veículos criados com sucesso! [%d | 200] (Ângulo: %0.3f | Cores: %d e %d)", TotalVeiculos, Pos[3], Cor[0], Cor[1]);
1248
			SendClientMessage(playerid, Red, Str);
1249
		}
1250
		AddVehicleComponent(Veiculo[TotalVeiculos], 1010);
1251
		AddVehicleComponent(Veiculo[TotalVeiculos], 1087);
1252
	}else{
1253
	    SendClientMessage(playerid, Red, "** [ERRO] {AAAAAA}Utilize: /C [Modelo] [Quantidade]");
1254
	}
1255
	return 1;
1256
}
1257
1258
1259
CMD:salvarveiculos(playerid){
1260
	new file[128];
1261
	if(Salvando == false){
1262
		Salvando = true;
1263
		for(new X; X < 500; X++){
1264
		    format(file, sizeof(file), pasta_veiculos, X);
1265
		    if(DOF2_FileExists(file)) continue;
1266
		    if(!DOF2_FileExists(file)){
1267
		        DOF2_CreateFile(file);
1268
		        DOF2_SetString(file, "Criador", GetName(playerid));
1269
		        DOF2_SaveFile();
1270
		        IDVeiculos = X;
1271
			}break;
1272
        }
1273
		format(Str, sizeof(Str), "** [INFO] {FFFFFF}Arquivo ID: {FF44AA}%d{FFFFFF} criado para salvar os veículos!", IDVeiculos);
1274
		SendClientMessage(playerid, Red, Str);
1275
		SendClientMessage(playerid, Red, "** [INFO] {FFFFFF} Para salvar os veículos use: {FF44AA}/C!");
1276
		SendClientMessage(playerid, Red, "** [INFO] {FFFFFF} Se salvar errado use{FF44AA} /DC{FFFFFF} & depois {FF44AA}/DeletarVeiculos");
1277
	}else{
1278
		Salvando = false;
1279
		SendClientMessage(playerid, Red, "** [INFO] {FFFFFF}Veículos salvos com sucesso!");
1280
	}
1281
	return 1;
1282
}
1283
1284
CMD:posv(playerid, params[]){
1285
	new POSV;
1286
	if(sscanf(params, "d", POSV)) return SendClientMessage(playerid, Red, "** [ERRO]{AAAAAA} Utilize: /PosV [0 - X | 1 - Y | 2 - XY | 3 - XY]");
1287
	if(POSV < 0 || POSV > 3) return SendClientMessage(playerid, Red, "** [ERRO] Use 0(X) ou 3(Y)!");
1288
	switch(POSV){
1289
		case 0:
1290
		{
1291
		    SendClientMessage(playerid, Red, "** [INFO]{FFFFFF} Posição dos veículos alterada para X!");
1292
		    PosV = 0;
1293
		}
1294
		case 1:
1295
		{
1296
		    SendClientMessage(playerid, Red, "** [INFO]{FFFFFF} Posição dos veículos alterada para Y!");
1297
		    PosV = 1;
1298
		}
1299
		case 2:
1300
		{
1301
		    SendClientMessage(playerid, Red, "** [INFO]{FFFFFF} Posição dos veículos alterada para fora do eixo X e Y! {FF0000}(Use: /IrPos 4)");
1302
		    PosV = 2;
1303
		}
1304
		case 3:
1305
		{
1306
		    SendClientMessage(playerid, Red, "** [INFO]{FFFFFF} Posição dos veículos alterada para fora do eixo X e Y! {FF0000}(Use: /IrPos 5)");
1307
		    PosV = 3;
1308
		}
1309
	}
1310
	return 1;
1311
}
1312
1313
1314
CMD:dc(playerid){
1315
	if(Salvando == true) return SendClientMessage(playerid, Red, "** [ERRO] Alguém está salvando veículos");
1316
	SendClientMessage(playerid, Red, "** [INFO] {FFFFFF} Todos veículos criados foram destruídos!");
1317
	for(new X; X < MAX_VEHICLES; X++){
1318
	    DestroyVehicle(Veiculo[X]);
1319
	    TotalVeiculos = 0;
1320
	    IRVeiculos = 0;
1321
	}
1322
	return 1;
1323
}
1324
1325
CMD:irpos(playerid, params[]){
1326
	new x;
1327
	if(sscanf(params, "d", x)) return SendClientMessage(playerid, Red, "** [ERRO]{AAAAAA} Utilize: /irpos [0 ou 1 - X | 2 ou 3 - Y]");
1328
	switch(x){
1329
	    case 0:{
1330
			SetPlayerPos(playerid, Position[0], Position[1]+7, Position[2]);
1331
			SetPlayerFacingAngle(playerid, Position[3]);
1332
	    }
1333
1334
	    case 1:{
1335
	        SetPlayerPos(playerid, Position[0], Position[1]-7, Position[2]);
1336
	        SetPlayerFacingAngle(playerid, Position[3]);
1337
		}
1338
		case 2:
1339
		{
1340
		    SetPlayerPos(playerid, Position[0]-7, Position[1], Position[2]);
1341
		    SetPlayerFacingAngle(playerid, Position[3]);
1342
		}
1343
		case 3:
1344
		{
1345
		    SetPlayerPos(playerid, Position[0]+7, Position[1], Position[2]);
1346
		    SetPlayerFacingAngle(playerid, Position[3]);
1347
		}
1348
		
1349
		case 4:
1350
		{
1351
		    if (PosV != 2) return SendClientMessage(playerid, Red, "** [ERRO] Use /IrPos 5 só quanto o /PosV = 2");
1352
		    SetPlayerPos(playerid, Position[0]+4.6811, Position[1]+4.8308, Position[2]);
1353
		    SetPlayerFacingAngle(playerid, Position[3]);
1354
		}
1355
		
1356
		case 5:
1357
		{
1358
			if (PosV != 3) return SendClientMessage(playerid, Red, "** [ERRO] Use /IrPos 5 só quanto o /PosV = 3");
1359
  			SetPlayerPos(playerid, Position[0]-4.9276, Position[1]+4.9221, Position[2]);
1360
  			SetPlayerFacingAngle(playerid, Position[3]);
1361
		}
1362
   	}
1363
	return 1;
1364
}
1365
1366
CMD:mypos(playerid){
1367
	GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
1368
	format(Str, sizeof(Str), "X:%0.4f    Y: %0.4f    Z: %0.4f", Pos[0], Pos[1], Pos[2]);
1369
	SendClientMessage(playerid, -1, Str);
1370
	return 1;
1371
}
1372
1373
CMD:dmc(playerid){
1374
	new idv = GetPlayerVehicleID(playerid);
1375
	DestroyVehicle(idv);
1376
	return 1;
1377
}
1378
1379
CMD:carregarveiculos(playerid, params[]){
1380
	new pasta[128], x, str1[120], str2[120], str3[120], str4[120], Max;
1381
	if(sscanf(params, "d", x)) return SendClientMessage(playerid, Red, "** [ERRO] {AAAAAA}Utilize: /CarregarVeiculos [ID do arquivo]");
1382
	format(pasta, sizeof(pasta), "/Veiculos/%02d.ini", x);
1383
	Max = DOF2_GetInt(pasta, "Total Veiculos");
1384
	if(!DOF2_FileExists(pasta)) return SendClientMessage(playerid, Red, "** [ERRO] Não existe veículos salvos com esse ID!");
1385
	for(new i; i < MAX_VEHICLES; i++){
1386
	    DestroyVehicle(Veiculo[i]);
1387
	    TotalVeiculos = 0;
1388
	}
1389
	for(new X = 1; X <= Max; X++){
1390
	    TotalVeiculos++;
1391
		format(str1, sizeof(str1), "%02d PosX", X);
1392
		format(str2, sizeof(str2), "%02d PosY", X);
1393
		format(str3, sizeof(str3), "%02d PosZ", X);
1394
		format(str4, sizeof(str4), "%02d Angle", X);
1395
		Pos[0] = DOF2_GetFloat(pasta, str1);
1396
		Pos[1] = DOF2_GetFloat(pasta, str2);
1397
		Pos[2] = DOF2_GetFloat(pasta, str3);
1398
		Pos[3] = DOF2_GetFloat(pasta, str4);
1399
		Veiculo[TotalVeiculos] = CreateVehicle(DOF2_GetInt(pasta, "Modelo"), Pos[0], Pos[1], Pos[2], Pos[3], Cor[0], Cor[1], -1, 0);
1400
		AddVehicleComponent(Veiculo[TotalVeiculos], 1010);
1401
		AddVehicleComponent(Veiculo[TotalVeiculos], 1087);
1402
		AddVehicleComponent(Veiculo[TotalVeiculos], 1085);
1403
	}
1404
	Max = 0;
1405
	format(Str, sizeof(Str), "** [ATENÇÃO] {AAAAAA}Foram carregados {FF44AA}\"%d\"{AAAAAA} veículos!", TotalVeiculos);
1406
	SendClientMessage(playerid, Red, Str);
1407
	format(Str, sizeof(Str), "** [ATENÇÃO] {AAAAAA}Criados por: {FF44AA}%s", DOF2_GetString(pasta, "Criador"));
1408
	SendClientMessage(playerid, Red, Str);
1409
	format(Str, sizeof(Str), "** [ATENÇÃO] {AAAAAA}Modelo ID: {FF44AA}%d", DOF2_GetInt(pasta, "Modelo"));
1410
	SendClientMessage(playerid, Red, Str);
1411
	return 1;
1412
}
1413
1414
CMD:cores(playerid, params[]){
1415
	new x[2];
1416
    if(sscanf(params, "dd", x[0], x[1])) return SendClientMessage(playerid, Red, "** [ERRO] {AAAAAA}Utilize: /Cores [Cor 1] [Cor 2]");
1417
	Cor[0] = x[0];
1418
	Cor[1] = x[1];
1419
    format(Str, sizeof(Str), "** [INFO]{FFFFFF} As cores dos veículos foram alteradas para %d e %d", Cor[0], Cor[1]);
1420
    SendClientMessage(playerid, Red, Str);
1421
	return 1;
1422
}
1423
1424
CMD:deletarveiculos(playerid, params[]){
1425
	new file[128], id;
1426
	if(sscanf(params, "d", id)) return SendClientMessage(playerid, Red, "** [ERRO] {AAAAAA}Utilize: /DeletarVeiculos [ID do arquivo]");
1427
	format(file, sizeof(file), pasta_veiculos, id);
1428
	if(!DOF2_FileExists(file)) return SendClientMessage(playerid, Red, "** [ERRO] Não existe veículos salvos com esse ID!");
1429
	SendClientMessage(playerid, Red, "** [INFO] {FFFFFF}Arquivo de veículos deletados com sucesso!");
1430
	DOF2_RemoveFile(file);
1431
	return 1;
1432
}
1433
1434
CMD:contar(playerid, params[]){
1435
	new Float:p[3], y;
1436
	if(sscanf(params, "d", y)) return SendClientMessage(playerid, Red, "** [ERRO] {AAAAAA}Utilize: /Contar [tempo em segundos]");
1437
	if(y < 1 || y > 15) return SendClientMessage(playerid, Red, "** [ERRO] O tempo deve ser entre 1 e 15 segundos!");
1438
	SendClientMessage(playerid, Red, "** [ATENÇÃO] {FFFFFF}Você iniciou a contagem!");
1439
	for(new i; i < MAX_PLAYERS; i++){
1440
	    if(!IsPlayerConnected(i)) continue;
1441
	    if(Evento[i] == false) continue;
1442
	    KillTimer(TempoRecorde[i]);
1443
	    Tempo[i][0] = 0;
1444
	    Tempo[i][1] = 0;
1445
	    Tempo[i][2] = 0;
1446
	    GetPlayerPos(i, p[0], p[1], p[2]);
1447
	    Count[i] = y;
1448
	    TimerCount[i] = SetTimerEx("CountDown", 1000, true, "d", i);
1449
	    format(Str, sizeof(Str), "~r~~h~#  ~p~Contagem: ~w~%02d  ~r~~h~#", Count[i]);
1450
		PlayerTextDrawSetString(i, TextContar[i], Str);
1451
		PlayerTextDrawShow(i, TextContar[i]);
1452
	    TogglePlayerControllable(i, 0);
1453
	    PlayerPlaySound(playerid, 1056, p[0], p[1], p[2]);
1454
	}
1455
	return 1;
1456
}
1457
1458
CMD:salvarevento(playerid, params[]){
1459
	new x;
1460
    if(sscanf(params, "d", x)) return SendClientMessage(playerid, Red, "** [ERRO] {AAAAAA}Utilize: /SalvarEvento [Vagas]");
1461
    if(EventoCriado == true) return SendClientMessage(playerid, Red, "** [ERRO] Já existe um evento criado!");
1462
    GetPlayerPos(playerid, PosEvento[0], PosEvento[1], PosEvento[2]);
1463
    EventoCriado = true;
1464
    Vagas = x;
1465
    SendClientMessage(playerid, -1, "** [INFO] Evento salvo com sucesso!");
1466
	return 1;
1467
}
1468
1469
CMD:irevento(playerid){
1470
	new file[120];
1471
	format(file, sizeof(file), pasta_race, CPCarregado);
1472
	if (EventoCriado == false) return SendClientMessage(playerid, Red, "** [ERRO] Não existe um evento criado!");
1473
	if (Evento[playerid] == true) return SendClientMessage(playerid, Red, "** [ERRO] Você já está no evento!");
1474
	if (Status == true) return SendClientMessage(playerid, Red, "** [ERRO] O evento está fechado!");
1475
	if (Vagas < 1) return SendClientMessage(playerid, Red, "** [ERRO] Não há mais vagas!");
1476
	if (EventoIniciou == true){
1477
	    for (new i; i < MAX_PLAYERS; i++){
1478
	        if (!IsPlayerConnected(i)) continue;
1479
	        if (i == playerid) continue;
1480
	        Tempo[playerid][0] = Tempo[i][0];
1481
	        Tempo[playerid][1] = Tempo[i][1];
1482
	    }
1483
	    TempoRecorde[playerid] = SetTimerEx("TimerT", 1000, true, "d", playerid);
1484
	}
1485
	if (Congelado == true){
1486
		TogglePlayerControllable(playerid, 0);
1487
	}else{
1488
		TogglePlayerControllable(playerid, 1);
1489
	}
1490
1491
	
1492
	format(Str, sizeof(Str), "%s", DOF2_GetString(file, "Recordista"));
1493
    PlayerTextDrawSetString(playerid, InicioRace4[playerid], Str);
1494
	format(Str, sizeof(Str), "%02d", CPCarregado);
1495
	PlayerTextDrawSetString(playerid, InicioRace2[playerid], Str);
1496
	if(DOF2_GetInt(file, "Recorde Minutos") != 90){
1497
		format(Str, sizeof(Str), "00:%02d:%02d", DOF2_GetInt(file, "Recorde Minutos"), DOF2_GetInt(file, "Recorde Segundos"));
1498
	}else{
1499
		format(Str, sizeof(Str), "00:00:00");
1500
	}
1501
	PlayerTextDrawSetString(playerid, InicioRace6[playerid], Str);
1502
	PlayerTextDrawShow(playerid, TempoCorrida[playerid]);
1503
	PlayerTextDrawShow(playerid, InicioRace0[playerid]);
1504
	PlayerTextDrawShow(playerid, InicioRace7[playerid]);
1505
	PlayerTextDrawShow(playerid, InicioRace1[playerid]);
1506
	PlayerTextDrawShow(playerid, InicioRace2[playerid]);
1507
	PlayerTextDrawShow(playerid, InicioRace3[playerid]);
1508
	PlayerTextDrawShow(playerid, InicioRace4[playerid]);
1509
	PlayerTextDrawShow(playerid, InicioRace5[playerid]);
1510
	PlayerTextDrawShow(playerid, InicioRace6[playerid]);
1511
1512
1513
	format(Str, sizeof(Str), "~g~~h~0/%d", DOF2_GetInt(file, "Total CPS"));
1514
    PlayerTextDrawSetString(playerid, Textdraw5[playerid], Str);
1515
	PlayerTextDrawShow(playerid, Textdraw0[playerid]);
1516
	PlayerTextDrawShow(playerid, Textdraw1[playerid]);
1517
	PlayerTextDrawShow(playerid, Textdraw2[playerid]);
1518
	PlayerTextDrawShow(playerid, Textdraw5[playerid]);
1519
	PlayerTextDrawShow(playerid, Textdraw6[playerid]);
1520
	PlayerTextDrawShow(playerid, Textdraw7[playerid]);
1521
	PlayerTextDrawShow(playerid, Textdraw8[playerid]);
1522
	PlayerTextDrawShow(playerid, Textdraw9[playerid]);
1523
1524
	PlayersEvento++;
1525
	IRVeiculos++;
1526
	Vagas--;
1527
	SetCameraBehindPlayer(playerid);
1528
	Evento[playerid] = true;
1529
	SetPlayerPos(playerid, PosEvento[0], PosEvento[1], PosEvento[2]);
1530
	SendClientMessage(playerid, Red, "** [INFO] {FFFFFF}Você veio para o evento!");
1531
	PutPlayerInVehicle(playerid, Veiculo[IRVeiculos], 0);
1532
	return 1;
1533
}
1534
1535
CMD:sairevento(playerid){
1536
	if(Evento[playerid] == false) return SendClientMessage(playerid, Red, "** [ERRO] Você não está em um evento!");
1537
	Evento[playerid] = false;
1538
	SetTimerEx("EsconderTextdraw", 100, false, "i", playerid);
1539
	SpawnPlayer(playerid);
1540
	PlayersEvento--;
1541
	Vagas++;
1542
	SendClientMessage(playerid, Red, "** [INFO] {FFFFFF}Você saiu do evento e foi respawnado!");
1543
	return 1;
1544
}
1545
1546
CMD:deletarevento(playerid){
1547
	SendClientMessage(playerid, Red, "** [INFO] {FFFFFF}Evento deletado com sucesso!");
1548
	for(new I; I < 50; I++){
1549
	    if(!IsPlayerConnected(I)) continue;
1550
	    PlayerTextDrawHide(playerid, TempoCorrida[I]);
1551
	    Evento[I] = false;
1552
		EventoCriado = false;
1553
		Congelado = true;
1554
		IRVeiculos = 0;
1555
		PlayersEvento = 0;
1556
  		Tempo[I][0] = 0;
1557
  		Tempo[I][1] = 0;
1558
  		EventoIniciou = false;
1559
		DisableRemoteVehicleCollisions(I, 0);
1560
		SetTimerEx("EsconderTextdraw", 100, false, "i", I);
1561
		PlayerTextDrawSetString(I, Textdraw2[I], "~y~~h~1|:  ~r~Ninguem");
1562
		PlayerTextDrawSetString(I, Textdraw6[I], "~y~~h~2|:  ~r~Ninguem");
1563
		PlayerTextDrawSetString(I, Textdraw7[I], "~y~~h~3|:  ~r~Ninguem");
1564
		PlayerTextDrawSetString(I, Textdraw8[I], "~y~~h~4|:  ~r~Ninguem");
1565
		PlayerTextDrawSetString(I, Textdraw9[I], "~y~~h~5|:  ~r~Ninguem");
1566
	}
1567
	return 1;
1568
}
1569
1570
CMD:colisao(playerid){
1571
	if(Colision == false)
1572
	{
1573
	    Colision = true;
1574
		for(new i=0; i < MAX_PLAYERS; i++)
1575
		{
1576
			DisableRemoteVehicleCollisions(i, 1);
1577
		}
1578
		SendClientMessage(playerid, -1, "* Colisão entre os veículos desativada");
1579
	}else if (Colision == true){
1580
	    Colision = false;
1581
		for(new i=0; i < MAX_PLAYERS; i++)
1582
		{
1583
			DisableRemoteVehicleCollisions(i, 0);
1584
		}
1585
		SendClientMessage(playerid, -1, "* Colisão entre os veículos ativada");
1586
	}
1587
	return 1;
1588
}
1589
1590
CMD:fecharevento(playerid){
1591
	if(Status == false){
1592
		SendClientMessage(playerid, Red, "** [INFO] {FFFFFF}Evento fechado!");
1593
		Status = true;
1594
	}else{
1595
		SendClientMessage(playerid, Red, "** [INFO] {FFFFFF}Evento aberto!");
1596
		Status = false;
1597
	}
1598
	return 1;
1599
}
1600
1601
CMD:stopppp(playerid){
1602
	TempoRecorde[playerid] = SetTimerEx("TimerT", 1000, false, "d", playerid);
1603
	KillTimer(TempoRecorde[playerid]);
1604
	return 1;
1605
}
1606
1607
CMD:congelarevento(playerid){
1608
	if(Congelado == false){
1609
		SendClientMessage(playerid, Red, "** [INFO] {FFFFFF}Você congelou todos jogadores do evento!");
1610
		Congelado = true;
1611
	}else{
1612
		SendClientMessage(playerid, Red, "** [INFO] {FFFFFF}Você descongelou todos os jogadores do evento!");
1613
		Congelado = false;
1614
	}
1615
	return 1;
1616
}
1617
1618
CMD:autoreparar(playerid){
1619
	if (AutoRepararX[playerid] == false){
1620
	    AutoRepararX[playerid] = true;
1621
		AutoReparar[playerid] = SetTimerEx("AutoRepararP", 1000, true, "i", playerid);
1622
		SendClientMessage(playerid, -1, "* Autoreparar ativado!");
1623
	}else
1624
	if(AutoRepararX[playerid] == true){
1625
	    AutoRepararX[playerid] = false;
1626
	    KillTimer(AutoReparar[playerid]);
1627
	    SendClientMessage(playerid, -1, "* Autoreparar desativado!");
1628
	}
1629
	return 1;
1630
}
1631
1632
CMD:anunciar(playerid, params[]){
1633
	new Texto[150], strin[150];
1634
	if (sscanf(params, "s[150]", Texto)) return SendClientMessage(playerid, Red, "** [ERRO] {AAAAAA}Utilize: /Anunciar [Texto]");
1635
	format(strin, sizeof(strin), "~r~~h~#    ~p~%s :    ~w~%s    ~r~~h~#", GetName(playerid), Texto);
1636
	TextDrawSetString(TextdrawAnuncio, strin);
1637
	TextDrawShowForAll(TextdrawAnuncio);
1638
	KillTimer(Anuncio);
1639
	Anuncio = SetTimer("RemoverAnuncio", 5000, false);
1640
	return 1;
1641
}
1642
1643
1644
CMD:asdsadasdas(playerid){
1645
	for(new i; i < MAX_PLAYERS; i++){
1646
	    if(!IsPlayerConnected(i)) continue;
1647
		PlayerTextDrawHide(playerid, InicioRace0[i]);
1648
		PlayerTextDrawHide(playerid, InicioRace1[i]);
1649
		PlayerTextDrawHide(playerid, InicioRace2[i]);
1650
		PlayerTextDrawHide(playerid, InicioRace3[i]);
1651
		PlayerTextDrawHide(playerid, InicioRace4[i]);
1652
		PlayerTextDrawHide(playerid, InicioRace5[i]);
1653
		PlayerTextDrawHide(playerid, InicioRace6[i]);
1654
		PlayerTextDrawHide(playerid, InicioRace7[i]);
1655
		PlayerTextDrawDestroy(playerid, InicioRace0[i]);
1656
		PlayerTextDrawDestroy(playerid, InicioRace1[i]);
1657
		PlayerTextDrawDestroy(playerid, InicioRace2[i]);
1658
		PlayerTextDrawDestroy(playerid, InicioRace3[i]);
1659
		PlayerTextDrawDestroy(playerid, InicioRace4[i]);
1660
		PlayerTextDrawDestroy(playerid, InicioRace5[i]);
1661
		PlayerTextDrawDestroy(playerid, InicioRace6[i]);
1662
		PlayerTextDrawDestroy(playerid, InicioRace7[i]);
1663
	}
1664
	return 1;
1665
}
1666
1667
1668
CMD:deletarcp(playerid){
1669
	new file[128];
1670
	format(file, sizeof(file), pasta_race, RaceName);
1671
    CPCountX[playerid]--;
1672
    CPCountY[playerid]--;
1673
    CPCountZ[playerid]--;
1674
    CPCount--;
1675
    TotalCPS = TotalCPS - 1;
1676
	format(String, sizeof(String), "%02d CPX", CPCountX[playerid]-1);
1677
	format(String2, sizeof(String2), "%02d CPY", CPCountY[playerid]-1);
1678
	format(String3, sizeof(String3), "%02d CPZ", CPCountZ[playerid]-1);
1679
	SetPlayerRaceCheckpoint(playerid, 1, DOF2_GetFloat(file, String), DOF2_GetFloat(file, String2), DOF2_GetFloat(file, String3), 0.0, 0.0, 0.0, 7);
1680
	SendClientMessage(playerid, sizeof(playerid), "* Último CP salvo foi deletado");
1681
	return 1;
1682
}
1683
1684
1685
1686
1687
1688
forward RemoverAnuncio();
1689
forward AutoRepararP(playerid);
1690
forward Recorde(playerid);
1691
forward CountDown(playerid);
1692
forward TimerRecorde(playerid);
1693
forward TimerT(playerid);
1694
forward EsconderTextdraw(playerid);
1695
forward OrganizarArray(playerid);
1696
forward CountCP(playerid);
1697
1698
1699
1700
public CountCP(playerid)
1701
{
1702
	PlayerTextDrawHide(playerid, CPConquistado[playerid]);
1703
	return 1;
1704
}
1705
1706
public RemoverAnuncio()
1707
{
1708
	TextDrawHideForAll(TextdrawAnuncio);
1709
	TextDrawSetString(TextdrawAnuncio, "");
1710
	return 1;
1711
}
1712
1713
1714
1715
forward AtualizarTextdraws(playerid);
1716
public AtualizarTextdraws(playerid)
1717
{
1718
    if (Terminou == 1)
1719
    {
1720
        format(Primeiro, sizeof(Primeiro), "~y~~h~1|: ~w~%s ~p~~h~(%02d:%02d)~g~  Won", GetName(Lugar[1]), Tempo[Lugar[1]][1], Tempo[Lugar[1]][0]);
1721
        PlayerTextDrawSetString(playerid, Textdraw2[playerid], Primeiro);
1722
    }
1723
    if (Terminou == 2)
1724
    {
1725
        format(Segundo, sizeof(Segundo), "~y~~h~2|: ~w~%s ~p~~h~(%02d:%02d)", GetName(Lugar[2]), Tempo[Lugar[2]][1], Tempo[Lugar[2]][0]);
1726
        PlayerTextDrawSetString(playerid, Textdraw6[playerid], Segundo);
1727
    }
1728
    if (Terminou == 3)
1729
    {
1730
        format(Terceiro, sizeof(Terceiro), "~y~~h~3|: ~w~%s ~p~~h~(%02d:%02d)", GetName(Lugar[3]), Tempo[Lugar[3]][1], Tempo[Lugar[3]][0]);
1731
        PlayerTextDrawSetString(playerid, Textdraw7[playerid], Terceiro);
1732
    }
1733
    if (Terminou == 4)
1734
    {
1735
        format(Quarto, sizeof(Quarto), "~y~~h~4|: ~w~%s ~p~~h~(%02d:%02d)", GetName(Lugar[4]), Tempo[Lugar[4]][1], Tempo[Lugar[4]][0]);
1736
        PlayerTextDrawSetString(playerid, Textdraw8[playerid], Quarto);
1737
    }
1738
    if (Terminou == 5)
1739
    {
1740
        format(Quinto, sizeof(Quinto), "~y~~h~5|: ~w~%s ~p~~h~(%02d:%02d)", GetName(Lugar[5]), Tempo[Lugar[5]][1], Tempo[Lugar[5]][0]);
1741
        PlayerTextDrawSetString(playerid, Textdraw9[playerid], Quinto);
1742
    }
1743
    return 1;
1744
}
1745
public EsconderTextdraw(playerid){
1746
	if(Evento[playerid] == false){
1747
		PlayerTextDrawHide(playerid, Textdraw0[playerid]);
1748
		PlayerTextDrawHide(playerid, Textdraw1[playerid]);
1749
		PlayerTextDrawHide(playerid, Textdraw2[playerid]);
1750
		PlayerTextDrawHide(playerid, Textdraw5[playerid]);
1751
		PlayerTextDrawHide(playerid, Textdraw6[playerid]);
1752
		PlayerTextDrawHide(playerid, Textdraw7[playerid]);
1753
        PlayerTextDrawHide(playerid, Textdraw8[playerid]);
1754
        PlayerTextDrawHide(playerid, Textdraw9[playerid]);
1755
		PlayerTextDrawHide(playerid, TextContar[playerid]);
1756
		PlayerTextDrawHide(playerid, Textdraw10[playerid]);
1757
		
1758
		
1759
	    PlayerTextDrawHide(playerid, TempoCorrida[playerid]);
1760
	    PlayerTextDrawHide(playerid, InicioRace0[playerid]);
1761
	    PlayerTextDrawHide(playerid, InicioRace1[playerid]);
1762
	    PlayerTextDrawHide(playerid, InicioRace2[playerid]);
1763
	    PlayerTextDrawHide(playerid, InicioRace3[playerid]);
1764
	    PlayerTextDrawHide(playerid, InicioRace4[playerid]);
1765
	    PlayerTextDrawHide(playerid, InicioRace5[playerid]);
1766
	    PlayerTextDrawHide(playerid,InicioRace6[playerid]);
1767
	    PlayerTextDrawHide(playerid, InicioRace7[playerid]);
1768
	}
1769
	if (EventoCriado == false)
1770
	{
1771
		for(new i; i < MAX_PLAYERS; i++){
1772
1773
			PlayerTextDrawHide(i, Textdraw0[i]);
1774
			PlayerTextDrawHide(i, Textdraw1[i]);
1775
			PlayerTextDrawHide(i, Textdraw2[i]);
1776
			PlayerTextDrawHide(i, Textdraw5[i]);
1777
			PlayerTextDrawHide(i, Textdraw6[i]);
1778
			PlayerTextDrawHide(i, Textdraw7[i]);
1779
	        PlayerTextDrawHide(i, Textdraw8[i]);
1780
	        PlayerTextDrawHide(i, Textdraw9[i]);
1781
			PlayerTextDrawHide(i, Textdraw10[i]);
1782
			PlayerTextDrawHide(i, TextContar[i]);
1783
1784
		    PlayerTextDrawHide(i, TempoCorrida[i]);
1785
		    PlayerTextDrawHide(i, InicioRace0[i]);
1786
		    PlayerTextDrawHide(i, InicioRace1[i]);
1787
		    PlayerTextDrawHide(i, InicioRace2[i]);
1788
		    PlayerTextDrawHide(i, InicioRace3[i]);
1789
		    PlayerTextDrawHide(i, InicioRace4[i]);
1790
		    PlayerTextDrawHide(i, InicioRace5[i]);
1791
		    PlayerTextDrawHide(i, InicioRace6[i]);
1792
		    PlayerTextDrawHide(i, InicioRace7[i]);
1793
		}
1794
	}
1795
	return 1;
1796
}
1797
1798
public TimerT(playerid){
1799
    Tempo[playerid][0]++;
1800
	if(Tempo[playerid][0] > 59){
1801
	    Tempo[playerid][0] = 0;
1802
	    Tempo[playerid][1]++;
1803
	}
1804
	format(Str, sizeof(Str), "%02d:%02d:%02d", Tempo[playerid][2], Tempo[playerid][1], Tempo[playerid][0]);
1805
	PlayerTextDrawSetString(playerid, TempoCorrida[playerid], Str);
1806
	if(Tempo[playerid][1] > 59){
1807
	    Tempo[playerid][2]++;
1808
	    Tempo[playerid][1] = 0;
1809
	}
1810
1811
1812
	return 1;
1813
}
1814
1815
public AutoRepararP(playerid){
1816
	RepairVehicle(GetPlayerVehicleID(playerid));
1817
	return 1;
1818
}
1819
1820
1821
public CountDown(playerid){
1822
	new Float:p[3];
1823
	GetPlayerPos(playerid, p[0], p[1], p[2]);
1824
	Count[playerid]--;
1825
1826
	if(Count[playerid] < 1){
1827
		KillTimer(TimerCount[playerid]);
1828
  		PlayerTextDrawHide(playerid, TextContar[playerid]);
1829
		GameTextForPlayer(playerid, "~g~~h~GO ~y~~h~GO ~r~~h~GO!", 3600, 3);
1830
		TogglePlayerControllable(playerid, 1);
1831
		Congelado = false;
1832
		EventoIniciou = true;
1833
		TempoRecorde[playerid] = SetTimerEx("TimerT", 1000, true, "d", playerid);
1834
		PlayerPlaySound(playerid, 1057,p[0],p[1],p[2]);
1835
	}else if(Count[playerid] > 0){
1836
		PlayerTextDrawShow(playerid, TextContar[playerid]);
1837
 		format(Str, sizeof(Str), "~r~~h~#  ~p~Contagem: ~w~%02d  ~r~~h~#", Count[playerid]);
1838
	 	PlayerTextDrawSetString(playerid, TextContar[playerid], Str);
1839
		PlayerPlaySound(playerid, 1056,p[0],p[1],p[2]);
1840
	}
1841
1842
	return 1;
1843
}
1844
1845
1846
stock GetName(playerid){
1847
	new Nome[MAX_PLAYER_NAME];
1848
	GetPlayerName(playerid, Nome, sizeof(Nome));
1849
	return Nome;
1850
}