Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!

LL Admin V1.5.1 By Lucas_Alemao

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