Advertisement
Lucas_Alemao

LL Admin V1.5.1 By Lucas_Alemao

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