Advertisement
Lucas_Alemao

LL Admin V1.5.1 By Lucas_Alemao

Apr 1st, 2012
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 155.82 KB | None | 0 0
  1. /*
  2.  
  3.                                   FS LL-ADMIN
  4.                           BY LUCAS_ALEMAO (LUCAS LESSA)
  5.                          
  6.                                  ZCMD By ZeeX
  7.                               SSCANF By Y_Less
  8.                              
  9.                              
  10.                                 Agradecimentos:
  11.                                  Jim._.Carrey
  12.                              Los (funções de Log)
  13.                        [STR]Matrix (Idéias de comandos)
  14.                       Panico_ONCrew (Idéias de comandos)
  15.                                
  16.                             Não retire os Créditos!!
  17.                          
  18.                           Inicio do Script: 04/02/2012
  19.                            Final do Script: 11/02/2012
  20.  
  21.                         Versão 1.5.1
  22.                            
  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:invisivel(playerid, params[])
  2714. {
  2715.     if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
  2716.     if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
  2717.     if(PlayerDados[playerid][Invisivel] == true) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Você ja está invisivel!");
  2718.     SetPlayerVirtualWorld(playerid, 5);
  2719.     PlayerDados[playerid][Invisivel] = true;
  2720.     SendClientMessage(playerid, AZUL_CLARO, "Use /visivel para ficar visivel novamente");
  2721.     return 1;
  2722. }
  2723.  
  2724. CMD:visivel(playerid, params[])
  2725. {
  2726.     if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
  2727.     if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
  2728.     if(PlayerDados[playerid][Invisivel] == false) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Você não está invisivel!");
  2729.     SetPlayerVirtualWorld(playerid, 0);
  2730.     PlayerDados[playerid][Invisivel] = false;
  2731.     SendClientMessage(playerid, AZUL_CLARO, "Você está visivel novamente!");
  2732.     return 1;
  2733. }
  2734.    
  2735. CMD:interiortodos(playerid, params[])
  2736. {
  2737.     new Interior;
  2738.     if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
  2739.     if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
  2740.     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");
  2741.     for(new i = 0; i < MAX_PLAYERS; i++)
  2742.     {
  2743.         SetPlayerInterior(i, Interior);
  2744.     }
  2745.     format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Setou o interior de todos para %d", Nome(playerid), Interior);
  2746.     SendClientMessageToAll(AZUL_CLARO, String);
  2747.     return 1;
  2748. }
  2749.    
  2750. CMD:ips(playerid, params[])
  2751. {
  2752.     new StrIps[400];
  2753.     if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
  2754.     if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
  2755.     for(new i = 0; i < MAX_PLAYERS; i++)
  2756.     {
  2757.         if(IsPlayerConnected(i))
  2758.         {
  2759.             new Ip[30];
  2760.             GetPlayerIp(i, Ip, 30);
  2761.             format(String, sizeof(String), "\n{1BE049}Nome: {FFFFFF}%s\n{1BE049}Ip: {FFFFFF}%s\n", Nome(i), Ip);
  2762.             strcat(StrIps, String);
  2763.         }
  2764.     }
  2765.     ShowPlayerDialog(playerid, DIALOG_IPS, DIALOG_STYLE_MSGBOX, "Ips dos jogadores conectados:", StrIps, "Fechar", "");
  2766.     return 1;
  2767. }
  2768.  
  2769. CMD:congelartodos(playerid, params[])
  2770. {
  2771.     if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
  2772.     if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
  2773.     for(new i = 0; i < MAX_PLAYERS; i++)
  2774.     {
  2775.         TogglePlayerControllable(i, false);
  2776.         PlayerDados[i][Congelado] = true;
  2777.     }
  2778.     format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Congelou todos os Jogadores", Nome(playerid));
  2779.     SendClientMessageToAll(AZUL_CLARO, String);
  2780.     return 1;
  2781. }
  2782.  
  2783. CMD:descongelartodos(playerid, params[])
  2784. {
  2785.     if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
  2786.     if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
  2787.     for(new i = 0; i < MAX_PLAYERS; i++)
  2788.     {
  2789.         TogglePlayerControllable(i, true);
  2790.         PlayerDados[i][Congelado] = false;
  2791.     }
  2792.     format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Descongelou todos os Jogadores", Nome(playerid));
  2793.     SendClientMessageToAll(AZUL_CLARO, String);
  2794.     return 1;
  2795. }
  2796.  
  2797. CMD:matartodos(playerid, params[])
  2798. {
  2799.     if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!");
  2800.     if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
  2801.     for(new i = 0; i < MAX_PLAYERS; i++)
  2802.     {
  2803.         SetPlayerHealth(i, 0);
  2804.     }
  2805.     format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Matou todos os Jogadores", Nome(playerid));
  2806.     SendClientMessageToAll(AZUL_CLARO, String);
  2807.     return 1;
  2808. }
  2809.        
  2810. //-----------------------ADMIN NIVEL 5------------------------------------------
  2811.  
  2812. CMD:trancarserver(playerid, params[])
  2813. {
  2814.     new senha[30];
  2815.     if(!NivelRequerido(playerid, 5)) return 1;
  2816.     if(sscanf(params, "s", senha)) return MensagemDupla(playerid, "[LL ADMIN] Use /trancarserver [Senha]", "Use o comando para trancar seu servidor utilizando a senha desejada.");
  2817.     format(String, sizeof(String), "password %s", senha);
  2818.     SendRconCommand(String);
  2819.     MensagemFormatadaParaTodos(AZUL_CLARO, "O admin {1B95E0}%s{00C2EC} trancou o servidor", Nome(playerid));
  2820.     ServerTrancado = true;
  2821.     return 1;
  2822. }
  2823.  
  2824. CMD:destrancarserver(playerid, params[])
  2825. {
  2826.     if(!NivelRequerido(playerid, 5)) return 1;
  2827.     if((!ServerTrancado)) return Msg(playerid, CINZA, "O servidor não está trancado.");
  2828.     SendRconCommand("password 0");
  2829.     MensagemFormatadaParaTodos(AZUL_CLARO, "O admin {1B95E0}%s{00C2EC} destrancou o servidor", Nome(playerid));
  2830.     return 1;
  2831. }
  2832.  
  2833. CMD:darhelper(playerid, params[])
  2834. {
  2835.     if(NivelRequerido(playerid, 5))
  2836.     {
  2837.         if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /darhelper [ID]", "Use o comando para oferecer helper a algum jogador.");
  2838.         if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
  2839.         format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} ofereceu Helper a %s", Nome(playerid), Nome(ID));
  2840.         SendClientMessageToAll(AZUL_CLARO, String);
  2841.         format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} está te oferecendo Helper.", Nome(playerid));
  2842.         ShowPlayerDialog(ID, DIALOG_HELPER, DIALOG_STYLE_MSGBOX, "Helper", String, "Aceitar", "Recusar");
  2843.     }
  2844.     return 1;
  2845. }
  2846.  
  2847. CMD:tirarhelper(playerid, params[])
  2848. {
  2849.     if(NivelRequerido(playerid, 5))
  2850.     {
  2851.         if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /tirarhelper [ID]", "Use o comando para tirar helper de algum player.");
  2852.         MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} tirou o helper de {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID));
  2853.         PlayerDados[ID][Helper] = false;
  2854.         DOF2_Unset("LLADMIN/Helpers.hel", Nome(ID));
  2855.     }
  2856.     return 1;
  2857. }
  2858.  
  2859. CMD:versenha(playerid, params[])
  2860. {
  2861.     if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!");
  2862.     if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
  2863.     if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /versenha [ID]", "Use o comando para ver a senha algum jogador.");
  2864.     format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(ID));
  2865.     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");
  2866.     format(String, sizeof(String), "A senha de %s é '%s'", Nome(ID), DOF2_GetString(StringContas, "Senha"));
  2867.     SendClientMessage(playerid, AMARELO, String);
  2868.     return 1;
  2869. }
  2870.  
  2871. CMD:nomeserver(playerid, params[])
  2872. {
  2873.     new NomeServer[128];
  2874.     if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!");
  2875.     if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
  2876.     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");
  2877.     format(String, sizeof(String), "hostname %s", NomeServer);
  2878.     SendRconCommand(String);
  2879.     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);
  2880.     SendClientMessageToAll(AZUL_CLARO, String);
  2881.     EscreverLog("LLADMIN/Logs/Nome_Server.log", String);
  2882.     return 1;
  2883. }
  2884.  
  2885. CMD:nomegm(playerid, params[])
  2886. {
  2887.     new NomeGM[128];
  2888.     if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!");
  2889.     if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
  2890.     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");
  2891.     SetGameModeText(NomeGM);
  2892.     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);
  2893.     SendClientMessageToAll(AZUL_CLARO, String);
  2894.     EscreverLog("LLADMIN/Logs/Nome_GM.log", String);
  2895.     return 1;
  2896. }
  2897.    
  2898. CMD:nomemapa(playerid, params[])
  2899. {
  2900.     new NomeMapa[128];
  2901.     if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!");
  2902.     if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
  2903.     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");
  2904.     format(String, sizeof(String), "mapname %s", NomeMapa);
  2905.     SendRconCommand(String);
  2906.     format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Mudou o nome do Mapa para {1B95E0}%s{00C2EC}", Nome(playerid), NomeMapa);
  2907.     SendClientMessageToAll(AZUL_CLARO, String);
  2908.     return 1;
  2909. }
  2910.  
  2911. CMD:criarteleporte(playerid, params[])
  2912. {
  2913.     new Comando[128],
  2914.         Float:X,
  2915.         Float:Y,
  2916.         Float:Z;
  2917.     if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!");
  2918.     if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
  2919.     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");
  2920.     format(String, sizeof(String), "LLADMIN/Teleportes/te %s.txt", Comando);
  2921.     if(DOF2_FileExists(String)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Este Comando ja existe!");
  2922.     DOF2_CreateFile(String);
  2923.     GetPlayerPos(playerid, X, Y, Z);
  2924.     DOF2_SetString(String, "Admin", Nome(playerid));
  2925.     DOF2_SetString(String, "Comando", Comando);
  2926.     DOF2_SetFloat(String, "X", X);
  2927.     DOF2_SetFloat(String, "Y", Y);
  2928.     DOF2_SetFloat(String, "Z", Z);
  2929.     format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Criou o teleporte {1B95E0}'te %s'{00C2EC}", Nome(playerid), Comando);
  2930.     SendClientMessageToAll(AZUL_CLARO, String);
  2931.     return 1;
  2932. }
  2933.  
  2934. CMD:daradmin(playerid, params[])
  2935. {
  2936.     if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!");
  2937.     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");
  2938.     if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido");
  2939.     if(nivel < 0 || nivel > 5) return SendClientMessage(playerid, BRANCO, "[ERRO] Nivel invalido, use de 0 a 5");
  2940.     format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Ofereceu Admin Nivel %d de Admin para %s.\r\n", Nome(playerid), nivel, Nome(ID));
  2941.     SendClientMessageToAll(VERDE_AGUA, String);
  2942.     format(String, sizeof(String), "{FFFFFF}O Admin {1B95E0}%s{FFFFFF} está lhe oferencendo admin nivel {1b95E0}%d", Nome(playerid), nivel);
  2943.     ShowPlayerDialog(ID, DIALOG_ADM, DIALOG_STYLE_MSGBOX, "Admin", String, "Aceitar", "Recusar");
  2944.     return 1;
  2945. }
  2946.  
  2947. CMD:setaradmin(playerid, params[])
  2948. {
  2949.     new l;
  2950.     if(!NivelRequerido(playerid, 5)) return 1;
  2951.     if(sscanf(params, "ui", ID, l)) return MensagemDupla(playerid, "Use /setaradmin [ID] [Nivel]", "Use o comando para definir o admin de algum player");
  2952.     SetarDado(ID, Admin, l);
  2953.     MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} setou o admin de %s para %d.", Nome(playerid), Nome(ID), l);
  2954.     return 1;
  2955. }
  2956.  
  2957. CMD:setargravidade(playerid, params[])
  2958. {
  2959.     new Gravidade;
  2960.     if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!");
  2961.     if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
  2962.     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");
  2963.     format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Setou a gravidade do server para %d.", Nome(playerid), Gravidade);
  2964.     SendClientMessageToAll(VERDE_AGUA, String);
  2965.     SetGravity(Gravidade);
  2966.     return 1;
  2967. }
  2968.  
  2969. CMD:seradmin(playerid, params[])
  2970. {
  2971.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, CINZA, "Logue-se na Rcon para usar este comando.");
  2972.     SetarDado(playerid, Admin, 5);
  2973.     Msg(playerid, CINZA, "Bem Vindo a Administração.");
  2974.     return 1;
  2975. }
  2976.    
  2977. public TempoPreso(playerid)
  2978. {
  2979.     PlayerDados[playerid][Preso] --;
  2980.     if(PlayerDados[playerid][Preso] == 0)
  2981.     {
  2982.         SetPlayerHealth(playerid, 0);
  2983.         SendClientMessage(playerid, VERDE, "Você está livre da cadeia!");
  2984.         KillTimer(TimerPreso);
  2985.     }
  2986.     return 1;
  2987. }
  2988.  
  2989. public CriarLogs()
  2990. {
  2991.     if(!LogExistir("LLADMIN/Logs/NovoAdm.log"))
  2992.     {
  2993.         CriarLog("LLADMIN/Logs/NovoAdm.log");
  2994.     }
  2995.     if(!LogExistir("LLADMIN/Logs/Kickados.log"))
  2996.     {
  2997.         CriarLog("LLADMIN/Logs/Kickados.log");
  2998.     }
  2999.     if(!LogExistir("LLADMIN/Logs/Tapas.log"))
  3000.     {
  3001.         CriarLog("LLADMIN/Logs/Tapas.log");
  3002.     }
  3003.     if(!LogExistir("LLADMIN/Logs/Chatadm.log"))
  3004.     {
  3005.         CriarLog("LLADMIN/Logs/Chatadm.log");
  3006.     }
  3007.     if(!LogExistir("LLADMIN/Logs/Banidos.log"))
  3008.     {
  3009.         CriarLog("LLADMIN/Logs/Banidos.log");
  3010.     }
  3011.     if(!LogExistir("LLADMIN/Logs/Desbanidos.log"))
  3012.     {
  3013.         CriarLog("LLADMIN/Logs/Desbanidos.log");
  3014.     }
  3015.     if(!LogExistir("LLADMIN/Logs/Advertidos.log"))
  3016.     {
  3017.         CriarLog("LLADMIN/Logs/Advertidos.log");
  3018.     }
  3019.     if(!LogExistir("LLADMIN/Logs/Congelados.log"))
  3020.     {
  3021.         CriarLog("LLADMIN/Logs/Congelados.log");
  3022.     }
  3023.     if(!LogExistir("LLADMIN/Logs/Calados.log"))
  3024.     {
  3025.         CriarLog("LLADMIN/Logs/Calados.log");
  3026.     }
  3027.     if(!LogExistir("LLADMIN/Logs/Presos.log"))
  3028.     {
  3029.         CriarLog("LLADMIN/Logs/Presos.log");
  3030.     }
  3031.     if(!LogExistir("LLADMIN/Logs/NovoNome.log"))
  3032.     {
  3033.         CriarLog("LLADMIN/Logs/NovoNome.log");
  3034.     }
  3035.     if(!LogExistir("LLADMIN/Logs/Crashados.log"))
  3036.     {
  3037.         CriarLog("LLADMIN/Logs/Crashados.log");
  3038.     }
  3039.     if(!LogExistir("LLADMIN/Logs/BanirIp.log"))
  3040.     {
  3041.         CriarLog("LLADMIN/Logs/BanirIp.log");
  3042.     }
  3043.     if(!LogExistir("LLADMIN/Logs/DesbanirIp.log"))
  3044.     {
  3045.         CriarLog("LLADMIN/Logs/DesbanirIp.log");
  3046.     }
  3047.     if(!LogExistir("LLADMIN/Logs/Fodidos.txt"))
  3048.     {
  3049.         CriarLog("LLADMIN/Logs/Fodidos.txt");
  3050.     }
  3051.     if(!LogExistir("LLADMIN/Logs/Nome_Server.log"))
  3052.     {
  3053.         CriarLog("LLADMIN/Logs/Nome_Server.log");
  3054.     }
  3055.     if(!LogExistir("LLADMIN/Logs/Nome_GM.log"))
  3056.     {
  3057.         CriarLog("LLADMIN/Logs/Nome_GM.log");
  3058.     }
  3059.     if(!LogExistir("LLADMIN/Logs/Relatorios.log"))
  3060.     {
  3061.         CriarLog("LLADMIN/Logs/Relatorios.log");
  3062.     }
  3063.     print("Logs Criados/Carregados com sucesso.");
  3064.     return 1;
  3065. }
  3066.  
  3067. public LiberarKit(playerid)
  3068. {
  3069.     PlayerDados[playerid][PegouKit] = false;
  3070.     return 1;
  3071. }
  3072.  
  3073. public FecharPortao()
  3074. {
  3075.     MoveObject(PortaoHQ, 2204.39990234,1846.00000000,12.60000038, 2, 0, 0, 90);
  3076.     return 1;
  3077. }
  3078. public MensagensRandom()
  3079. {
  3080.     new randmsg = random(sizeof(Mensagens));
  3081.     new randcor = random(sizeof(Cores));
  3082.     format(String, sizeof(String), "%s%s",Cores[randcor], Mensagens[randmsg]);
  3083.     SendClientMessageToAll(-1, String);
  3084.     return 1;
  3085. }
  3086.  
  3087. public DiminuirTempo()
  3088. {
  3089.     if(time == 0)
  3090.     {
  3091.         KillTimer(TimerCont);
  3092.         GameTextForAll("~r~Go Go Go", 1000, 6);
  3093.         return 1;
  3094.     }
  3095.     format(String, sizeof(String), "~g~%d", time);
  3096.     GameTextForAll(String, 1000, 6);
  3097.     time--;
  3098.     return 1;
  3099. }
  3100.  
  3101. stock SalvarDados(playerid)
  3102. {
  3103.     format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid));
  3104.     DOF2_SetInt(StringContas, "Matou", PlayerDados[playerid][Matou]);
  3105.     DOF2_SetInt(StringContas, "Morreu", PlayerDados[playerid][Morreu]);
  3106.     DOF2_SetInt(StringContas, "Grana", GetPlayerMoney(playerid));
  3107.     DOF2_SetInt(StringContas, "Advertencias", PlayerDados[playerid][Advertencias]);
  3108.     DOF2_SetInt(StringContas, "Preso", PlayerDados[playerid][Preso]);
  3109.     if(PlayerDados[playerid][Vip] == false)
  3110.     {
  3111.         if(DOF2_IsSet("LLADMIN/Vips.vip", Nome(playerid)))
  3112.         {
  3113.             DOF2_Unset("LLADMIN/Vips.vip", Nome(playerid));
  3114.         }
  3115.     }
  3116.     if(PlayerDados[playerid][Helper] == false)
  3117.     {
  3118.         if(DOF2_IsSet("LLADMIN/Helpers.hel", Nome(playerid)))
  3119.         {
  3120.             DOF2_Unset("LLADMIN/Helpers.hel", Nome(playerid));
  3121.         }
  3122.     }
  3123.     if(PlayerDados[playerid][Vip] == true)
  3124.     {
  3125.         DOF2_SetBool("LLADMIN/Vips.vip", Nome(playerid), true);
  3126.     }
  3127.     if(PlayerDados[playerid][Helper] == true)
  3128.     {
  3129.         DOF2_SetBool("LLADMIN/Helpers.hel", Nome(playerid), true);
  3130.     }
  3131.     if(PlayerDados[playerid][Admin] > 0)
  3132.     {
  3133.         DOF2_SetInt("LLADMIN/Admins.adm", Nome(playerid), PlayerDados[playerid][Admin]);
  3134.     }
  3135.     DOF2_SaveFile();
  3136.     return 1;
  3137. }
  3138.  
  3139. stock Nome(playerid)
  3140. {
  3141.     new pNome[MAX_PLAYER_NAME];
  3142.     GetPlayerName(playerid, pNome, 24);
  3143.     return pNome;
  3144. }
  3145.  
  3146. stock Kickar(playerid, admin[], razao[])
  3147. {
  3148.     if(!DOF2_FileExists("LLADMIN/Kickados.txt")) DOF2_CreateFile("LLADMIN/Kickados.txt");
  3149.     new IP[20];
  3150.     GetPlayerIp(playerid, IP, 20);
  3151.     format(String, sizeof(String), " IP = %d - Admin = %s - Razao = %s", IP, admin, razao);
  3152.     DOF2_SetString("LLADMIN/Kickados.txt", Nome(playerid), String);
  3153.     Kick(playerid);
  3154.     return 1;
  3155. }
  3156.  
  3157. stock PosicaoFrentePlayer( playerid, &Float:x, &Float:y, Float:distance)
  3158. {
  3159.     new
  3160.         Float:a
  3161.     ;
  3162.     GetPlayerPos( playerid, x, y, a);
  3163.     GetPlayerFacingAngle( playerid, a);
  3164.     if(GetPlayerVehicleID( playerid ))
  3165.     {
  3166.         GetVehicleZAngle(GetPlayerVehicleID( playerid ), a);
  3167.     }
  3168.     x += (distance * floatsin(-a, degrees));
  3169.     y += (distance * floatcos(-a, degrees));
  3170. }
  3171.  
  3172. stock MensagemDupla(playerid, msg1[], msg2[])
  3173. {
  3174.     SendClientMessage(playerid, CINZA, msg1);
  3175.     SendClientMessage(playerid, CINZA, msg2);
  3176.     return 1;
  3177. }
  3178.  
  3179. stock NivelRequerido(playerid, lvl)
  3180. {
  3181.     if(PlayerDados[playerid][Admin] < lvl)
  3182.     {
  3183.         format(String, sizeof(String), "Você precisa ser admin nivel %d para usar este comando!", lvl);
  3184.         SendClientMessage(playerid, BRANCO, String);
  3185.         return 0;
  3186.     }
  3187.     if(PlayerDados[playerid][Trabalhando] == false)
  3188.     {
  3189.         SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico.");
  3190.         return 0;
  3191.     }
  3192.     return 1;
  3193. }
  3194.  
  3195. stock CriarLog(const File[])
  3196. {
  3197.     if(fexist(File))
  3198.     {
  3199.         printf("Utilize EscreverLog(\"arquivo\", \"Mensagem\"); para escrever em um log existente.");
  3200.         return 0;
  3201.     }
  3202.     new File:Arquivo = fopen(File, io_write);
  3203.     fclose(Arquivo);
  3204.     return 1;
  3205. }
  3206.  
  3207. stock EscreverLog(const File[], string[])
  3208. {
  3209.     if(!fexist(File))
  3210.     {
  3211.         printf("Utilize CriarLog(\"arquivo\"); para criar o Log e escrever nele.");
  3212.         return 0;
  3213.     }
  3214.     new celulas[ 300 ];
  3215.     new a, m, d, h, mi, s;
  3216.     getdate(a, m, d);
  3217.     gettime(h,mi,s);
  3218.     format(celulas, sizeof(celulas), "(%02d/%02d/%d)[%02d:%02d:%02d] %s\r\n",d,m,a,h,mi,s, string);
  3219.     new File:Arquivo = fopen(File, io_append);
  3220.     fwrite(Arquivo, celulas);
  3221.     fclose(Arquivo);
  3222.     return 1;
  3223. }
  3224.  
  3225. stock DeletarLog(const File[])
  3226. {
  3227.     if(!fexist(File))
  3228.     {
  3229.         printf("Esse arquivo não existe, utilize CriarLog(\"arquivo\"");
  3230.         return 0;
  3231.     }
  3232.     fremove(File);
  3233.     return 1;
  3234. }
  3235.  
  3236. stock TextFundo(playerid)
  3237. {
  3238.     new RandFundo = random(3);
  3239.     if(RandFundo == 0)
  3240.     {
  3241.         Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc1:loadsc1");
  3242.         TextDrawFont(Inicio[playerid], 4);
  3243.         TextDrawTextSize(Inicio[playerid], 641.500, 449.500);
  3244.         TextDrawColor(Inicio[playerid], -1);
  3245.     }
  3246.     else if(RandFundo == 1)
  3247.     {
  3248.         Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc2:loadsc2");
  3249.         TextDrawFont(Inicio[playerid], 4);
  3250.         TextDrawTextSize(Inicio[playerid], 641.500, 449.500);
  3251.         TextDrawColor(Inicio[playerid], -1);
  3252.     }
  3253.     else if(RandFundo == 2)
  3254.     {
  3255.         Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc3:loadsc3");
  3256.         TextDrawFont(Inicio[playerid], 4);
  3257.         TextDrawTextSize(Inicio[playerid], 641.500, 449.500);
  3258.         TextDrawColor(Inicio[playerid], -1);
  3259.     }
  3260.     else if(RandFundo == 3)
  3261.     {
  3262.         Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc4:loadsc4");
  3263.         TextDrawFont(Inicio[playerid], 4);
  3264.         TextDrawTextSize(Inicio[playerid], 641.500, 449.500);
  3265.         TextDrawColor(Inicio[playerid], -1);
  3266.     }
  3267.     TextDrawShowForPlayer(playerid, Inicio[playerid]);
  3268.     return 1;
  3269. }
  3270.  
  3271. stock MensagemParaAdmins(mensagem[])
  3272. {
  3273.     for(new i = 0; i < MAX_PLAYERS; ++i)
  3274.     {
  3275.         if(PlayerDados[i][Admin] > 0)
  3276.         {
  3277.             Msg(i, ROSA_CHOQUE, mensagem);
  3278.         }
  3279.     }
  3280.     return 1;
  3281. }
  3282.  
  3283. //SSCANF NUNCA MECHA NESSA PARTE:
  3284. stock sscanf(string[], format[], {Float,_}:...)
  3285. {
  3286.     #if defined isnull
  3287.         if (isnull(string))
  3288.     #else
  3289.         if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  3290.     #endif
  3291.         {
  3292.             return format[0];
  3293.         }
  3294.     #pragma tabsize 4
  3295.     new
  3296.         formatPos = 0,
  3297.         stringPos = 0,
  3298.         paramPos = 2,
  3299.         paramCount = numargs(),
  3300.         delim = ' ';
  3301.     while (string[stringPos] && string[stringPos] <= ' ')
  3302.     {
  3303.         stringPos++;
  3304.     }
  3305.     while (paramPos < paramCount && string[stringPos])
  3306.     {
  3307.         switch (format[formatPos++])
  3308.         {
  3309.             case '\0':
  3310.             {
  3311.                 return 0;
  3312.             }
  3313.             case 'i', 'd':
  3314.             {
  3315.                 new
  3316.                     neg = 1,
  3317.                     num = 0,
  3318.                     ch = string[stringPos];
  3319.                 if (ch == '-')
  3320.                 {
  3321.                     neg = -1;
  3322.                     ch = string[++stringPos];
  3323.                 }
  3324.                 do
  3325.                 {
  3326.                     stringPos++;
  3327.                     if ('0' <= ch <= '9')
  3328.                     {
  3329.                         num = (num * 10) + (ch - '0');
  3330.                     }
  3331.                     else
  3332.                     {
  3333.                         return -1;
  3334.                     }
  3335.                 }
  3336.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  3337.                 setarg(paramPos, 0, num * neg);
  3338.             }
  3339.             case 'h', 'x':
  3340.             {
  3341.                 new
  3342.                     num = 0,
  3343.                     ch = string[stringPos];
  3344.                 do
  3345.                 {
  3346.                     stringPos++;
  3347.                     switch (ch)
  3348.                     {
  3349.                         case 'x', 'X':
  3350.                         {
  3351.                             num = 0;
  3352.                             continue;
  3353.                         }
  3354.                         case '0' .. '9':
  3355.                         {
  3356.                             num = (num << 4) | (ch - '0');
  3357.                         }
  3358.                         case 'a' .. 'f':
  3359.                         {
  3360.                             num = (num << 4) | (ch - ('a' - 10));
  3361.                         }
  3362.                         case 'A' .. 'F':
  3363.                         {
  3364.                             num = (num << 4) | (ch - ('A' - 10));
  3365.                         }
  3366.                         default:
  3367.                         {
  3368.                             return -1;
  3369.                         }
  3370.                     }
  3371.                 }
  3372.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  3373.                 setarg(paramPos, 0, num);
  3374.             }
  3375.             case 'c':
  3376.             {
  3377.                 setarg(paramPos, 0, string[stringPos++]);
  3378.             }
  3379.             case 'f':
  3380.             {
  3381.  
  3382.                 new changestr[16], changepos = 0, strpos = stringPos;
  3383.                 while(changepos < 16 && string[strpos] && string[strpos] != delim)
  3384.                 {
  3385.                     changestr[changepos++] = string[strpos++];
  3386.                     }
  3387.                 changestr[changepos] = '\0';
  3388.                 setarg(paramPos,0,_:floatstr(changestr));
  3389.             }
  3390.             case 'p':
  3391.             {
  3392.                 delim = format[formatPos++];
  3393.                 continue;
  3394.             }
  3395.             case '\'':
  3396.             {
  3397.                 new
  3398.                     end = formatPos - 1,
  3399.                     ch;
  3400.                 while ((ch = format[++end]) && ch != '\'') {}
  3401.                 if (!ch)
  3402.                 {
  3403.                     return -1;
  3404.                 }
  3405.                 format[end] = '\0';
  3406.                 if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  3407.                 {
  3408.                     if (format[end + 1])
  3409.                     {
  3410.                         return -1;
  3411.                     }
  3412.                     return 0;
  3413.                 }
  3414.                 format[end] = '\'';
  3415.                 stringPos = ch + (end - formatPos);
  3416.                 formatPos = end + 1;
  3417.             }
  3418.             case 'u':
  3419.             {
  3420.                 new
  3421.                     end = stringPos - 1,
  3422.                     id = 0,
  3423.                     bool:num = true,
  3424.                     ch;
  3425.                 while ((ch = string[++end]) && ch != delim)
  3426.                 {
  3427.                     if (num)
  3428.                     {
  3429.                         if ('0' <= ch <= '9')
  3430.                         {
  3431.                             id = (id * 10) + (ch - '0');
  3432.                         }
  3433.                         else
  3434.                         {
  3435.                             num = false;
  3436.                         }
  3437.                     }
  3438.                 }
  3439.                 if (num && IsPlayerConnected(id))
  3440.                 {
  3441.                     setarg(paramPos, 0, id);
  3442.                 }
  3443.                 else
  3444.                 {
  3445.                     #if !defined foreach
  3446.                         #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  3447.                         #define __SSCANF_FOREACH__
  3448.                     #endif
  3449.                     string[end] = '\0';
  3450.                     num = false;
  3451.                     new
  3452.                         name[MAX_PLAYER_NAME];
  3453.                     id = end - stringPos;
  3454.                     foreach (Player, playerid)
  3455.                     {
  3456.                         GetPlayerName(playerid, name, sizeof (name));
  3457.                         if (!strcmp(name, string[stringPos], true, id))
  3458.                         {
  3459.                             setarg(paramPos, 0, playerid);
  3460.                             num = true;
  3461.                             break;
  3462.                         }
  3463.                     }
  3464.                     if (!num)
  3465.                     {
  3466.                         setarg(paramPos, 0, INVALID_PLAYER_ID);
  3467.                     }
  3468.                     string[end] = ch;
  3469.                     #if defined __SSCANF_FOREACH__
  3470.                         #undef foreach
  3471.                         #undef __SSCANF_FOREACH__
  3472.                     #endif
  3473.                 }
  3474.                 stringPos = end;
  3475.             }
  3476.             case 's', 'z':
  3477.             {
  3478.                 new
  3479.                     i = 0,
  3480.                     ch;
  3481.                 if (format[formatPos])
  3482.                 {
  3483.                     while ((ch = string[stringPos++]) && ch != delim)
  3484.                     {
  3485.                         setarg(paramPos, i++, ch);
  3486.                     }
  3487.                     if (!i)
  3488.                     {
  3489.                         return -1;
  3490.                     }
  3491.                 }
  3492.                 else
  3493.                 {
  3494.                     while ((ch = string[stringPos++]))
  3495.                     {
  3496.                         setarg(paramPos, i++, ch);
  3497.                     }
  3498.                 }
  3499.                 stringPos--;
  3500.                 setarg(paramPos, i, '\0');
  3501.             }
  3502.             default:
  3503.             {
  3504.                 continue;
  3505.             }
  3506.         }
  3507.         while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  3508.         {
  3509.             stringPos++;
  3510.         }
  3511.         while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  3512.         {
  3513.             stringPos++;
  3514.         }
  3515.         paramPos++;
  3516.     }
  3517.     do
  3518.     {
  3519.         if ((delim = format[formatPos++]) > ' ')
  3520.         {
  3521.             if (delim == '\'')
  3522.             {
  3523.                 while ((delim = format[formatPos++]) && delim != '\'') {}
  3524.             }
  3525.             else if (delim != 'z')
  3526.             {
  3527.                 return delim;
  3528.             }
  3529.         }
  3530.     }
  3531.     while (delim > ' ');
  3532.     return 0;
  3533. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement