View difference between Paste ID: iEEhp50x and Qw9LfyG9
SHOW: | | - or go back to the newest paste.
1
/*
2
3
								  FS LL-ADMIN
4
						  BY LUCAS_ALEMAO (LUCAS LESSA)
5
						  
6
						         ZCMD By ZeeX
7
        					  SSCANF By Y_Less
8
        					  
9
        					  
10
	  	  		 			    Agradecimentos:
11
							     Jim._.Carrey
12
				      		 Los (funções de Log)
13
     		  		   [STR]Matrix (Idéias de comandos)
14
   		  		      Panico_ONCrew (Idéias de comandos)
15
							    
16
				    	    Não retire os Créditos!!
17
						  
18
						  Inicio do Script: 04/02/2012
19
						   Final do Script: 11/02/2012
20
						   
21-
						Versão 1.5.1
21+
22
Falta fazer: OnPlayerClickPlayer
23-
			   
23+
					   
24
- Nova interface de Registro e Login.
25
- Novo sistema de gravação de Admin, Helper e VIP. Chega de bugs.
26
- Função adicionada para não dar conflito com seu GM no sistema de registro.
27
- Anti-Divulguer.
28
- Anti-Bot.
29
- Anti-Weapon Hack.
30
- Anti-High Ping.
31
- Agora temos HQ de admin (opcional).
32
  °Portão movel (/portaoadm)
33
  °Varios objetos.
34
  °Carros exclusivos para admin
35
- OnPlayerDisconnect otimizado.
36
- Em vez de usar os comandos /jogar e /trabalhar, use apenas /servico. Os comandos
37
  /jogar e /trabalhar não foram excluidos, eles ainda funcionam normalmente.
38
- SSCANF adicionado no FS. Chega de conflitos.
39
- Corrigido bug de morrer e perder admin.
40
- Sistema de Disfarce:
41
  °/disfarce faz com que o Admin mude sua skin, seu nome e sua cor para ficar igual a do player
42
  que está sendo usado.
43
  °/sairdisfarce para voltar as caracteristicas originais.
44
- Novo sistema de Logs (Agradecimentos a Los).
45
- Novo sistema de prints.
46
- /Relatorios agora são gravados em log.
47
- Adicionado Sistema de Helpers:
48
  °/darhelper
49
  °/tirarhelper
50
  °/helpers
51
  °todos os comandos de helper em /la
52
- Adicionado Sistema de Vips (opcional):
53
  °/ajudavip
54
  °/darvip
55
  °/tirarvip
56
  °/v
57
  °/kitvip
58
  °/vips
59
  °/cc
60
  °/relatorio diferenciado
61
- Sistema de mensagens randomicas:
62
  °Adminis level 3+ podem ativa-las com /ativarmsgs ou /desativarmsgs.
63
- Sistema de Enquetes:
64
  °Admins level 3+ podem usar /enquete para criar uma enquete.
65
  °Players usam /sim ou /nao. A enquete se encerra automaticamente em 30 segundos.
66
- Adicionado comando /particular (todos os niveis de admin ou helper).
67
- Sistema de musica ao conectar:
68
  °Admins level 4+ podem usar o comando /musicainicial para escolher uma musica para o player ouvir quando
69
  se conectar ao servidor.
70
- Sistema de Foder um Jogador:
71
  °Admins nivel 4+ poderam usar o comando /foderplayer.
72
  °O Player fodido irá para o carandiru, ficará congelado, ficará mudo, e será forçado a ouvir uma musica do Restart kkkk.
73
  °Para desfode-lo vá até o arquivo Fodidos.txt e apague o IP dele da lista.
74
- Sistema de AFK:
75
  °/afk
76
  °/sairafk
77
  °o /admins e /helpers mostra quem está online e quem está AFK.
78
- Adicionado comando /mudarsenha (qualquer jogador).
79
- Adicionado comando /players (todos os niveis de admin ou helper). 			Mostra a quantidade de players online.
80
- Adicionado comando /limparchat (admin nivel 1+).                              Limpa o chat para todos os players.
81
- Adicionado comando /tempo (admin nivel 2+).                                   Seta o tempo para Manha/Tarde/Noite.
82
- Adicionado comando /dargrana (admin nivel 2+).                                Da grana a algum player.
83
- Adicionado comando /jetpack (admin nivel 2+).                                 Da um Jetpack para alguem.
84
- Adicionado comando /trazertodos (admin nivel 2+).                             Traz todos os jogadores até você.
85
- Adicionado comando /moverplayer (admin nivel 2+).                             Move um player até outro.
86
- Adicionado comando /resetargrana (admin nivel 3+).                            Reseta a grana de um jogador.
87
- Adicionado comando /setargrana (admin nivel 3+).                              Seta a grana de um jogador.
88
- Adicionado comando /resetar (admin nivel 4+).                                 Reseta Absolutamente todos os dados da conta de um player.
89
- Adicionado comando /versenha (admin nivel 5).                                 Mostra a senha de um jogador para o admin.
90
- Adicionado comando /setaradmin (admin nivel 5).                               Seta o admin de um player, independente de ele aceitar ou não
91
- Adicionado comando /trancarserver (admin nivel 5).                            Tranca o server com uma senha.
92
- Adicionado comando /destrancarserver (admin nivel 5).                         Destranca o server.
93
- Adicionado comando /seradmin (admin RCON).                                    Vira admin nivel 5.
94
95
-       ORDEM DE PRINT      -
96
97
Pasta Logs;
98
Pasta Banidos;
99
Pasta Banidos/Contas;
100
Arquivo Fodidos.txt;
101
Arquivo Admins.adm;
102
Arquivo Helpers.hel;
103
Arquivo Vips.vip;
104
Pasta Contas;
105
106
Se seu samp-server abrir e fechar rapido, abra o server_log e veja qual foi a ultima pasta verificada.
107
a pasta depois dela, seguindo a ordem de cima, é a que está faltando.
108
109
*/
110
111
/*          INCLUDES        */
112
#include 	a_samp
113
#include 	zcmd
114
#include 	dof2
115
116
/*          DEIXE A SEU FAVOR       */
117
118
//SE QUISER USAR O SISTEMA DE REGISTRO DO FS DEIXE 1, SE NÃO QUISER COLOQUE 0
119
#define         				USAR_SISTEMA_REGISTRO                        	1
120
121
//SE QUISER UASR O SISTEMA DE VIP DO FS DEIXE 1, SE NÃO QUISER COLOQUE 0
122
#define                         USAR_SISTEMA_VIP                                1
123
124
//SE QUISER USAR UM TEXTDRAW DE FUNDO DEIXE 1, SE NÃO QUISER COLOQUE 0
125
#define                         USAR_TEXT                                       1
126
127
//SE QUISER QUE OS ADMINS SPAWNEM NA HQ DEIXE 1, SE NÃO QUISER COLOQUE 0
128
#define                         SPAWNAR_HQ                                      1
129
130
//SE DESEJA QUE APAREÇA [ADM] ANTES DO NICK DOS ADMINS NO CHAT DEIXE 1, SE NÃO QUISER COLOQUE 0
131
#define                         DESTAQUE_ADMINS                                 1
132
133
//DEFINA ABAIXO O PING MAXIMO PARA OS JOGADORES DO SEU SERVER
134
#define                         MAX_PING                                        500
135
136
137
/*          MACROS      */
138
#define MensagemFormatadaParaTodos(%0,%1,%2); format(String, sizeof(String), %1, %2); 	SendClientMessageToAll(%0, String);
139
#define MensagemFormatada(%0,%1,%2); format(String, sizeof(String), %1, %2); 			SendClientMessage(playerid, %0, String);
140
#define SetarDado(%0,%1,%2); PlayerDados[%0][%1] = %2; SalvarDados(%0);
141
#define GetarDado(%0,%1) PlayerDados[%0][%1]
142
#define Loop(%0,%1) for(new %0 = 0; %0 < %1; ++%0)
143
144
#define Msg    		SendClientMessage
145
#define MsgAll      SendClientMessageToAll
146
#define LogExistir 	fexist
147
148
/*      CORES       */
149
#define VERDE                   0x21DD00FF
150
#define VERMELHO                0xFF030FFF
151
#define VERMELHO_ESCURO         0xE60000FF
152
#define VERMELHO_CLARO          0xFB0000FF
153
#define AMARELO                 0xFFFF00FF
154
#define LARANJA                 0xF97804FF
155
#define AZUL_CLARO              0x00C2ECFF
156
#define ROXO                    0xB360FDFF
157
#define BRANCO		    		0xFFFFFFFF
158
#define PRETO                   0x000000FF
159
#define AZUL                    0x1229FAFF
160
#define VERDE_CLARO             0x38FF06FF
161
#define ROSA_CHOQUE             0xE100E1FF
162
#define VERDE_ESCURO            0x008040FF
163
#define CINZA                   0xCECECEFF
164
#define ROSA                    0xD52DFFFF
165
#define CINZA_ESCURO       		0x626262FF
166
#define VERDE_AGUA       		0x03D687FF
167
168
/*      DIALOGS     */
169
#define DIALOG_REGISTRO    		4672
170
#define DIALOG_LOGIN            4673
171
#define DIALOG_BANIDO           4674
172
#define DIALOG_IPS              4675
173
#define DIALOG_INFO             4676
174
#define DIALOG_AL               4677
175
#define DIALOG_ADM              4678
176
#define DIALOG_HELPER           4679
177
#define DIALOG_MUSICAS          4680
178
#define DIALOG_SENHANOVA        4681
179
#define DIALOG_FORCAR           4682
180
#define DIALOG_AJUDAV           4683
181
182
/*      FORWARDS     */
183
forward TempoPreso(playerid);
184
forward VerificarPreso(playerid);
185
forward NomeCarro(playerid);
186
forward LiberarKit(playerid);
187
forward MensagensRandom();
188
forward FecharEnquete();
189
forward TocarSom(playerid);
190
forward CriarLogs();
191
forward ImprimirInformacoes();
192
forward VerificarPasta(pasta[]);
193
forward VerificarArquivo(arquivo[]);
194
forward FoderSpawn(playerid);
195
forward DiminuirTempo();
196
forward FecharPortao();
197
forward NovoSpawn(playerid);
198
forward EnviarMsgHack(playerid);
199
200
enum pInfo
201
{
202
	Senha,
203
	Matou,
204
	Morreu,
205
	Admin,
206
	bool:Helper,
207
	Advertencias,
208
	Preso,
209
	bool:Congelado,
210
	bool:Assistindo,
211
	bool:Trabalhando,
212
	bool:Calado,
213
	bool:Invisivel,
214
	bool:Logado,
215
	bool:Vip,
216
	bool:PegouKit,
217
	bool:Afk,
218
	bool:Disfarcado
219
}
220
221
enum eEnquete
222
{
223
	bool:Criada,
224
	VotoSim,
225
	VotoNao,
226
	Titulo[128]
227
}
228
229
/*      VARIAVEIS E ARRAYS      */
230
new PlayerDados[MAX_PLAYERS][pInfo];
231
new String[256];
232
new StringContas[256];
233
new ID;
234
new AdminNivel[50];
235
new AdminTrabalhando[50];
236
new Dia, Mes, Ano, Hora, Minuto, Segundo;
237
new CarrosCriados[100];
238
new TodosCarros = 0;
239
new Barris[100];
240
new tBarris = 0;
241
new TimerPreso;
242
new nivel;
243
new TimerKit;
244
new TimerMsgs;
245
new TimerCont;
246
new CarroDono[MAX_PLAYERS];
247
new Text3D:DonoCarro[MAX_PLAYERS];
248
new PlayersOnline = 0;
249
new Enquete[eEnquete];
250
new MusicaInicial[256];
251
new time;
252
new PortaoHQ;
253
new CarrosAdm[14];
254
new bool:ServerTrancado;
255
new bool:MsgHack[MAX_PLAYERS];
256
new NomeOriginal[MAX_PLAYERS][30];
257
258
new Mensagens[][] = {
259
"Você faz parte do servidor, chame seus amigos para jogarem aqui :D",
260
"Caso tenha dúvida chame um admin, use /relatorio",
261
"Use /ajuda para conhecer os comandos.",
262
"Se você for vip use /ajudavip para ver seus comandos.",
263
"para ver os admins online use /admins, /helpers para ver os Helpers."
264
};
265
266
new Musica[5][256] = {
267
"nada",
268
"http://dc346.4shared.com/img/644772952/4e7e79b6/dlink__2Fdownload_2Fo0ojFABE_3Ftsid_3D20120321-013313-69c1bb08/preview.mp3",//sweet
269
"http://dc427.4shared.com/img/965797774/2cb01e40/dlink__2Fdownload_2Foxa0xbKh_3Ftsid_3D20120321-013455-11ae6783/preview.mp3",//feel so close
270
"http://dc382.4shared.com/img/601537173/5cb8acbe/dlink__2Fdownload_2FtzgMp7lR_3Ftsid_3D20120321-013602-155261ac/preview.mp3",//memories
271
"http://dc342.4shared.com/img/567562876/400f1c84/dlink__2Fdownload_2Fa4gw9qih_3Ftsid_3D20120321-013700-7cc7c36a/preview.mp3"//open bar
272
};
273
274
new Cores[][] = {
275
"{1BE01B}",
276
"{038003}",
277
"{0CF50C}",
278
"{F5180C}",
279
"{0C8CF5}",
280
"{0C2BF5}",
281
"{0CBBF5}",
282
"{F5F50C}",
283
"{DEDE04}",
284
"{FC9E05}",
285
"{FFFFFF}",
286
"{FF05F7}",
287
"{990594}",
288
"{9C9C9C}",
289
"{14C9C9}",
290
"{05E6AD}",
291
"{E67D05}",
292
"{6B6B6B}"
293
};
294
295
#if USAR_TEXT == 1
296
    new Text:Inicio[MAX_PLAYERS];
297
#endif
298
299
public OnFilterScriptInit()
300
{
301
    CarrosAdm[0] = CreateVehicle(432,2179.80004883,1857.69995117,10.89999962,0.00000000,-1,-1,15);
302
	CarrosAdm[1] = CreateVehicle(601,2185.30004883,1857.50000000,10.80000019,0.00000000,-1,-1,15);
303
	CarrosAdm[2] = CreateVehicle(402,2188.80004883,1856.59997559,10.80000019,0.00000000,-1,-1,15);
304
	CarrosAdm[3] = CreateVehicle(411,2192.39990234,1856.80004883,10.60000038,0.00000000,-1,-1,15);
305
	CarrosAdm[4] = CreateVehicle(415,2196.19995117,1856.69995117,10.69999981,0.00000000,-1,-1,15);
306
	CarrosAdm[5] = CreateVehicle(429,2199.89990234,1856.80004883,10.60000038,0.00000000,-1,-1,15);
307
	CarrosAdm[6] = CreateVehicle(451,2179.69995117,1878.59997559,10.60000038,180.00000000,-1,-1,15);
308
	CarrosAdm[7] = CreateVehicle(477,2183.30004883,1878.50000000,10.69999981,180.00000000,-1,-1,15);
309
	CarrosAdm[8] = CreateVehicle(506,2187.50000000,1878.30004883,10.60000038,180.00000000,-1,-1,15);
310
	CarrosAdm[9] = CreateVehicle(541,2191.50000000,1878.59997559,10.50000000,180.00000000,-1,-1,15);
311
	CarrosAdm[10] = CreateVehicle(562,2195.30004883,1878.69995117,10.60000038,180.00000000,-1,-1,15);
312
	CarrosAdm[11] = CreateVehicle(565,2199.30004883,1878.59997559,10.50000000,180.00000000,-1,-1,15);
313
	CarrosAdm[12] = CreateVehicle(534,2202.80004883,1878.50000000,10.60000038,180.00000000,-1,-1,15);
314
	CarrosAdm[13] = CreateVehicle(535,2206.50000000,1878.90002441,10.69999981,180.00000000,-1,-1,15);
315
	CreateObject(980,2231.50000000,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000);
316
	CreateObject(980,2220.10009766,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000);
317
	CreateObject(980,2208.80004883,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000);
318
	CreateObject(980,2197.50000000,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000);
319
	CreateObject(980,2186.30004883,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000);
320
	CreateObject(980,2174.89990234,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000);
321
	CreateObject(980,2169.10009766,1877.19995117,13.10000038,0.00000000,0.00000000,90.00000000);
322
	CreateObject(980,2169.10009766,1866.30004883,13.10000038,0.00000000,0.00000000,90.00000000);
323
	CreateObject(980,2169.10009766,1862.50000000,13.10000038,0.00000000,0.00000000,90.00000000);
324
	CreateObject(980,2169.10009766,1841.09997559,12.80000019,0.00000000,0.00000000,0.00000000);
325
	CreateObject(980,2179.00000000,1841.09997559,12.80000019,0.00000000,0.00000000,0.00000000);
326
	CreateObject(980,2189.89990234,1841.09997559,12.80000019,0.00000000,0.00000000,0.00000000);
327
	CreateObject(980,2199.00000000,1841.09997559,12.80000019,0.00000000,0.00000000,0.00000000);
328
	CreateObject(980,2169.10009766,1861.19995117,13.19999981,0.00000000,0.00000000,96.00000000);
329
	CreateObject(980,2169.89990234,1859.69995117,12.60000038,0.00000000,0.00000000,99.99853516);
330
	CreateObject(980,2171.30004883,1856.80004883,12.80000019,0.00000000,0.00000000,115.99755859);
331
	CreateObject(980,2172.50000000,1855.40002441,12.80000019,0.00000000,0.00000000,133.99362183);
332
	CreateObject(980,2181.30004883,1851.09997559,13.10000038,0.00000000,0.00000000,180.00000000);
333
	CreateObject(980,2191.39990234,1851.09997559,13.10000038,0.00000000,0.00000000,179.99450684);
334
	CreateObject(980,2198.69995117,1851.09997559,13.10000038,0.00000000,0.00000000,179.99450684);
335
	CreateObject(980,2205.10009766,1835.80004883,12.60000038,0.00000000,0.00000000,272.00000000);
336
	CreateObject(980,2205.39990234,1826.00000000,12.60000038,0.00000000,0.00000000,271.99951172);
337
	CreateObject(980,2222.00000000,1820.59997559,12.60000038,0.00000000,0.00000000,177.99951172);
338
	CreateObject(980,2211.19995117,1821.00000000,12.60000038,0.00000000,0.00000000,177.99499512);
339
	CreateObject(980,2242.89990234,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000);
340
	CreateObject(980,2254.10009766,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000);
341
	CreateObject(980,2265.39990234,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000);
342
	CreateObject(980,2276.60009766,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000);
343
	CreateObject(980,2287.69995117,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000);
344
	CreateObject(980,2297.69995117,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000);
345
	CreateObject(980,2308.19995117,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000);
346
	PortaoHQ = CreateObject(980,2204.39990234,1846.00000000,12.60000038,0.00000000,0.00000000,91.99951172);
347
	Create3DTextLabel("{25E01B}Admins usem {04C4C4}/PortaoAdm",-1, 2207.8176,1853.0674,10.8203, 15, 0, 0);
348
	SetTimer("ImprimirInformacoes", 40, false);
349
	return 1;
350
}
351
352
public ImprimirInformacoes()
353
{
354
	print("\n________________________________________________");
355
	print("\n\nCarregando LL Admin V1.5 By Lucas_Alemao...\n");
356
	VerificarPasta("Logs");
357
	CriarLogs();
358
	VerificarPasta("Banidos");
359
	VerificarPasta("Banidos/Contas");
360
	VerificarArquivo("Fodidos.txt");
361
	VerificarArquivo("Admins.adm");
362
	VerificarArquivo("Helpers.hel");
363
	VerificarArquivo("Vips.vip");
364
	VerificarPasta("Contas");
365
	print("\nLL Admin V1.5 Carregado com sucesso.\n");
366
	print("\nUse /la para ajuda.");
367
	print("Bom Jogo :D\n\n");
368
	print("________________________________________________");
369
	return 1;
370
}
371
372
public VerificarPasta(pasta[])
373
{
374
	format(String, sizeof(String), "LLADMIN/%s/verificacao",pasta);
375
	DOF2_CreateFile(String);
376
	if(DOF2_FileExists(String))
377
	{
378
	    printf("Pasta '%s' Encontrada e carregada com sucesso.", pasta);
379
	}
380
	else if(DOF2_FileExists(String))
381
	{
382
	    printf("Pasta '%s' Não encontrada.", pasta);
383
	}
384
	DOF2_RemoveFile(String);
385
	return 1;
386
}
387
388
public VerificarArquivo(arquivo[])
389
{
390
	format(String, sizeof(String), "LLADMIN/%s", arquivo);
391
	if(DOF2_FileExists(String))
392
	{
393
	    printf("Arquivo '%s' Encontrado e carregado com sucesso.", arquivo);
394
	    return 1;
395
	}
396
	else if(!DOF2_FileExists(String))
397
	{
398
	    printf("Arquivo '%s' não encontrado. O FS o criou automaticamente.", arquivo);
399
	    DOF2_CreateFile(String);
400
	    return 1;
401
	}
402
	return 1;
403
}
404
405
public OnFilterScriptExit()
406
{
407
	for(new i = 0; i < MAX_PLAYERS; ++i)
408
	{
409
	    SalvarDados(i);
410
	}
411
	DOF2_Exit();
412
	return 1;
413
}
414
415
public OnPlayerConnect(playerid)
416
{
417
	if(strfind(Nome(playerid),"clock$",true) != -1) Ban(playerid);
418
	if(strfind(Nome(playerid),"prn",true) != -1) Ban(playerid);
419
 	if(strfind(Nome(playerid),"Carl",true) != -1) Ban(playerid);
420
	if(strfind(Nome(playerid),"con",true) != -1) Ban(playerid);
421
	if(strfind(Nome(playerid),"SgtPepper",true) != -1) Ban(playerid);
422
	if(strfind(Nome(playerid),"Pepe",true) != -1) Ban(playerid);
423
	if(strfind(Nome(playerid),"nul",true) != -1) Ban(playerid);
424
	if(strfind(Nome(playerid),"Pepno",true) != -1) Ban(playerid);
425
	if(strfind(Nome(playerid),"Pepsi",true) != -1) Ban(playerid);
426
	if(strfind(Nome(playerid),"Rocky",true) != -1) Ban(playerid);
427
	if(strfind(Nome(playerid),"Carl",true) != -1) Ban(playerid);
428
	if(strfind(Nome(playerid),"Vino_Toro",true) != -1) Ban(playerid);
429
	if(strfind(Nome(playerid),"Zoquete",true) != -1) Ban(playerid);
430
	if(strfind(Nome(playerid),"AquilesBrinco",true) != -1) Ban(playerid);
431
	if(strfind(Nome(playerid),"Azucar",true) != -1) Ban(playerid);
432
	if(strfind(Nome(playerid),"Manfrey",true) != -1) Ban(playerid);
433
	if(strfind(Nome(playerid),"Papirola",true) != -1) Ban(playerid);
434
	if(strfind(Nome(playerid),"[ViP]Labrik",true) != -1)Ban(playerid);
435
	if(strfind(Nome(playerid),"Sony",true) != -1) Ban(playerid);
436
	if(strfind(Nome(playerid),"Pacman",true) != -1) Ban(playerid);
437
	if(strfind(Nome(playerid),"Batman",true) != -1)Ban(playerid);
438
	if(strfind(Nome(playerid),"aux",true) != -1) Ban(playerid);
439
	if(strfind(Nome(playerid),"com1",true) != -1) Ban(playerid);
440
	if(strfind(Nome(playerid),"com2",true) != -1) Ban(playerid);
441
	if(strfind(Nome(playerid),"com3",true) != -1) Ban(playerid);
442
	if(strfind(Nome(playerid),"com4",true) != -1) Ban(playerid);
443
	if(strfind(Nome(playerid),"com5",true) != -1) Ban(playerid);
444
	if(strfind(Nome(playerid),"com6",true) != -1) Ban(playerid);
445
	if(strfind(Nome(playerid),"com7",true) != -1) Ban(playerid);
446
	if(strfind(Nome(playerid),"com8",true) != -1) Ban(playerid);
447
	if(strfind(Nome(playerid),"com9",true) != -1) Ban(playerid);
448
	if(strfind(Nome(playerid),"lpt1",true) != -1) Ban(playerid);
449
	if(strfind(Nome(playerid),"lpt2",true) != -1) Ban(playerid);
450
 	if(strfind(Nome(playerid),"lpt3",true) != -1) Ban(playerid);
451
	if(strfind(Nome(playerid),"lpt4",true) != -1) Ban(playerid);
452
	if(strfind(Nome(playerid),"lpt5",true) != -1) Ban(playerid);
453
	if(strfind(Nome(playerid),"lpt6",true) != -1) Ban(playerid);
454
	if(strfind(Nome(playerid),"lpt8",true) != -1) Ban(playerid);
455
	if(strfind(Nome(playerid),"lpt9",true) != -1) Ban(playerid);
456
	SetTimerEx("TocarSom", 1000, false, "i", playerid);
457
	PlayersOnline++;
458
	PlayerDados[playerid][Logado] = false;
459
	PlayerDados[playerid][Admin] = 0;
460
	PlayerDados[playerid][Helper] = false;
461
	PlayerDados[playerid][Vip] = false;
462
	new strConta[80];
463
	new Ip[25];
464
	for(new t = 0; t < 100; ++t)
465
	{
466
	    SendClientMessage(playerid, -1, " ");
467
	}
468
	format(strConta, sizeof(strConta), "LLADMIN/Banidos/Contas/%s.txt", Nome(playerid));
469
	if(DOF2_FileExists(strConta))
470
	{
471
	    format(String, sizeof(String), "{FFFFFF}Você está banido deste servidor!\n\n         Dados do Banimento:\n\n{45F75A}Admin: {FFFFFF}%s \n{45F75A}Motivo: {FFFFFF}%s", DOF2_GetString(strConta, "Admin"), DOF2_GetString(strConta, "Motivo"));
472
	    format(String, sizeof(String), "%s\n{45F75A}Data: {FFFFFF}%d/%d/%d \n{45F75A}Hora: {FFFFFF}%d:%d", String, DOF2_GetInt(strConta, "Dia"), DOF2_GetInt(strConta, "Mes"), DOF2_GetInt(strConta, "Ano"), DOF2_GetInt(strConta, "Hora"), DOF2_GetInt(strConta, "Minuto"));
473
	    ShowPlayerDialog(playerid, DIALOG_BANIDO, DIALOG_STYLE_MSGBOX, "Banido!", String, "Fechar", "");
474
	    return 1;
475
	}
476
	GetPlayerIp(playerid, Ip, 25);
477
	if(strcmp(Ip ,"255.255.255.255", true) == 0)
478
	{
479
		Ban(playerid);
480
	}
481
	if(DOF2_IsSet("LLADMIN/Banidos/Ips.txt", Ip))
482
	{
483
	    format(String, sizeof(String), "{FFFFFF} Seu IP está banido deste Servidor!\n\nDados:\nIP:%s\n%s", Ip, DOF2_GetString("LLADMIN/Banidos/Ips.txt", Ip));
484
        ShowPlayerDialog(playerid, DIALOG_BANIDO, DIALOG_STYLE_MSGBOX, "Banido!", String, "Fechar", "");
485
        return 1;
486
 	}
487
 	if(DOF2_IsSet("LLADMIN/Fodidos.txt", Ip))
488
 	{
489
 	    SetTimerEx("FoderSpawn", 1000, false, "i", playerid);
490
		return 1;
491
	}
492
	format(String, sizeof(String), "%s Conectou ao servidor", Nome(playerid));
493
	SendClientMessageToAll(VERDE_CLARO, String);
494
	format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid));
495
	#if (USAR_TEXT == 1) && (USAR_SISTEMA_REGISTRO == 1)
496
			TextFundo(playerid);
497
 	#endif
498
	#if USAR_SISTEMA_REGISTRO == 1
499
		if(!DOF2_FileExists(StringContas))
500
		{
501
		    format(String, sizeof(String), "{F1FC14}Conta: %s\n{FC1E1E}Não registrada.\n\n{07D915}Digite uma senha para se registrar\nem nosso banco de dados.", Nome(playerid));
502
		    ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "{1EB2FC}Registrando...", String, "Registrar", "Sair");
503
			return 1;
504
		}
505
		else
506
		{
507
		    format(String, sizeof(String), "{F1FC14}Conta: %s\n{28FC14}Registrada.\n\n{14F1FC}Digite sua senha para Logar", Nome(playerid));
508
		    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "{FC14E9}Logando...", String, "Logar", "Sair");
509
			return 1;
510
		}
511
	#else
512
	    return 1;
513
	#endif
514
}
515
516
public FoderSpawn(playerid)
517
{
518
    SetSpawnInfo(playerid, 0, 0, 107.2300,1920.6311,18.5208, 0, 0, 0, 0, 0, 0, 0);
519
	SpawnPlayer(playerid);
520
	SetPlayerWorldBounds(ID, 337.5694,101.5826,1940.9759,1798.7453);
521
	TogglePlayerControllable(ID, false);
522
	Msg(playerid, VERMELHO, "Você foi fodido por um admin! Agora aguente!");
523
	PlayAudioStreamForPlayer(ID, "http://dc239.4shared.com/img/288497172/b1c25846/dlink__2Fdownload_2FAzhEPzew_3Ftsid_3D20120321-232554-e2632526/preview.mp3", 0, 0, 0, 10, 0);
524
	return 1;
525
}
526
527
public TocarSom(playerid)
528
{
529
	if(strfind(MusicaInicial, "nada", true) != -1)
530
	{
531
	    return 1;
532
	}
533
    PlayAudioStreamForPlayer(playerid, MusicaInicial, 0, 0, 0, 20, 0);
534
	return 1;
535
}
536
537
public OnPlayerDisconnect(playerid, reason)
538
{
539
	new Motivo[20];
540
	if(reason == 0) Motivo = "Queda de conexão";
541
	if(reason == 1) Motivo = "Conta própria";
542
	if(reason == 2) Motivo = "Kickado/Banido";
543
	format(String, sizeof(String), "{289E08}O Jogador {39F505}%s{289E08} Desconectou do servidor. (%s)", Nome(playerid), Motivo);
544
	MsgAll(-1, String);
545
	if(GetarDado(playerid, Admin) > 0)
546
	{
547
		format(String, sizeof(String), "~w~Admin ~g~%s ~r~Offline", Nome(playerid));
548
		GameTextForAll(String, 1000, 1);
549
	}
550
	PlayersOnline--;
551
	SalvarDados(playerid);
552
	DOF2_Exit();
553
	return 1;
554
}
555
556
public FecharEnquete()
557
{
558
	new StrEnquete[256];
559
	Enquete[Criada] = false;
560
	format(StrEnquete, 256, "Enquete %s Fechada.", Enquete[Titulo]);
561
	SendClientMessageToAll(ROSA, StrEnquete);
562
	format(StrEnquete, 256, "Votos Sim: %d", Enquete[VotoSim]);
563
	SendClientMessageToAll(ROSA_CHOQUE, StrEnquete);
564
	format(StrEnquete, 256, "Voto Não: %d", Enquete[VotoNao]);
565
	SendClientMessageToAll(ROSA_CHOQUE, StrEnquete);
566
	if(Enquete[VotoSim] > Enquete[VotoNao])
567
	{
568
	    SendClientMessageToAll(ROSA, "\nO Sim Venceu.");
569
		return 1;
570
	}
571
	if(Enquete[VotoNao] > Enquete[VotoSim])
572
	{
573
	    SendClientMessageToAll(ROSA, "\nO Nao Venceu.");
574
		return 1;
575
	}
576
	return 1;
577
}
578
public OnPlayerSpawn(playerid)
579
{
580
    if(DOF2_IsSet("LLADMIN/Admins.adm", Nome(playerid)))
581
	{
582
		PlayerDados[playerid][Admin] = DOF2_GetInt("LLADMIN/Admins.adm", Nome(playerid));
583
	}
584
	if(DOF2_IsSet("LLADMIN/Helpers.hel", Nome(playerid)))
585
	{
586
		SetarDado(playerid, Helper, DOF2_GetBool("LLADMIN/Helpers.hel", Nome(playerid)));
587
	}
588
	if(DOF2_IsSet("LLADMIN/Vips.vip", Nome(playerid)))
589
	{
590
		SetarDado(playerid, Vip, DOF2_GetBool("LLADMIN/vips.vip", Nome(playerid)));
591
	}
592
    format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid));
593
	#if SPAWNAR_HQ == 1
594
    	if((PlayerDados[playerid][Admin] > 0) || (PlayerDados[playerid][Helper] == true))
595
	    {
596
    		SetTimerEx("NovoSpawn", 500, false, "i", playerid);
597
		}
598
	#endif
599
	SetTimerEx("VerificarPreso", 1000, false, "i", playerid);
600
	ResetPlayerWeapons(playerid);
601
	#if USAR_SISTEMA_REGISTRO == 0
602
		if(!DOF2_FileExists(StringContas))
603
		{
604
		    DOF2_CreateFile(StringContas);
605
			DOF2_SetInt(StringContas, "Matou", 0);
606
			DOF2_SetInt(StringContas, "Morreu", 0);
607
			DOF2_SetInt(StringContas, "Grana", 0);
608
			//DOF2_SetInt(StringContas, "Admin", 0);
609
			//DOF2_SetBool(StringContas, "Helper", false);
610
			DOF2_SetInt(StringContas, "Advertencias", 0);
611
			DOF2_SetInt(StringContas, "Preso", 0);
612
			//DOF2_SetBool(StringContas, "Vip", false);
613
			PlayerDados[playerid][Logado] = true;
614
		}
615
		if(DOF2_FileExists(StringContas))
616
	    {
617
			PlayerDados[playerid][Matou] = DOF2_GetInt(StringContas, "Matou");
618
			PlayerDados[playerid][Morreu] = DOF2_GetInt(StringContas, "Morreu");
619
			if(DOF2_IsSet("LLADMIN/Admins.adm", Nome(playerid)))
620
			{
621
			    PlayerDados[playerid][Admin] = DOF2_GetInt("LLADMIN/Admins.adm", Nome(playerid));
622
			}
623
			PlayerDados[playerid][Advertencias] = DOF2_GetInt(StringContas, "Advertencias");
624
			GivePlayerMoney(playerid, DOF2_GetInt(StringContas, "Grana"));
625
			PlayerDados[playerid][Preso] = DOF2_GetInt(StringContas, "Preso");
626
			if(DOF2_IsSet("LLADMIN/Helpers.hel", Nome(playerid)))
627
			{
628
			    PlayerDados[playerid][Helper] = DOF2_GetBool("LLADMIN/Vips.vip", Nome(playerid));
629
			}
630
			if(DOF2_IsSet("LLADMIN/Vips.vip", Nome(playerid)))
631
			{
632
			    PlayerDados[playerid][Vip] = DOF2_GetBool("LLADMIN/Vips.vip", Nome(playerid));
633
			}
634
			//PlayerDados[playerid][Helper] = DOF2_GetBool(StringContas, "Helper");
635
			//PlayerDados[playerid][Vip] = DOF2_GetBool(StringContas, "Vip");
636
			if((PlayerDados[playerid][Admin] > 0) && (PlayerDados[playerid][Logado] == false))
637
			{
638
			    PlayerDados[playerid][Logado] = true;
639
				format(String, sizeof(String), "Logado de Admin Nível %d", PlayerDados[playerid][Admin]);
640
				SendClientMessage(playerid, AZUL_CLARO, String);
641
				format(String, sizeof(String), "~w~Admin ~g~%s ~y~Online", Nome(playerid));
642
				GameTextForAll(String, 1000, 1);
643
				PlayerDados[playerid][Trabalhando] = true;
644
				SendClientMessage(playerid, AZUL_CLARO, "Você está trabalhando, para jogar use /jogar");
645
				SetPlayerColor(playerid, 0x24E9FFFF);
646
				SetPlayerHealth(playerid, 999999);
647
			}
648
		}
649
	#endif
650
	return 0;
651
}
652
653
public OnPlayerUpdate(playerid)
654
{
655
	new ping = GetPlayerPing(playerid);
656
	if(ping > MAX_PING)
657
	{
658
	    MensagemFormatadaParaTodos(AZUL_CLARO, "O jogador %s [ID: %d] foi kickado do servidor por ultrapassar o ping maximo (%d).", Nome(playerid), playerid, MAX_PING);
659
		Kick(playerid);
660
	}
661
	new Arma = GetPlayerWeapon(playerid);
662
	if(MsgHack[playerid] == true) return 1;
663
	switch(Arma)
664
	{
665
	    case 9:
666
	    {
667
	        format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando uma serra eletrica. /assitir para conferir.", Nome(playerid), playerid);
668
	        MensagemParaAdmins(String);
669
	        MsgHack[playerid] = true;
670
	        SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
671
		}
672
		case 35:
673
	    {
674
	        format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando um lança-misseis. /assitir para conferir.", Nome(playerid), playerid);
675
	        MensagemParaAdmins(String);
676
	        MsgHack[playerid] = true;
677
	        SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
678
		}
679
		case 36:
680
	    {
681
	        format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando um lança-misseis. /assitir para conferir.", Nome(playerid), playerid);
682
	        MensagemParaAdmins(String);
683
	        MsgHack[playerid] = true;
684
	        SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
685
		}
686
		case 37:
687
	    {
688
	        format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando um lança-chamas. /assitir para conferir.", Nome(playerid), playerid);
689
	        MensagemParaAdmins(String);
690
	        MsgHack[playerid] = true;
691
	        SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
692
		}
693
		case 38:
694
	    {
695
	        format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando uma minigun. /assitir para conferir.", Nome(playerid), playerid);
696
	        MensagemParaAdmins(String);
697
	        MsgHack[playerid] = true;
698
	        SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
699
		}
700
		case 39:
701
	    {
702
	        format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando explosivos remotos. /assitir para conferir.", Nome(playerid), playerid);
703
	        MensagemParaAdmins(String);
704
	        MsgHack[playerid] = true;
705
	        SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
706
		}
707
		case 40:
708
	    {
709
	        format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando um detonador. /assitir para conferir.", Nome(playerid), playerid);
710
	        MensagemParaAdmins(String);
711
	        MsgHack[playerid] = true;
712
	        SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
713
		}
714
		case 43:
715
	    {
716
	        format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando uma camera fotografica. /assitir para conferir.", Nome(playerid), playerid);
717
	        MensagemParaAdmins(String);
718
	        MsgHack[playerid] = true;
719
	        SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
720
		}
721
		case 44:
722
	    {
723
	        format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando oculos de visão noturna. /assitir para conferir.", Nome(playerid), playerid);
724
	        MensagemParaAdmins(String);
725
	        MsgHack[playerid] = true;
726
	        SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
727
		}
728
		case 45:
729
	    {
730
	        format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando oculos de visão noturna. /assitir para conferir.", Nome(playerid), playerid);
731
	        MensagemParaAdmins(String);
732
	        MsgHack[playerid] = true;
733
	        SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
734
		}
735
	}
736
	return 1;
737
}
738
739
public EnviarMsgHack(playerid)
740
{
741
	MsgHack[playerid] = false;
742
	return 1;
743
}
744
745
public NovoSpawn(playerid)
746
{
747
	SetPlayerPos(playerid, 2225.9814,1837.7249,10.8203);
748
	SetPlayerFacingAngle(playerid, 98.0608);
749
	return 1;
750
}
751
752
public VerificarPreso(playerid)
753
{
754
    if(PlayerDados[playerid][Preso] > 0)
755
	{
756
    	SetPlayerPos(ID, 264.6288,77.5742,1001.0391);
757
    	SetPlayerInterior(ID, 6);
758
    	SendClientMessage(playerid, VERMELHO, "Seu Tempo de Cadeia ainda não acabou!");
759
    	TimerPreso = SetTimerEx("TempoPreso", 1000, true, "i", playerid);
760
	}
761
	return 1;
762
}
763
764
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
765
{
766
	if((vehicleid >= CarrosAdm[0]) && (vehicleid <= CarrosAdm[13]))
767
	{
768
	    if((PlayerDados[playerid][Helper] == false) || (PlayerDados[playerid][Admin] < 1))
769
	    {
770
	        RemovePlayerFromVehicle(playerid);
771
			Msg(playerid, CINZA, "Você precisa ser admin para usar este carro.");
772
		}
773
	}
774
	if(PlayerDados[playerid][Admin] > 0)
775
	{
776
	    if(PlayerDados[playerid][Trabalhando] == true)
777
	    {
778
			SetTimerEx("NomeCarro", 3500, false, "i", playerid);
779
		}
780
	}
781
	return 0;
782
}
783
784
public NomeCarro(playerid)
785
{
786
	new idc = GetPlayerVehicleID(playerid);
787
	format(String, sizeof(String), "[LL ADMIN] Veículo ID %d", idc);
788
	SendClientMessage(playerid, CINZA, String);
789
}
790
791
public OnPlayerDeath(playerid, killerid, reason)
792
{
793
	PlayerDados[playerid][Morreu]++;
794
	PlayerDados[killerid][Matou]++;
795
	format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid));
796
	if(DOF2_IsSet("LLADMIN/Admins.adm", Nome(playerid)))
797
	{
798
	    PlayerDados[playerid][Admin] = DOF2_GetInt("LLADMIN/Admins.adm", Nome(playerid));
799
	}
800
	KillTimer(TimerKit);
801
	return 0;
802
}
803
804
public OnPlayerText(playerid, text[])
805
{
806
	new str2[256];
807
	if((strfind(text, "7777", true) != -1) || (strfind(text, "7788", true) != -1) || (strfind(text, "189.", true) != -1) || (strfind(text, "187.", true) != -1) || (strfind(text, "185.", true) != -1) || (strfind(text, "7575", true) != -1) || (strfind(text, "75.", true) != -1))
808
	{
809
	    MensagemFormatadaParaTodos(AZUL_CLARO, "O Jogador {FB0000}%s{00C2EC} Foi Banido por divulgar IP.\r\n", Nome(playerid));
810
	    EscreverLog("LLADMIN/Logs/Banidos.log", String);
811
		format(String, sizeof(String), "LLADMIN/Banidos/Contas/%s.txt", Nome(playerid));
812
		getdate(Ano, Mes, Dia);
813
		gettime(Hora, Minuto, Segundo);
814
		DOF2_CreateFile(String);
815
		DOF2_SetString(String, "Admin", "Admin automatico");
816
		DOF2_SetString(String, "Motivo", "Divulgação de IP");
817
		DOF2_SetInt(String, "Ano", Ano);
818
		DOF2_SetInt(String, "Mes", Mes);
819
		DOF2_SetInt(String, "Dia", Dia);
820
		DOF2_SetInt(String, "Hora", Hora);
821
		DOF2_SetInt(String, "Minuto", Minuto);
822
		Kick(playerid);
823
	}
824
	format(String, sizeof(String), "LLADMIN/Teleportes/%s.txt", text);
825
	if(DOF2_FileExists(String))
826
	{
827
   		format(str2, sizeof(str2), "O Jogador %s foi para o 'te %s' [Teleporte Criado pelo Admin: %s] (para ir basta digitar as palavras entre aspas)", Nome(playerid), DOF2_GetString(String, "Comando"), DOF2_GetString(String, "Admin"));
828
		SendClientMessageToAll(AMARELO, str2);
829
		SetPlayerPos(playerid, DOF2_GetFloat(String, "X"), DOF2_GetFloat(String, "Y"), DOF2_GetFloat(String, "Z"));
830
		return 0;
831
	}
832
	if(PlayerDados[playerid][Calado] == true)
833
	{
834
	    SendClientMessage(playerid, BRANCO, "Você Está calado e não pode falar!");
835
	    return 0;
836
	}
837
	#if DESTAQUE_ADMINS == 1
838
		if(GetarDado(playerid, Admin) > 1)
839
		{
840
		    if(GetarDado(playerid, Disfarcado) == true)
841
		    {
842
	    	    format(String, sizeof(String), "%s: %s", Nome(playerid), text);
843
		    	MsgAll(GetPlayerColor(playerid), String);
844
				return 0;
845
			}
846
		    format(String, sizeof(String), "[ADM] %s: %s", Nome(playerid), text);
847
	    	MsgAll(GetPlayerColor(playerid), String);
848
		    return 0;
849
		}
850
	#endif
851
	return 1;
852
}
853
854
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
855
{
856
	if(dialogid == DIALOG_REGISTRO)
857
	{
858
	    if(response)
859
	    {
860
	        if(!strlen(inputtext))
861
	        {
862
	            format(String, sizeof(String), "{F1FC14}Conta: %s\n{FC1E1E}Não registrada.\n\n{07D915}Digite uma senha para se registrar\nem nosso banco de dados.", Nome(playerid));
863
		    	ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "{1EB2FC}Registrando...", String, "Registrar", "Sair");
864
	            SendClientMessage(playerid, VERMELHO, "Digite uma senha para se registrar ¬¬");
865
	            return 1;
866
			}
867
			format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid));
868
			DOF2_CreateFile(StringContas);
869
			DOF2_SetString(StringContas, "Senha", inputtext);
870
			DOF2_SetInt(StringContas, "Matou", 0);
871
			DOF2_SetInt(StringContas, "Morreu", 0);
872
			DOF2_SetInt(StringContas, "Grana", 0);
873
			DOF2_SetInt(StringContas, "Advertencias", 0);
874
			DOF2_SetInt(StringContas, "Preso", 0);
875
			SendClientMessage(playerid, AZUL_CLARO, "Registrado Com Sucesso! você foi logado automaticamente");
876
			TextDrawDestroy(Inicio[playerid]);
877
			return 1;
878
		}
879
		else
880
		{
881
		    SendClientMessage(playerid, VERMELHO, "Você não quis se registrar e por isso foi kickado!");
882
			Kick(playerid);
883
			return 1;
884
		}
885
	}
886
	if(dialogid == DIALOG_LOGIN)
887
	{
888
	    if(response)
889
	    {
890
	        if(!strlen(inputtext))
891
	        {
892
	            format(String, sizeof(String), "{F1FC14}Conta: %s\n{28FC14}Registrada.\n\n{14F1FC}Digite sua senha para Logar", Nome(playerid));
893
		    	ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "{FC14E9}Logando...", String, "Logar", "Sair");
894
	            SendClientMessage(playerid, VERMELHO, "Digite sua senha para se logar ¬¬");
895
	            return 1;
896
			}
897
			format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid));
898
			if(strcmp(inputtext, DOF2_GetString(StringContas, "Senha"), true))
899
			{
900
                format(String, sizeof(String), "{F1FC14}Conta: %s\n{28FC14}Registrada.\n\n{14F1FC}Digite sua senha para Logar", Nome(playerid));
901
		    	ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "{FC14E9}Logando...", String, "Logar", "Sair");
902
                SendClientMessage(playerid, VERMELHO_CLARO, "Senha incorreta!");
903
				return 1;
904
			}
905
			else
906
			{
907
				PlayerDados[playerid][Matou] = DOF2_GetInt(StringContas, "Matou");
908
				PlayerDados[playerid][Morreu] = DOF2_GetInt(StringContas, "Morreu");
909
				//PlayerDados[playerid][Admin] = DOF2_GetInt(StringContas, "Admin");
910
				if(DOF2_IsSet("LLADMIN/Admins.adm", Nome(playerid)))
911
				{
912
					PlayerDados[playerid][Admin] = DOF2_GetInt("LLADMIN/Admins.adm", Nome(playerid));
913
				}
914
				PlayerDados[playerid][Advertencias] = DOF2_GetInt(StringContas, "Advertencias");
915
				GivePlayerMoney(playerid, DOF2_GetInt(StringContas, "Grana"));
916
				PlayerDados[playerid][Preso] = DOF2_GetInt(StringContas, "Preso");
917
				//PlayerDados[playerid][Helper] = DOF2_GetBool(StringContas, "Helper");
918
				if(DOF2_IsSet("LLADMIN/Helpers.hel", Nome(playerid)))
919
				{
920
			    	PlayerDados[playerid][Helper] = DOF2_GetBool("LLADMIN/Helpers.hel", Nome(playerid));
921
				}
922
				if(DOF2_IsSet("LLADMIN/Vips.vip", Nome(playerid)))
923
				{
924
			    	PlayerDados[playerid][Vip] = DOF2_GetBool("LLADMIN/Vips.vip", Nome(playerid));
925
				}
926
				//PlayerDados[playerid][Vip] = DOF2_GetBool(StringContas, "Vip");
927
				SendClientMessage(playerid, VERDE_CLARO, "Logado Com sucesso!");
928
				TextDrawDestroy(Inicio[playerid]);
929
				if(PlayerDados[playerid][Admin] > 0)
930
				{
931
					format(String, sizeof(String), "Logado de Admin Nível %d", PlayerDados[playerid][Admin]);
932
					SendClientMessage(playerid, AZUL_CLARO, String);
933
					format(String, sizeof(String), "~w~Admin ~g~%s ~y~Online", Nome(playerid));
934
					GameTextForAll(String, 1000, 1);
935
					PlayerDados[playerid][Trabalhando] = true;
936
					SendClientMessage(playerid, AZUL_CLARO, "Você está trabalhando, para jogar use /jogar");
937
					SetPlayerColor(playerid, 0x24E9FFFF);
938
					SetPlayerHealth(playerid, 999999);
939
					return 1;
940
				}
941
				return 1;
942
			}
943
		}
944
		else
945
		{
946
		    SendClientMessage(playerid, VERMELHO, "Você não quis se Logar e por isso foi kickado!");
947
			Kick(playerid);
948
			return 1;
949
		}
950
	}
951
	if(dialogid == DIALOG_BANIDO)
952
	{
953
	    if(response)
954
	    {
955
	        SendClientMessage(playerid, BRANCO, "Kickado");
956
	        Kick(playerid);
957
		}
958
		return 1;
959
	}
960
	if(dialogid == DIALOG_ADM)
961
	{
962
	    if(response)
963
	    {
964
			format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} é o mais novo admin do server!", Nome(playerid));
965
			SendClientMessageToAll(AZUL_CLARO, String);
966
			EscreverLog("LLADMIN/Logs/NovoAdm.log", String);
967
			SendClientMessage(playerid, VERDE_CLARO, "Use /la para ver seus comandos de Admin.");
968
			SetarDado(playerid, Admin, nivel);
969
			DOF2_SetInt("LLADMIN/Admins.adm", Nome(playerid), nivel);
970
		}
971
		if(!response)
972
		{
973
		    format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} recusou ser admin do server!", Nome(playerid));
974
		    SendClientMessageToAll(AZUL_CLARO, String);
975
		}
976
		return 1;
977
	}
978
	if(dialogid == DIALOG_HELPER)
979
	{
980
	    if(!response)
981
			return format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} recusou ser Helper do server.", Nome(playerid)), SendClientMessageToAll(AZUL_CLARO, String);
982
	    format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} é o mais novo Helper do server", Nome(playerid));
983
		SendClientMessageToAll(AZUL_CLARO, String);
984
		SendClientMessage(playerid, VERDE_CLARO, "Use /la para ver seus comandos de Helper.");
985
		SalvarDados(playerid);
986
 		SetarDado(playerid, Helper, true);
987
		DOF2_SetBool("LLADMIN/Helpers.hel", Nome(playerid), true);
988
		return 1;
989
	}
990
	if(dialogid == DIALOG_MUSICAS)
991
	{
992
	    if(!response) return 0;
993
	    if(listitem == 0)
994
	    {
995
	        MusicaInicial = "nada";
996
	        return 1;
997
		}
998
	    if(listitem == 1)
999
	    {
1000
	        MusicaInicial = Musica[1];
1001
	        return 1;
1002
		}
1003
		if(listitem == 2)
1004
	    {
1005
	        MusicaInicial = Musica[2];
1006
	        return 1;
1007
		}
1008
		if(listitem == 3)
1009
	    {
1010
	        MusicaInicial = Musica[3];
1011
	        return 1;
1012
		}
1013
		if(listitem == 4)
1014
	    {
1015
	        MusicaInicial = Musica[4];
1016
	        return 1;
1017
		}
1018
	}
1019
	if(dialogid == DIALOG_SENHANOVA)
1020
	{
1021
	    new StrConta[100];
1022
	    format(StrConta,sizeof(StrConta), "LLADMIN/Contas/%s.txt", Nome(playerid));
1023
		if(!strlen(inputtext))
1024
		{
1025
			format(String, sizeof(String), "{D9E01B}Digite uma senha ou clique em Cancelar.\n\n{1BE0AF}Sua senha atual é {1B63E0}'%s'.\n\nDigite sua nova senha abaixo:", DOF2_GetString(StrConta, "Senha"));
1026
			ShowPlayerDialog(playerid, DIALOG_SENHANOVA, DIALOG_STYLE_INPUT, "{1BE084}Nova Senha", String, "Mudar", "Cancelar");
1027
			return 1;
1028
		}
1029
		DOF2_SetString(StrConta, "Senha", inputtext);
1030
		format(String, sizeof(String), "{12FF05}Sua nova senha é {25E01B}'%s'", inputtext);
1031
		SendClientMessage(playerid, -1, String);
1032
		SalvarDados(playerid);
1033
	}
1034
	return 0;
1035
}
1036
1037
//SISTEMA DE VIPS
1038
#if USAR_SISTEMA_VIP == 1
1039
	CMD:v(playerid, params[])
1040
	{
1041
	    new t[128];
1042
	    if(PlayerDados[playerid][Vip] == false) return SendClientMessage(playerid, BRANCO, "Você não é um jogador VIP!");
1043
	    if(sscanf(params, "s", t)) return MensagemDupla(playerid, "[LL ADMIN] Use /v [texto]", "Use o comando para enviar uma mensagem a todos os vips online.");
1044
	    for(new i = 0; i < MAX_PLAYERS; ++i)
1045
	    {
1046
	        if(PlayerDados[i][Vip] == true)
1047
	        {
1048
	            format(String, sizeof(String), "VIP %s: %s", Nome(playerid), t);
1049
	            SendClientMessage(i, VERDE_CLARO, String);
1050
			}
1051
		}
1052
		return 1;
1053
	}
1054
	CMD:kitvip(playerid, params[])
1055
	{
1056
	    if(!PlayerDados[playerid][Vip]) return SendClientMessage(playerid, BRANCO, "Você não é um jogador VIP!");
1057
	    MensagemFormatadaParaTodos(AMARELO, "O Jogador %s pegou um KitVip", Nome(playerid));
1058
	    GivePlayerWeapon(playerid, 4, 1); //FACA
1059
	    GivePlayerWeapon(playerid, 16, 200); //GRANADA
1060
	    GivePlayerWeapon(playerid, 24, 300); //DESERT EAGLE
1061
	    GivePlayerWeapon(playerid, 26, 300); //SAWNOFF
1062
	    GivePlayerWeapon(playerid, 29, 500); //MP5
1063
	    GivePlayerWeapon(playerid, 30, 500); //AK-47
1064
	    GivePlayerWeapon(playerid, 34, 200); //SNIPER
1065
	    GivePlayerWeapon(playerid, 39, 100); //EXPLOSIVO
1066
	    PlayerDados[playerid][PegouKit] = true;
1067
	    TimerKit = SetTimerEx("LiberarKit", 30*1000, false, "i", playerid);
1068
	    return 1;
1069
	}
1070
	CMD:vips(playerid, params[])
1071
	{
1072
	    new IsVip;
1073
	    SendClientMessage(playerid, VERDE_CLARO, "Vips Online:");
1074
	    for(new i = 0; i < MAX_PLAYERS; ++i)
1075
	    {
1076
	        if(PlayerDados[i][Vip])
1077
	        {
1078
				format(String, sizeof(String), "%s", Nome(i));
1079
				SendClientMessage(playerid, BRANCO, String);
1080
				IsVip++;
1081
			}
1082
		}
1083
		if(IsVip == 0)
1084
		{
1085
		    SendClientMessage(playerid, CINZA, "Nenhum VIP online.");
1086
		}
1087
		IsVip = 0;
1088
		return 1;
1089
	}
1090
	CMD:cc(playerid, params[])
1091
	{
1092
		new
1093
	    	Carro,
1094
		    Cor1,
1095
		    Cor2;
1096
		if(!PlayerDados[playerid][Vip]) return SendClientMessage(playerid, BRANCO, "Você precisa ser Vip para usar este comando!");
1097
		if(sscanf(params, "iii", Carro, Cor1, Cor2)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /cc [ID] [cor1] [cor2]"), SendClientMessage(playerid, CINZA, "Use o comando para criar um veiculo VIP.");
1098
		new Float:X,
1099
		    Float:Y,
1100
		    Float:X1,
1101
	    	Float:Y1,
1102
		    Float:Z,
1103
		    Float:A;
1104
		PosicaoFrentePlayer(playerid, X, Y, 3);
1105
		GetPlayerPos(playerid, X1, Y1, Z);
1106
		GetPlayerFacingAngle(playerid, A);
1107
		DestroyVehicle(CarroDono[playerid]);
1108
		CarroDono[playerid] = CreateVehicle(Carro, X, Y, Z, A+90, Cor1, Cor2, 15);
1109
		format(String, sizeof(String), "Carro VIP de {FFFF00}%s", Nome(playerid));
1110
		DonoCarro[playerid] = Create3DTextLabel(String, VERDE_CLARO, X, Y, Z+1, 30, 0, 1);
1111
		Attach3DTextLabelToVehicle(DonoCarro[playerid], CarroDono[playerid], 0, 0, 0);
1112
		PutPlayerInVehicle(playerid, CarroDono[playerid], 0);
1113
		return 1;
1114
	}
1115
#endif
1116
1117
CMD:sim(playerid, params[])
1118
{
1119
	if(Enquete[Criada] == false) return SendClientMessage(playerid, CINZA, "Nenhuma enquete aberta!");
1120
	Enquete[VotoSim]++;
1121
	SendClientMessage(playerid, AMARELO, "Voto computado com sucesso.");
1122
	return 1;
1123
}
1124
1125
CMD:nao(playerid, params[])
1126
{
1127
	if(Enquete[Criada] == false) return SendClientMessage(playerid, CINZA, "Nenhuma enquete aberta!");
1128
	Enquete[VotoNao]++;
1129
	SendClientMessage(playerid, AMARELO, "Voto computado com sucesso.");
1130
	return 1;
1131
}
1132
1133
CMD:relatorio(playerid, params[])
1134
{
1135
	new Texto[128];
1136
	if(sscanf(params, "s", Texto)) return SendClientMessage(playerid, BRANCO, "[LL ADMIN] Use /relatorio [texto] para mandar uma mensagem para os admins online");
1137
	new strel[256];
1138
	format(strel, sizeof(strel), "Relatorio de %s: %s\r\n", Nome(playerid), Texto);
1139
	EscreverLog("LLADMIN/Logs/Relatorios.log", strel);
1140
	if(PlayerDados[playerid][Vip] == true)
1141
	{
1142
	    for(new i = 0; i < MAX_PLAYERS; i++)
1143
		{
1144
	    	if((PlayerDados[i][Admin] > 0) || (PlayerDados[i][Helper]))
1145
		    {
1146
		        format(String, sizeof(String), "Relatorio VIP de %s [ID: %d]: %s", Nome(playerid), playerid, Texto);
1147
	    	    SendClientMessage(i, VERDE, String);
1148
			}
1149
		}
1150
		SendClientMessage(playerid, VERDE, "Seu relatorio VIP foi enviado com sucesso!");
1151
		return 1;
1152
	}
1153
	for(new i = 0; i < MAX_PLAYERS; i++)
1154
	{
1155
	    if((PlayerDados[i][Admin] > 0) || (PlayerDados[i][Helper]))
1156
	    {
1157
	        format(String, sizeof(String), "Relatorio de %s [ID: %d]: %s", Nome(playerid), playerid, Texto);
1158
	        SendClientMessage(i, AMARELO, String);
1159
		}
1160
	}
1161
	SendClientMessage(playerid, AMARELO, "Seu relatorio foi enviado com sucesso!");
1162
	return 1;
1163
}
1164
CMD:hq(playerid)
1165
{
1166
	SetPlayerPos(playerid, 2204.39990234,1846.00000000,12.60000038);
1167
	return 1;
1168
}
1169
1170
CMD:ajudavip(playerid, params[])
1171
{
1172
	if(GetarDado(playerid, Vip) == false) return Msg(playerid, BRANCO, "Você não é um jgoador VIP.");
1173
	ShowPlayerDialog(playerid, DIALOG_AJUDAV, DIALOG_STYLE_MSGBOX, "------------- AJUDA VIP -------------", "/kitvip - Pega um kit de armas VIP.\n/v - Chat vip.\n/cc - Cria um carro vip.\n/vips - mostra os vips online", "Fechar", "");
1174
	return 1;
1175
}
1176
1177
CMD:admins(playerid, params[])
1178
{
1179
	new IsAdmin;
1180
	SendClientMessage(playerid, ROSA, "Admin Online:");
1181
	new Online[10];
1182
	for(new i = 0; i < MAX_PLAYERS; i++)
1183
	{
1184
	    if(PlayerDados[i][Admin] > 0)
1185
	    {
1186
            if(PlayerDados[i][Admin] == 1) AdminNivel = "Moderador";
1187
			if(PlayerDados[i][Admin] == 2) AdminNivel = "Admin Iniciante";
1188
			if(PlayerDados[i][Admin] == 3) AdminNivel = "Admin Geral";
1189
			if(PlayerDados[i][Admin] == 4) AdminNivel = "Sub Dono";
1190
			if(PlayerDados[i][Admin] == 5) AdminNivel = "Poderoso Chefão";
1191
			if(PlayerDados[i][Trabalhando] == true) AdminTrabalhando = "Trabalhando";
1192
			if(PlayerDados[i][Trabalhando] == false) AdminTrabalhando = "Jogando";
1193
			if(PlayerDados[i][Afk] == true) Online = "AFK";
1194
			if(PlayerDados[i][Afk] == false) Online = "Online";
1195
	        format(String, sizeof(String), "%s | %s | %s | %s", Nome(i), AdminNivel, AdminTrabalhando, Online);
1196
	        SendClientMessage(playerid, LARANJA, String);
1197
	        IsAdmin ++;
1198
		}
1199
	}
1200
	if(IsAdmin == 0)
1201
	{
1202
	    SendClientMessage(playerid, CINZA, "Nenhum Admin Online!");
1203
	}
1204
	IsAdmin = 0;
1205
	SendClientMessage(playerid, CINZA, "Use /helpers");
1206
	return 1;
1207
}
1208
1209
//SÓ VAI FUNCIONAR O SEGUINTE COMANDO SE VC USAR O SISTEMA DE REGISTRO DO FS
1210
#if USAR_SISTEMA_REGISTRO == 1
1211
	CMD:mudarsenha(playerid, params[])
1212
	{
1213
        new StrConta[100];
1214
		format(StrConta,sizeof(StrConta), "LLADMIN/Contas/%s.txt", Nome(playerid));
1215
		format(String, sizeof(String), "{1BE0AF}Sua senha atual é {1B63E0}'%s'.\n\nDigite sua nova senha abaixo:", DOF2_GetString(StrConta, "Senha"));
1216
		ShowPlayerDialog(playerid, DIALOG_SENHANOVA, DIALOG_STYLE_INPUT, "{1BE084}Nova Senha", String, "Mudar", "Cancelar");
1217
		return 1;
1218
	}
1219
#endif
1220
1221
		
1222
	
1223
1224
CMD:helpers(playerid, params[])
1225
{
1226
	new IsHelper;
1227
	new Online[10];
1228
	SendClientMessage(playerid, VERDE, "Helpers Online:");
1229
	for(new i = 0; i < MAX_PLAYERS; i++)
1230
	{
1231
	    if(PlayerDados[i][Helper])
1232
	    {
1233
			if(PlayerDados[i][Trabalhando] == true) AdminTrabalhando = "Trabalhando";
1234
			if(PlayerDados[i][Trabalhando] == false) AdminTrabalhando = "Jogando";
1235
			if(PlayerDados[i][Afk] == true) Online = "AFK";
1236
			if(PlayerDados[i][Afk] == false) Online = "Online";
1237
	        format(String, sizeof(String), "%s | %s | %s", Nome(i), AdminTrabalhando, Online);
1238
	        SendClientMessage(playerid, VERDE_CLARO, String);
1239
	        IsHelper ++;
1240
		}
1241
	}
1242
	if(IsHelper == 0)
1243
	{
1244
	    SendClientMessage(playerid, CINZA, "Nenhum Helper Online!");
1245
	}
1246
	IsHelper = 0;
1247
	return 1;
1248
}
1249
1250
1251
CMD:temposair(playerid, params[])
1252
{
1253
	if(PlayerDados[playerid][Preso] < 1) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Você não está preso para usar este comando");
1254
	format(String, sizeof(String), "Faltam %d Segundos para você ficar livre!", PlayerDados[playerid][Preso]);
1255
	SendClientMessage(playerid, VERDE_CLARO, String);
1256
	return 1;
1257
}
1258
1259
CMD:la(playerid, params[])
1260
{
1261
	new Ajuda[1500];
1262
	if((PlayerDados[playerid][Admin] == 0) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!");
1263
	if(PlayerDados[playerid][Helper])//HELPER
1264
	{
1265
	    strcat(Ajuda,"{FFFFFF}Helper\n{FFEA03}/Jogar - /Trabalhar - /Servico - /Ir - /Trazer - /Particular - /Players\n/Afk - /SairAfk - /PortaoAdm\n\n");
1266
	}
1267
	if(PlayerDados[playerid][Admin] > 0)//NIVEL 1
1268
	{
1269
	    strcat(Ajuda, "{FFFFFF}Nivel 1\n{4CFA1B}/Jogar - /Trabalhar - /Servico - /InfoPlayer - /Verip - /Avisar - /Destrancarcarros\n/Kickar - /Tapa - /Assistir - /pAssistir - /Texto - /a - /Particular\n/Players - /Afk - /SairAfk - /Contagem - /PortaoAdm - /LimparChat\n\n");
1270
	}//20
1271
	if(PlayerDados[playerid][Admin] > 1)//NIVEL 2
1272
	{
1273
	    strcat(Ajuda, "{FFFFFF}Nivel 2\n{0C9E05}/SetarInterior - /Banir - /Desbanir - /Advertir - /Ir - /Trazer\n/Congelar - /Descongelar - /Dararma - /Desarmar - /CriarCarro\n/Respawn - /DestruirCarro - /Calar - /Liberar - /SetarVida - /SetarColete\n/ForcarCarro - /ForcarSkin - /Jetpack - /TrazerTodos - /MoverPlayer\n\n");
1274
	}//22
1275
	if(PlayerDados[playerid][Admin] > 2)//NIVEL 3
1276
	{
1277
	    strcat(Ajuda, "{FFFFFF}Nivel 3\n{11CFCF}/Prender - /Soltar - /SetarSkin - /SetarNome - /SetarCor\n/Clima - /GodMode - /Ejetar - /Falar - /Crash - /SetarPontos\n/SetarPos - /VerPos - /Barril - /dBarris - /BanirIP - /DesbanirIP\n/Tempo - /AtivarMsgs - /DesativarMsgs\n/Enquete - /Disfarce - /SairDisfarce\n\n");
1278
	}//23
1279
	if(PlayerDados[playerid][Admin] > 3)//NIVEL 4
1280
	{
1281
	    strcat(Ajuda, "{FFFFFF}Nivel 4\n{1170CF}/KickarTodos - /DesarmarTodos - /ChatFalso - /GMX - /Invisivel\n/Visivel - /InteriorTodos - /IPs - /CongelarTodos\n/DescongelarTodos - /MatarTodos - /DarVip - /TirarVip - /MusicaInicial\n/FoderPlayer - /DEntradas - /Resetar\n\n");
1282
	}//17
1283
	if(PlayerDados[playerid][Admin] > 4)//NIVEL 5
1284
	{
1285
	    strcat(Ajuda, "{FFFFFF}Nivel 5\n{FA0505}/NomeServer - /NomeGM - /NomeMapa - /CriarTeleporte - /DarAdmin\n/SetarGravidade - /DarHelper - /TirarHelper - /SetarAdmin - /TrancarServer\n/DestrancarServer\n\n");
1286
	}//11 = 93
1287
	ShowPlayerDialog(playerid, DIALOG_AL, DIALOG_STYLE_MSGBOX, "LL ADMIN - Ajuda", Ajuda, "Fechar", "");
1288
	return 1;
1289
}
1290
1291
//---------------------------------COMANDOS DE ADMIN----------------------------------------
1292
1293
//------------------PARA NIVEL 1 OU HELPER------------------------------
1294
1295
CMD:limparchat(playerid, params[])
1296
{
1297
	if(!NivelRequerido(playerid, 1)) return 1;
1298
	for(new t = 0; t < 100; ++t)
1299
	{
1300
	    SendClientMessageToAll(-1, " ");
1301
	}
1302
	MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} limpou o chat.", Nome(playerid));
1303
	return 1;
1304
}
1305
1306
CMD:portaoadm(playerid, params[])
1307
{
1308
    if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!");
1309
    MoveObject(PortaoHQ, 2205.10009766,1835.50000000,12.60000038, 4, 0.00000000, 0.00000000, 91.99951172);
1310
    GameTextForPlayer(playerid, "Portao ~g~Aberto", 1000, 6);
1311
    SetTimer("FecharPortao", 5000, false);
1312
    return 1;
1313
}
1314
1315
CMD:contagem(playerid, params[])
1316
{
1317
	if(!NivelRequerido(playerid, 1)) return 1;
1318
	if(sscanf(params, "i", time)) return MensagemDupla(playerid, "[LL ADMIN] Use /contagem [tempo]", "Use o comando para iniciar uma contagem regressiva.");
1319
	if((time < 1) || (time > 20)) return Msg(playerid, CINZA, "Use no maximo 20 segundos!");
1320
	MensagemFormatadaParaTodos(AZUL_CLARO, "Contagem de %d segundos iniciada pelo admin {1B95E0}%s{00C2EC}.", time, Nome(playerid));
1321
	TimerCont = SetTimer("DiminuirTempo", 1000, true);
1322
	return 1;
1323
}
1324
	
1325
CMD:afk(playerid, params[])
1326
{
1327
	if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!");
1328
	if(PlayerDados[playerid][Trabalhando] == false) return Msg(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1329
	TogglePlayerSpectating(playerid, true);
1330
    SetPlayerHealth(playerid, 99999);
1331
	TogglePlayerControllable(playerid, false);
1332
	PlayerDados[playerid][Afk] = true;
1333
	MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} Está AFK. Veja em /admins", Nome(playerid));
1334
	if(PlayerDados[playerid][Helper] == true)
1335
	{
1336
		MensagemFormatadaParaTodos(AZUL_CLARO, "O Helper {1B95E0}%s{00C2EC} Está AFK. Veja em /helpers", Nome(playerid));
1337
	}
1338
	Msg(playerid, CINZA, "Use /sairafk para sair do Afk.");
1339
	return 1;
1340
}
1341
1342
CMD:sairafk(playerid, params[])
1343
{
1344
    if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!");
1345
    if(PlayerDados[playerid][Trabalhando] == false) return Msg(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1346
	TogglePlayerSpectating(playerid, false);
1347
    SetPlayerHealth(playerid, 99999);
1348
	TogglePlayerControllable(playerid, true);
1349
	PlayerDados[playerid][Afk] = false;
1350
	MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} não está mais AFK. Veja em /admins", Nome(playerid));
1351
	if(PlayerDados[playerid][Helper] == true)
1352
	{
1353
		MensagemFormatadaParaTodos(AZUL_CLARO, "O Helper {1B95E0}%s{00C2EC}não está mais AFK. Veja em /helpers", Nome(playerid));
1354
	}
1355
	return 1;
1356
}
1357
1358
CMD:players(playerid, params[])
1359
{
1360
	if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!");
1361
	format(String, sizeof(String), "Players Online: {E0D01B}%d/%d", PlayersOnline, GetMaxPlayers());
1362
	SendClientMessageToAll(AZUL, String);
1363
	return 1;
1364
}
1365
1366
CMD:particular(playerid, params[])
1367
{
1368
    if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!");
1369
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1370
    new t[128];
1371
    if(sscanf(params, "us", ID, t)) return MensagemDupla(playerid, "[LL ADMIN] Use /particular [ID] [texto]", "Use o comando para mandar uma mensagem particular para um jogador.");
1372
    format(String, sizeof(String), "Particular de {E0D01B}%s{FFFF00}: %s", Nome(playerid), t);
1373
	Msg(ID, AMARELO, String);
1374
	format(String, sizeof(String), "Particular enviada com sucesso para %s", Nome(ID));
1375
	Msg(playerid, AMARELO, String);
1376
	return 1;
1377
}
1378
CMD:servico(playerid, params[])
1379
{
1380
    if((PlayerDados[playerid][Admin] == 0) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!");
1381
    if((PlayerDados[playerid][Trabalhando] == true))
1382
    {
1383
        PlayerDados[playerid][Trabalhando] = false;
1384
        format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Está Jogando, Agora ele é um Jogador Normal", Nome(playerid));
1385
		if(PlayerDados[playerid][Helper])
1386
		{
1387
		    format(String, sizeof(String), "O Helper {1B95E0}%s{00C2EC} Está Jogando, Agora ele é um Jogador Normal", Nome(playerid));
1388
		}
1389
		SendClientMessageToAll(AZUL_CLARO, String);
1390
		SendClientMessage(playerid, VERDE_CLARO, "Para voltar a trabalhar use /servico novamente.");
1391
		SetPlayerColor(playerid, LARANJA);
1392
		SetPlayerHealth(playerid, 100);
1393
		return 1;
1394
	}
1395
	if((PlayerDados[playerid][Trabalhando] == false))
1396
	{
1397
	    PlayerDados[playerid][Trabalhando] = true;
1398
		format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Está Trabalhando, Veja em /admins", Nome(playerid));
1399
		if(PlayerDados[playerid][Helper])
1400
		{
1401
    	    format(String, sizeof(String), "O Helper {1B95E0}%s{00C2EC} Está Trabalhando, Veja em /helpers", Nome(playerid));
1402
		}
1403
		SendClientMessageToAll(AZUL_CLARO, String);
1404
		SendClientMessage(playerid, VERDE_CLARO, "Para voltar a jogar use /servico novamente.");
1405
		SetPlayerColor(playerid, 0x24E9FFFF);
1406
		SetPlayerHealth(playerid, 999999);
1407
	}
1408
	return 1;
1409
}
1410
1411
CMD:jogar(playerid, params[])
1412
{
1413
	if((PlayerDados[playerid][Admin] == 0) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!");
1414
	if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você ja está jogando!");
1415
	PlayerDados[playerid][Trabalhando] = false;
1416
	format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Está Jogando, Agora ele é um Jogador Normal", Nome(playerid));
1417
	if(PlayerDados[playerid][Helper])
1418
	{
1419
	    format(String, sizeof(String), "O Helper {1B95E0}%s{00C2EC} Está Jogando, Agora ele é um Jogador Normal", Nome(playerid));
1420
	}
1421
	SendClientMessageToAll(AZUL_CLARO, String);
1422
	SendClientMessage(playerid, VERDE_CLARO, "Para voltar a trabalhar use /trabalhar");
1423
	SetPlayerColor(playerid, LARANJA);
1424
	SetPlayerHealth(playerid, 100);
1425
	return 1;
1426
}
1427
1428
CMD:trabalhar(playerid, params[])
1429
{
1430
	if((PlayerDados[playerid][Admin] == 0) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!");
1431
	if(PlayerDados[playerid][Trabalhando] == true) return SendClientMessage(playerid, CINZA, "Você ja está trabalhando!");
1432
	PlayerDados[playerid][Trabalhando] = true;
1433
	format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Está Trabalhando, Veja em /admins", Nome(playerid));
1434
	if(PlayerDados[playerid][Helper])
1435
	{
1436
        format(String, sizeof(String), "O Helper {1B95E0}%s{00C2EC} Está Trabalhando, Veja em /helpers", Nome(playerid));
1437
	}
1438
	SendClientMessageToAll(AZUL_CLARO, String);
1439
	SendClientMessage(playerid, VERDE_CLARO, "Para voltar a jogar use /jogar");
1440
	SetPlayerColor(playerid, 0x24E9FFFF);
1441
	SetPlayerHealth(playerid, 999999);
1442
	return 1;
1443
}
1444
CMD:infoplayer(playerid, params[])
1445
{
1446
	new StringM[500];
1447
	new Fala[4];
1448
	new ip[25];
1449
	if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!");
1450
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1451
	if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /infoplayer [ID]"), SendClientMessage(playerid, CINZA, "Use o Comando para ver as informações de um certo player");
1452
	if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
1453
	if(PlayerDados[ID][Calado] == true) Fala = "Sim";
1454
	if(PlayerDados[ID][Calado] == false) Fala = "Nao";
1455
	GetPlayerIp(ID, ip, 25);
1456
	format(StringM, sizeof(StringM), "{FFFFFF}Dados de {11D41E}%s{FFFFFF}\n\n{11D41E}Matou:{FFFFFF} %d\n{11D41E}Morreu:{FFFFFF} %d\n{11D41E}Grana:{FFFFFF} %d\n{11D41E}Admin Level:{FFFFFF} %d\n{11D41E}Calado:{FFFFFF} %s\n{11D41E}Tempo Preso:{FFFFFF} %d", Nome(ID), PlayerDados[ID][Matou], PlayerDados[ID][Morreu], GetPlayerMoney(ID), PlayerDados[ID][Admin], Fala, PlayerDados[ID][Preso]);
1457
	format(StringM, sizeof(StringM), "%s\n{11D41E}Advertencias:{FFFFFF} %d \n{11D41E}IP:{FFFFFF} %s", StringM, PlayerDados[ID][Advertencias], ip);
1458
	ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "Informações do Player", StringM, "Fechar", "");
1459
	return 1;
1460
}
1461
1462
CMD:verip(playerid, params[])
1463
{
1464
    if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!");
1465
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1466
	if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL-ADMIN] Use /verid [ID]");
1467
	if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
1468
	new strip[20];
1469
	GetPlayerIp(ID, strip, 20);
1470
	format(String, sizeof(String), "O IP de %s é:", Nome(ID));
1471
	SendClientMessage(playerid, AZUL_CLARO, String);
1472
	format(String, sizeof(String), "%s", strip);
1473
	SendClientMessage(playerid, VERDE_CLARO, String);
1474
	return 1;
1475
}
1476
1477
CMD:avisar(playerid, params[])
1478
{
1479
	new Texto[128];
1480
	if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!");
1481
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1482
	if(sscanf(params, "s", Texto)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /avisar [texto]"), SendClientMessage(playerid, CINZA, "Use o comando para mandar um aviso aos jogadores");
1483
	format(String, sizeof(String), "Admin %s [nivel %d]: %s", Nome(playerid), PlayerDados[playerid][Admin], Texto);
1484
	SendClientMessageToAll(AZUL, "________________________AVISO DA ADMINISTRAÇÃO________________________");
1485
	SendClientMessageToAll(AZUL_CLARO, String);
1486
	return 1;
1487
}
1488
1489
CMD:destrancarcarros(playerid, params[])
1490
{
1491
    if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!");
1492
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1493
	for(new c = 0; c < MAX_VEHICLES; c++)
1494
    {
1495
        SetVehicleParamsEx(c, 0, 0, 0, 0, 0, 0, 0);
1496
	}
1497
	SendClientMessage(playerid, AMARELO, "Todos os veiculos foram destrancados!");
1498
	return 1;
1499
}
1500
1501
CMD:kickar(playerid, params[])
1502
{
1503
	new Razao[128];
1504
	if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!");
1505
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1506
	if(sscanf(params, "us", ID, Razao)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /kickar [ID] [Razão]"), SendClientMessage(playerid, CINZA, "Use o comando para kickar um jogador");
1507
	if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
1508
	if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!");
1509
	format(String, sizeof(String), "[LL-ADMIN] O Admin %s Kickou o Jogador %s[ID: %d] pelo motivo: %s\r\n", Nome(playerid), Nome(ID), ID, Razao);
1510
	SendClientMessageToAll(VERDE_CLARO, String);
1511
	Kickar(ID, Nome(playerid), Razao);
1512
	EscreverLog("LLADMIN/Logs/Kickados.log", String);
1513
	return 1;
1514
}
1515
1516
CMD:tapa(playerid, params[])
1517
{
1518
    if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!");
1519
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1520
	if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /tapa [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para dar um tapa em um jogador");
1521
    if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!");
1522
	new Float:Pos[3];
1523
    GetPlayerPos(ID, Pos[0], Pos[1], Pos[2]);
1524
    SetPlayerPos(ID, Pos[0], Pos[1], Pos[2]+20);
1525
    format(String, sizeof(String), "[LL ADMIN] O Admin %s Deu um tapa em %s\r\n", Nome(playerid), Nome(ID));
1526
    EscreverLog("LLADMIN/Logs/Tapas.log", String);
1527
    return 1;
1528
}
1529
1530
CMD:assistir(playerid, params[])
1531
{
1532
    if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!");
1533
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1534
	if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /assistir [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para assistir os movimentos de um jogador");
1535
    TogglePlayerSpectating(playerid, 1);
1536
    PlayerSpectatePlayer(playerid, ID);
1537
    PlayerDados[playerid][Assistindo] = true;
1538
    SendClientMessage(playerid, VERDE_CLARO, "Para parar de assistir use /passistir");
1539
    return 1;
1540
}
1541
1542
CMD:passistir(playerid, params[])
1543
{
1544
    if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!");
1545
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1546
	if(PlayerDados[playerid][Assistindo] == false) return SendClientMessage(playerid, AZUL, "Você não está assistindo ninguem!");
1547
    TogglePlayerSpectating(playerid, 0);
1548
	SendClientMessage(playerid, VERDE_CLARO, "Você parou de assistir o jogador!");
1549
	PlayerDados[playerid][Assistindo] = false;
1550
	return 1;
1551
}
1552
1553
CMD:texto(playerid, params[])
1554
{
1555
	new Texto[128];
1556
    if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!");
1557
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1558
	if(sscanf(params, "s", Texto)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /texto [texto]"), SendClientMessage(playerid, CINZA, "Use o comando para mandar uma mensagem em forma de GameText aos jogadores");
1559
	format(String, sizeof(String), "~y~%s: ~w~%s", Nome(playerid), Texto);
1560
	GameTextForAll(String, 2000, 4);
1561
	return 1;
1562
}
1563
1564
CMD:a(playerid, params[])
1565
{
1566
	new Texto[128];
1567
    if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!");
1568
	if(sscanf(params, "s", Texto)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /a [texto]"), SendClientMessage(playerid, CINZA, "Use o comando para mandar mensagens para os admins online");
1569
	if(PlayerDados[playerid][Helper] == true) AdminNivel = "Helper";
1570
	if(PlayerDados[playerid][Admin] == 1) AdminNivel = "Moderador";
1571
	if(PlayerDados[playerid][Admin] == 2) AdminNivel = "Admin Iniciante";
1572
	if(PlayerDados[playerid][Admin] == 3) AdminNivel = "Admin Geral";
1573
	if(PlayerDados[playerid][Admin] == 4) AdminNivel = "Sub Dono";
1574
	if(PlayerDados[playerid][Admin] == 5) AdminNivel = "Poderoso Chefão";
1575
	format(String, sizeof(String), "%s %s: %s", AdminNivel, Nome(playerid), Texto);
1576
	for(new i = 0; i < MAX_PLAYERS; i++)
1577
	{
1578
	    if(PlayerDados[i][Admin] > 0)
1579
	    {
1580
	        SendClientMessage(i, AZUL_CLARO, String);
1581
		}
1582
	}
1583
	EscreverLog("LLADMIN/Logs/Chatadm.log", String);
1584
	return 1;
1585
}
1586
1587
//-----------------------------ADMIN NIVEL 2------------------------------------
1588
1589
CMD:moverplayer(playerid, params[])
1590
{
1591
	new id2;
1592
	if(!NivelRequerido(playerid, 2)) return 1;
1593
	if(sscanf(params, "uu", ID, id2)) return MensagemDupla(playerid, "[LL ADMIN] Use /moverplayer [ID] [ID2]", "Use o comando para mover um player até outro.");
1594
	new Float:X,
1595
	    Float:Y,
1596
	    Float:Z;
1597
	GetPlayerPos(id2, X, Y, Z);
1598
	SetPlayerPos(ID, X, Y, Z);
1599
	format(String, sizeof(String), "O admin {1B95E0}%s{00C2EC} moveu o jogador %s até %s.", Nome(playerid), Nome(ID), Nome(id2));
1600
	MsgAll(AZUL_CLARO, String);
1601
	return 1;
1602
}
1603
1604
CMD:trazertodos(playerid, params[])
1605
{
1606
	if(!NivelRequerido(playerid, 2)) return 1;
1607
	new Float:X,
1608
	    Float:Y,
1609
	    Float:Z;
1610
	GetPlayerPos(playerid, X, Y, Z);
1611
	for(new i = 0; i < MAX_PLAYERS; ++i)
1612
	{
1613
	    if(IsPlayerConnected(i))
1614
	    {
1615
	        SetPlayerPos(i, X+1, Y+1, Z);
1616
		}
1617
	}
1618
	MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} puxou todos os jogadores até ele.", Nome(playerid));
1619
	return 1;
1620
}
1621
1622
CMD:jetpack(playerid, params[])
1623
{
1624
	if(!NivelRequerido(playerid, 2)) return 1;
1625
	if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /jetpack [ID]", "Use o comando para dar um jetpakc a agum jogador.");
1626
	SetPlayerSpecialAction(ID, 2);
1627
	MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} deu um JetPack a %s.", Nome(playerid));
1628
	return 1;
1629
}
1630
1631
CMD:explodir(playerid, params[])
1632
{
1633
	if(!NivelRequerido(playerid, 2)) return 1;
1634
	if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /explodir [ID]", "Use o comando para explodir um jogador.");
1635
	new Float:X,
1636
	    Float:Y,
1637
	    Float:Z;
1638
	GetPlayerPos(ID, X, Y, Z);
1639
	CreateExplosion(X, Y, Z, 1, 5);
1640
	MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} explodiu o jogador %s", Nome(playerid), Nome(ID));
1641
	return 1;
1642
}
1643
1644
CMD:tempo(playerid, params[])
1645
{
1646
	new t[10];
1647
	if(!NivelRequerido(playerid, 2)) return 1;
1648
	if(sscanf(params, "s", t)) return MensagemDupla(playerid, "[LL ADMIN] Use /tempo [Manha/Tarde/Noite]", "Use o comando para alterar o tempo do servidor");
1649
	if(strcmp(t, "manha", true) == 0)
1650
	{
1651
	    MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} mudou o tempo para manha", Nome(playerid));
1652
		for(new i = 0; i < MAX_PLAYERS; ++i)
1653
		{
1654
		    SetPlayerTime(i, 9, 0);
1655
		}
1656
		SetWorldTime(9);
1657
		return 1;
1658
	}
1659
	if(strcmp(t, "tarde", true) == 0)
1660
	{
1661
	    MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} mudou o tempo para tarde", Nome(playerid));
1662
		for(new i = 0; i < MAX_PLAYERS; ++i)
1663
		{
1664
		    SetPlayerTime(i, 14, 0);
1665
		}
1666
		SetWorldTime(14);
1667
		return 1;
1668
	}
1669
	if(strcmp(t, "noite", true) == 0)
1670
	{
1671
	    MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} mudou o tempo para noite", Nome(playerid));
1672
		for(new i = 0; i < MAX_PLAYERS; ++i)
1673
		{
1674
		    SetPlayerTime(i, 0, 0);
1675
		}
1676
		SetWorldTime(0);
1677
		return 1;
1678
	}
1679
	Msg(playerid, CINZA, "[LL ADMIN] Use /tempo [Manha/Tarde/Noite]");
1680
	return 1;
1681
}
1682
1683
CMD:dargrana(playerid, params[])
1684
{
1685
	new q;
1686
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
1687
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1688
    if(sscanf(params, "ui", ID, q)) return MensagemDupla(playerid, "[LL ADMIN] Use /dargrana [ID] [quantidade]", "Use o comando para dar algum dinheiro a algum jogador");
1689
    MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{38FF06} deu %d reais para {1B95E0}%s{38FF06}\r\n", Nome(playerid), q, Nome(ID));
1690
	GivePlayerMoney(ID, q);
1691
	return 1;
1692
}
1693
1694
CMD:forcarcarro(playerid, params[])
1695
{
1696
	new IDCarro;
1697
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
1698
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1699
	if(sscanf(params, "ui", ID, IDCarro)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /forcarcarro [ID] [ID Veículo]"), SendClientMessage(playerid, CINZA, "Use o comando para colocar o player em um veículo");
1700
    if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!");
1701
	PutPlayerInVehicle(ID, IDCarro, 0);
1702
	format(String, sizeof(String), "O Admin {1B95E0}%s{38FF06} te colocou em um veículo", Nome(playerid));
1703
	SendClientMessage(ID, AZUL_CLARO, String);
1704
	format(String, sizeof(String), "Você colocou o jogador {1B95E0}%s{38FF06} em um veículo", Nome(ID));
1705
	SendClientMessage(playerid, AZUL_CLARO, String);
1706
	return 1;
1707
}
1708
1709
CMD:forcarskin(playerid, params[])
1710
{
1711
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
1712
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1713
    if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /forcarskin [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para forçar a seleção de skin de um jogador");
1714
    if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!");
1715
	ForceClassSelection(ID);
1716
	format(String, sizeof(String), "O Admin {1B95E0}%s{38FF06} te forçou a seleção de skin", Nome(playerid));
1717
	SendClientMessage(ID, AZUL_CLARO, String);
1718
	format(String, sizeof(String), "Você forçou o jogador {1B95E0}%s{38FF06} a escolher uma skin", Nome(ID));
1719
	SendClientMessage(playerid, AZUL_CLARO, String);
1720
	SetPlayerHealth(playerid, 0);
1721
	return 1;
1722
}
1723
1724
1725
CMD:setarinterior(playerid, params[])
1726
{
1727
	new Interior;
1728
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
1729
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1730
	if(sscanf(params, "ui", ID, Interior)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarinterior [ID] [Razão]"), SendClientMessage(playerid, CINZA, "Use o comando mudar o interior de um jogador");
1731
	if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
1732
    if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!");
1733
	SetPlayerInterior(ID, Interior);
1734
	format(String, sizeof(String), "[LL-ADMIN] O Admin %s mudou o interior do Jogador %s[ID: %d] para %d", Nome(playerid), Nome(ID), ID, Interior);
1735
	SendClientMessageToAll(VERDE_CLARO, String);
1736
	return 1;
1737
}
1738
1739
1740
CMD:banir(playerid, params[])
1741
{
1742
	new Razao[128];
1743
	if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
1744
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1745
	if(sscanf(params, "us", ID, Razao)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /banir [ID] [Razão]"), SendClientMessage(playerid, CINZA, "Use o comando para banir a conta de um jogador");
1746
	if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
1747
    if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!");
1748
	format(String, sizeof(String), "[LL-ADMIN] O Admin %s Baniu o Jogador %s[ID: %d] pelo motivo: %s\r\n", Nome(playerid), Nome(ID), ID, Razao);
1749
	SendClientMessageToAll(VERDE_CLARO, String);
1750
	EscreverLog("LLADMIN/Logs/Banidos.log", String);
1751
	format(String, sizeof(String), "LLADMIN/Banidos/Contas/%s.txt", Nome(ID));
1752
	getdate(Ano, Mes, Dia);
1753
	gettime(Hora, Minuto, Segundo);
1754
	DOF2_CreateFile(String);
1755
	DOF2_SetString(String, "Admin", Nome(playerid));
1756
	DOF2_SetString(String, "Motivo", Razao);
1757
	DOF2_SetInt(String, "Ano", Ano);
1758
	DOF2_SetInt(String, "Mes", Mes);
1759
	DOF2_SetInt(String, "Dia", Dia);
1760
	DOF2_SetInt(String, "Hora", Hora);
1761
	DOF2_SetInt(String, "Minuto", Minuto);
1762
	Kick(ID);
1763
	return 1;
1764
}
1765
1766
CMD:desbanir(playerid, params[])
1767
{
1768
	new Conta[128];
1769
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
1770
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1771
	if(sscanf(params, "s", Conta)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /desbanir [Conta]"), SendClientMessage(playerid, CINZA, "Use o comando para desbanir uma conta banida");
1772
	format(String, sizeof(String), "LLADMIN/Banidos/Contas/%s.txt", Conta);
1773
	if(DOF2_FileExists(String))
1774
	{
1775
	    DOF2_RemoveFile(String);
1776
		format(String, sizeof(String), "[LL ADMIN] Conta {1B95E0}%s{38FF06} Desbanida!", Conta);
1777
		SendClientMessage(playerid, VERDE_CLARO, String);
1778
		return 1;
1779
	}
1780
	else
1781
	{
1782
        format(String, sizeof(String), "[LL ADMIN] A Conta {1B95E0}%s{CECECE} Não Existe ou Não está banida!", Conta);
1783
		SendClientMessage(playerid, CINZA, String);
1784
	}
1785
	format(String, sizeof(String), "O Admin %s desbaniu a conta %s\r\n", Nome(playerid), Conta);
1786
	EscreverLog("LLADMIN/Logs/Desbanidos.log", String);
1787
	return 1;
1788
}
1789
	
1790
    
1791
CMD:advertir(playerid, params[])
1792
{
1793
	new Razao[128];
1794
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
1795
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1796
	if(sscanf(params, "us", ID, Razao)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /advertir [ID] [Razão]"), SendClientMessage(playerid, CINZA, "Use o comando para advertir um jogador");
1797
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
1798
    if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!");
1799
	if(PlayerDados[ID][Advertencias] != 3)
1800
	{
1801
		format(String, sizeof(String), "[LL ADMIN] O Admin %s Deu uma Advertencia a %s Pelo Motivo: %s\r\n", Nome(playerid), Nome(ID), Razao);
1802
    	SendClientMessageToAll(VERMELHO_CLARO, String);
1803
		EscreverLog("LLADMIN/Logs/Advertidos.log", String);
1804
	    format(String, sizeof(String), "Você foi Advertido pelo admin %s Pelo motivo: %s. Se for advertido 3 vezes será BANIDO Automaticamente", Nome(playerid), Razao);
1805
	    SendClientMessage(ID, LARANJA, String);
1806
	    PlayerDados[ID][Advertencias] += 1;
1807
	}
1808
	if(PlayerDados[ID][Advertencias] == 3)
1809
	{
1810
	    format(String, sizeof(String), "[LL ADMIN] O Admin %s Deu a terceira Advertencia a %s Pelo Motivo: %s e por isso ele foi Banido!", Nome(playerid), Nome(ID), Razao);
1811
    	SendClientMessageToAll(VERMELHO_CLARO, String);
1812
    	format(String, sizeof(String), "Você foi Advertido pela terceira vez pelo admin %s Pelo motivo: %s. por isso você foi banido!", Nome(playerid), Razao);
1813
	    SendClientMessage(ID, LARANJA, String);
1814
	    format(String, sizeof(String), "LLADMIN/Banidos/Contas/%s.txt", Nome(ID));
1815
		getdate(Ano, Mes, Dia);
1816
		gettime(Hora, Minuto, Segundo);
1817
		new IP[25];
1818
		GetPlayerIp(ID, IP, 25);
1819
		DOF2_CreateFile(String);
1820
		DOF2_SetString(String, "Admin", Nome(playerid));
1821
		DOF2_SetString(String, "Motivo", "3° Advertencia");
1822
		DOF2_SetInt(String, "Ano", Ano);
1823
		DOF2_SetInt(String, "Mes", Mes);
1824
		DOF2_SetInt(String, "Dia", Dia);
1825
		DOF2_SetInt(String, "Hora", Hora);
1826
		DOF2_SetInt(String, "Minuto", Minuto);
1827
		Kick(ID);
1828
	}
1829
	return 1;
1830
}
1831
1832
CMD:ir(playerid, params[])
1833
{
1834
    if((PlayerDados[playerid][Admin] < 2) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 ou helper para usar este comando!");
1835
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1836
	if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /ir [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para ir até um jogador");
1837
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
1838
	new Float:Pos[3];
1839
	GetPlayerPos(ID, Pos[0], Pos[1], Pos[2]);
1840
	if(IsPlayerInAnyVehicle(playerid))
1841
	{
1842
		new carroid = GetPlayerVehicleID(playerid);
1843
		SetVehiclePos(carroid, Pos[0], Pos[1], Pos[2]);
1844
		format(String, sizeof(String), "O Admin %s veio até você!", Nome(playerid));
1845
		if(PlayerDados[playerid][Helper])
1846
		{
1847
		    format(String, sizeof(String), "O Helper %s veio até você!", Nome(playerid));
1848
		}
1849
		SendClientMessage(ID, AZUL_CLARO, String);
1850
		format(String, sizeof(String), "Você foi até o Jogador %s [ID: %d]", Nome(ID), ID);
1851
		SendClientMessage(playerid, AZUL_CLARO, String);
1852
		return 1;
1853
	}
1854
	SetPlayerPos(playerid, Pos[0]+2, Pos[1]+2, Pos[2]+2);
1855
	format(String, sizeof(String), "O Admin %s veio até você!", Nome(playerid));
1856
	if(PlayerDados[playerid][Helper])
1857
	{
1858
	    format(String, sizeof(String), "O Helper %s veio até você!", Nome(playerid));
1859
	}
1860
	SendClientMessage(ID, AZUL_CLARO, String);
1861
	format(String, sizeof(String), "Você foi até o Jogador %s [ID: %d]", Nome(ID), ID);
1862
	SendClientMessage(playerid, AZUL_CLARO, String);
1863
	return 1;
1864
}
1865
1866
CMD:trazer(playerid, params[])
1867
{
1868
    if((PlayerDados[playerid][Admin] < 2) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 ou helper para usar este comando!");
1869
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1870
	if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /trazer [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para trazer um jogador até você");
1871
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
1872
	new Float:Pos[3];
1873
	GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
1874
	if(IsPlayerInAnyVehicle(ID))
1875
	{
1876
		new carroid = GetPlayerVehicleID(ID);
1877
		SetVehiclePos(carroid, Pos[0]+2, Pos[1]+2, Pos[2]+2);
1878
		format(String, sizeof(String), "O Admin %s trouxe você até ele!", Nome(playerid));
1879
		if(PlayerDados[playerid][Helper])
1880
		{
1881
		    format(String, sizeof(String), "O Helper %s trouxe você até ele!", Nome(playerid));
1882
		}
1883
		SendClientMessage(ID, AZUL_CLARO, String);
1884
		format(String, sizeof(String), "Você trouxe o jogador %s [ID: %d] até você", Nome(ID), ID);
1885
		SendClientMessage(playerid, AZUL_CLARO, String);
1886
		return 1;
1887
	}
1888
	SetPlayerPos(ID, Pos[0]+2, Pos[1]+2, Pos[2]+2);
1889
	format(String, sizeof(String), "O Admin %s trouxe você até ele!", Nome(playerid));
1890
	if(PlayerDados[playerid][Helper])
1891
	{
1892
	    format(String, sizeof(String), "O Helper %s trouxe você até ele!", Nome(playerid));
1893
	}
1894
	SendClientMessage(ID, AZUL_CLARO, String);
1895
	format(String, sizeof(String), "Você trouxe o jogador %s [ID: %d] até você", Nome(ID), ID);
1896
	SendClientMessage(playerid, AZUL_CLARO, String);
1897
	return 1;
1898
}
1899
1900
CMD:congelar(playerid, params[])
1901
{
1902
	new Razao[128];
1903
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
1904
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1905
	if(sscanf(params, "us", ID, Razao)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /congelar [ID] [Motivo]"), SendClientMessage(playerid, CINZA, "Use o comando para impedir um jogador de se mover");
1906
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
1907
    if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!");
1908
	TogglePlayerControllable(ID, false);
1909
    PlayerDados[playerid][Congelado] = true;
1910
    format(String, sizeof(String), "[LL ADMIN] O Admin %s Congelou o Jogador %s [ID: %d] Pelo Motivo: %s\r\n", Nome(playerid), Nome(ID), ID, Razao);
1911
	SendClientMessageToAll(AZUL_CLARO, String);
1912
	SendClientMessage(playerid, VERDE_CLARO, "Para descongelar use /descongelar");
1913
	EscreverLog("LLADMIN/Logs/Congelados.log", String);
1914
	return 1;
1915
}
1916
    
1917
CMD:descongelar(playerid, params[])
1918
{
1919
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
1920
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1921
	if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /descongelar [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para permitir ao jogador se movimentar");
1922
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
1923
	if(PlayerDados[ID][Congelado] == false) return SendClientMessage(playerid, CINZA, "O Jogados não está congelado!");
1924
	TogglePlayerControllable(ID, true);
1925
    PlayerDados[ID][Congelado] = false;
1926
    format(String, sizeof(String), "[LL ADMIN] O Admin {1BA5E0}%s{00C2EC} Descongelou o jogador {1BA5E0}%s{00C2EC} [ID: %d]", Nome(playerid), Nome(ID), ID);
1927
    SendClientMessageToAll(AZUL_CLARO, String);
1928
    return 1;
1929
}
1930
1931
CMD:dararma(playerid, params[])
1932
{
1933
	new NomeArma[80];
1934
	new
1935
	    Arma,
1936
	    Municao;
1937
	if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
1938
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1939
	if(sscanf(params, "uii", ID, Arma, Municao)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /dararma [ID] [Arma] [Munição]"), SendClientMessage(playerid, CINZA, "Use o comando para dar uma arma para um jogador");
1940
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
1941
	if(Arma < 1 || Arma == 19 || Arma == 20 || Arma == 21 || Arma > 46) return SendClientMessage(playerid, CINZA, "[LL ADMIN] ID Invalido, use de 1 a 46");
1942
	if(Arma == 1) NomeArma = "Soco Inglês";
1943
	if(Arma == 2) NomeArma = "Taco de Golf";
1944
	if(Arma == 3) NomeArma = "Cacetete";
1945
	if(Arma == 4) NomeArma = "Faca";
1946
	if(Arma == 5) NomeArma = "Taco de Baseball";
1947
	if(Arma == 6) NomeArma = "Pá";
1948
	if(Arma == 7) NomeArma = "Taco de Sinuca";
1949
	if(Arma == 8) NomeArma = "Kitana";
1950
	if(Arma == 9) NomeArma = "Serra elétrica";
1951
	if(Arma == 10) NomeArma = "Pinto de Borracha";
1952
	if(Arma == 11) NomeArma = "Pinto roxo";
1953
	if(Arma == 12) NomeArma = "Vibrador";
1954
	if(Arma == 13) NomeArma = "Vibrador de Prata";
1955
	if(Arma == 14) NomeArma = "Flor";
1956
	if(Arma == 15) NomeArma = "Bengala";
1957
	if(Arma == 16) NomeArma = "Granada";
1958
	if(Arma == 17) NomeArma = "Bomba de gás";
1959
	if(Arma == 18) NomeArma = "Molotov";
1960
	if(Arma == 22) NomeArma = "Pistola 9mm";
1961
	if(Arma == 23) NomeArma = "Pistola com silenciador";
1962
	if(Arma == 24) NomeArma = "Desert Eagle";
1963
	if(Arma == 25) NomeArma = "ShotGun";
1964
	if(Arma == 26) NomeArma = "Sawnoff Shotgun";
1965
	if(Arma == 27) NomeArma = "Combat Shotgun";
1966
	if(Arma == 28) NomeArma = "Micro SMG";
1967
	if(Arma == 29) NomeArma = "MP5";
1968
	if(Arma == 30) NomeArma = "AK47";
1969
	if(Arma == 31) NomeArma = "M4";
1970
	if(Arma == 32) NomeArma = "Tec 9";
1971
	if(Arma == 33) NomeArma = "Country Rifle";
1972
	if(Arma == 34) NomeArma = "Sniper Rifle";
1973
	if(Arma == 35) NomeArma = "Bazooca RPG";
1974
	if(Arma == 36) NomeArma = "Bazooca Normal";
1975
	if(Arma == 37) NomeArma = "Lança Chamas";
1976
	if(Arma == 38) NomeArma = "Mini Gun";
1977
	if(Arma == 39) NomeArma = "C4";
1978
	if(Arma == 40) NomeArma = "Detonador";
1979
	if(Arma == 41) NomeArma = "Spray";
1980
	if(Arma == 42) NomeArma = "Extintor";
1981
	if(Arma == 43) NomeArma = "Oculos de visão noturna";
1982
	if(Arma == 45) NomeArma = "Oculos de visão de calor";
1983
	if(Arma == 46) NomeArma = "Paraquedas";
1984
	GivePlayerWeapon(ID, Arma, Municao);
1985
	format(String, sizeof(String), "[LL ADMIN] O Admin {1BA5E0}%s{00C2EC} Deu um(a) {1BA5E0}%s{00C2EC} Com {1BA5E0}%d{00C2EC} Balas para {1BA5E0}%s{00C2EC}", Nome(playerid), NomeArma, Municao, Nome(ID));
1986
	SendClientMessageToAll(AZUL_CLARO, String);
1987
	return 1;
1988
}
1989
1990
CMD:desarmar(playerid, params[])
1991
{
1992
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
1993
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
1994
	if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /desarmar [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para desarmar um jogador");
1995
	if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
1996
    if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!");
1997
	format(String, sizeof(String), "[LL ADMIN] O Admin {1BA5E0}%s{00C2EC} Desarmou o jogador {1BA5E0}%s{00C2EC}", Nome(playerid), Nome(ID));
1998
	SendClientMessageToAll(AZUL_CLARO, String);
1999
	ResetPlayerWeapons(ID);
2000
	return 1;
2001
}
2002
2003
CMD:criarcarro(playerid, params[])
2004
{
2005
	new
2006
	    Carro,
2007
	    Cor1,
2008
	    Cor2;
2009
	if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
2010
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2011
	if(sscanf(params, "iii", Carro, Cor1, Cor2)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /criarcarro [ID] [cor1] [cor2]"), SendClientMessage(playerid, CINZA, "Use o comando para criar um veiculo, para fazer um respawn use /respawn");
2012
	new Float:X,
2013
	    Float:Y,
2014
	    Float:X1,
2015
	    Float:Y1,
2016
	    Float:Z,
2017
	    Float:A;
2018
	PosicaoFrentePlayer(playerid, X, Y, 3);
2019
	GetPlayerPos(playerid, X1, Y1, Z);
2020
	GetPlayerFacingAngle(playerid, A);
2021
	new idcarro;
2022
	idcarro = CreateVehicle(Carro, X, Y, Z, A+90, Cor1, Cor2, 15);
2023
	CarrosCriados[TodosCarros] = idcarro;
2024
	TodosCarros ++;
2025
	return 1;
2026
}
2027
2028
CMD:respawn(playerid, params[])
2029
{
2030
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
2031
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2032
	format(String, sizeof(String), "[LL ADMIN] O Admin {1BA5E0}%s{00C2EC} deu Respawn nos veículos!", Nome(playerid));
2033
	SendClientMessageToAll(AZUL_CLARO, String);
2034
	SendClientMessage(playerid, VERDE_CLARO, "Todos os carros criados foram destruidos!");
2035
	for(new i = 0; i < sizeof(CarrosCriados); i++)
2036
	{
2037
	    DestroyVehicle(CarrosCriados[i]);
2038
	}
2039
	for(new c = 0; c < MAX_VEHICLES; c++)
2040
    {
2041
        SetVehicleToRespawn(c);
2042
	}
2043
	return 1;
2044
}
2045
2046
CMD:destruircarro(playerid, params[])
2047
{
2048
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
2049
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2050
	if(IsPlayerInAnyVehicle(playerid))
2051
    {
2052
		new idcarro = GetPlayerVehicleID(playerid);
2053
		DestroyVehicle(idcarro);
2054
		format(String, sizeof(String), "[LL ADMIN] Você destruiu o veículo ID %d", idcarro);
2055
		SendClientMessage(playerid, AZUL_CLARO, String);
2056
		return 1;
2057
	}
2058
	new idc;
2059
	if(sscanf(params, "i", idc)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /destruircarro [ID], ou entre em um veículo e use o comando.");
2060
	if(idc == INVALID_VEHICLE_ID) return SendClientMessage(playerid, CINZA, "[LL ADMIN] ID invalido!");
2061
	DestroyVehicle(idc);
2062
	format(String, sizeof(String), "[LL ADMIN] Você destruiu o veículo ID %d", idc);
2063
	SendClientMessage(playerid, AZUL_CLARO, String);
2064
	return 1;
2065
}
2066
2067
CMD:idcarro(playerid, params[])
2068
{
2069
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
2070
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2071
	if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, BRANCO, "Você não está em um veículo!");
2072
	new idc;
2073
	idc = GetPlayerVehicleID(playerid);
2074
	format(String, sizeof(String), "O ID do veículo é %d, para destrui-lo use /destruircarro", idc);
2075
	SendClientMessage(playerid, CINZA, String);
2076
	return 1;
2077
}
2078
2079
CMD:calar(playerid, params[])
2080
{
2081
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
2082
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2083
	if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /calar [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para impedir um jogador de usar o chat");
2084
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2085
	if(PlayerDados[ID][Calado] == true) return SendClientMessage(playerid, CINZA, "[LL ADMIN] O jogador Ja está calado!");
2086
	PlayerDados[ID][Calado] = true;
2087
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Calou o Jogador {1B95E0}%s{00C2EC}\r\n", Nome(playerid), Nome(ID));
2088
	SendClientMessageToAll(AZUL_CLARO, String);
2089
	EscreverLog("LLADMIN/Logs/Calados.log", String);
2090
	SendClientMessage(playerid, VERDE_CLARO, "[LL ADMIN] Para Liberar a fala do jogador use /liberar [ID]");
2091
	return 1;
2092
}
2093
2094
CMD:liberar(playerid, params[])
2095
{
2096
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
2097
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2098
    if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /liberar [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para liberar um jogador calado para usar o chat");
2099
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2100
	if(PlayerDados[ID][Calado] == false) return SendClientMessage(playerid, CINZA, "[LL ADMIN] O jogador não está calado!");
2101
	PlayerDados[ID][Calado] = false;
2102
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Liberou a fala de {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID));
2103
	SendClientMessageToAll(AZUL_CLARO, String);
2104
	return 1;
2105
}
2106
2107
CMD:setarvida(playerid, params[])
2108
{
2109
	new Vida;
2110
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
2111
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2112
    if(sscanf(params, "ui", ID, Vida)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarvida [ID] [VIDA]");
2113
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2114
	if(Vida < 0 || Vida > 100) return SendClientMessage(playerid, CINZA, "[LL ADMIN]Valor Inválido! Use de 0 a 100");
2115
	SetPlayerHealth(ID, Vida);
2116
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Setou a Vida de {1B95E0}%s{00C2EC} para {1B95E0}%d{00C2EC}", Nome(playerid), Nome(ID), Vida);
2117
	SendClientMessageToAll(AZUL_CLARO, String);
2118
	return 1;
2119
}
2120
2121
CMD:setarcolete(playerid, params[])
2122
{
2123
	new Colete;
2124
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!");
2125
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2126
    if(sscanf(params, "ui", ID, Colete)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarcolete [ID] [COLETE]");
2127
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2128
	if(Colete < 0 || Colete > 100) return SendClientMessage(playerid, CINZA, "[LL ADMIN]Valor Inválido! Use de 0 a 100");
2129
	SetPlayerArmour(ID, Colete);
2130
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Setou o Colete de {1B95E0}%s{00C2EC} para {1B95E0}%d{00C2EC}", Nome(playerid), Nome(ID), Colete);
2131
	SendClientMessageToAll(AZUL_CLARO, String);
2132
	return 1;
2133
}
2134
2135
//-------------------------ADMIN NIVEL 3----------------------------------------
2136
2137
CMD:enquete(playerid, params[])
2138
{
2139
	if(!NivelRequerido(playerid, 3)) return 1;
2140
	new t[128];
2141
	if(sscanf(params, "s", t)) return MensagemDupla(playerid, "[LL ADMIN] Use /enquete [Pergunta]", "Use o comando para fazer uma enquete para os jogadores.");
2142
	Enquete[Criada] = true;
2143
	Enquete[Titulo] = t;
2144
	format(String, sizeof(String), "Enquete de %s: %s", Nome(playerid), t);
2145
	SendClientMessageToAll(ROXO, String);
2146
	SendClientMessageToAll(ROXO, "Use /sim ou /nao");
2147
	SendClientMessage(playerid, AZUL_CLARO, "A Enquete será fechada automaticamente em 30 segundos.");
2148
	SetTimer("FecharEnquete", 30000, false);
2149
	return 1;
2150
}
2151
2152
CMD:ativarmsgs(playerid, params[])
2153
{
2154
	if(!NivelRequerido(playerid, 3)) return 1;
2155
	MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} ativou as mensagens randomicas no servidor.", Nome(playerid));
2156
	TimerMsgs = SetTimer("MensagensRandom", 30*1000, true);
2157
	Msg(playerid, AMARELO, "para desativar as mensagens randomicas use /desativarmsgs.");
2158
	return 1;
2159
}
2160
2161
CMD:desativarmsgs(playerid, params[])
2162
{
2163
	if(!NivelRequerido(playerid, 3)) return 1;
2164
	MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} desativou as mensagens randomicas no servidor.", Nome(playerid));
2165
	KillTimer(TimerMsgs);
2166
	Msg(playerid, AMARELO, "para dativa-las novamente use /ativarmsgs");
2167
	return 1;
2168
}
2169
2170
CMD:resetargrana(playerid, params[])
2171
{
2172
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2173
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2174
    if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /resetargrana [ID]", "Use o comando para resetar o dinheiro de algum jogador");
2175
    MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} resetou o dinheiro de {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID));
2176
    ResetPlayerMoney(ID);
2177
    return 1;
2178
}
2179
2180
CMD:setargrana(playerid, params[])
2181
{
2182
	new q;
2183
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2184
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2185
    if(sscanf(params, "ui", ID, q)) return MensagemDupla(playerid, "[LL ADMIN] Use /setargrana [ID] [Quantidade]", "Use o comando para setar o dinheiro de algum jogador para a quantia desejada");
2186
    MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} setou o dinheiro de {1B95E0}%s{00C2EC} para %d", Nome(playerid), Nome(ID), q);
2187
    ResetPlayerMoney(ID);
2188
    GivePlayerMoney(ID, q);
2189
    return 1;
2190
}
2191
2192
CMD:prender(playerid, params[])
2193
{
2194
	new Tempo, Motivo[70];
2195
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2196
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2197
    if(sscanf(params, "uis", ID, Tempo, Motivo)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /prender [ID] [Tempo] [Motivo]"), SendClientMessage(playerid, CINZA, "Use o comando para prender um jogador na cadeia");
2198
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2199
    format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Prendeu {1B95E0}%s{00C2EC} por %d Segundos pelo motivo: %s\r\n", Nome(playerid), Nome(ID), Tempo, Motivo);
2200
    SendClientMessageToAll(AZUL_CLARO, String);
2201
	EscreverLog("LLADMIN/Logs/Presos.log", String);
2202
    SetPlayerPos(ID, 264.6288,77.5742,1001.0391);
2203
    SetPlayerInterior(ID, 6);
2204
    PlayerDados[ID][Preso] = Tempo;
2205
    TimerPreso = SetTimerEx("TempoPreso", 1000, true, "i", ID);
2206
    return 1;
2207
}
2208
2209
CMD:soltar(playerid, params[])
2210
{
2211
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2212
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2213
    if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /soltar [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para soltar um jogador preso");
2214
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2215
    if(PlayerDados[ID][Preso] == 0) return SendClientMessage(playerid, CINZA, "O Jogador não está preso");
2216
    PlayerDados[ID][Preso] = 1;
2217
    format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Tirou o jogador {1B95E0}%s{00C2EC} da Cadeia", Nome(playerid), Nome(ID));
2218
    SendClientMessageToAll(AZUL_CLARO, String);
2219
    return 1;
2220
}
2221
2222
CMD:setarskin(playerid, params[])
2223
{
2224
	new Skin;
2225
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2226
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2227
	if(sscanf(params, "ui", ID, Skin)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarskin [ID] [Skin]"), SendClientMessage(playerid, CINZA, "Use o comando para mudar a skin de um jogador");
2228
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2229
	if(Skin < 0 || Skin > 299) return SendClientMessage(playerid, CINZA, "[ERRO] ID Inválido, use IDs de 0 a 299!");
2230
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} setou a Skin de {1B95E0}%s{00C2EC} para a ID n°%d", Nome(playerid), Nome(ID), Skin);
2231
	SendClientMessageToAll(AZUL_CLARO, String);
2232
	SetPlayerSkin(ID, Skin);
2233
	return 1;
2234
}
2235
2236
CMD:setarnome(playerid, params[])
2237
{
2238
	new NovoNome[30];
2239
	if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2240
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2241
	if(sscanf(params, "us", ID, NovoNome)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarnome [ID] [Nome]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar o nome de um jogador");
2242
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2243
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou o nome de {1B95E0}%s{00C2EC} Para {1B95E0}%s{00C2EC}!\r\n", Nome(playerid), Nome(ID), NovoNome);
2244
	SendClientMessageToAll(AZUL_CLARO, String);
2245
	EscreverLog("LLADMIN/Logs/NovoNome.log", String);
2246
	format(String, sizeof(String), "LLADMIN/Contas/%s.txt", Nome(ID));
2247
	DOF2_RemoveFile(String);
2248
	SetPlayerName(ID, NovoNome);
2249
	format(String, sizeof(String), "LLADMIN/Contas/%s.txt", Nome(ID));
2250
	DOF2_CreateFile(String);
2251
	SalvarDados(ID);
2252
	return 1;
2253
}
2254
2255
CMD:setarcor(playerid, params[])
2256
{
2257
	new Cor[100];
2258
	if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2259
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2260
    if(sscanf(params, "us", ID, Cor)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarcor [ID] [Cor]"), SendClientMessage(playerid, CINZA, "Use o comando para mudar a cor do nick de um jogador");
2261
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2262
	if(strcmp(Cor, "vermelho", true) == 0)
2263
    {
2264
        SetPlayerColor(ID, VERMELHO);
2265
    	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Vermelho!", Nome(playerid), Nome(ID));
2266
		SendClientMessageToAll(AZUL_CLARO, String);
2267
		return 1;
2268
	}
2269
	if(strcmp(Cor, "azul", true) == 0)
2270
    {
2271
        SetPlayerColor(ID, AZUL);
2272
    	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Azul!", Nome(playerid), Nome(ID));
2273
		SendClientMessageToAll(AZUL_CLARO, String);
2274
		return 1;
2275
	}
2276
	if(strcmp(Cor, "verde", true) == 0)
2277
    {
2278
        SetPlayerColor(ID, VERDE);
2279
    	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Verde!", Nome(playerid), Nome(ID));
2280
		SendClientMessageToAll(AZUL_CLARO, String);
2281
		return 1;
2282
	}
2283
	if(strcmp(Cor, "amarelo", true) == 0)
2284
    {
2285
        SetPlayerColor(ID, AMARELO);
2286
    	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Amarelo!", Nome(playerid), Nome(ID));
2287
		SendClientMessageToAll(AZUL_CLARO, String);
2288
		return 1;
2289
	}
2290
	if(strcmp(Cor, "rosa", true) == 0)
2291
    {
2292
        SetPlayerColor(ID, ROSA_CHOQUE);
2293
    	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Rosa!", Nome(playerid), Nome(ID));
2294
		SendClientMessageToAll(AZUL_CLARO, String);
2295
		return 1;
2296
	}
2297
	if(strcmp(Cor, "laranja", true) == 0)
2298
    {
2299
        SetPlayerColor(ID, LARANJA);
2300
    	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Laranja!", Nome(playerid), Nome(ID));
2301
		SendClientMessageToAll(AZUL_CLARO, String);
2302
		return 1;
2303
	}
2304
	if(strcmp(Cor, "cinza", true) == 0)
2305
    {
2306
        SetPlayerColor(ID, CINZA);
2307
    	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Cinza!", Nome(playerid), Nome(ID));
2308
		SendClientMessageToAll(AZUL_CLARO, String);
2309
		return 1;
2310
	}
2311
	if(strcmp(Cor, "branco", true) == 0)
2312
    {
2313
        SetPlayerColor(ID, BRANCO);
2314
    	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Cinza!", Nome(playerid), Nome(ID));
2315
		SendClientMessageToAll(AZUL_CLARO, String);
2316
		return 1;
2317
	}
2318
	if(strcmp(Cor, "preto", true) == 0)
2319
    {
2320
        SetPlayerColor(ID, PRETO);
2321
    	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Preto!", Nome(playerid), Nome(ID));
2322
		SendClientMessageToAll(AZUL_CLARO, String);
2323
		return 1;
2324
	}
2325
	SendClientMessage(playerid, CINZA, "Cores: Vermelho, Azul, Verde, Amarelo, Rosa, Laranja, Cinza, Branco e Preto");
2326
	return 1;
2327
}
2328
	
2329
CMD:clima(playerid, params[])
2330
{
2331
	new Clima;
2332
	if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2333
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2334
    if(sscanf(params, "i", Clima)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /clima [ID do clima]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar o clima do servidor");
2335
    if(Clima < 1 || Clima > 50 || Clima < 250 || Clima > 250 || Clima < 2009 || Clima > 2009) return SendClientMessage(playerid, CINZA, "[LL ADMIN] ID Invalido, use IDs de 0 a 50, 250 ou 2009");
2336
    SetWeather(Clima);
2337
    format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou o Clima para o ID %d!", Nome(playerid), Clima);
2338
	SendClientMessageToAll(AZUL_CLARO, String);
2339
	return 1;
2340
}
2341
2342
CMD:godmode(playerid, params[])
2343
{
2344
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2345
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2346
    if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /godmode [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para deixar um jogador imortal");
2347
	if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2348
	SetPlayerHealth(ID, 999999);
2349
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} deixou o Jogador {1B95E0}%s{00C2EC} em GodMode!", Nome(playerid), Nome(ID));
2350
	SendClientMessageToAll(AZUL_CLARO, String);
2351
	return 1;
2352
}
2353
2354
CMD:ejetar(playerid, params[])
2355
{
2356
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2357
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2358
    if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /ejetar [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para tirar um jogador de seu carro");
2359
	if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2360
	if(!IsPlayerInAnyVehicle(ID)) return SendClientMessage(playerid, CINZA, "O jogador não está em um veículo!");
2361
	RemovePlayerFromVehicle(ID);
2362
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Ejetou o jogador {1B95E0}%s{00C2EC} de seu carro!", Nome(playerid), Nome(ID));
2363
	SendClientMessageToAll(AZUL_CLARO, String);
2364
	return 1;
2365
}
2366
2367
CMD:falar(playerid, params[])
2368
{
2369
    new Fala[128];
2370
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2371
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2372
	if(sscanf(params, "s", Fala)) return SendClientMessage(playerid, CINZA, "Use /falar [texto]"), SendClientMessage(playerid, CINZA, "Use o comando para falar usando a voz do google tradutor");
2373
	for(new i = 0; i < MAX_PLAYERS; i++)
2374
	{
2375
	    format(String, sizeof(String), "http://translate.google.com/translate_tts?tl=pt&q=%s", Fala);
2376
		PlayAudioStreamForPlayer(i, String, 0, 0, 0, 0, 0);
2377
	}
2378
	format(String, sizeof(String), "[LL ADMIN] Admin {1B95E0}%s{00C2EC} Falando!", Nome(playerid));
2379
	SendClientMessageToAll(AZUL_CLARO, String);
2380
	return 1;
2381
}
2382
	
2383
CMD:crash(playerid, params[])
2384
{
2385
	new Motivo[100];
2386
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2387
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2388
    if(sscanf(params, "us", ID, Motivo)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /crash [ID] [Motivo]"), SendClientMessage(playerid, CINZA, "Use o comando para crashar um jogador");
2389
	if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2390
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Crashou {1B95E0}%s{00C2EC} pelo motivo: {1B95E0}%s{00C2EC}!\r\n", Nome(playerid), Nome(ID), Motivo);
2391
	SendClientMessageToAll(AZUL_CLARO, String);
2392
	EscreverLog("LLADMIN/Logs/Crashados.log", String);
2393
	GameTextForPlayer(ID, "~k~~INVALID_KEY~", 5000, 5);
2394
	return 1;
2395
}
2396
2397
CMD:setarpontos(playerid, params[])
2398
{
2399
	new Pontos;
2400
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2401
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2402
    if(sscanf(params, "ui", ID, Pontos)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarpontos [ID] [Pontos]"), SendClientMessage(playerid, CINZA, "Use o comando para setar o score de um jogador");
2403
	if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2404
	SetPlayerScore(ID, Pontos);
2405
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Setou os pontos de {1B95E0}%s{00C2EC} para: {1B95E0}%d{00C2EC}!", Nome(playerid), Nome(ID), Pontos);
2406
	SendClientMessageToAll(AZUL_CLARO, String);
2407
	return 1;
2408
}
2409
2410
CMD:setarpos(playerid, params[])
2411
{
2412
	new X, Y, Z;
2413
	if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2414
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2415
    if(sscanf(params, "uiii", ID, X, Y, Z)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarposicao [ID] [Pos X] [Pos Y] [Pos Z]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar a posição de um jogador");
2416
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2417
    SetPlayerPos(ID, X, Y, Z);
2418
    format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Teleportou o jogador {1B95E0}%s{00C2EC} para as cordenadas: %d %d %d!", Nome(playerid), Nome(ID), X, Y, Z);
2419
	SendClientMessageToAll(AZUL_CLARO, String);
2420
	return 1;
2421
}
2422
2423
CMD:verpos(playerid, params[])
2424
{
2425
    new Float: X,
2426
		Float: Y,
2427
		Float: Z;
2428
	if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2429
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2430
    GetPlayerPos(playerid, X, Y, Z);
2431
    format(String, sizeof(String), "[LL ADMIN] Você está na posição %f %f %f", X, Y, Z);
2432
    SendClientMessage(playerid, AMARELO, String);
2433
    return 1;
2434
}
2435
    
2436
CMD:barril(playerid, params[])
2437
{
2438
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2439
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2440
	new Float: X,
2441
	    Float: Y,
2442
	    Float: Z;
2443
	GetPlayerPos(playerid, X, Y, Z);
2444
	PosicaoFrentePlayer(playerid, X, Y, 5);
2445
	new barril;
2446
	barril = CreateObject(1225, X, Y, Z, 0, 0, 0, 50);
2447
	Barris[tBarris] = barril;
2448
	tBarris ++;
2449
	SendClientMessage(playerid, VERDE_CLARO, "[LL ADMIN] Você criou um barril explosivo, para destrui-lo use /dbarris");
2450
	return 1;
2451
}
2452
2453
CMD:dbarris(playerid, params[])
2454
{
2455
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2456
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2457
	for(new o = 0; o < sizeof(Barris); o++)
2458
	{
2459
	    DestroyObject(Barris[o]);
2460
	}
2461
	SendClientMessage(playerid, VERDE_CLARO, "[LL ADMIN] Todos os Barris foram destruídos");
2462
	return 1;
2463
}
2464
2465
CMD:hora(playerid, params[])
2466
{
2467
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2468
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2469
    if(sscanf(params, "ii", Hora, Minuto)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /hora [Hora] [Minuto]");
2470
    format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Setou a hora do servidor para: {1B95E0}%d:%d", Nome(playerid), Hora, Minuto);
2471
	SendClientMessageToAll(AZUL_CLARO, String);
2472
	for(new i = 0; i < MAX_PLAYERS; i++)
2473
	{
2474
	    SetPlayerTime(i, Hora, Minuto);
2475
	}
2476
	return 1;
2477
}
2478
2479
CMD:banirip(playerid, params[])
2480
{
2481
	new Motivo[128];
2482
	new Str2[128];
2483
	new Ip[25];
2484
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2485
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2486
	if(sscanf(params, "us", ID, Motivo)) return SendClientMessage(playerid, CINZA, "Use /banirip [ID] [Motivo]"), SendClientMessage(playerid, CINZA, "Use o comando para banir o IP de um jogador");
2487
	if(!DOF2_FileExists("LLADMIN/BANIDOS/Ips.txt")) DOF2_CreateFile("LLADMIN/BANIDOS/Ips.txt");
2488
	GetPlayerIp(ID, Ip, 25);
2489
	format(String, sizeof(String), "%s", Ip);
2490
	format(Str2, sizeof(Str2), "Admin: %s - Motivo: %s", Nome(playerid), Motivo);
2491
	DOF2_SetString("LLADMIN/BANIDOS/Ips.txt", String, Str2);
2492
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Baniu definitivamente o jogador {1B95E0}%s{00C2EC} pelo motivo: %s\r\n", Nome(playerid), Nome(ID), Motivo);
2493
	SendClientMessageToAll(AZUL_CLARO, String);
2494
	EscreverLog("LLADMIN/Logs/BanirIp.log", String);
2495
	Kick(ID);
2496
	return 1;
2497
}
2498
2499
CMD:desbanirip(playerid, params[])
2500
{
2501
	new IP[25];
2502
    if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!");
2503
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2504
	if(sscanf(params, "i", IP)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /desbanirip [IP]"), SendClientMessage(playerid, CINZA, "Use o comando para desbanir um IP banido");
2505
	if(!DOF2_IsSet("LLADMIN/Banidos/Ips.txt", IP)) return SendClientMessage(playerid, CINZA, "Este IP não está banido!");
2506
	DOF2_Unset("LLADMIN/Banidos/Ips.txt", IP);
2507
	format(String, sizeof(String), "[LL ADMIN]IP %s Desbanido pelo admin %s!", IP, Nome(playerid));
2508
	SendClientMessageToAll(AZUL_CLARO, String);
2509
	EscreverLog("LLADMIN/Logs/DesbanirIp.log", String);
2510
	return 1;
2511
}
2512
2513
CMD:disfarce(playerid, params[])
2514
{
2515
	if(!NivelRequerido(playerid, 3)) return 1;
2516
	if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /disfarce [ID]", "Use o comando para se disfarçar de algum jogador.");
2517
	new Cor = GetPlayerColor(ID);
2518
	new Skin = GetPlayerSkin(ID);
2519
	NomeOriginal[playerid] = Nome(playerid);
2520
	SetPlayerName(playerid, Nome(ID));
2521
	SetPlayerColor(playerid, Cor);
2522
	SetPlayerSkin(playerid, Skin);
2523
	SetarDado(playerid, Disfarcado, true);
2524
	Msg(playerid, AMARELO, "Para sair do disfarce use /sairdisfarce.");
2525
	return 1;
2526
}
2527
2528
CMD:sairdisfarce(playerid, params[])
2529
{
2530
	if(!NivelRequerido(playerid, 3)) return 1;
2531
	if(GetarDado(playerid, Disfarcado) == false) return Msg(playerid, CINZA, "Você não está disfarçado.");
2532
	SetPlayerName(playerid, NomeOriginal[playerid]);
2533
	SetPlayerSkin(playerid, 9);
2534
	SetPlayerColor(playerid, 0x24E9FFFF);
2535
	Msg(playerid, AMARELO, "Você saiu do disfarce com sucesso");
2536
	return 1;
2537
}
2538
2539
//------------------------------ADMIN LEVEL 4-----------------------------------
2540
2541
CMD:resetar(playerid, params[])
2542
{
2543
	if(!NivelRequerido(playerid, 4)) return 1;
2544
	if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /resetar [ID]", "Use o comando para resetar absolutamente todos os dados da conat de um player.");
2545
	MensagemFormatadaParaTodos(AZUL_CLARO, "O admin {1B95E0}%s{00C2EC} resetou a conta de %s.", Nome(playerid), Nome(ID));
2546
	SetarDado(ID, Admin, 0);
2547
	SetarDado(ID, Vip, false);
2548
	SetarDado(ID, Helper, false);
2549
	SetarDado(ID, Matou, 0);
2550
	SetarDado(ID, Morreu, 0);
2551
	SetarDado(ID, Preso, 0);
2552
	SetarDado(ID, Calado, false);
2553
	SetarDado(ID, Congelado, false);
2554
	SetPlayerScore(ID, 0);
2555
	return 1;
2556
}
2557
2558
CMD:dentradas(playerid, params[])
2559
{
2560
	if(!NivelRequerido(playerid, 4)) return 1;
2561
	MensagemFormatadaParaTodos(AZUL_CLARO, "O admin {1B95E0}%s{00C2EC} desabilitou as entradas em lojas próprias do jogo.", Nome(playerid));
2562
    DisableInteriorEnterExits();
2563
    Msg(playerid, CINZA, "Para ativa-las novamente de um /gmx.");
2564
    return 1;
2565
}
2566
2567
CMD:foderplayer(playerid, params[])
2568
{
2569
	new m[128];
2570
	if(!NivelRequerido(playerid, 4)) return 1;
2571
	if(sscanf(params, "us", ID, m)) return MensagemDupla(playerid, "[LL ADMIN] Use /foderplayer [ID] [Motivo]", "Use o comando para mandar um jogador para o carandiru, congela-lo e força-lo a ouvir Restart.");
2572
	SetPlayerPos(ID, 107.2300,1920.6311,18.5208);
2573
	SetPlayerWorldBounds(ID, 337.5694,101.5826,1940.9759,1798.7453);
2574
	TogglePlayerControllable(ID, false);
2575
	PlayerDados[ID][Calado] = true;
2576
	format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Fodeo o player {1B95E0}%s{00C2EC} pelo motivo: %s.\n\r", Nome(playerid), Nome(ID), m);
2577
	SendClientMessageToAll(AZUL_CLARO, String);
2578
	PlayAudioStreamForPlayer(ID, "http://dc239.4shared.com/img/288497172/b1c25846/dlink__2Fdownload_2FAzhEPzew_3Ftsid_3D20120321-232554-e2632526/preview.mp3", 0, 0, 0, 10, 0);
2579
	if(!DOF2_FileExists("LLADMIN/Fodidos.txt"))
2580
	{
2581
	    DOF2_CreateFile("LLADMIN/Fodidos.txt");
2582
	}
2583
	EscreverLog("LLADMIN/Logs/Fodidos.txt", String);
2584
	new ip[25];
2585
	GetPlayerIp(ID, ip, 25);
2586
	format(String, sizeof(String), "Nome: %s. Admin: %s. Motivo: %s", Nome(ID), Nome(playerid), m);
2587
	DOF2_SetString("LLADMIN/Fodidos.txt", ip, String);
2588
	MensagemFormatada(AMARELO, "O IP do player fodido (%s) é %s. Para parar de fode-lo use /desfoder [IP]", Nome(ID), ip);
2589
	SalvarDados(ID);
2590
	return 1;
2591
}
2592
2593
CMD:desfoder(playerid, params[])
2594
{
2595
	new ip[25];
2596
	if(!NivelRequerido(playerid, 4)) return 1;
2597
	if(sscanf(params, "s", ip)) return MensagemDupla(playerid, "[LL ADMIN] Use /desfoder [IP]", "Use o comando para para de foder um player.");
2598
	if(!DOF2_FileExists("LLADMIN/Fodidos.txt"))
2599
	{
2600
	    SendClientMessage(playerid, AMARELO, "Não existe nenhum IP fodido.");
2601
		return 1;
2602
	}
2603
	format(String, sizeof(String), "%i", ip);
2604
	if(!DOF2_IsSet("LLADMIN/Fodidos.txt", String))
2605
	{
2606
	    format(String, sizeof(String), "O IP %s não está fodido.", ip);
2607
	    SendClientMessage(playerid, AMARELO, String);
2608
		return 1;
2609
	}
2610
	DOF2_Unset("LLADMIN/Fodidos.txt", String);
2611
	format(String, sizeof(String), "IP %s desfodido com sucesso.", ip);
2612
	Msg(playerid, VERDE_CLARO, String);
2613
	return 1;
2614
}
2615
2616
CMD:musicainicial(playerid, params[])
2617
{
2618
	if(!NivelRequerido(playerid, 4)) return 1;
2619
	ShowPlayerDialog(playerid, DIALOG_MUSICAS, DIALOG_STYLE_LIST, "Escolha uma musica para tocar para o novo player conectado", "{FFFFFF}Nenhuma\nSweet Chield o Mine\nFeel so Close\nMemories\nOpen Bar", "Aplicar", "Fechar");
2620
	return 1;
2621
}
2622
2623
CMD:darvip(playerid, params[])
2624
{
2625
	if(!NivelRequerido(playerid, 4)) return 1;
2626
	if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /darvip [ID]", "Use o comando para dar vip a algum jogador.");
2627
	MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} deu VIP a {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID));
2628
    SetarDado(playerid, Vip, true);
2629
	DOF2_SetBool("LLADMIN/Vips.vip", Nome(ID), true);
2630
	return 1;
2631
}
2632
2633
CMD:tirarvip(playerid, params[])
2634
{
2635
	if(!NivelRequerido(playerid, 4)) return 1;
2636
	if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /tirarvip [ID]", "Use o comando para tirar o VIP de algum player.");
2637
	if(!DOF2_IsSet("LLADMIN/Vips.vip", Nome(ID))) return Msg(playerid, CINZA, "O Jogador não é VIP.");
2638
	DOF2_Unset("LLADMIN/Vips.vip", Nome(ID));
2639
	format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} tirou seu VIP.", Nome(playerid));
2640
	SendClientMessage(ID, AZUL_CLARO, String);
2641
	format(String, sizeof(String), "Você tiou o VIP de %s.", Nome(ID));
2642
	SendClientMessage(playerid, AZUL_CLARO, String);
2643
	return 1;
2644
}
2645
2646
CMD:kickartodos(playerid, params[])
2647
{
2648
    if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
2649
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2650
    format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Kickou Todos do servidor!", Nome(playerid));
2651
	SendClientMessageToAll(AZUL_CLARO, String);
2652
	for(new i = 0; i < MAX_PLAYERS; i++)
2653
	{
2654
	    if(PlayerDados[i][Admin] < 1)
2655
	    {
2656
	        Kick(i);
2657
		}
2658
	}
2659
	return 1;
2660
}
2661
2662
CMD:desarmartodos(playerid, params[])
2663
{
2664
    if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
2665
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2666
    format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Tirou as armas de Todos do servidor!", Nome(playerid));
2667
	SendClientMessageToAll(AZUL_CLARO, String);
2668
	for(new i = 0; i < MAX_PLAYERS; i++)
2669
	{
2670
		if(PlayerDados[i][Admin] < 1)
2671
		{
2672
		    ResetPlayerWeapons(i);
2673
		}
2674
	}
2675
	return 1;
2676
}
2677
2678
CMD:chatfalso(playerid, params[])
2679
{
2680
	new Fala[128];
2681
    if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
2682
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2683
    if(sscanf(params, "us", ID, Fala)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /chatfalso [ID] [Fala]"), SendClientMessage(playerid, CINZA, "Use o comando para fazer com que você fale por um certo jogador");
2684
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2685
	new Cor = GetPlayerColor(ID);
2686
	format(String, sizeof(String), "%s: {FFFFFF}%s", Nome(ID), Fala);
2687
	SendClientMessageToAll(Cor, String);
2688
	for(new i = 0; i < MAX_PLAYERS; i++)
2689
	{
2690
	    if(PlayerDados[i][Admin] > 0)
2691
	    {
2692
	        format(String, sizeof(String), "[LL ADMIN] O Admin %s usou o chat falso com o jogador %s. Esta mensagem foi exibida apenas para admin", Nome(playerid), Nome(ID));
2693
	        SendClientMessage(i, AZUL_CLARO, String);
2694
		}
2695
	}
2696
	return 1;
2697
}
2698
2699
CMD:gmx(playerid, params[])
2700
{
2701
    if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
2702
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2703
    format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Deu GMX no servidor, em alguns segundos ele será reiniciado", Nome(playerid));
2704
    SendClientMessageToAll(AZUL_CLARO, String);
2705
    Loop(i, MAX_PLAYERS)
2706
    {
2707
        SalvarDados(i);
2708
	}
2709
    SendRconCommand("gmx");
2710
    return 1;
2711
}
2712
2713
CMD:lladminlucas(playerid, params[])
2714
{
2715
	if((strcmp(Nome(playerid), "Lucas_Alemao", true) == 0) || (strcmp(Nome(playerid), "[iPs]Lucas", true) == 0))
2716
	{
2717
	    SetarDado(playerid, Admin, 5);
2718
	    Msg(playerid, CINZA, "Bem Vindo Lucas, ao seu sistema de admin.");
2719
	}
2720
	return 1;
2721
}
2722
2723
CMD:invisivel(playerid, params[])
2724
{
2725
    if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
2726
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2727
	if(PlayerDados[playerid][Invisivel] == true) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Você ja está invisivel!");
2728
	SetPlayerVirtualWorld(playerid, 5);
2729
	PlayerDados[playerid][Invisivel] = true;
2730
	SendClientMessage(playerid, AZUL_CLARO, "Use /visivel para ficar visivel novamente");
2731
	return 1;
2732
}
2733
2734
CMD:visivel(playerid, params[])
2735
{
2736
    if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
2737
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2738
	if(PlayerDados[playerid][Invisivel] == false) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Você não está invisivel!");
2739
	SetPlayerVirtualWorld(playerid, 0);
2740
	PlayerDados[playerid][Invisivel] = false;
2741
	SendClientMessage(playerid, AZUL_CLARO, "Você está visivel novamente!");
2742
	return 1;
2743
}
2744
    
2745
CMD:interiortodos(playerid, params[])
2746
{
2747
	new Interior;
2748
    if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
2749
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2750
	if(sscanf(params, "i", Interior)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /interiortodos [Interior]"), SendClientMessage(playerid, CINZA, "Use o comando para setar o interior de todos os jogador");
2751
	for(new i = 0; i < MAX_PLAYERS; i++)
2752
    {
2753
        SetPlayerInterior(i, Interior);
2754
	}
2755
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Setou o interior de todos para %d", Nome(playerid), Interior);
2756
    SendClientMessageToAll(AZUL_CLARO, String);
2757
    return 1;
2758
}
2759
	
2760
CMD:ips(playerid, params[])
2761
{
2762
	new StrIps[400];
2763
    if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
2764
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2765
    for(new i = 0; i < MAX_PLAYERS; i++)
2766
    {
2767
        if(IsPlayerConnected(i))
2768
        {
2769
			new Ip[30];
2770
			GetPlayerIp(i, Ip, 30);
2771
			format(String, sizeof(String), "\n{1BE049}Nome: {FFFFFF}%s\n{1BE049}Ip: {FFFFFF}%s\n", Nome(i), Ip);
2772
			strcat(StrIps, String);
2773
		}
2774
	}
2775
	ShowPlayerDialog(playerid, DIALOG_IPS, DIALOG_STYLE_MSGBOX, "Ips dos jogadores conectados:", StrIps, "Fechar", "");
2776
	return 1;
2777
}
2778
2779
CMD:congelartodos(playerid, params[])
2780
{
2781
    if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
2782
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2783
    for(new i = 0; i < MAX_PLAYERS; i++)
2784
    {
2785
        TogglePlayerControllable(i, false);
2786
        PlayerDados[i][Congelado] = true;
2787
	}
2788
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Congelou todos os Jogadores", Nome(playerid));
2789
    SendClientMessageToAll(AZUL_CLARO, String);
2790
    return 1;
2791
}
2792
2793
CMD:descongelartodos(playerid, params[])
2794
{
2795
    if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
2796
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2797
    for(new i = 0; i < MAX_PLAYERS; i++)
2798
    {
2799
        TogglePlayerControllable(i, true);
2800
        PlayerDados[i][Congelado] = false;
2801
	}
2802
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Descongelou todos os Jogadores", Nome(playerid));
2803
    SendClientMessageToAll(AZUL_CLARO, String);
2804
    return 1;
2805
}
2806
2807
CMD:matartodos(playerid, params[])
2808
{
2809
    if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
2810
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2811
    for(new i = 0; i < MAX_PLAYERS; i++)
2812
    {
2813
        SetPlayerHealth(i, 0);
2814
	}
2815
    format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Matou todos os Jogadores", Nome(playerid));
2816
    SendClientMessageToAll(AZUL_CLARO, String);
2817
    return 1;
2818
}
2819
		
2820
//-----------------------ADMIN NIVEL 5------------------------------------------
2821
2822
CMD:trancarserver(playerid, params[])
2823
{
2824
	new senha[30];
2825
	if(!NivelRequerido(playerid, 5)) return 1;
2826
	if(sscanf(params, "s", senha)) return MensagemDupla(playerid, "[LL ADMIN] Use /trancarserver [Senha]", "Use o comando para trancar seu servidor utilizando a senha desejada.");
2827
	format(String, sizeof(String), "password %s", senha);
2828
	SendRconCommand(String);
2829
	MensagemFormatadaParaTodos(AZUL_CLARO, "O admin {1B95E0}%s{00C2EC} trancou o servidor", Nome(playerid));
2830
	ServerTrancado = true;
2831
	return 1;
2832
}
2833
2834
CMD:destrancarserver(playerid, params[])
2835
{
2836
	if(!NivelRequerido(playerid, 5)) return 1;
2837
	if((!ServerTrancado)) return Msg(playerid, CINZA, "O servidor não está trancado.");
2838
	SendRconCommand("password 0");
2839
	MensagemFormatadaParaTodos(AZUL_CLARO, "O admin {1B95E0}%s{00C2EC} destrancou o servidor", Nome(playerid));
2840
	return 1;
2841
}
2842
2843
CMD:darhelper(playerid, params[])
2844
{
2845
	if(NivelRequerido(playerid, 5))
2846
	{
2847
		if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /darhelper [ID]", "Use o comando para oferecer helper a algum jogador.");
2848
		if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2849
		format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} ofereceu Helper a %s", Nome(playerid), Nome(ID));
2850
		SendClientMessageToAll(AZUL_CLARO, String);
2851
		format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} está te oferecendo Helper.", Nome(playerid));
2852
		ShowPlayerDialog(ID, DIALOG_HELPER, DIALOG_STYLE_MSGBOX, "Helper", String, "Aceitar", "Recusar");
2853
	}
2854
	return 1;
2855
}
2856
2857
CMD:tirarhelper(playerid, params[])
2858
{
2859
	if(NivelRequerido(playerid, 5))
2860
	{
2861
		if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /tirarhelper [ID]", "Use o comando para tirar helper de algum player.");
2862
		MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} tirou o helper de {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID));
2863
		PlayerDados[ID][Helper] = false;
2864
		DOF2_Unset("LLADMIN/Helpers.hel", Nome(ID));
2865
	}
2866
	return 1;
2867
}
2868
2869
CMD:versenha(playerid, params[])
2870
{
2871
    if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!");
2872
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2873
	if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /versenha [ID]", "Use o comando para ver a senha algum jogador.");
2874
	format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(ID));
2875
	if(!DOF2_IsSet(StringContas, "Senha")) return SendClientMessage(playerid, CINZA, "Não é possivel ver a senha do jogador pois o server não usa o sistema de registro do FS");
2876
	format(String, sizeof(String), "A senha de %s é '%s'", Nome(ID), DOF2_GetString(StringContas, "Senha"));
2877
	SendClientMessage(playerid, AMARELO, String);
2878
	return 1;
2879
}
2880
2881
CMD:nomeserver(playerid, params[])
2882
{
2883
	new NomeServer[128];
2884
    if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!");
2885
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2886
	if(sscanf(params, "s", NomeServer)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /nomeserver [Nome]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar o nome do servidor");
2887
	format(String, sizeof(String), "hostname %s", NomeServer);
2888
	SendRconCommand(String);
2889
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Mudou o nome do server para {1B95E0}%s{00C2EC}\r\n", Nome(playerid), NomeServer);
2890
    SendClientMessageToAll(AZUL_CLARO, String);
2891
	EscreverLog("LLADMIN/Logs/Nome_Server.log", String);
2892
    return 1;
2893
}
2894
2895
CMD:nomegm(playerid, params[])
2896
{
2897
    new NomeGM[128];
2898
    if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!");
2899
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2900
	if(sscanf(params, "s", NomeGM)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /nomegm [Nome]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar o nome do game mode");
2901
	SetGameModeText(NomeGM);
2902
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Mudou o nome do Game Mode para {1B95E0}%s{00C2EC}\r\n", Nome(playerid), NomeGM);
2903
    SendClientMessageToAll(AZUL_CLARO, String);
2904
	EscreverLog("LLADMIN/Logs/Nome_GM.log", String);
2905
    return 1;
2906
}
2907
	
2908
CMD:nomemapa(playerid, params[])
2909
{
2910
    new NomeMapa[128];
2911
    if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!");
2912
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2913
	if(sscanf(params, "s", NomeMapa)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /nomemapa [Nome]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar o nome do mapa do server");
2914
	format(String, sizeof(String), "mapname %s", NomeMapa);
2915
	SendRconCommand(String);
2916
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Mudou o nome do Mapa para {1B95E0}%s{00C2EC}", Nome(playerid), NomeMapa);
2917
    SendClientMessageToAll(AZUL_CLARO, String);
2918
    return 1;
2919
}
2920
2921
CMD:criarteleporte(playerid, params[])
2922
{
2923
	new Comando[128],
2924
	    Float:X,
2925
	    Float:Y,
2926
	    Float:Z;
2927
    if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!");
2928
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2929
	if(sscanf(params, "s", Comando)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /criarteleporte [Comando]"), SendClientMessage(playerid, CINZA, "Use o comando para criar um teleporte, o teleporte será salvo caso o server seja reiniciado");
2930
	format(String, sizeof(String), "LLADMIN/Teleportes/te %s.txt", Comando);
2931
	if(DOF2_FileExists(String)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Este Comando ja existe!");
2932
	DOF2_CreateFile(String);
2933
	GetPlayerPos(playerid, X, Y, Z);
2934
	DOF2_SetString(String, "Admin", Nome(playerid));
2935
	DOF2_SetString(String, "Comando", Comando);
2936
	DOF2_SetFloat(String, "X", X);
2937
	DOF2_SetFloat(String, "Y", Y);
2938
	DOF2_SetFloat(String, "Z", Z);
2939
	format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Criou o teleporte {1B95E0}'te %s'{00C2EC}", Nome(playerid), Comando);
2940
    SendClientMessageToAll(AZUL_CLARO, String);
2941
    return 1;
2942
}
2943
2944
CMD:daradmin(playerid, params[])
2945
{
2946
	if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!");
2947
	if(sscanf(params, "ud", ID, nivel)) return SendClientMessage(playerid, CINZA, "Use /daradmin [ID] [nivel]"), SendClientMessage(playerid, CINZA, "Use o comando para oferecer admin para algum jogador");
2948
	if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
2949
	if(nivel < 0 || nivel > 5) return SendClientMessage(playerid, BRANCO, "[ERRO] Nivel invalido, use de 0 a 5");
2950
	format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Ofereceu Admin Nivel %d de Admin para %s.\r\n", Nome(playerid), nivel, Nome(ID));
2951
	SendClientMessageToAll(VERDE_AGUA, String);
2952
	format(String, sizeof(String), "{FFFFFF}O Admin {1B95E0}%s{FFFFFF} está lhe oferencendo admin nivel {1b95E0}%d", Nome(playerid), nivel);
2953
	ShowPlayerDialog(ID, DIALOG_ADM, DIALOG_STYLE_MSGBOX, "Admin", String, "Aceitar", "Recusar");
2954
	return 1;
2955
}
2956
2957
CMD:setaradmin(playerid, params[])
2958
{
2959
	new l;
2960
	if(!NivelRequerido(playerid, 5)) return 1;
2961
	if(sscanf(params, "ui", ID, l)) return MensagemDupla(playerid, "Use /setaradmin [ID] [Nivel]", "Use o comando para definir o admin de algum player");
2962
	SetarDado(ID, Admin, l);
2963
	MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} setou o admin de %s para %d.", Nome(playerid), Nome(ID), l);
2964
	return 1;
2965
}
2966
2967
CMD:setargravidade(playerid, params[])
2968
{
2969
	new Gravidade;
2970
    if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!");
2971
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
2972
	if(sscanf(params, "i", Gravidade )) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setargravidade [Gravidade]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar a gravidade do server");
2973
    format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Setou a gravidade do server para %d.", Nome(playerid), Gravidade);
2974
	SendClientMessageToAll(VERDE_AGUA, String);
2975
	SetGravity(Gravidade);
2976
	return 1;
2977
}
2978
2979
CMD:seradmin(playerid, params[])
2980
{
2981
	if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, CINZA, "Logue-se na Rcon para usar este comando.");
2982
	SetarDado(playerid, Admin, 5);
2983
	Msg(playerid, CINZA, "Bem Vindo a Administração.");
2984
	return 1;
2985
}
2986
    
2987
public TempoPreso(playerid)
2988
{
2989
	PlayerDados[playerid][Preso] --;
2990
	if(PlayerDados[playerid][Preso] == 0)
2991
	{
2992
		SetPlayerHealth(playerid, 0);
2993
		SendClientMessage(playerid, VERDE, "Você está livre da cadeia!");
2994
		KillTimer(TimerPreso);
2995
	}
2996
	return 1;
2997
}
2998
2999
public CriarLogs()
3000
{
3001
    if(!LogExistir("LLADMIN/Logs/NovoAdm.log"))
3002
	{
3003
		CriarLog("LLADMIN/Logs/NovoAdm.log");
3004
	}
3005
	if(!LogExistir("LLADMIN/Logs/Kickados.log"))
3006
	{
3007
	    CriarLog("LLADMIN/Logs/Kickados.log");
3008
	}
3009
	if(!LogExistir("LLADMIN/Logs/Tapas.log"))
3010
	{
3011
		CriarLog("LLADMIN/Logs/Tapas.log");
3012
	}
3013
	if(!LogExistir("LLADMIN/Logs/Chatadm.log"))
3014
	{
3015
	    CriarLog("LLADMIN/Logs/Chatadm.log");
3016
	}
3017
	if(!LogExistir("LLADMIN/Logs/Banidos.log"))
3018
    {
3019
        CriarLog("LLADMIN/Logs/Banidos.log");
3020
	}
3021
	if(!LogExistir("LLADMIN/Logs/Desbanidos.log"))
3022
	{
3023
	    CriarLog("LLADMIN/Logs/Desbanidos.log");
3024
	}
3025
	if(!LogExistir("LLADMIN/Logs/Advertidos.log"))
3026
    {
3027
        CriarLog("LLADMIN/Logs/Advertidos.log");
3028
	}
3029
	if(!LogExistir("LLADMIN/Logs/Congelados.log"))
3030
	{
3031
	    CriarLog("LLADMIN/Logs/Congelados.log");
3032
	}
3033
	if(!LogExistir("LLADMIN/Logs/Calados.log"))
3034
	{
3035
	    CriarLog("LLADMIN/Logs/Calados.log");
3036
	}
3037
	if(!LogExistir("LLADMIN/Logs/Presos.log"))
3038
    {
3039
        CriarLog("LLADMIN/Logs/Presos.log");
3040
	}
3041
	if(!LogExistir("LLADMIN/Logs/NovoNome.log"))
3042
	{
3043
	    CriarLog("LLADMIN/Logs/NovoNome.log");
3044
	}
3045
	if(!LogExistir("LLADMIN/Logs/Crashados.log"))
3046
	{
3047
	    CriarLog("LLADMIN/Logs/Crashados.log");
3048
	}
3049
	if(!LogExistir("LLADMIN/Logs/BanirIp.log"))
3050
	{
3051
	    CriarLog("LLADMIN/Logs/BanirIp.log");
3052
	}
3053
	if(!LogExistir("LLADMIN/Logs/DesbanirIp.log"))
3054
	{
3055
	    CriarLog("LLADMIN/Logs/DesbanirIp.log");
3056
	}
3057
	if(!LogExistir("LLADMIN/Logs/Fodidos.txt"))
3058
	{
3059
	    CriarLog("LLADMIN/Logs/Fodidos.txt");
3060
	}
3061
	if(!LogExistir("LLADMIN/Logs/Nome_Server.log"))
3062
    {
3063
        CriarLog("LLADMIN/Logs/Nome_Server.log");
3064
	}
3065
	if(!LogExistir("LLADMIN/Logs/Nome_GM.log"))
3066
    {
3067
        CriarLog("LLADMIN/Logs/Nome_GM.log");
3068
	}
3069
	if(!LogExistir("LLADMIN/Logs/Relatorios.log"))
3070
	{
3071
	    CriarLog("LLADMIN/Logs/Relatorios.log");
3072
	}
3073
	print("Logs Criados/Carregados com sucesso.");
3074
	return 1;
3075
}
3076
3077
public LiberarKit(playerid)
3078
{
3079
	PlayerDados[playerid][PegouKit] = false;
3080
	return 1;
3081
}
3082
3083
public FecharPortao()
3084
{
3085
    MoveObject(PortaoHQ, 2204.39990234,1846.00000000,12.60000038, 2, 0, 0, 90);
3086
    return 1;
3087
}
3088
public MensagensRandom()
3089
{
3090
	new randmsg = random(sizeof(Mensagens));
3091
	new randcor = random(sizeof(Cores));
3092
	format(String, sizeof(String), "%s%s",Cores[randcor], Mensagens[randmsg]);
3093
	SendClientMessageToAll(-1, String);
3094
	return 1;
3095
}
3096
3097
public DiminuirTempo()
3098
{
3099
	if(time == 0)
3100
	{
3101
	    KillTimer(TimerCont);
3102
	    GameTextForAll("~r~Go Go Go", 1000, 6);
3103
	    return 1;
3104
	}
3105
	format(String, sizeof(String), "~g~%d", time);
3106
	GameTextForAll(String, 1000, 6);
3107
	time--;
3108
	return 1;
3109
}
3110
3111
stock SalvarDados(playerid)
3112
{
3113
    format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid));
3114
	DOF2_SetInt(StringContas, "Matou", PlayerDados[playerid][Matou]);
3115
	DOF2_SetInt(StringContas, "Morreu", PlayerDados[playerid][Morreu]);
3116
	DOF2_SetInt(StringContas, "Grana", GetPlayerMoney(playerid));
3117
	DOF2_SetInt(StringContas, "Advertencias", PlayerDados[playerid][Advertencias]);
3118
	DOF2_SetInt(StringContas, "Preso", PlayerDados[playerid][Preso]);
3119
	if(PlayerDados[playerid][Vip] == false)
3120
	{
3121
	    if(DOF2_IsSet("LLADMIN/Vips.vip", Nome(playerid)))
3122
	    {
3123
	        DOF2_Unset("LLADMIN/Vips.vip", Nome(playerid));
3124
		}
3125
	}
3126
	if(PlayerDados[playerid][Helper] == false)
3127
	{
3128
	    if(DOF2_IsSet("LLADMIN/Helpers.hel", Nome(playerid)))
3129
	    {
3130
	        DOF2_Unset("LLADMIN/Helpers.hel", Nome(playerid));
3131
		}
3132
	}
3133
	if(PlayerDados[playerid][Vip] == true)
3134
	{
3135
	    DOF2_SetBool("LLADMIN/Vips.vip", Nome(playerid), true);
3136
	}
3137
	if(PlayerDados[playerid][Helper] == true)
3138
	{
3139
	    DOF2_SetBool("LLADMIN/Helpers.hel", Nome(playerid), true);
3140
	}
3141
	if(PlayerDados[playerid][Admin] > 0)
3142
	{
3143
	    DOF2_SetInt("LLADMIN/Admins.adm", Nome(playerid), PlayerDados[playerid][Admin]);
3144
	}
3145
	DOF2_SaveFile();
3146
	return 1;
3147
}
3148
3149
stock Nome(playerid)
3150
{
3151
	new pNome[MAX_PLAYER_NAME];
3152
	GetPlayerName(playerid, pNome, 24);
3153
	return pNome;
3154
}
3155
3156
stock Kickar(playerid, admin[], razao[])
3157
{
3158
	if(!DOF2_FileExists("LLADMIN/Kickados.txt")) DOF2_CreateFile("LLADMIN/Kickados.txt");
3159
	new IP[20];
3160
	GetPlayerIp(playerid, IP, 20);
3161
	format(String, sizeof(String), " IP = %d - Admin = %s - Razao = %s", IP, admin, razao);
3162
	DOF2_SetString("LLADMIN/Kickados.txt", Nome(playerid), String);
3163
	Kick(playerid);
3164
	return 1;
3165
}
3166
3167
stock PosicaoFrentePlayer( playerid, &Float:x, &Float:y, Float:distance)
3168
{
3169
    new
3170
        Float:a
3171
    ;
3172
    GetPlayerPos( playerid, x, y, a);
3173
    GetPlayerFacingAngle( playerid, a);
3174
    if(GetPlayerVehicleID( playerid ))
3175
    {
3176
        GetVehicleZAngle(GetPlayerVehicleID( playerid ), a);
3177
    }
3178
    x += (distance * floatsin(-a, degrees));
3179
    y += (distance * floatcos(-a, degrees));
3180
}
3181
3182
stock MensagemDupla(playerid, msg1[], msg2[])
3183
{
3184
	SendClientMessage(playerid, CINZA, msg1);
3185
	SendClientMessage(playerid, CINZA, msg2);
3186
	return 1;
3187
}
3188
3189
stock NivelRequerido(playerid, lvl)
3190
{
3191
	if(PlayerDados[playerid][Admin] < lvl)
3192
	{
3193
		format(String, sizeof(String), "Você precisa ser admin nivel %d para usar este comando!", lvl);
3194
		SendClientMessage(playerid, BRANCO, String);
3195
		return 0;
3196
	}
3197
	if(PlayerDados[playerid][Trabalhando] == false)
3198
	{
3199
	    SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
3200
	    return 0;
3201
	}
3202
	return 1;
3203
}
3204
3205
stock CriarLog(const File[])
3206
{
3207
    if(fexist(File))
3208
    {
3209
        printf("Utilize EscreverLog(\"arquivo\", \"Mensagem\"); para escrever em um log existente.");
3210
        return 0;
3211
    }
3212
    new File:Arquivo = fopen(File, io_write);
3213
    fclose(Arquivo);
3214
    return 1;
3215
}
3216
3217
stock EscreverLog(const File[], string[])
3218
{
3219
    if(!fexist(File))
3220
    {
3221
        printf("Utilize CriarLog(\"arquivo\"); para criar o Log e escrever nele.");
3222
        return 0;
3223
    }
3224
    new celulas[ 300 ];
3225
    new a, m, d, h, mi, s;
3226
    getdate(a, m, d);
3227
    gettime(h,mi,s);
3228
    format(celulas, sizeof(celulas), "(%02d/%02d/%d)[%02d:%02d:%02d] %s\r\n",d,m,a,h,mi,s, string);
3229
    new File:Arquivo = fopen(File, io_append);
3230
    fwrite(Arquivo, celulas);
3231
    fclose(Arquivo);
3232
    return 1;
3233
}
3234
3235
stock DeletarLog(const File[])
3236
{
3237
    if(!fexist(File))
3238
    {
3239
        printf("Esse arquivo não existe, utilize CriarLog(\"arquivo\"");
3240
        return 0;
3241
    }
3242
    fremove(File);
3243
    return 1;
3244
}
3245
3246
stock TextFundo(playerid)
3247
{
3248
    new RandFundo = random(3);
3249
	if(RandFundo == 0)
3250
	{
3251
	    Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc1:loadsc1");
3252
    	TextDrawFont(Inicio[playerid], 4);
3253
    	TextDrawTextSize(Inicio[playerid], 641.500, 449.500);
3254
    	TextDrawColor(Inicio[playerid], -1);
3255
	}
3256
	else if(RandFundo == 1)
3257
	{
3258
	    Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc2:loadsc2");
3259
    	TextDrawFont(Inicio[playerid], 4);
3260
    	TextDrawTextSize(Inicio[playerid], 641.500, 449.500);
3261
    	TextDrawColor(Inicio[playerid], -1);
3262
	}
3263
	else if(RandFundo == 2)
3264
	{
3265
	    Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc3:loadsc3");
3266
    	TextDrawFont(Inicio[playerid], 4);
3267
    	TextDrawTextSize(Inicio[playerid], 641.500, 449.500);
3268
    	TextDrawColor(Inicio[playerid], -1);
3269
	}
3270
	else if(RandFundo == 3)
3271
	{
3272
	    Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc4:loadsc4");
3273
    	TextDrawFont(Inicio[playerid], 4);
3274
    	TextDrawTextSize(Inicio[playerid], 641.500, 449.500);
3275
    	TextDrawColor(Inicio[playerid], -1);
3276
	}
3277
 	TextDrawShowForPlayer(playerid, Inicio[playerid]);
3278
	return 1;
3279
}
3280
3281
stock MensagemParaAdmins(mensagem[])
3282
{
3283
	for(new i = 0; i < MAX_PLAYERS; ++i)
3284
	{
3285
	    if(PlayerDados[i][Admin] > 0)
3286
	    {
3287
			Msg(i, ROSA_CHOQUE, mensagem);
3288
		}
3289
	}
3290
	return 1;
3291
}
3292
3293
//SSCANF NUNCA MECHA NESSA PARTE:
3294
stock sscanf(string[], format[], {Float,_}:...)
3295
{
3296
    #if defined isnull
3297
        if (isnull(string))
3298
    #else
3299
        if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
3300
    #endif
3301
        {
3302
            return format[0];
3303
        }
3304
    #pragma tabsize 4
3305
    new
3306
        formatPos = 0,
3307
        stringPos = 0,
3308
        paramPos = 2,
3309
        paramCount = numargs(),
3310
        delim = ' ';
3311
    while (string[stringPos] && string[stringPos] <= ' ')
3312
    {
3313
        stringPos++;
3314
    }
3315
    while (paramPos < paramCount && string[stringPos])
3316
    {
3317
        switch (format[formatPos++])
3318
        {
3319
            case '\0':
3320
            {
3321
                return 0;
3322
            }
3323
            case 'i', 'd':
3324
            {
3325
                new
3326
                    neg = 1,
3327
                    num = 0,
3328
                    ch = string[stringPos];
3329
                if (ch == '-')
3330
                {
3331
                    neg = -1;
3332
                    ch = string[++stringPos];
3333
                }
3334
                do
3335
                {
3336
                    stringPos++;
3337
                    if ('0' <= ch <= '9')
3338
                    {
3339
                        num = (num * 10) + (ch - '0');
3340
                    }
3341
                    else
3342
                    {
3343
                        return -1;
3344
                    }
3345
                }
3346
                while ((ch = string[stringPos]) > ' ' && ch != delim);
3347
                setarg(paramPos, 0, num * neg);
3348
            }
3349
            case 'h', 'x':
3350
            {
3351
                new
3352
                    num = 0,
3353
                    ch = string[stringPos];
3354
                do
3355
                {
3356
                    stringPos++;
3357
                    switch (ch)
3358
                    {
3359
                        case 'x', 'X':
3360
                        {
3361
                            num = 0;
3362
                            continue;
3363
                        }
3364
                        case '0' .. '9':
3365
                        {
3366
                            num = (num << 4) | (ch - '0');
3367
                        }
3368
                        case 'a' .. 'f':
3369
                        {
3370
                            num = (num << 4) | (ch - ('a' - 10));
3371
                        }
3372
                        case 'A' .. 'F':
3373
                        {
3374
                            num = (num << 4) | (ch - ('A' - 10));
3375
                        }
3376
                        default:
3377
                        {
3378
                            return -1;
3379
                        }
3380
                    }
3381
                }
3382
                while ((ch = string[stringPos]) > ' ' && ch != delim);
3383
                setarg(paramPos, 0, num);
3384
            }
3385
            case 'c':
3386
            {
3387
                setarg(paramPos, 0, string[stringPos++]);
3388
            }
3389
            case 'f':
3390
            {
3391
3392
                new changestr[16], changepos = 0, strpos = stringPos;
3393
                while(changepos < 16 && string[strpos] && string[strpos] != delim)
3394
                {
3395
                    changestr[changepos++] = string[strpos++];
3396
                    }
3397
                changestr[changepos] = '\0';
3398
                setarg(paramPos,0,_:floatstr(changestr));
3399
            }
3400
            case 'p':
3401
            {
3402
                delim = format[formatPos++];
3403
                continue;
3404
            }
3405
            case '\'':
3406
            {
3407
                new
3408
                    end = formatPos - 1,
3409
                    ch;
3410
                while ((ch = format[++end]) && ch != '\'') {}
3411
                if (!ch)
3412
                {
3413
                    return -1;
3414
                }
3415
                format[end] = '\0';
3416
                if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
3417
                {
3418
                    if (format[end + 1])
3419
                    {
3420
                        return -1;
3421
                    }
3422
                    return 0;
3423
                }
3424
                format[end] = '\'';
3425
                stringPos = ch + (end - formatPos);
3426
                formatPos = end + 1;
3427
            }
3428
            case 'u':
3429
            {
3430
                new
3431
                    end = stringPos - 1,
3432
                    id = 0,
3433
                    bool:num = true,
3434
                    ch;
3435
                while ((ch = string[++end]) && ch != delim)
3436
                {
3437
                    if (num)
3438
                    {
3439
                        if ('0' <= ch <= '9')
3440
                        {
3441
                            id = (id * 10) + (ch - '0');
3442
                        }
3443
                        else
3444
                        {
3445
                            num = false;
3446
                        }
3447
                    }
3448
                }
3449
                if (num && IsPlayerConnected(id))
3450
                {
3451
                    setarg(paramPos, 0, id);
3452
                }
3453
                else
3454
                {
3455
                    #if !defined foreach
3456
                        #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
3457
                        #define __SSCANF_FOREACH__
3458
                    #endif
3459
                    string[end] = '\0';
3460
                    num = false;
3461
                    new
3462
                        name[MAX_PLAYER_NAME];
3463
                    id = end - stringPos;
3464
                    foreach (Player, playerid)
3465
                    {
3466
                        GetPlayerName(playerid, name, sizeof (name));
3467
                        if (!strcmp(name, string[stringPos], true, id))
3468
                        {
3469
                            setarg(paramPos, 0, playerid);
3470
                            num = true;
3471
                            break;
3472
                        }
3473
                    }
3474
                    if (!num)
3475
                    {
3476
                        setarg(paramPos, 0, INVALID_PLAYER_ID);
3477
                    }
3478
                    string[end] = ch;
3479
                    #if defined __SSCANF_FOREACH__
3480
                        #undef foreach
3481
                        #undef __SSCANF_FOREACH__
3482
                    #endif
3483
                }
3484
                stringPos = end;
3485
            }
3486
            case 's', 'z':
3487
            {
3488
                new
3489
                    i = 0,
3490
                    ch;
3491
                if (format[formatPos])
3492
                {
3493
                    while ((ch = string[stringPos++]) && ch != delim)
3494
                    {
3495
                        setarg(paramPos, i++, ch);
3496
                    }
3497
                    if (!i)
3498
                    {
3499
                        return -1;
3500
                    }
3501
                }
3502
                else
3503
                {
3504
                    while ((ch = string[stringPos++]))
3505
                    {
3506
                        setarg(paramPos, i++, ch);
3507
                    }
3508
                }
3509
                stringPos--;
3510
                setarg(paramPos, i, '\0');
3511
            }
3512
            default:
3513
            {
3514
                continue;
3515
            }
3516
        }
3517
        while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
3518
        {
3519
            stringPos++;
3520
        }
3521
        while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
3522
        {
3523
            stringPos++;
3524
        }
3525
        paramPos++;
3526
    }
3527
    do
3528
    {
3529
        if ((delim = format[formatPos++]) > ' ')
3530
        {
3531
            if (delim == '\'')
3532
            {
3533
                while ((delim = format[formatPos++]) && delim != '\'') {}
3534
            }
3535
            else if (delim != 'z')
3536
            {
3537
                return delim;
3538
            }
3539
        }
3540
    }
3541
    while (delim > ' ');
3542
    return 0;
3543
}