Guest User

Untitled

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