Advertisement
Lucas_Alemao

LL Admin V1.6 By Lucas_Alemao

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