Advertisement
Lucas_Alemao

LL Admin V1.5 By Lucas_Alemao

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