/* FS LL-ADMIN BY LUCAS_ALEMAO (LUCAS LESSA) ZCMD By ZeeX SSCANF By Y_Less Agradecimentos: Jim._.Carrey Los (funções de Log) [STR]Matrix (Idéias de comandos) Panico_ONCrew (Idéias de comandos) Não retire os Créditos!! Inicio do Script: 04/02/2012 Final do Script: 11/02/2012 Falta fazer: OnPlayerClickPlayer - Nova interface de Registro e Login. - Novo sistema de gravação de Admin, Helper e VIP. Chega de bugs. - Função adicionada para não dar conflito com seu GM no sistema de registro. - Anti-Divulguer. - Anti-Bot. - Anti-Weapon Hack. - Anti-High Ping. - Agora temos HQ de admin (opcional). °Portão movel (/portaoadm) °Varios objetos. °Carros exclusivos para admin - OnPlayerDisconnect otimizado. - Em vez de usar os comandos /jogar e /trabalhar, use apenas /servico. Os comandos /jogar e /trabalhar não foram excluidos, eles ainda funcionam normalmente. - SSCANF adicionado no FS. Chega de conflitos. - Corrigido bug de morrer e perder admin. - Sistema de Disfarce: °/disfarce faz com que o Admin mude sua skin, seu nome e sua cor para ficar igual a do player que está sendo usado. °/sairdisfarce para voltar as caracteristicas originais. - Novo sistema de Logs (Agradecimentos a Los). - Novo sistema de prints. - /Relatorios agora são gravados em log. - Adicionado Sistema de Helpers: °/darhelper °/tirarhelper °/helpers °todos os comandos de helper em /la - Adicionado Sistema de Vips (opcional): °/ajudavip °/darvip °/tirarvip °/v °/kitvip °/vips °/cc °/relatorio diferenciado - Sistema de mensagens randomicas: °Adminis level 3+ podem ativa-las com /ativarmsgs ou /desativarmsgs. - Sistema de Enquetes: °Admins level 3+ podem usar /enquete para criar uma enquete. °Players usam /sim ou /nao. A enquete se encerra automaticamente em 30 segundos. - Adicionado comando /particular (todos os niveis de admin ou helper). - Sistema de musica ao conectar: °Admins level 4+ podem usar o comando /musicainicial para escolher uma musica para o player ouvir quando se conectar ao servidor. - Sistema de Foder um Jogador: °Admins nivel 4+ poderam usar o comando /foderplayer. °O Player fodido irá para o carandiru, ficará congelado, ficará mudo, e será forçado a ouvir uma musica do Restart kkkk. °Para desfode-lo vá até o arquivo Fodidos.txt e apague o IP dele da lista. - Sistema de AFK: °/afk °/sairafk °o /admins e /helpers mostra quem está online e quem está AFK. - Adicionado comando /mudarsenha (qualquer jogador). - Adicionado comando /players (todos os niveis de admin ou helper). Mostra a quantidade de players online. - Adicionado comando /limparchat (admin nivel 1+). Limpa o chat para todos os players. - Adicionado comando /tempo (admin nivel 2+). Seta o tempo para Manha/Tarde/Noite. - Adicionado comando /dargrana (admin nivel 2+). Da grana a algum player. - Adicionado comando /jetpack (admin nivel 2+). Da um Jetpack para alguem. - Adicionado comando /trazertodos (admin nivel 2+). Traz todos os jogadores até você. - Adicionado comando /moverplayer (admin nivel 2+). Move um player até outro. - Adicionado comando /resetargrana (admin nivel 3+). Reseta a grana de um jogador. - Adicionado comando /setargrana (admin nivel 3+). Seta a grana de um jogador. - Adicionado comando /resetar (admin nivel 4+). Reseta Absolutamente todos os dados da conta de um player. - Adicionado comando /versenha (admin nivel 5). Mostra a senha de um jogador para o admin. - Adicionado comando /setaradmin (admin nivel 5). Seta o admin de um player, independente de ele aceitar ou não - Adicionado comando /trancarserver (admin nivel 5). Tranca o server com uma senha. - Adicionado comando /destrancarserver (admin nivel 5). Destranca o server. - Adicionado comando /seradmin (admin RCON). Vira admin nivel 5. - ORDEM DE PRINT - Pasta Logs; Pasta Banidos; Pasta Banidos/Contas; Arquivo Fodidos.txt; Arquivo Admins.adm; Arquivo Helpers.hel; Arquivo Vips.vip; Pasta Contas; Se seu samp-server abrir e fechar rapido, abra o server_log e veja qual foi a ultima pasta verificada. a pasta depois dela, seguindo a ordem de cima, é a que está faltando. */ /* INCLUDES */ #include a_samp #include zcmd #include dof2 /* DEIXE A SEU FAVOR */ //SE QUISER USAR O SISTEMA DE REGISTRO DO FS DEIXE 1, SE NÃO QUISER COLOQUE 0 #define USAR_SISTEMA_REGISTRO 1 //SE QUISER UASR O SISTEMA DE VIP DO FS DEIXE 1, SE NÃO QUISER COLOQUE 0 #define USAR_SISTEMA_VIP 1 //SE QUISER USAR UM TEXTDRAW DE FUNDO DEIXE 1, SE NÃO QUISER COLOQUE 0 #define USAR_TEXT 1 //SE QUISER QUE OS ADMINS SPAWNEM NA HQ DEIXE 1, SE NÃO QUISER COLOQUE 0 #define SPAWNAR_HQ 1 //SE DESEJA QUE APAREÇA [ADM] ANTES DO NICK DOS ADMINS NO CHAT DEIXE 1, SE NÃO QUISER COLOQUE 0 #define DESTAQUE_ADMINS 1 //DEFINA ABAIXO O PING MAXIMO PARA OS JOGADORES DO SEU SERVER #define MAX_PING 500 /* MACROS */ #define MensagemFormatadaParaTodos(%0,%1,%2); format(String, sizeof(String), %1, %2); SendClientMessageToAll(%0, String); #define MensagemFormatada(%0,%1,%2); format(String, sizeof(String), %1, %2); SendClientMessage(playerid, %0, String); #define SetarDado(%0,%1,%2); PlayerDados[%0][%1] = %2; SalvarDados(%0); #define GetarDado(%0,%1) PlayerDados[%0][%1] #define Loop(%0,%1) for(new %0 = 0; %0 < %1; ++%0) #define Msg SendClientMessage #define MsgAll SendClientMessageToAll #define LogExistir fexist /* CORES */ #define VERDE 0x21DD00FF #define VERMELHO 0xFF030FFF #define VERMELHO_ESCURO 0xE60000FF #define VERMELHO_CLARO 0xFB0000FF #define AMARELO 0xFFFF00FF #define LARANJA 0xF97804FF #define AZUL_CLARO 0x00C2ECFF #define ROXO 0xB360FDFF #define BRANCO 0xFFFFFFFF #define PRETO 0x000000FF #define AZUL 0x1229FAFF #define VERDE_CLARO 0x38FF06FF #define ROSA_CHOQUE 0xE100E1FF #define VERDE_ESCURO 0x008040FF #define CINZA 0xCECECEFF #define ROSA 0xD52DFFFF #define CINZA_ESCURO 0x626262FF #define VERDE_AGUA 0x03D687FF /* DIALOGS */ #define DIALOG_REGISTRO 4672 #define DIALOG_LOGIN 4673 #define DIALOG_BANIDO 4674 #define DIALOG_IPS 4675 #define DIALOG_INFO 4676 #define DIALOG_AL 4677 #define DIALOG_ADM 4678 #define DIALOG_HELPER 4679 #define DIALOG_MUSICAS 4680 #define DIALOG_SENHANOVA 4681 #define DIALOG_FORCAR 4682 #define DIALOG_AJUDAV 4683 /* FORWARDS */ forward TempoPreso(playerid); forward VerificarPreso(playerid); forward NomeCarro(playerid); forward LiberarKit(playerid); forward MensagensRandom(); forward FecharEnquete(); forward TocarSom(playerid); forward CriarLogs(); forward ImprimirInformacoes(); forward VerificarPasta(pasta[]); forward VerificarArquivo(arquivo[]); forward FoderSpawn(playerid); forward DiminuirTempo(); forward FecharPortao(); forward NovoSpawn(playerid); forward EnviarMsgHack(playerid); enum pInfo { Senha, Matou, Morreu, Admin, bool:Helper, Advertencias, Preso, bool:Congelado, bool:Assistindo, bool:Trabalhando, bool:Calado, bool:Invisivel, bool:Logado, bool:Vip, bool:PegouKit, bool:Afk, bool:Disfarcado } enum eEnquete { bool:Criada, VotoSim, VotoNao, Titulo[128] } /* VARIAVEIS E ARRAYS */ new PlayerDados[MAX_PLAYERS][pInfo]; new String[256]; new StringContas[256]; new ID; new AdminNivel[50]; new AdminTrabalhando[50]; new Dia, Mes, Ano, Hora, Minuto, Segundo; new CarrosCriados[100]; new TodosCarros = 0; new Barris[100]; new tBarris = 0; new TimerPreso; new nivel; new TimerKit; new TimerMsgs; new TimerCont; new CarroDono[MAX_PLAYERS]; new Text3D:DonoCarro[MAX_PLAYERS]; new PlayersOnline = 0; new Enquete[eEnquete]; new MusicaInicial[256]; new time; new PortaoHQ; new CarrosAdm[14]; new bool:ServerTrancado; new bool:MsgHack[MAX_PLAYERS]; new NomeOriginal[MAX_PLAYERS][30]; new Mensagens[][] = { "Você faz parte do servidor, chame seus amigos para jogarem aqui :D", "Caso tenha dúvida chame um admin, use /relatorio", "Use /ajuda para conhecer os comandos.", "Se você for vip use /ajudavip para ver seus comandos.", "para ver os admins online use /admins, /helpers para ver os Helpers." }; new Musica[5][256] = { "nada", "http://dc346.4shared.com/img/644772952/4e7e79b6/dlink__2Fdownload_2Fo0ojFABE_3Ftsid_3D20120321-013313-69c1bb08/preview.mp3",//sweet "http://dc427.4shared.com/img/965797774/2cb01e40/dlink__2Fdownload_2Foxa0xbKh_3Ftsid_3D20120321-013455-11ae6783/preview.mp3",//feel so close "http://dc382.4shared.com/img/601537173/5cb8acbe/dlink__2Fdownload_2FtzgMp7lR_3Ftsid_3D20120321-013602-155261ac/preview.mp3",//memories "http://dc342.4shared.com/img/567562876/400f1c84/dlink__2Fdownload_2Fa4gw9qih_3Ftsid_3D20120321-013700-7cc7c36a/preview.mp3"//open bar }; new Cores[][] = { "{1BE01B}", "{038003}", "{0CF50C}", "{F5180C}", "{0C8CF5}", "{0C2BF5}", "{0CBBF5}", "{F5F50C}", "{DEDE04}", "{FC9E05}", "{FFFFFF}", "{FF05F7}", "{990594}", "{9C9C9C}", "{14C9C9}", "{05E6AD}", "{E67D05}", "{6B6B6B}" }; #if USAR_TEXT == 1 new Text:Inicio[MAX_PLAYERS]; #endif public OnFilterScriptInit() { CarrosAdm[0] = CreateVehicle(432,2179.80004883,1857.69995117,10.89999962,0.00000000,-1,-1,15); CarrosAdm[1] = CreateVehicle(601,2185.30004883,1857.50000000,10.80000019,0.00000000,-1,-1,15); CarrosAdm[2] = CreateVehicle(402,2188.80004883,1856.59997559,10.80000019,0.00000000,-1,-1,15); CarrosAdm[3] = CreateVehicle(411,2192.39990234,1856.80004883,10.60000038,0.00000000,-1,-1,15); CarrosAdm[4] = CreateVehicle(415,2196.19995117,1856.69995117,10.69999981,0.00000000,-1,-1,15); CarrosAdm[5] = CreateVehicle(429,2199.89990234,1856.80004883,10.60000038,0.00000000,-1,-1,15); CarrosAdm[6] = CreateVehicle(451,2179.69995117,1878.59997559,10.60000038,180.00000000,-1,-1,15); CarrosAdm[7] = CreateVehicle(477,2183.30004883,1878.50000000,10.69999981,180.00000000,-1,-1,15); CarrosAdm[8] = CreateVehicle(506,2187.50000000,1878.30004883,10.60000038,180.00000000,-1,-1,15); CarrosAdm[9] = CreateVehicle(541,2191.50000000,1878.59997559,10.50000000,180.00000000,-1,-1,15); CarrosAdm[10] = CreateVehicle(562,2195.30004883,1878.69995117,10.60000038,180.00000000,-1,-1,15); CarrosAdm[11] = CreateVehicle(565,2199.30004883,1878.59997559,10.50000000,180.00000000,-1,-1,15); CarrosAdm[12] = CreateVehicle(534,2202.80004883,1878.50000000,10.60000038,180.00000000,-1,-1,15); CarrosAdm[13] = CreateVehicle(535,2206.50000000,1878.90002441,10.69999981,180.00000000,-1,-1,15); CreateObject(980,2231.50000000,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000); CreateObject(980,2220.10009766,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000); CreateObject(980,2208.80004883,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000); CreateObject(980,2197.50000000,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000); CreateObject(980,2186.30004883,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000); CreateObject(980,2174.89990234,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000); CreateObject(980,2169.10009766,1877.19995117,13.10000038,0.00000000,0.00000000,90.00000000); CreateObject(980,2169.10009766,1866.30004883,13.10000038,0.00000000,0.00000000,90.00000000); CreateObject(980,2169.10009766,1862.50000000,13.10000038,0.00000000,0.00000000,90.00000000); CreateObject(980,2169.10009766,1841.09997559,12.80000019,0.00000000,0.00000000,0.00000000); CreateObject(980,2179.00000000,1841.09997559,12.80000019,0.00000000,0.00000000,0.00000000); CreateObject(980,2189.89990234,1841.09997559,12.80000019,0.00000000,0.00000000,0.00000000); CreateObject(980,2199.00000000,1841.09997559,12.80000019,0.00000000,0.00000000,0.00000000); CreateObject(980,2169.10009766,1861.19995117,13.19999981,0.00000000,0.00000000,96.00000000); CreateObject(980,2169.89990234,1859.69995117,12.60000038,0.00000000,0.00000000,99.99853516); CreateObject(980,2171.30004883,1856.80004883,12.80000019,0.00000000,0.00000000,115.99755859); CreateObject(980,2172.50000000,1855.40002441,12.80000019,0.00000000,0.00000000,133.99362183); CreateObject(980,2181.30004883,1851.09997559,13.10000038,0.00000000,0.00000000,180.00000000); CreateObject(980,2191.39990234,1851.09997559,13.10000038,0.00000000,0.00000000,179.99450684); CreateObject(980,2198.69995117,1851.09997559,13.10000038,0.00000000,0.00000000,179.99450684); CreateObject(980,2205.10009766,1835.80004883,12.60000038,0.00000000,0.00000000,272.00000000); CreateObject(980,2205.39990234,1826.00000000,12.60000038,0.00000000,0.00000000,271.99951172); CreateObject(980,2222.00000000,1820.59997559,12.60000038,0.00000000,0.00000000,177.99951172); CreateObject(980,2211.19995117,1821.00000000,12.60000038,0.00000000,0.00000000,177.99499512); CreateObject(980,2242.89990234,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000); CreateObject(980,2254.10009766,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000); CreateObject(980,2265.39990234,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000); CreateObject(980,2276.60009766,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000); CreateObject(980,2287.69995117,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000); CreateObject(980,2297.69995117,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000); CreateObject(980,2308.19995117,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000); PortaoHQ = CreateObject(980,2204.39990234,1846.00000000,12.60000038,0.00000000,0.00000000,91.99951172); Create3DTextLabel("{25E01B}Admins usem {04C4C4}/PortaoAdm",-1, 2207.8176,1853.0674,10.8203, 15, 0, 0); SetTimer("ImprimirInformacoes", 40, false); return 1; } public ImprimirInformacoes() { print("\n________________________________________________"); print("\n\nCarregando LL Admin V1.5 By Lucas_Alemao...\n"); VerificarPasta("Logs"); CriarLogs(); VerificarPasta("Banidos"); VerificarPasta("Banidos/Contas"); VerificarArquivo("Fodidos.txt"); VerificarArquivo("Admins.adm"); VerificarArquivo("Helpers.hel"); VerificarArquivo("Vips.vip"); VerificarPasta("Contas"); print("\nLL Admin V1.5 Carregado com sucesso.\n"); print("\nUse /la para ajuda."); print("Bom Jogo :D\n\n"); print("________________________________________________"); return 1; } public VerificarPasta(pasta[]) { format(String, sizeof(String), "LLADMIN/%s/verificacao",pasta); DOF2_CreateFile(String); if(DOF2_FileExists(String)) { printf("Pasta '%s' Encontrada e carregada com sucesso.", pasta); } else if(DOF2_FileExists(String)) { printf("Pasta '%s' Não encontrada.", pasta); } DOF2_RemoveFile(String); return 1; } public VerificarArquivo(arquivo[]) { format(String, sizeof(String), "LLADMIN/%s", arquivo); if(DOF2_FileExists(String)) { printf("Arquivo '%s' Encontrado e carregado com sucesso.", arquivo); return 1; } else if(!DOF2_FileExists(String)) { printf("Arquivo '%s' não encontrado. O FS o criou automaticamente.", arquivo); DOF2_CreateFile(String); return 1; } return 1; } public OnFilterScriptExit() { for(new i = 0; i < MAX_PLAYERS; ++i) { SalvarDados(i); } DOF2_Exit(); return 1; } public OnPlayerConnect(playerid) { if(strfind(Nome(playerid),"clock$",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"prn",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"Carl",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"con",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"SgtPepper",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"Pepe",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"nul",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"Pepno",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"Pepsi",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"Rocky",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"Carl",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"Vino_Toro",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"Zoquete",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"AquilesBrinco",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"Azucar",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"Manfrey",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"Papirola",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"[ViP]Labrik",true) != -1)Ban(playerid); if(strfind(Nome(playerid),"Sony",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"Pacman",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"Batman",true) != -1)Ban(playerid); if(strfind(Nome(playerid),"aux",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"com1",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"com2",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"com3",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"com4",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"com5",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"com6",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"com7",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"com8",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"com9",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"lpt1",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"lpt2",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"lpt3",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"lpt4",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"lpt5",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"lpt6",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"lpt8",true) != -1) Ban(playerid); if(strfind(Nome(playerid),"lpt9",true) != -1) Ban(playerid); SetTimerEx("TocarSom", 1000, false, "i", playerid); PlayersOnline++; PlayerDados[playerid][Logado] = false; PlayerDados[playerid][Admin] = 0; PlayerDados[playerid][Helper] = false; PlayerDados[playerid][Vip] = false; new strConta[80]; new Ip[25]; for(new t = 0; t < 100; ++t) { SendClientMessage(playerid, -1, " "); } format(strConta, sizeof(strConta), "LLADMIN/Banidos/Contas/%s.txt", Nome(playerid)); if(DOF2_FileExists(strConta)) { 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")); 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")); ShowPlayerDialog(playerid, DIALOG_BANIDO, DIALOG_STYLE_MSGBOX, "Banido!", String, "Fechar", ""); return 1; } GetPlayerIp(playerid, Ip, 25); if(strcmp(Ip ,"255.255.255.255", true) == 0) { Ban(playerid); } if(DOF2_IsSet("LLADMIN/Banidos/Ips.txt", Ip)) { 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)); ShowPlayerDialog(playerid, DIALOG_BANIDO, DIALOG_STYLE_MSGBOX, "Banido!", String, "Fechar", ""); return 1; } if(DOF2_IsSet("LLADMIN/Fodidos.txt", Ip)) { SetTimerEx("FoderSpawn", 1000, false, "i", playerid); return 1; } format(String, sizeof(String), "%s Conectou ao servidor", Nome(playerid)); SendClientMessageToAll(VERDE_CLARO, String); format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid)); #if (USAR_TEXT == 1) && (USAR_SISTEMA_REGISTRO == 1) TextFundo(playerid); #endif #if USAR_SISTEMA_REGISTRO == 1 if(!DOF2_FileExists(StringContas)) { 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)); ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "{1EB2FC}Registrando...", String, "Registrar", "Sair"); return 1; } else { format(String, sizeof(String), "{F1FC14}Conta: %s\n{28FC14}Registrada.\n\n{14F1FC}Digite sua senha para Logar", Nome(playerid)); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "{FC14E9}Logando...", String, "Logar", "Sair"); return 1; } #else return 1; #endif } public FoderSpawn(playerid) { SetSpawnInfo(playerid, 0, 0, 107.2300,1920.6311,18.5208, 0, 0, 0, 0, 0, 0, 0); SpawnPlayer(playerid); SetPlayerWorldBounds(ID, 337.5694,101.5826,1940.9759,1798.7453); TogglePlayerControllable(ID, false); Msg(playerid, VERMELHO, "Você foi fodido por um admin! Agora aguente!"); PlayAudioStreamForPlayer(ID, "http://dc239.4shared.com/img/288497172/b1c25846/dlink__2Fdownload_2FAzhEPzew_3Ftsid_3D20120321-232554-e2632526/preview.mp3", 0, 0, 0, 10, 0); return 1; } public TocarSom(playerid) { if(strfind(MusicaInicial, "nada", true) != -1) { return 1; } PlayAudioStreamForPlayer(playerid, MusicaInicial, 0, 0, 0, 20, 0); return 1; } public OnPlayerDisconnect(playerid, reason) { new Motivo[20]; if(reason == 0) Motivo = "Queda de conexão"; if(reason == 1) Motivo = "Conta própria"; if(reason == 2) Motivo = "Kickado/Banido"; format(String, sizeof(String), "{289E08}O Jogador {39F505}%s{289E08} Desconectou do servidor. (%s)", Nome(playerid), Motivo); MsgAll(-1, String); if(GetarDado(playerid, Admin) > 0) { format(String, sizeof(String), "~w~Admin ~g~%s ~r~Offline", Nome(playerid)); GameTextForAll(String, 1000, 1); } PlayersOnline--; SalvarDados(playerid); DOF2_Exit(); return 1; } public FecharEnquete() { new StrEnquete[256]; Enquete[Criada] = false; format(StrEnquete, 256, "Enquete %s Fechada.", Enquete[Titulo]); SendClientMessageToAll(ROSA, StrEnquete); format(StrEnquete, 256, "Votos Sim: %d", Enquete[VotoSim]); SendClientMessageToAll(ROSA_CHOQUE, StrEnquete); format(StrEnquete, 256, "Voto Não: %d", Enquete[VotoNao]); SendClientMessageToAll(ROSA_CHOQUE, StrEnquete); if(Enquete[VotoSim] > Enquete[VotoNao]) { SendClientMessageToAll(ROSA, "\nO Sim Venceu."); return 1; } if(Enquete[VotoNao] > Enquete[VotoSim]) { SendClientMessageToAll(ROSA, "\nO Nao Venceu."); return 1; } return 1; } public OnPlayerSpawn(playerid) { if(DOF2_IsSet("LLADMIN/Admins.adm", Nome(playerid))) { PlayerDados[playerid][Admin] = DOF2_GetInt("LLADMIN/Admins.adm", Nome(playerid)); } if(DOF2_IsSet("LLADMIN/Helpers.hel", Nome(playerid))) { SetarDado(playerid, Helper, DOF2_GetBool("LLADMIN/Helpers.hel", Nome(playerid))); } if(DOF2_IsSet("LLADMIN/Vips.vip", Nome(playerid))) { SetarDado(playerid, Vip, DOF2_GetBool("LLADMIN/vips.vip", Nome(playerid))); } format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid)); #if SPAWNAR_HQ == 1 if((PlayerDados[playerid][Admin] > 0) || (PlayerDados[playerid][Helper] == true)) { SetTimerEx("NovoSpawn", 500, false, "i", playerid); } #endif SetTimerEx("VerificarPreso", 1000, false, "i", playerid); ResetPlayerWeapons(playerid); #if USAR_SISTEMA_REGISTRO == 0 if(!DOF2_FileExists(StringContas)) { DOF2_CreateFile(StringContas); DOF2_SetInt(StringContas, "Matou", 0); DOF2_SetInt(StringContas, "Morreu", 0); DOF2_SetInt(StringContas, "Grana", 0); //DOF2_SetInt(StringContas, "Admin", 0); //DOF2_SetBool(StringContas, "Helper", false); DOF2_SetInt(StringContas, "Advertencias", 0); DOF2_SetInt(StringContas, "Preso", 0); //DOF2_SetBool(StringContas, "Vip", false); PlayerDados[playerid][Logado] = true; } if(DOF2_FileExists(StringContas)) { PlayerDados[playerid][Matou] = DOF2_GetInt(StringContas, "Matou"); PlayerDados[playerid][Morreu] = DOF2_GetInt(StringContas, "Morreu"); if(DOF2_IsSet("LLADMIN/Admins.adm", Nome(playerid))) { PlayerDados[playerid][Admin] = DOF2_GetInt("LLADMIN/Admins.adm", Nome(playerid)); } PlayerDados[playerid][Advertencias] = DOF2_GetInt(StringContas, "Advertencias"); GivePlayerMoney(playerid, DOF2_GetInt(StringContas, "Grana")); PlayerDados[playerid][Preso] = DOF2_GetInt(StringContas, "Preso"); if(DOF2_IsSet("LLADMIN/Helpers.hel", Nome(playerid))) { PlayerDados[playerid][Helper] = DOF2_GetBool("LLADMIN/Vips.vip", Nome(playerid)); } if(DOF2_IsSet("LLADMIN/Vips.vip", Nome(playerid))) { PlayerDados[playerid][Vip] = DOF2_GetBool("LLADMIN/Vips.vip", Nome(playerid)); } //PlayerDados[playerid][Helper] = DOF2_GetBool(StringContas, "Helper"); //PlayerDados[playerid][Vip] = DOF2_GetBool(StringContas, "Vip"); if((PlayerDados[playerid][Admin] > 0) && (PlayerDados[playerid][Logado] == false)) { PlayerDados[playerid][Logado] = true; format(String, sizeof(String), "Logado de Admin Nível %d", PlayerDados[playerid][Admin]); SendClientMessage(playerid, AZUL_CLARO, String); format(String, sizeof(String), "~w~Admin ~g~%s ~y~Online", Nome(playerid)); GameTextForAll(String, 1000, 1); PlayerDados[playerid][Trabalhando] = true; SendClientMessage(playerid, AZUL_CLARO, "Você está trabalhando, para jogar use /jogar"); SetPlayerColor(playerid, 0x24E9FFFF); SetPlayerHealth(playerid, 999999); } } #endif return 0; } public OnPlayerUpdate(playerid) { new ping = GetPlayerPing(playerid); if(ping > MAX_PING) { MensagemFormatadaParaTodos(AZUL_CLARO, "O jogador %s [ID: %d] foi kickado do servidor por ultrapassar o ping maximo (%d).", Nome(playerid), playerid, MAX_PING); Kick(playerid); } new Arma = GetPlayerWeapon(playerid); if(MsgHack[playerid] == true) return 1; switch(Arma) { case 9: { format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando uma serra eletrica. /assitir para conferir.", Nome(playerid), playerid); MensagemParaAdmins(String); MsgHack[playerid] = true; SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid); } case 35: { format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando um lança-misseis. /assitir para conferir.", Nome(playerid), playerid); MensagemParaAdmins(String); MsgHack[playerid] = true; SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid); } case 36: { format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando um lança-misseis. /assitir para conferir.", Nome(playerid), playerid); MensagemParaAdmins(String); MsgHack[playerid] = true; SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid); } case 37: { format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando um lança-chamas. /assitir para conferir.", Nome(playerid), playerid); MensagemParaAdmins(String); MsgHack[playerid] = true; SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid); } case 38: { format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando uma minigun. /assitir para conferir.", Nome(playerid), playerid); MensagemParaAdmins(String); MsgHack[playerid] = true; SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid); } case 39: { format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando explosivos remotos. /assitir para conferir.", Nome(playerid), playerid); MensagemParaAdmins(String); MsgHack[playerid] = true; SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid); } case 40: { format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando um detonador. /assitir para conferir.", Nome(playerid), playerid); MensagemParaAdmins(String); MsgHack[playerid] = true; SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid); } case 43: { format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando uma camera fotografica. /assitir para conferir.", Nome(playerid), playerid); MensagemParaAdmins(String); MsgHack[playerid] = true; SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid); } case 44: { format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando oculos de visão noturna. /assitir para conferir.", Nome(playerid), playerid); MensagemParaAdmins(String); MsgHack[playerid] = true; SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid); } case 45: { format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando oculos de visão noturna. /assitir para conferir.", Nome(playerid), playerid); MensagemParaAdmins(String); MsgHack[playerid] = true; SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid); } } return 1; } public EnviarMsgHack(playerid) { MsgHack[playerid] = false; return 1; } public NovoSpawn(playerid) { SetPlayerPos(playerid, 2225.9814,1837.7249,10.8203); SetPlayerFacingAngle(playerid, 98.0608); return 1; } public VerificarPreso(playerid) { if(PlayerDados[playerid][Preso] > 0) { SetPlayerPos(ID, 264.6288,77.5742,1001.0391); SetPlayerInterior(ID, 6); SendClientMessage(playerid, VERMELHO, "Seu Tempo de Cadeia ainda não acabou!"); TimerPreso = SetTimerEx("TempoPreso", 1000, true, "i", playerid); } return 1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { if((vehicleid >= CarrosAdm[0]) && (vehicleid <= CarrosAdm[13])) { if((PlayerDados[playerid][Helper] == false) || (PlayerDados[playerid][Admin] < 1)) { RemovePlayerFromVehicle(playerid); Msg(playerid, CINZA, "Você precisa ser admin para usar este carro."); } } if(PlayerDados[playerid][Admin] > 0) { if(PlayerDados[playerid][Trabalhando] == true) { SetTimerEx("NomeCarro", 3500, false, "i", playerid); } } return 0; } public NomeCarro(playerid) { new idc = GetPlayerVehicleID(playerid); format(String, sizeof(String), "[LL ADMIN] Veículo ID %d", idc); SendClientMessage(playerid, CINZA, String); } public OnPlayerDeath(playerid, killerid, reason) { PlayerDados[playerid][Morreu]++; PlayerDados[killerid][Matou]++; format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid)); if(DOF2_IsSet("LLADMIN/Admins.adm", Nome(playerid))) { PlayerDados[playerid][Admin] = DOF2_GetInt("LLADMIN/Admins.adm", Nome(playerid)); } KillTimer(TimerKit); return 0; } public OnPlayerText(playerid, text[]) { new str2[256]; 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)) { MensagemFormatadaParaTodos(AZUL_CLARO, "O Jogador {FB0000}%s{00C2EC} Foi Banido por divulgar IP.\r\n", Nome(playerid)); EscreverLog("LLADMIN/Logs/Banidos.log", String); format(String, sizeof(String), "LLADMIN/Banidos/Contas/%s.txt", Nome(playerid)); getdate(Ano, Mes, Dia); gettime(Hora, Minuto, Segundo); DOF2_CreateFile(String); DOF2_SetString(String, "Admin", "Admin automatico"); DOF2_SetString(String, "Motivo", "Divulgação de IP"); DOF2_SetInt(String, "Ano", Ano); DOF2_SetInt(String, "Mes", Mes); DOF2_SetInt(String, "Dia", Dia); DOF2_SetInt(String, "Hora", Hora); DOF2_SetInt(String, "Minuto", Minuto); Kick(playerid); } format(String, sizeof(String), "LLADMIN/Teleportes/%s.txt", text); if(DOF2_FileExists(String)) { 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")); SendClientMessageToAll(AMARELO, str2); SetPlayerPos(playerid, DOF2_GetFloat(String, "X"), DOF2_GetFloat(String, "Y"), DOF2_GetFloat(String, "Z")); return 0; } if(PlayerDados[playerid][Calado] == true) { SendClientMessage(playerid, BRANCO, "Você Está calado e não pode falar!"); return 0; } #if DESTAQUE_ADMINS == 1 if(GetarDado(playerid, Admin) > 1) { if(GetarDado(playerid, Disfarcado) == true) { format(String, sizeof(String), "%s: %s", Nome(playerid), text); MsgAll(GetPlayerColor(playerid), String); return 0; } format(String, sizeof(String), "[ADM] %s: %s", Nome(playerid), text); MsgAll(GetPlayerColor(playerid), String); return 0; } #endif return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_REGISTRO) { if(response) { if(!strlen(inputtext)) { 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)); ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "{1EB2FC}Registrando...", String, "Registrar", "Sair"); SendClientMessage(playerid, VERMELHO, "Digite uma senha para se registrar ¬¬"); return 1; } format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid)); DOF2_CreateFile(StringContas); DOF2_SetString(StringContas, "Senha", inputtext); DOF2_SetInt(StringContas, "Matou", 0); DOF2_SetInt(StringContas, "Morreu", 0); DOF2_SetInt(StringContas, "Grana", 0); DOF2_SetInt(StringContas, "Advertencias", 0); DOF2_SetInt(StringContas, "Preso", 0); SendClientMessage(playerid, AZUL_CLARO, "Registrado Com Sucesso! você foi logado automaticamente"); TextDrawDestroy(Inicio[playerid]); return 1; } else { SendClientMessage(playerid, VERMELHO, "Você não quis se registrar e por isso foi kickado!"); Kick(playerid); return 1; } } if(dialogid == DIALOG_LOGIN) { if(response) { if(!strlen(inputtext)) { format(String, sizeof(String), "{F1FC14}Conta: %s\n{28FC14}Registrada.\n\n{14F1FC}Digite sua senha para Logar", Nome(playerid)); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "{FC14E9}Logando...", String, "Logar", "Sair"); SendClientMessage(playerid, VERMELHO, "Digite sua senha para se logar ¬¬"); return 1; } format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid)); if(strcmp(inputtext, DOF2_GetString(StringContas, "Senha"), true)) { format(String, sizeof(String), "{F1FC14}Conta: %s\n{28FC14}Registrada.\n\n{14F1FC}Digite sua senha para Logar", Nome(playerid)); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "{FC14E9}Logando...", String, "Logar", "Sair"); SendClientMessage(playerid, VERMELHO_CLARO, "Senha incorreta!"); return 1; } else { PlayerDados[playerid][Matou] = DOF2_GetInt(StringContas, "Matou"); PlayerDados[playerid][Morreu] = DOF2_GetInt(StringContas, "Morreu"); //PlayerDados[playerid][Admin] = DOF2_GetInt(StringContas, "Admin"); if(DOF2_IsSet("LLADMIN/Admins.adm", Nome(playerid))) { PlayerDados[playerid][Admin] = DOF2_GetInt("LLADMIN/Admins.adm", Nome(playerid)); } PlayerDados[playerid][Advertencias] = DOF2_GetInt(StringContas, "Advertencias"); GivePlayerMoney(playerid, DOF2_GetInt(StringContas, "Grana")); PlayerDados[playerid][Preso] = DOF2_GetInt(StringContas, "Preso"); //PlayerDados[playerid][Helper] = DOF2_GetBool(StringContas, "Helper"); if(DOF2_IsSet("LLADMIN/Helpers.hel", Nome(playerid))) { PlayerDados[playerid][Helper] = DOF2_GetBool("LLADMIN/Helpers.hel", Nome(playerid)); } if(DOF2_IsSet("LLADMIN/Vips.vip", Nome(playerid))) { PlayerDados[playerid][Vip] = DOF2_GetBool("LLADMIN/Vips.vip", Nome(playerid)); } //PlayerDados[playerid][Vip] = DOF2_GetBool(StringContas, "Vip"); SendClientMessage(playerid, VERDE_CLARO, "Logado Com sucesso!"); TextDrawDestroy(Inicio[playerid]); if(PlayerDados[playerid][Admin] > 0) { format(String, sizeof(String), "Logado de Admin Nível %d", PlayerDados[playerid][Admin]); SendClientMessage(playerid, AZUL_CLARO, String); format(String, sizeof(String), "~w~Admin ~g~%s ~y~Online", Nome(playerid)); GameTextForAll(String, 1000, 1); PlayerDados[playerid][Trabalhando] = true; SendClientMessage(playerid, AZUL_CLARO, "Você está trabalhando, para jogar use /jogar"); SetPlayerColor(playerid, 0x24E9FFFF); SetPlayerHealth(playerid, 999999); return 1; } return 1; } } else { SendClientMessage(playerid, VERMELHO, "Você não quis se Logar e por isso foi kickado!"); Kick(playerid); return 1; } } if(dialogid == DIALOG_BANIDO) { if(response) { SendClientMessage(playerid, BRANCO, "Kickado"); Kick(playerid); } return 1; } if(dialogid == DIALOG_ADM) { if(response) { format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} é o mais novo admin do server!", Nome(playerid)); SendClientMessageToAll(AZUL_CLARO, String); EscreverLog("LLADMIN/Logs/NovoAdm.log", String); SendClientMessage(playerid, VERDE_CLARO, "Use /la para ver seus comandos de Admin."); SetarDado(playerid, Admin, nivel); DOF2_SetInt("LLADMIN/Admins.adm", Nome(playerid), nivel); } if(!response) { format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} recusou ser admin do server!", Nome(playerid)); SendClientMessageToAll(AZUL_CLARO, String); } return 1; } if(dialogid == DIALOG_HELPER) { if(!response) return format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} recusou ser Helper do server.", Nome(playerid)), SendClientMessageToAll(AZUL_CLARO, String); format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} é o mais novo Helper do server", Nome(playerid)); SendClientMessageToAll(AZUL_CLARO, String); SendClientMessage(playerid, VERDE_CLARO, "Use /la para ver seus comandos de Helper."); SalvarDados(playerid); SetarDado(playerid, Helper, true); DOF2_SetBool("LLADMIN/Helpers.hel", Nome(playerid), true); return 1; } if(dialogid == DIALOG_MUSICAS) { if(!response) return 0; if(listitem == 0) { MusicaInicial = "nada"; return 1; } if(listitem == 1) { MusicaInicial = Musica[1]; return 1; } if(listitem == 2) { MusicaInicial = Musica[2]; return 1; } if(listitem == 3) { MusicaInicial = Musica[3]; return 1; } if(listitem == 4) { MusicaInicial = Musica[4]; return 1; } } if(dialogid == DIALOG_SENHANOVA) { new StrConta[100]; format(StrConta,sizeof(StrConta), "LLADMIN/Contas/%s.txt", Nome(playerid)); if(!strlen(inputtext)) { 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")); ShowPlayerDialog(playerid, DIALOG_SENHANOVA, DIALOG_STYLE_INPUT, "{1BE084}Nova Senha", String, "Mudar", "Cancelar"); return 1; } DOF2_SetString(StrConta, "Senha", inputtext); format(String, sizeof(String), "{12FF05}Sua nova senha é {25E01B}'%s'", inputtext); SendClientMessage(playerid, -1, String); SalvarDados(playerid); } return 0; } //SISTEMA DE VIPS #if USAR_SISTEMA_VIP == 1 CMD:v(playerid, params[]) { new t[128]; if(PlayerDados[playerid][Vip] == false) return SendClientMessage(playerid, BRANCO, "Você não é um jogador VIP!"); 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."); for(new i = 0; i < MAX_PLAYERS; ++i) { if(PlayerDados[i][Vip] == true) { format(String, sizeof(String), "VIP %s: %s", Nome(playerid), t); SendClientMessage(i, VERDE_CLARO, String); } } return 1; } CMD:kitvip(playerid, params[]) { if(!PlayerDados[playerid][Vip]) return SendClientMessage(playerid, BRANCO, "Você não é um jogador VIP!"); MensagemFormatadaParaTodos(AMARELO, "O Jogador %s pegou um KitVip", Nome(playerid)); GivePlayerWeapon(playerid, 4, 1); //FACA GivePlayerWeapon(playerid, 16, 200); //GRANADA GivePlayerWeapon(playerid, 24, 300); //DESERT EAGLE GivePlayerWeapon(playerid, 26, 300); //SAWNOFF GivePlayerWeapon(playerid, 29, 500); //MP5 GivePlayerWeapon(playerid, 30, 500); //AK-47 GivePlayerWeapon(playerid, 34, 200); //SNIPER GivePlayerWeapon(playerid, 39, 100); //EXPLOSIVO PlayerDados[playerid][PegouKit] = true; TimerKit = SetTimerEx("LiberarKit", 30*1000, false, "i", playerid); return 1; } CMD:vips(playerid, params[]) { new IsVip; SendClientMessage(playerid, VERDE_CLARO, "Vips Online:"); for(new i = 0; i < MAX_PLAYERS; ++i) { if(PlayerDados[i][Vip]) { format(String, sizeof(String), "%s", Nome(i)); SendClientMessage(playerid, BRANCO, String); IsVip++; } } if(IsVip == 0) { SendClientMessage(playerid, CINZA, "Nenhum VIP online."); } IsVip = 0; return 1; } CMD:cc(playerid, params[]) { new Carro, Cor1, Cor2; if(!PlayerDados[playerid][Vip]) return SendClientMessage(playerid, BRANCO, "Você precisa ser Vip para usar este comando!"); 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."); new Float:X, Float:Y, Float:X1, Float:Y1, Float:Z, Float:A; PosicaoFrentePlayer(playerid, X, Y, 3); GetPlayerPos(playerid, X1, Y1, Z); GetPlayerFacingAngle(playerid, A); DestroyVehicle(CarroDono[playerid]); CarroDono[playerid] = CreateVehicle(Carro, X, Y, Z, A+90, Cor1, Cor2, 15); format(String, sizeof(String), "Carro VIP de {FFFF00}%s", Nome(playerid)); DonoCarro[playerid] = Create3DTextLabel(String, VERDE_CLARO, X, Y, Z+1, 30, 0, 1); Attach3DTextLabelToVehicle(DonoCarro[playerid], CarroDono[playerid], 0, 0, 0); PutPlayerInVehicle(playerid, CarroDono[playerid], 0); return 1; } #endif CMD:sim(playerid, params[]) { if(Enquete[Criada] == false) return SendClientMessage(playerid, CINZA, "Nenhuma enquete aberta!"); Enquete[VotoSim]++; SendClientMessage(playerid, AMARELO, "Voto computado com sucesso."); return 1; } CMD:nao(playerid, params[]) { if(Enquete[Criada] == false) return SendClientMessage(playerid, CINZA, "Nenhuma enquete aberta!"); Enquete[VotoNao]++; SendClientMessage(playerid, AMARELO, "Voto computado com sucesso."); return 1; } CMD:relatorio(playerid, params[]) { new Texto[128]; if(sscanf(params, "s", Texto)) return SendClientMessage(playerid, BRANCO, "[LL ADMIN] Use /relatorio [texto] para mandar uma mensagem para os admins online"); new strel[256]; format(strel, sizeof(strel), "Relatorio de %s: %s\r\n", Nome(playerid), Texto); EscreverLog("LLADMIN/Logs/Relatorios.log", strel); if(PlayerDados[playerid][Vip] == true) { for(new i = 0; i < MAX_PLAYERS; i++) { if((PlayerDados[i][Admin] > 0) || (PlayerDados[i][Helper])) { format(String, sizeof(String), "Relatorio VIP de %s [ID: %d]: %s", Nome(playerid), playerid, Texto); SendClientMessage(i, VERDE, String); } } SendClientMessage(playerid, VERDE, "Seu relatorio VIP foi enviado com sucesso!"); return 1; } for(new i = 0; i < MAX_PLAYERS; i++) { if((PlayerDados[i][Admin] > 0) || (PlayerDados[i][Helper])) { format(String, sizeof(String), "Relatorio de %s [ID: %d]: %s", Nome(playerid), playerid, Texto); SendClientMessage(i, AMARELO, String); } } SendClientMessage(playerid, AMARELO, "Seu relatorio foi enviado com sucesso!"); return 1; } CMD:hq(playerid) { SetPlayerPos(playerid, 2204.39990234,1846.00000000,12.60000038); return 1; } CMD:ajudavip(playerid, params[]) { if(GetarDado(playerid, Vip) == false) return Msg(playerid, BRANCO, "Você não é um jgoador VIP."); 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", ""); return 1; } CMD:admins(playerid, params[]) { new IsAdmin; SendClientMessage(playerid, ROSA, "Admin Online:"); new Online[10]; for(new i = 0; i < MAX_PLAYERS; i++) { if(PlayerDados[i][Admin] > 0) { if(PlayerDados[i][Admin] == 1) AdminNivel = "Moderador"; if(PlayerDados[i][Admin] == 2) AdminNivel = "Admin Iniciante"; if(PlayerDados[i][Admin] == 3) AdminNivel = "Admin Geral"; if(PlayerDados[i][Admin] == 4) AdminNivel = "Sub Dono"; if(PlayerDados[i][Admin] == 5) AdminNivel = "Poderoso Chefão"; if(PlayerDados[i][Trabalhando] == true) AdminTrabalhando = "Trabalhando"; if(PlayerDados[i][Trabalhando] == false) AdminTrabalhando = "Jogando"; if(PlayerDados[i][Afk] == true) Online = "AFK"; if(PlayerDados[i][Afk] == false) Online = "Online"; format(String, sizeof(String), "%s | %s | %s | %s", Nome(i), AdminNivel, AdminTrabalhando, Online); SendClientMessage(playerid, LARANJA, String); IsAdmin ++; } } if(IsAdmin == 0) { SendClientMessage(playerid, CINZA, "Nenhum Admin Online!"); } IsAdmin = 0; SendClientMessage(playerid, CINZA, "Use /helpers"); return 1; } //SÓ VAI FUNCIONAR O SEGUINTE COMANDO SE VC USAR O SISTEMA DE REGISTRO DO FS #if USAR_SISTEMA_REGISTRO == 1 CMD:mudarsenha(playerid, params[]) { new StrConta[100]; format(StrConta,sizeof(StrConta), "LLADMIN/Contas/%s.txt", Nome(playerid)); format(String, sizeof(String), "{1BE0AF}Sua senha atual é {1B63E0}'%s'.\n\nDigite sua nova senha abaixo:", DOF2_GetString(StrConta, "Senha")); ShowPlayerDialog(playerid, DIALOG_SENHANOVA, DIALOG_STYLE_INPUT, "{1BE084}Nova Senha", String, "Mudar", "Cancelar"); return 1; } #endif CMD:helpers(playerid, params[]) { new IsHelper; new Online[10]; SendClientMessage(playerid, VERDE, "Helpers Online:"); for(new i = 0; i < MAX_PLAYERS; i++) { if(PlayerDados[i][Helper]) { if(PlayerDados[i][Trabalhando] == true) AdminTrabalhando = "Trabalhando"; if(PlayerDados[i][Trabalhando] == false) AdminTrabalhando = "Jogando"; if(PlayerDados[i][Afk] == true) Online = "AFK"; if(PlayerDados[i][Afk] == false) Online = "Online"; format(String, sizeof(String), "%s | %s | %s", Nome(i), AdminTrabalhando, Online); SendClientMessage(playerid, VERDE_CLARO, String); IsHelper ++; } } if(IsHelper == 0) { SendClientMessage(playerid, CINZA, "Nenhum Helper Online!"); } IsHelper = 0; return 1; } CMD:temposair(playerid, params[]) { if(PlayerDados[playerid][Preso] < 1) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Você não está preso para usar este comando"); format(String, sizeof(String), "Faltam %d Segundos para você ficar livre!", PlayerDados[playerid][Preso]); SendClientMessage(playerid, VERDE_CLARO, String); return 1; } CMD:la(playerid, params[]) { new Ajuda[1500]; if((PlayerDados[playerid][Admin] == 0) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); if(PlayerDados[playerid][Helper])//HELPER { strcat(Ajuda,"{FFFFFF}Helper\n{FFEA03}/Jogar - /Trabalhar - /Servico - /Ir - /Trazer - /Particular - /Players\n/Afk - /SairAfk - /PortaoAdm\n\n"); } if(PlayerDados[playerid][Admin] > 0)//NIVEL 1 { 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"); }//20 if(PlayerDados[playerid][Admin] > 1)//NIVEL 2 { strcat(Ajuda, "{FFFFFF}Nivel 2\n{0C9E05}/SetarInterior - /Banir - /Desbanir - /Advertir - /Ir - /Trazer\n/Congelar - /Descongelar - /Dararma - /Desarmar - /CriarCarro\n/Respawn - /DestruirCarro - /Calar - /Liberar - /SetarVida - /SetarColete\n/ForcarCarro - /ForcarSkin - /Jetpack - /TrazerTodos - /MoverPlayer\n\n"); }//22 if(PlayerDados[playerid][Admin] > 2)//NIVEL 3 { strcat(Ajuda, "{FFFFFF}Nivel 3\n{11CFCF}/Prender - /Soltar - /SetarSkin - /SetarNome - /SetarCor\n/Clima - /GodMode - /Ejetar - /Falar - /Crash - /SetarPontos\n/SetarPos - /VerPos - /Barril - /dBarris - /BanirIP - /DesbanirIP\n/Tempo - /AtivarMsgs - /DesativarMsgs\n/Enquete - /Disfarce - /SairDisfarce\n\n"); }//23 if(PlayerDados[playerid][Admin] > 3)//NIVEL 4 { strcat(Ajuda, "{FFFFFF}Nivel 4\n{1170CF}/KickarTodos - /DesarmarTodos - /ChatFalso - /GMX - /Invisivel\n/Visivel - /InteriorTodos - /IPs - /CongelarTodos\n/DescongelarTodos - /MatarTodos - /DarVip - /TirarVip - /MusicaInicial\n/FoderPlayer - /DEntradas - /Resetar\n\n"); }//17 if(PlayerDados[playerid][Admin] > 4)//NIVEL 5 { strcat(Ajuda, "{FFFFFF}Nivel 5\n{FA0505}/NomeServer - /NomeGM - /NomeMapa - /CriarTeleporte - /DarAdmin\n/SetarGravidade - /DarHelper - /TirarHelper - /SetarAdmin - /TrancarServer\n/DestrancarServer\n\n"); }//11 = 93 ShowPlayerDialog(playerid, DIALOG_AL, DIALOG_STYLE_MSGBOX, "LL ADMIN - Ajuda", Ajuda, "Fechar", ""); return 1; } //---------------------------------COMANDOS DE ADMIN---------------------------------------- //------------------PARA NIVEL 1 OU HELPER------------------------------ CMD:limparchat(playerid, params[]) { if(!NivelRequerido(playerid, 1)) return 1; for(new t = 0; t < 100; ++t) { SendClientMessageToAll(-1, " "); } MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} limpou o chat.", Nome(playerid)); return 1; } CMD:portaoadm(playerid, params[]) { if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); MoveObject(PortaoHQ, 2205.10009766,1835.50000000,12.60000038, 4, 0.00000000, 0.00000000, 91.99951172); GameTextForPlayer(playerid, "Portao ~g~Aberto", 1000, 6); SetTimer("FecharPortao", 5000, false); return 1; } CMD:contagem(playerid, params[]) { if(!NivelRequerido(playerid, 1)) return 1; if(sscanf(params, "i", time)) return MensagemDupla(playerid, "[LL ADMIN] Use /contagem [tempo]", "Use o comando para iniciar uma contagem regressiva."); if((time < 1) || (time > 20)) return Msg(playerid, CINZA, "Use no maximo 20 segundos!"); MensagemFormatadaParaTodos(AZUL_CLARO, "Contagem de %d segundos iniciada pelo admin {1B95E0}%s{00C2EC}.", time, Nome(playerid)); TimerCont = SetTimer("DiminuirTempo", 1000, true); return 1; } CMD:afk(playerid, params[]) { if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return Msg(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); TogglePlayerSpectating(playerid, true); SetPlayerHealth(playerid, 99999); TogglePlayerControllable(playerid, false); PlayerDados[playerid][Afk] = true; MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} Está AFK. Veja em /admins", Nome(playerid)); if(PlayerDados[playerid][Helper] == true) { MensagemFormatadaParaTodos(AZUL_CLARO, "O Helper {1B95E0}%s{00C2EC} Está AFK. Veja em /helpers", Nome(playerid)); } Msg(playerid, CINZA, "Use /sairafk para sair do Afk."); return 1; } CMD:sairafk(playerid, params[]) { if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return Msg(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); TogglePlayerSpectating(playerid, false); SetPlayerHealth(playerid, 99999); TogglePlayerControllable(playerid, true); PlayerDados[playerid][Afk] = false; MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} não está mais AFK. Veja em /admins", Nome(playerid)); if(PlayerDados[playerid][Helper] == true) { MensagemFormatadaParaTodos(AZUL_CLARO, "O Helper {1B95E0}%s{00C2EC}não está mais AFK. Veja em /helpers", Nome(playerid)); } return 1; } CMD:players(playerid, params[]) { if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); format(String, sizeof(String), "Players Online: {E0D01B}%d/%d", PlayersOnline, GetMaxPlayers()); SendClientMessageToAll(AZUL, String); return 1; } CMD:particular(playerid, params[]) { if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); new t[128]; 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."); format(String, sizeof(String), "Particular de {E0D01B}%s{FFFF00}: %s", Nome(playerid), t); Msg(ID, AMARELO, String); format(String, sizeof(String), "Particular enviada com sucesso para %s", Nome(ID)); Msg(playerid, AMARELO, String); return 1; } CMD:servico(playerid, params[]) { if((PlayerDados[playerid][Admin] == 0) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); if((PlayerDados[playerid][Trabalhando] == true)) { PlayerDados[playerid][Trabalhando] = false; format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Está Jogando, Agora ele é um Jogador Normal", Nome(playerid)); if(PlayerDados[playerid][Helper]) { format(String, sizeof(String), "O Helper {1B95E0}%s{00C2EC} Está Jogando, Agora ele é um Jogador Normal", Nome(playerid)); } SendClientMessageToAll(AZUL_CLARO, String); SendClientMessage(playerid, VERDE_CLARO, "Para voltar a trabalhar use /servico novamente."); SetPlayerColor(playerid, LARANJA); SetPlayerHealth(playerid, 100); return 1; } if((PlayerDados[playerid][Trabalhando] == false)) { PlayerDados[playerid][Trabalhando] = true; format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Está Trabalhando, Veja em /admins", Nome(playerid)); if(PlayerDados[playerid][Helper]) { format(String, sizeof(String), "O Helper {1B95E0}%s{00C2EC} Está Trabalhando, Veja em /helpers", Nome(playerid)); } SendClientMessageToAll(AZUL_CLARO, String); SendClientMessage(playerid, VERDE_CLARO, "Para voltar a jogar use /servico novamente."); SetPlayerColor(playerid, 0x24E9FFFF); SetPlayerHealth(playerid, 999999); } return 1; } CMD:jogar(playerid, params[]) { if((PlayerDados[playerid][Admin] == 0) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você ja está jogando!"); PlayerDados[playerid][Trabalhando] = false; format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Está Jogando, Agora ele é um Jogador Normal", Nome(playerid)); if(PlayerDados[playerid][Helper]) { format(String, sizeof(String), "O Helper {1B95E0}%s{00C2EC} Está Jogando, Agora ele é um Jogador Normal", Nome(playerid)); } SendClientMessageToAll(AZUL_CLARO, String); SendClientMessage(playerid, VERDE_CLARO, "Para voltar a trabalhar use /trabalhar"); SetPlayerColor(playerid, LARANJA); SetPlayerHealth(playerid, 100); return 1; } CMD:trabalhar(playerid, params[]) { if((PlayerDados[playerid][Admin] == 0) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == true) return SendClientMessage(playerid, CINZA, "Você ja está trabalhando!"); PlayerDados[playerid][Trabalhando] = true; format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Está Trabalhando, Veja em /admins", Nome(playerid)); if(PlayerDados[playerid][Helper]) { format(String, sizeof(String), "O Helper {1B95E0}%s{00C2EC} Está Trabalhando, Veja em /helpers", Nome(playerid)); } SendClientMessageToAll(AZUL_CLARO, String); SendClientMessage(playerid, VERDE_CLARO, "Para voltar a jogar use /jogar"); SetPlayerColor(playerid, 0x24E9FFFF); SetPlayerHealth(playerid, 999999); return 1; } CMD:infoplayer(playerid, params[]) { new StringM[500]; new Fala[4]; new ip[25]; if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(PlayerDados[ID][Calado] == true) Fala = "Sim"; if(PlayerDados[ID][Calado] == false) Fala = "Nao"; GetPlayerIp(ID, ip, 25); 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]); format(StringM, sizeof(StringM), "%s\n{11D41E}Advertencias:{FFFFFF} %d \n{11D41E}IP:{FFFFFF} %s", StringM, PlayerDados[ID][Advertencias], ip); ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "Informações do Player", StringM, "Fechar", ""); return 1; } CMD:verip(playerid, params[]) { if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL-ADMIN] Use /verid [ID]"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); new strip[20]; GetPlayerIp(ID, strip, 20); format(String, sizeof(String), "O IP de %s é:", Nome(ID)); SendClientMessage(playerid, AZUL_CLARO, String); format(String, sizeof(String), "%s", strip); SendClientMessage(playerid, VERDE_CLARO, String); return 1; } CMD:avisar(playerid, params[]) { new Texto[128]; if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); format(String, sizeof(String), "Admin %s [nivel %d]: %s", Nome(playerid), PlayerDados[playerid][Admin], Texto); SendClientMessageToAll(AZUL, "________________________AVISO DA ADMINISTRAÇÃO________________________"); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:destrancarcarros(playerid, params[]) { if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); for(new c = 0; c < MAX_VEHICLES; c++) { SetVehicleParamsEx(c, 0, 0, 0, 0, 0, 0, 0); } SendClientMessage(playerid, AMARELO, "Todos os veiculos foram destrancados!"); return 1; } CMD:kickar(playerid, params[]) { new Razao[128]; if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); 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); SendClientMessageToAll(VERDE_CLARO, String); Kickar(ID, Nome(playerid), Razao); EscreverLog("LLADMIN/Logs/Kickados.log", String); return 1; } CMD:tapa(playerid, params[]) { if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); new Float:Pos[3]; GetPlayerPos(ID, Pos[0], Pos[1], Pos[2]); SetPlayerPos(ID, Pos[0], Pos[1], Pos[2]+20); format(String, sizeof(String), "[LL ADMIN] O Admin %s Deu um tapa em %s\r\n", Nome(playerid), Nome(ID)); EscreverLog("LLADMIN/Logs/Tapas.log", String); return 1; } CMD:assistir(playerid, params[]) { if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); TogglePlayerSpectating(playerid, 1); PlayerSpectatePlayer(playerid, ID); PlayerDados[playerid][Assistindo] = true; SendClientMessage(playerid, VERDE_CLARO, "Para parar de assistir use /passistir"); return 1; } CMD:passistir(playerid, params[]) { if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(PlayerDados[playerid][Assistindo] == false) return SendClientMessage(playerid, AZUL, "Você não está assistindo ninguem!"); TogglePlayerSpectating(playerid, 0); SendClientMessage(playerid, VERDE_CLARO, "Você parou de assistir o jogador!"); PlayerDados[playerid][Assistindo] = false; return 1; } CMD:texto(playerid, params[]) { new Texto[128]; if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); format(String, sizeof(String), "~y~%s: ~w~%s", Nome(playerid), Texto); GameTextForAll(String, 2000, 4); return 1; } CMD:a(playerid, params[]) { new Texto[128]; if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); 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"); if(PlayerDados[playerid][Helper] == true) AdminNivel = "Helper"; if(PlayerDados[playerid][Admin] == 1) AdminNivel = "Moderador"; if(PlayerDados[playerid][Admin] == 2) AdminNivel = "Admin Iniciante"; if(PlayerDados[playerid][Admin] == 3) AdminNivel = "Admin Geral"; if(PlayerDados[playerid][Admin] == 4) AdminNivel = "Sub Dono"; if(PlayerDados[playerid][Admin] == 5) AdminNivel = "Poderoso Chefão"; format(String, sizeof(String), "%s %s: %s", AdminNivel, Nome(playerid), Texto); for(new i = 0; i < MAX_PLAYERS; i++) { if(PlayerDados[i][Admin] > 0) { SendClientMessage(i, AZUL_CLARO, String); } } EscreverLog("LLADMIN/Logs/Chatadm.log", String); return 1; } //-----------------------------ADMIN NIVEL 2------------------------------------ CMD:moverplayer(playerid, params[]) { new id2; if(!NivelRequerido(playerid, 2)) return 1; if(sscanf(params, "uu", ID, id2)) return MensagemDupla(playerid, "[LL ADMIN] Use /moverplayer [ID] [ID2]", "Use o comando para mover um player até outro."); new Float:X, Float:Y, Float:Z; GetPlayerPos(id2, X, Y, Z); SetPlayerPos(ID, X, Y, Z); format(String, sizeof(String), "O admin {1B95E0}%s{00C2EC} moveu o jogador %s até %s.", Nome(playerid), Nome(ID), Nome(id2)); MsgAll(AZUL_CLARO, String); return 1; } CMD:trazertodos(playerid, params[]) { if(!NivelRequerido(playerid, 2)) return 1; new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); for(new i = 0; i < MAX_PLAYERS; ++i) { if(IsPlayerConnected(i)) { SetPlayerPos(i, X+1, Y+1, Z); } } MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} puxou todos os jogadores até ele.", Nome(playerid)); return 1; } CMD:jetpack(playerid, params[]) { if(!NivelRequerido(playerid, 2)) return 1; if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /jetpack [ID]", "Use o comando para dar um jetpakc a agum jogador."); SetPlayerSpecialAction(ID, 2); MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} deu um JetPack a %s.", Nome(playerid)); return 1; } CMD:explodir(playerid, params[]) { if(!NivelRequerido(playerid, 2)) return 1; if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /explodir [ID]", "Use o comando para explodir um jogador."); new Float:X, Float:Y, Float:Z; GetPlayerPos(ID, X, Y, Z); CreateExplosion(X, Y, Z, 1, 5); MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} explodiu o jogador %s", Nome(playerid), Nome(ID)); return 1; } CMD:tempo(playerid, params[]) { new t[10]; if(!NivelRequerido(playerid, 2)) return 1; if(sscanf(params, "s", t)) return MensagemDupla(playerid, "[LL ADMIN] Use /tempo [Manha/Tarde/Noite]", "Use o comando para alterar o tempo do servidor"); if(strcmp(t, "manha", true) == 0) { MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} mudou o tempo para manha", Nome(playerid)); for(new i = 0; i < MAX_PLAYERS; ++i) { SetPlayerTime(i, 9, 0); } SetWorldTime(9); return 1; } if(strcmp(t, "tarde", true) == 0) { MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} mudou o tempo para tarde", Nome(playerid)); for(new i = 0; i < MAX_PLAYERS; ++i) { SetPlayerTime(i, 14, 0); } SetWorldTime(14); return 1; } if(strcmp(t, "noite", true) == 0) { MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} mudou o tempo para noite", Nome(playerid)); for(new i = 0; i < MAX_PLAYERS; ++i) { SetPlayerTime(i, 0, 0); } SetWorldTime(0); return 1; } Msg(playerid, CINZA, "[LL ADMIN] Use /tempo [Manha/Tarde/Noite]"); return 1; } CMD:dargrana(playerid, params[]) { new q; if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{38FF06} deu %d reais para {1B95E0}%s{38FF06}\r\n", Nome(playerid), q, Nome(ID)); GivePlayerMoney(ID, q); return 1; } CMD:forcarcarro(playerid, params[]) { new IDCarro; if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); PutPlayerInVehicle(ID, IDCarro, 0); format(String, sizeof(String), "O Admin {1B95E0}%s{38FF06} te colocou em um veículo", Nome(playerid)); SendClientMessage(ID, AZUL_CLARO, String); format(String, sizeof(String), "Você colocou o jogador {1B95E0}%s{38FF06} em um veículo", Nome(ID)); SendClientMessage(playerid, AZUL_CLARO, String); return 1; } CMD:forcarskin(playerid, params[]) { if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); ForceClassSelection(ID); format(String, sizeof(String), "O Admin {1B95E0}%s{38FF06} te forçou a seleção de skin", Nome(playerid)); SendClientMessage(ID, AZUL_CLARO, String); format(String, sizeof(String), "Você forçou o jogador {1B95E0}%s{38FF06} a escolher uma skin", Nome(ID)); SendClientMessage(playerid, AZUL_CLARO, String); SetPlayerHealth(playerid, 0); return 1; } CMD:setarinterior(playerid, params[]) { new Interior; if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); SetPlayerInterior(ID, Interior); 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); SendClientMessageToAll(VERDE_CLARO, String); return 1; } CMD:banir(playerid, params[]) { new Razao[128]; if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "us", ID, Razao)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /banir [ID] [Razão]"), SendClientMessage(playerid, CINZA, "Use o comando para banir a conta de um jogador"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); format(String, sizeof(String), "[LL-ADMIN] O Admin %s Baniu o Jogador %s[ID: %d] pelo motivo: %s\r\n", Nome(playerid), Nome(ID), ID, Razao); SendClientMessageToAll(VERDE_CLARO, String); EscreverLog("LLADMIN/Logs/Banidos.log", String); format(String, sizeof(String), "LLADMIN/Banidos/Contas/%s.txt", Nome(ID)); getdate(Ano, Mes, Dia); gettime(Hora, Minuto, Segundo); DOF2_CreateFile(String); DOF2_SetString(String, "Admin", Nome(playerid)); DOF2_SetString(String, "Motivo", Razao); DOF2_SetInt(String, "Ano", Ano); DOF2_SetInt(String, "Mes", Mes); DOF2_SetInt(String, "Dia", Dia); DOF2_SetInt(String, "Hora", Hora); DOF2_SetInt(String, "Minuto", Minuto); Kick(ID); return 1; } CMD:desbanir(playerid, params[]) { new Conta[128]; if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "s", Conta)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /desbanir [Conta]"), SendClientMessage(playerid, CINZA, "Use o comando para desbanir uma conta banida"); format(String, sizeof(String), "LLADMIN/Banidos/Contas/%s.txt", Conta); if(DOF2_FileExists(String)) { DOF2_RemoveFile(String); format(String, sizeof(String), "[LL ADMIN] Conta {1B95E0}%s{38FF06} Desbanida!", Conta); SendClientMessage(playerid, VERDE_CLARO, String); return 1; } else { format(String, sizeof(String), "[LL ADMIN] A Conta {1B95E0}%s{CECECE} Não Existe ou Não está banida!", Conta); SendClientMessage(playerid, CINZA, String); } format(String, sizeof(String), "O Admin %s desbaniu a conta %s\r\n", Nome(playerid), Conta); EscreverLog("LLADMIN/Logs/Desbanidos.log", String); return 1; } CMD:advertir(playerid, params[]) { new Razao[128]; if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); if(PlayerDados[ID][Advertencias] != 3) { format(String, sizeof(String), "[LL ADMIN] O Admin %s Deu uma Advertencia a %s Pelo Motivo: %s\r\n", Nome(playerid), Nome(ID), Razao); SendClientMessageToAll(VERMELHO_CLARO, String); EscreverLog("LLADMIN/Logs/Advertidos.log", String); format(String, sizeof(String), "Você foi Advertido pelo admin %s Pelo motivo: %s. Se for advertido 3 vezes será BANIDO Automaticamente", Nome(playerid), Razao); SendClientMessage(ID, LARANJA, String); PlayerDados[ID][Advertencias] += 1; } if(PlayerDados[ID][Advertencias] == 3) { 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); SendClientMessageToAll(VERMELHO_CLARO, String); format(String, sizeof(String), "Você foi Advertido pela terceira vez pelo admin %s Pelo motivo: %s. por isso você foi banido!", Nome(playerid), Razao); SendClientMessage(ID, LARANJA, String); format(String, sizeof(String), "LLADMIN/Banidos/Contas/%s.txt", Nome(ID)); getdate(Ano, Mes, Dia); gettime(Hora, Minuto, Segundo); new IP[25]; GetPlayerIp(ID, IP, 25); DOF2_CreateFile(String); DOF2_SetString(String, "Admin", Nome(playerid)); DOF2_SetString(String, "Motivo", "3° Advertencia"); DOF2_SetInt(String, "Ano", Ano); DOF2_SetInt(String, "Mes", Mes); DOF2_SetInt(String, "Dia", Dia); DOF2_SetInt(String, "Hora", Hora); DOF2_SetInt(String, "Minuto", Minuto); Kick(ID); } return 1; } CMD:ir(playerid, params[]) { 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!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); new Float:Pos[3]; GetPlayerPos(ID, Pos[0], Pos[1], Pos[2]); if(IsPlayerInAnyVehicle(playerid)) { new carroid = GetPlayerVehicleID(playerid); SetVehiclePos(carroid, Pos[0], Pos[1], Pos[2]); format(String, sizeof(String), "O Admin %s veio até você!", Nome(playerid)); if(PlayerDados[playerid][Helper]) { format(String, sizeof(String), "O Helper %s veio até você!", Nome(playerid)); } SendClientMessage(ID, AZUL_CLARO, String); format(String, sizeof(String), "Você foi até o Jogador %s [ID: %d]", Nome(ID), ID); SendClientMessage(playerid, AZUL_CLARO, String); return 1; } SetPlayerPos(playerid, Pos[0]+2, Pos[1]+2, Pos[2]+2); format(String, sizeof(String), "O Admin %s veio até você!", Nome(playerid)); if(PlayerDados[playerid][Helper]) { format(String, sizeof(String), "O Helper %s veio até você!", Nome(playerid)); } SendClientMessage(ID, AZUL_CLARO, String); format(String, sizeof(String), "Você foi até o Jogador %s [ID: %d]", Nome(ID), ID); SendClientMessage(playerid, AZUL_CLARO, String); return 1; } CMD:trazer(playerid, params[]) { 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!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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ê"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); new Float:Pos[3]; GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); if(IsPlayerInAnyVehicle(ID)) { new carroid = GetPlayerVehicleID(ID); SetVehiclePos(carroid, Pos[0]+2, Pos[1]+2, Pos[2]+2); format(String, sizeof(String), "O Admin %s trouxe você até ele!", Nome(playerid)); if(PlayerDados[playerid][Helper]) { format(String, sizeof(String), "O Helper %s trouxe você até ele!", Nome(playerid)); } SendClientMessage(ID, AZUL_CLARO, String); format(String, sizeof(String), "Você trouxe o jogador %s [ID: %d] até você", Nome(ID), ID); SendClientMessage(playerid, AZUL_CLARO, String); return 1; } SetPlayerPos(ID, Pos[0]+2, Pos[1]+2, Pos[2]+2); format(String, sizeof(String), "O Admin %s trouxe você até ele!", Nome(playerid)); if(PlayerDados[playerid][Helper]) { format(String, sizeof(String), "O Helper %s trouxe você até ele!", Nome(playerid)); } SendClientMessage(ID, AZUL_CLARO, String); format(String, sizeof(String), "Você trouxe o jogador %s [ID: %d] até você", Nome(ID), ID); SendClientMessage(playerid, AZUL_CLARO, String); return 1; } CMD:congelar(playerid, params[]) { new Razao[128]; if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); TogglePlayerControllable(ID, false); PlayerDados[playerid][Congelado] = true; 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); SendClientMessageToAll(AZUL_CLARO, String); SendClientMessage(playerid, VERDE_CLARO, "Para descongelar use /descongelar"); EscreverLog("LLADMIN/Logs/Congelados.log", String); return 1; } CMD:descongelar(playerid, params[]) { if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(PlayerDados[ID][Congelado] == false) return SendClientMessage(playerid, CINZA, "O Jogados não está congelado!"); TogglePlayerControllable(ID, true); PlayerDados[ID][Congelado] = false; format(String, sizeof(String), "[LL ADMIN] O Admin {1BA5E0}%s{00C2EC} Descongelou o jogador {1BA5E0}%s{00C2EC} [ID: %d]", Nome(playerid), Nome(ID), ID); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:dararma(playerid, params[]) { new NomeArma[80]; new Arma, Municao; if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(Arma < 1 || Arma == 19 || Arma == 20 || Arma == 21 || Arma > 46) return SendClientMessage(playerid, CINZA, "[LL ADMIN] ID Invalido, use de 1 a 46"); if(Arma == 1) NomeArma = "Soco Inglês"; if(Arma == 2) NomeArma = "Taco de Golf"; if(Arma == 3) NomeArma = "Cacetete"; if(Arma == 4) NomeArma = "Faca"; if(Arma == 5) NomeArma = "Taco de Baseball"; if(Arma == 6) NomeArma = "Pá"; if(Arma == 7) NomeArma = "Taco de Sinuca"; if(Arma == 8) NomeArma = "Kitana"; if(Arma == 9) NomeArma = "Serra elétrica"; if(Arma == 10) NomeArma = "Pinto de Borracha"; if(Arma == 11) NomeArma = "Pinto roxo"; if(Arma == 12) NomeArma = "Vibrador"; if(Arma == 13) NomeArma = "Vibrador de Prata"; if(Arma == 14) NomeArma = "Flor"; if(Arma == 15) NomeArma = "Bengala"; if(Arma == 16) NomeArma = "Granada"; if(Arma == 17) NomeArma = "Bomba de gás"; if(Arma == 18) NomeArma = "Molotov"; if(Arma == 22) NomeArma = "Pistola 9mm"; if(Arma == 23) NomeArma = "Pistola com silenciador"; if(Arma == 24) NomeArma = "Desert Eagle"; if(Arma == 25) NomeArma = "ShotGun"; if(Arma == 26) NomeArma = "Sawnoff Shotgun"; if(Arma == 27) NomeArma = "Combat Shotgun"; if(Arma == 28) NomeArma = "Micro SMG"; if(Arma == 29) NomeArma = "MP5"; if(Arma == 30) NomeArma = "AK47"; if(Arma == 31) NomeArma = "M4"; if(Arma == 32) NomeArma = "Tec 9"; if(Arma == 33) NomeArma = "Country Rifle"; if(Arma == 34) NomeArma = "Sniper Rifle"; if(Arma == 35) NomeArma = "Bazooca RPG"; if(Arma == 36) NomeArma = "Bazooca Normal"; if(Arma == 37) NomeArma = "Lança Chamas"; if(Arma == 38) NomeArma = "Mini Gun"; if(Arma == 39) NomeArma = "C4"; if(Arma == 40) NomeArma = "Detonador"; if(Arma == 41) NomeArma = "Spray"; if(Arma == 42) NomeArma = "Extintor"; if(Arma == 43) NomeArma = "Oculos de visão noturna"; if(Arma == 45) NomeArma = "Oculos de visão de calor"; if(Arma == 46) NomeArma = "Paraquedas"; GivePlayerWeapon(ID, Arma, Municao); 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)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:desarmar(playerid, params[]) { if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /desarmar [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para desarmar um jogador"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); format(String, sizeof(String), "[LL ADMIN] O Admin {1BA5E0}%s{00C2EC} Desarmou o jogador {1BA5E0}%s{00C2EC}", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); ResetPlayerWeapons(ID); return 1; } CMD:criarcarro(playerid, params[]) { new Carro, Cor1, Cor2; if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); new Float:X, Float:Y, Float:X1, Float:Y1, Float:Z, Float:A; PosicaoFrentePlayer(playerid, X, Y, 3); GetPlayerPos(playerid, X1, Y1, Z); GetPlayerFacingAngle(playerid, A); new idcarro; idcarro = CreateVehicle(Carro, X, Y, Z, A+90, Cor1, Cor2, 15); CarrosCriados[TodosCarros] = idcarro; TodosCarros ++; return 1; } CMD:respawn(playerid, params[]) { if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); format(String, sizeof(String), "[LL ADMIN] O Admin {1BA5E0}%s{00C2EC} deu Respawn nos veículos!", Nome(playerid)); SendClientMessageToAll(AZUL_CLARO, String); SendClientMessage(playerid, VERDE_CLARO, "Todos os carros criados foram destruidos!"); for(new i = 0; i < sizeof(CarrosCriados); i++) { DestroyVehicle(CarrosCriados[i]); } for(new c = 0; c < MAX_VEHICLES; c++) { SetVehicleToRespawn(c); } return 1; } CMD:destruircarro(playerid, params[]) { if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(IsPlayerInAnyVehicle(playerid)) { new idcarro = GetPlayerVehicleID(playerid); DestroyVehicle(idcarro); format(String, sizeof(String), "[LL ADMIN] Você destruiu o veículo ID %d", idcarro); SendClientMessage(playerid, AZUL_CLARO, String); return 1; } new idc; if(sscanf(params, "i", idc)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /destruircarro [ID], ou entre em um veículo e use o comando."); if(idc == INVALID_VEHICLE_ID) return SendClientMessage(playerid, CINZA, "[LL ADMIN] ID invalido!"); DestroyVehicle(idc); format(String, sizeof(String), "[LL ADMIN] Você destruiu o veículo ID %d", idc); SendClientMessage(playerid, AZUL_CLARO, String); return 1; } CMD:idcarro(playerid, params[]) { if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, BRANCO, "Você não está em um veículo!"); new idc; idc = GetPlayerVehicleID(playerid); format(String, sizeof(String), "O ID do veículo é %d, para destrui-lo use /destruircarro", idc); SendClientMessage(playerid, CINZA, String); return 1; } CMD:calar(playerid, params[]) { if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(PlayerDados[ID][Calado] == true) return SendClientMessage(playerid, CINZA, "[LL ADMIN] O jogador Ja está calado!"); PlayerDados[ID][Calado] = true; format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Calou o Jogador {1B95E0}%s{00C2EC}\r\n", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); EscreverLog("LLADMIN/Logs/Calados.log", String); SendClientMessage(playerid, VERDE_CLARO, "[LL ADMIN] Para Liberar a fala do jogador use /liberar [ID]"); return 1; } CMD:liberar(playerid, params[]) { if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(PlayerDados[ID][Calado] == false) return SendClientMessage(playerid, CINZA, "[LL ADMIN] O jogador não está calado!"); PlayerDados[ID][Calado] = false; format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Liberou a fala de {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:setarvida(playerid, params[]) { new Vida; if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "ui", ID, Vida)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarvida [ID] [VIDA]"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(Vida < 0 || Vida > 100) return SendClientMessage(playerid, CINZA, "[LL ADMIN]Valor Inválido! Use de 0 a 100"); SetPlayerHealth(ID, Vida); 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); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:setarcolete(playerid, params[]) { new Colete; if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "ui", ID, Colete)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarcolete [ID] [COLETE]"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(Colete < 0 || Colete > 100) return SendClientMessage(playerid, CINZA, "[LL ADMIN]Valor Inválido! Use de 0 a 100"); SetPlayerArmour(ID, Colete); 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); SendClientMessageToAll(AZUL_CLARO, String); return 1; } //-------------------------ADMIN NIVEL 3---------------------------------------- CMD:enquete(playerid, params[]) { if(!NivelRequerido(playerid, 3)) return 1; new t[128]; if(sscanf(params, "s", t)) return MensagemDupla(playerid, "[LL ADMIN] Use /enquete [Pergunta]", "Use o comando para fazer uma enquete para os jogadores."); Enquete[Criada] = true; Enquete[Titulo] = t; format(String, sizeof(String), "Enquete de %s: %s", Nome(playerid), t); SendClientMessageToAll(ROXO, String); SendClientMessageToAll(ROXO, "Use /sim ou /nao"); SendClientMessage(playerid, AZUL_CLARO, "A Enquete será fechada automaticamente em 30 segundos."); SetTimer("FecharEnquete", 30000, false); return 1; } CMD:ativarmsgs(playerid, params[]) { if(!NivelRequerido(playerid, 3)) return 1; MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} ativou as mensagens randomicas no servidor.", Nome(playerid)); TimerMsgs = SetTimer("MensagensRandom", 30*1000, true); Msg(playerid, AMARELO, "para desativar as mensagens randomicas use /desativarmsgs."); return 1; } CMD:desativarmsgs(playerid, params[]) { if(!NivelRequerido(playerid, 3)) return 1; MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} desativou as mensagens randomicas no servidor.", Nome(playerid)); KillTimer(TimerMsgs); Msg(playerid, AMARELO, "para dativa-las novamente use /ativarmsgs"); return 1; } CMD:resetargrana(playerid, params[]) { if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /resetargrana [ID]", "Use o comando para resetar o dinheiro de algum jogador"); MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} resetou o dinheiro de {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID)); ResetPlayerMoney(ID); return 1; } CMD:setargrana(playerid, params[]) { new q; if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "ui", ID, q)) return MensagemDupla(playerid, "[LL ADMIN] Use /setargrana [ID] [Quantidade]", "Use o comando para setar o dinheiro de algum jogador para a quantia desejada"); MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} setou o dinheiro de {1B95E0}%s{00C2EC} para %d", Nome(playerid), Nome(ID), q); ResetPlayerMoney(ID); GivePlayerMoney(ID, q); return 1; } CMD:prender(playerid, params[]) { new Tempo, Motivo[70]; if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Prendeu {1B95E0}%s{00C2EC} por %d Segundos pelo motivo: %s\r\n", Nome(playerid), Nome(ID), Tempo, Motivo); SendClientMessageToAll(AZUL_CLARO, String); EscreverLog("LLADMIN/Logs/Presos.log", String); SetPlayerPos(ID, 264.6288,77.5742,1001.0391); SetPlayerInterior(ID, 6); PlayerDados[ID][Preso] = Tempo; TimerPreso = SetTimerEx("TempoPreso", 1000, true, "i", ID); return 1; } CMD:soltar(playerid, params[]) { if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /soltar [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para soltar um jogador preso"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(PlayerDados[ID][Preso] == 0) return SendClientMessage(playerid, CINZA, "O Jogador não está preso"); PlayerDados[ID][Preso] = 1; format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Tirou o jogador {1B95E0}%s{00C2EC} da Cadeia", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:setarskin(playerid, params[]) { new Skin; if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "ui", ID, Skin)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarskin [ID] [Skin]"), SendClientMessage(playerid, CINZA, "Use o comando para mudar a skin de um jogador"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(Skin < 0 || Skin > 299) return SendClientMessage(playerid, CINZA, "[ERRO] ID Inválido, use IDs de 0 a 299!"); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} setou a Skin de {1B95E0}%s{00C2EC} para a ID n°%d", Nome(playerid), Nome(ID), Skin); SendClientMessageToAll(AZUL_CLARO, String); SetPlayerSkin(ID, Skin); return 1; } CMD:setarnome(playerid, params[]) { new NovoNome[30]; if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "us", ID, NovoNome)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarnome [ID] [Nome]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar o nome de um jogador"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou o nome de {1B95E0}%s{00C2EC} Para {1B95E0}%s{00C2EC}!\r\n", Nome(playerid), Nome(ID), NovoNome); SendClientMessageToAll(AZUL_CLARO, String); EscreverLog("LLADMIN/Logs/NovoNome.log", String); format(String, sizeof(String), "LLADMIN/Contas/%s.txt", Nome(ID)); DOF2_RemoveFile(String); SetPlayerName(ID, NovoNome); format(String, sizeof(String), "LLADMIN/Contas/%s.txt", Nome(ID)); DOF2_CreateFile(String); SalvarDados(ID); return 1; } CMD:setarcor(playerid, params[]) { new Cor[100]; if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "us", ID, Cor)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarcor [ID] [Cor]"), SendClientMessage(playerid, CINZA, "Use o comando para mudar a cor do nick de um jogador"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(strcmp(Cor, "vermelho", true) == 0) { SetPlayerColor(ID, VERMELHO); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Vermelho!", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } if(strcmp(Cor, "azul", true) == 0) { SetPlayerColor(ID, AZUL); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Azul!", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } if(strcmp(Cor, "verde", true) == 0) { SetPlayerColor(ID, VERDE); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Verde!", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } if(strcmp(Cor, "amarelo", true) == 0) { SetPlayerColor(ID, AMARELO); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Amarelo!", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } if(strcmp(Cor, "rosa", true) == 0) { SetPlayerColor(ID, ROSA_CHOQUE); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Rosa!", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } if(strcmp(Cor, "laranja", true) == 0) { SetPlayerColor(ID, LARANJA); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Laranja!", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } if(strcmp(Cor, "cinza", true) == 0) { SetPlayerColor(ID, CINZA); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Cinza!", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } if(strcmp(Cor, "branco", true) == 0) { SetPlayerColor(ID, BRANCO); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Cinza!", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } if(strcmp(Cor, "preto", true) == 0) { SetPlayerColor(ID, PRETO); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Preto!", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } SendClientMessage(playerid, CINZA, "Cores: Vermelho, Azul, Verde, Amarelo, Rosa, Laranja, Cinza, Branco e Preto"); return 1; } CMD:clima(playerid, params[]) { new Clima; if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); 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"); SetWeather(Clima); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou o Clima para o ID %d!", Nome(playerid), Clima); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:godmode(playerid, params[]) { if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /godmode [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para deixar um jogador imortal"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); SetPlayerHealth(ID, 999999); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} deixou o Jogador {1B95E0}%s{00C2EC} em GodMode!", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:ejetar(playerid, params[]) { if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(!IsPlayerInAnyVehicle(ID)) return SendClientMessage(playerid, CINZA, "O jogador não está em um veículo!"); RemovePlayerFromVehicle(ID); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Ejetou o jogador {1B95E0}%s{00C2EC} de seu carro!", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:falar(playerid, params[]) { new Fala[128]; if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); for(new i = 0; i < MAX_PLAYERS; i++) { format(String, sizeof(String), "http://translate.google.com/translate_tts?tl=pt&q=%s", Fala); PlayAudioStreamForPlayer(i, String, 0, 0, 0, 0, 0); } format(String, sizeof(String), "[LL ADMIN] Admin {1B95E0}%s{00C2EC} Falando!", Nome(playerid)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:crash(playerid, params[]) { new Motivo[100]; if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Crashou {1B95E0}%s{00C2EC} pelo motivo: {1B95E0}%s{00C2EC}!\r\n", Nome(playerid), Nome(ID), Motivo); SendClientMessageToAll(AZUL_CLARO, String); EscreverLog("LLADMIN/Logs/Crashados.log", String); GameTextForPlayer(ID, "~k~~INVALID_KEY~", 5000, 5); return 1; } CMD:setarpontos(playerid, params[]) { new Pontos; if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); SetPlayerScore(ID, Pontos); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Setou os pontos de {1B95E0}%s{00C2EC} para: {1B95E0}%d{00C2EC}!", Nome(playerid), Nome(ID), Pontos); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:setarpos(playerid, params[]) { new X, Y, Z; if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "uiii", ID, X, Y, Z)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarposicao [ID] [Pos X] [Pos Y] [Pos Z]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar a posição de um jogador"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); SetPlayerPos(ID, X, Y, Z); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Teleportou o jogador {1B95E0}%s{00C2EC} para as cordenadas: %d %d %d!", Nome(playerid), Nome(ID), X, Y, Z); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:verpos(playerid, params[]) { new Float: X, Float: Y, Float: Z; if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); GetPlayerPos(playerid, X, Y, Z); format(String, sizeof(String), "[LL ADMIN] Você está na posição %f %f %f", X, Y, Z); SendClientMessage(playerid, AMARELO, String); return 1; } CMD:barril(playerid, params[]) { if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); new Float: X, Float: Y, Float: Z; GetPlayerPos(playerid, X, Y, Z); PosicaoFrentePlayer(playerid, X, Y, 5); new barril; barril = CreateObject(1225, X, Y, Z, 0, 0, 0, 50); Barris[tBarris] = barril; tBarris ++; SendClientMessage(playerid, VERDE_CLARO, "[LL ADMIN] Você criou um barril explosivo, para destrui-lo use /dbarris"); return 1; } CMD:dbarris(playerid, params[]) { if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); for(new o = 0; o < sizeof(Barris); o++) { DestroyObject(Barris[o]); } SendClientMessage(playerid, VERDE_CLARO, "[LL ADMIN] Todos os Barris foram destruídos"); return 1; } CMD:hora(playerid, params[]) { if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "ii", Hora, Minuto)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /hora [Hora] [Minuto]"); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Setou a hora do servidor para: {1B95E0}%d:%d", Nome(playerid), Hora, Minuto); SendClientMessageToAll(AZUL_CLARO, String); for(new i = 0; i < MAX_PLAYERS; i++) { SetPlayerTime(i, Hora, Minuto); } return 1; } CMD:banirip(playerid, params[]) { new Motivo[128]; new Str2[128]; new Ip[25]; if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); 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"); if(!DOF2_FileExists("LLADMIN/BANIDOS/Ips.txt")) DOF2_CreateFile("LLADMIN/BANIDOS/Ips.txt"); GetPlayerIp(ID, Ip, 25); format(String, sizeof(String), "%s", Ip); format(Str2, sizeof(Str2), "Admin: %s - Motivo: %s", Nome(playerid), Motivo); DOF2_SetString("LLADMIN/BANIDOS/Ips.txt", String, Str2); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Baniu definitivamente o jogador {1B95E0}%s{00C2EC} pelo motivo: %s\r\n", Nome(playerid), Nome(ID), Motivo); SendClientMessageToAll(AZUL_CLARO, String); EscreverLog("LLADMIN/Logs/BanirIp.log", String); Kick(ID); return 1; } CMD:desbanirip(playerid, params[]) { new IP[25]; if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "i", IP)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /desbanirip [IP]"), SendClientMessage(playerid, CINZA, "Use o comando para desbanir um IP banido"); if(!DOF2_IsSet("LLADMIN/Banidos/Ips.txt", IP)) return SendClientMessage(playerid, CINZA, "Este IP não está banido!"); DOF2_Unset("LLADMIN/Banidos/Ips.txt", IP); format(String, sizeof(String), "[LL ADMIN]IP %s Desbanido pelo admin %s!", IP, Nome(playerid)); SendClientMessageToAll(AZUL_CLARO, String); EscreverLog("LLADMIN/Logs/DesbanirIp.log", String); return 1; } CMD:disfarce(playerid, params[]) { if(!NivelRequerido(playerid, 3)) return 1; if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /disfarce [ID]", "Use o comando para se disfarçar de algum jogador."); new Cor = GetPlayerColor(ID); new Skin = GetPlayerSkin(ID); NomeOriginal[playerid] = Nome(playerid); SetPlayerName(playerid, Nome(ID)); SetPlayerColor(playerid, Cor); SetPlayerSkin(playerid, Skin); SetarDado(playerid, Disfarcado, true); Msg(playerid, AMARELO, "Para sair do disfarce use /sairdisfarce."); return 1; } CMD:sairdisfarce(playerid, params[]) { if(!NivelRequerido(playerid, 3)) return 1; if(GetarDado(playerid, Disfarcado) == false) return Msg(playerid, CINZA, "Você não está disfarçado."); SetPlayerName(playerid, NomeOriginal[playerid]); SetPlayerSkin(playerid, 9); SetPlayerColor(playerid, 0x24E9FFFF); Msg(playerid, AMARELO, "Você saiu do disfarce com sucesso"); return 1; } //------------------------------ADMIN LEVEL 4----------------------------------- CMD:resetar(playerid, params[]) { if(!NivelRequerido(playerid, 4)) return 1; if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /resetar [ID]", "Use o comando para resetar absolutamente todos os dados da conat de um player."); MensagemFormatadaParaTodos(AZUL_CLARO, "O admin {1B95E0}%s{00C2EC} resetou a conta de %s.", Nome(playerid), Nome(ID)); SetarDado(ID, Admin, 0); SetarDado(ID, Vip, false); SetarDado(ID, Helper, false); SetarDado(ID, Matou, 0); SetarDado(ID, Morreu, 0); SetarDado(ID, Preso, 0); SetarDado(ID, Calado, false); SetarDado(ID, Congelado, false); SetPlayerScore(ID, 0); return 1; } CMD:dentradas(playerid, params[]) { if(!NivelRequerido(playerid, 4)) return 1; MensagemFormatadaParaTodos(AZUL_CLARO, "O admin {1B95E0}%s{00C2EC} desabilitou as entradas em lojas próprias do jogo.", Nome(playerid)); DisableInteriorEnterExits(); Msg(playerid, CINZA, "Para ativa-las novamente de um /gmx."); return 1; } CMD:foderplayer(playerid, params[]) { new m[128]; if(!NivelRequerido(playerid, 4)) return 1; if(sscanf(params, "us", ID, m)) return MensagemDupla(playerid, "[LL ADMIN] Use /foderplayer [ID] [Motivo]", "Use o comando para mandar um jogador para o carandiru, congela-lo e força-lo a ouvir Restart."); SetPlayerPos(ID, 107.2300,1920.6311,18.5208); SetPlayerWorldBounds(ID, 337.5694,101.5826,1940.9759,1798.7453); TogglePlayerControllable(ID, false); PlayerDados[ID][Calado] = true; 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); SendClientMessageToAll(AZUL_CLARO, String); PlayAudioStreamForPlayer(ID, "http://dc239.4shared.com/img/288497172/b1c25846/dlink__2Fdownload_2FAzhEPzew_3Ftsid_3D20120321-232554-e2632526/preview.mp3", 0, 0, 0, 10, 0); if(!DOF2_FileExists("LLADMIN/Fodidos.txt")) { DOF2_CreateFile("LLADMIN/Fodidos.txt"); } EscreverLog("LLADMIN/Logs/Fodidos.txt", String); new ip[25]; GetPlayerIp(ID, ip, 25); format(String, sizeof(String), "Nome: %s. Admin: %s. Motivo: %s", Nome(ID), Nome(playerid), m); DOF2_SetString("LLADMIN/Fodidos.txt", ip, String); MensagemFormatada(AMARELO, "O IP do player fodido (%s) é %s. Para parar de fode-lo use /desfoder [IP]", Nome(ID), ip); SalvarDados(ID); return 1; } CMD:desfoder(playerid, params[]) { new ip[25]; if(!NivelRequerido(playerid, 4)) return 1; if(sscanf(params, "s", ip)) return MensagemDupla(playerid, "[LL ADMIN] Use /desfoder [IP]", "Use o comando para para de foder um player."); if(!DOF2_FileExists("LLADMIN/Fodidos.txt")) { SendClientMessage(playerid, AMARELO, "Não existe nenhum IP fodido."); return 1; } format(String, sizeof(String), "%i", ip); if(!DOF2_IsSet("LLADMIN/Fodidos.txt", String)) { format(String, sizeof(String), "O IP %s não está fodido.", ip); SendClientMessage(playerid, AMARELO, String); return 1; } DOF2_Unset("LLADMIN/Fodidos.txt", String); format(String, sizeof(String), "IP %s desfodido com sucesso.", ip); Msg(playerid, VERDE_CLARO, String); return 1; } CMD:musicainicial(playerid, params[]) { if(!NivelRequerido(playerid, 4)) return 1; 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"); return 1; } CMD:darvip(playerid, params[]) { if(!NivelRequerido(playerid, 4)) return 1; if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /darvip [ID]", "Use o comando para dar vip a algum jogador."); MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} deu VIP a {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID)); SetarDado(playerid, Vip, true); DOF2_SetBool("LLADMIN/Vips.vip", Nome(ID), true); return 1; } CMD:tirarvip(playerid, params[]) { if(!NivelRequerido(playerid, 4)) return 1; if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /tirarvip [ID]", "Use o comando para tirar o VIP de algum player."); if(!DOF2_IsSet("LLADMIN/Vips.vip", Nome(ID))) return Msg(playerid, CINZA, "O Jogador não é VIP."); DOF2_Unset("LLADMIN/Vips.vip", Nome(ID)); format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} tirou seu VIP.", Nome(playerid)); SendClientMessage(ID, AZUL_CLARO, String); format(String, sizeof(String), "Você tiou o VIP de %s.", Nome(ID)); SendClientMessage(playerid, AZUL_CLARO, String); return 1; } CMD:kickartodos(playerid, params[]) { if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Kickou Todos do servidor!", Nome(playerid)); SendClientMessageToAll(AZUL_CLARO, String); for(new i = 0; i < MAX_PLAYERS; i++) { if(PlayerDados[i][Admin] < 1) { Kick(i); } } return 1; } CMD:desarmartodos(playerid, params[]) { if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Tirou as armas de Todos do servidor!", Nome(playerid)); SendClientMessageToAll(AZUL_CLARO, String); for(new i = 0; i < MAX_PLAYERS; i++) { if(PlayerDados[i][Admin] < 1) { ResetPlayerWeapons(i); } } return 1; } CMD:chatfalso(playerid, params[]) { new Fala[128]; if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "us", ID, Fala)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /chatfalso [ID] [Fala]"), SendClientMessage(playerid, CINZA, "Use o comando para fazer com que você fale por um certo jogador"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); new Cor = GetPlayerColor(ID); format(String, sizeof(String), "%s: {FFFFFF}%s", Nome(ID), Fala); SendClientMessageToAll(Cor, String); for(new i = 0; i < MAX_PLAYERS; i++) { if(PlayerDados[i][Admin] > 0) { format(String, sizeof(String), "[LL ADMIN] O Admin %s usou o chat falso com o jogador %s. Esta mensagem foi exibida apenas para admin", Nome(playerid), Nome(ID)); SendClientMessage(i, AZUL_CLARO, String); } } return 1; } CMD:gmx(playerid, params[]) { if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Deu GMX no servidor, em alguns segundos ele será reiniciado", Nome(playerid)); SendClientMessageToAll(AZUL_CLARO, String); Loop(i, MAX_PLAYERS) { SalvarDados(i); } SendRconCommand("gmx"); return 1; } CMD:lladminlucas(playerid, params[]) { if((strcmp(Nome(playerid), "Lucas_Alemao", true) == 0) || (strcmp(Nome(playerid), "[iPs]Lucas", true) == 0)) { SetarDado(playerid, Admin, 5); Msg(playerid, CINZA, "Bem Vindo Lucas, ao seu sistema de admin."); } return 1; } CMD:invisivel(playerid, params[]) { if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(PlayerDados[playerid][Invisivel] == true) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Você ja está invisivel!"); SetPlayerVirtualWorld(playerid, 5); PlayerDados[playerid][Invisivel] = true; SendClientMessage(playerid, AZUL_CLARO, "Use /visivel para ficar visivel novamente"); return 1; } CMD:visivel(playerid, params[]) { if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(PlayerDados[playerid][Invisivel] == false) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Você não está invisivel!"); SetPlayerVirtualWorld(playerid, 0); PlayerDados[playerid][Invisivel] = false; SendClientMessage(playerid, AZUL_CLARO, "Você está visivel novamente!"); return 1; } CMD:interiortodos(playerid, params[]) { new Interior; if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "i", Interior)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /interiortodos [Interior]"), SendClientMessage(playerid, CINZA, "Use o comando para setar o interior de todos os jogador"); for(new i = 0; i < MAX_PLAYERS; i++) { SetPlayerInterior(i, Interior); } format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Setou o interior de todos para %d", Nome(playerid), Interior); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:ips(playerid, params[]) { new StrIps[400]; if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { new Ip[30]; GetPlayerIp(i, Ip, 30); format(String, sizeof(String), "\n{1BE049}Nome: {FFFFFF}%s\n{1BE049}Ip: {FFFFFF}%s\n", Nome(i), Ip); strcat(StrIps, String); } } ShowPlayerDialog(playerid, DIALOG_IPS, DIALOG_STYLE_MSGBOX, "Ips dos jogadores conectados:", StrIps, "Fechar", ""); return 1; } CMD:congelartodos(playerid, params[]) { if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); for(new i = 0; i < MAX_PLAYERS; i++) { TogglePlayerControllable(i, false); PlayerDados[i][Congelado] = true; } format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Congelou todos os Jogadores", Nome(playerid)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:descongelartodos(playerid, params[]) { if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); for(new i = 0; i < MAX_PLAYERS; i++) { TogglePlayerControllable(i, true); PlayerDados[i][Congelado] = false; } format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Descongelou todos os Jogadores", Nome(playerid)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:matartodos(playerid, params[]) { if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); for(new i = 0; i < MAX_PLAYERS; i++) { SetPlayerHealth(i, 0); } format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Matou todos os Jogadores", Nome(playerid)); SendClientMessageToAll(AZUL_CLARO, String); return 1; } //-----------------------ADMIN NIVEL 5------------------------------------------ CMD:trancarserver(playerid, params[]) { new senha[30]; if(!NivelRequerido(playerid, 5)) return 1; if(sscanf(params, "s", senha)) return MensagemDupla(playerid, "[LL ADMIN] Use /trancarserver [Senha]", "Use o comando para trancar seu servidor utilizando a senha desejada."); format(String, sizeof(String), "password %s", senha); SendRconCommand(String); MensagemFormatadaParaTodos(AZUL_CLARO, "O admin {1B95E0}%s{00C2EC} trancou o servidor", Nome(playerid)); ServerTrancado = true; return 1; } CMD:destrancarserver(playerid, params[]) { if(!NivelRequerido(playerid, 5)) return 1; if((!ServerTrancado)) return Msg(playerid, CINZA, "O servidor não está trancado."); SendRconCommand("password 0"); MensagemFormatadaParaTodos(AZUL_CLARO, "O admin {1B95E0}%s{00C2EC} destrancou o servidor", Nome(playerid)); return 1; } CMD:darhelper(playerid, params[]) { if(NivelRequerido(playerid, 5)) { if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /darhelper [ID]", "Use o comando para oferecer helper a algum jogador."); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} ofereceu Helper a %s", Nome(playerid), Nome(ID)); SendClientMessageToAll(AZUL_CLARO, String); format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} está te oferecendo Helper.", Nome(playerid)); ShowPlayerDialog(ID, DIALOG_HELPER, DIALOG_STYLE_MSGBOX, "Helper", String, "Aceitar", "Recusar"); } return 1; } CMD:tirarhelper(playerid, params[]) { if(NivelRequerido(playerid, 5)) { if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /tirarhelper [ID]", "Use o comando para tirar helper de algum player."); MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} tirou o helper de {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID)); PlayerDados[ID][Helper] = false; DOF2_Unset("LLADMIN/Helpers.hel", Nome(ID)); } return 1; } CMD:versenha(playerid, params[]) { if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /versenha [ID]", "Use o comando para ver a senha algum jogador."); format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(ID)); 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"); format(String, sizeof(String), "A senha de %s é '%s'", Nome(ID), DOF2_GetString(StringContas, "Senha")); SendClientMessage(playerid, AMARELO, String); return 1; } CMD:nomeserver(playerid, params[]) { new NomeServer[128]; if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "s", NomeServer)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /nomeserver [Nome]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar o nome do servidor"); format(String, sizeof(String), "hostname %s", NomeServer); SendRconCommand(String); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Mudou o nome do server para {1B95E0}%s{00C2EC}\r\n", Nome(playerid), NomeServer); SendClientMessageToAll(AZUL_CLARO, String); EscreverLog("LLADMIN/Logs/Nome_Server.log", String); return 1; } CMD:nomegm(playerid, params[]) { new NomeGM[128]; if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "s", NomeGM)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /nomegm [Nome]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar o nome do game mode"); SetGameModeText(NomeGM); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Mudou o nome do Game Mode para {1B95E0}%s{00C2EC}\r\n", Nome(playerid), NomeGM); SendClientMessageToAll(AZUL_CLARO, String); EscreverLog("LLADMIN/Logs/Nome_GM.log", String); return 1; } CMD:nomemapa(playerid, params[]) { new NomeMapa[128]; if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "s", NomeMapa)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /nomemapa [Nome]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar o nome do mapa do server"); format(String, sizeof(String), "mapname %s", NomeMapa); SendRconCommand(String); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Mudou o nome do Mapa para {1B95E0}%s{00C2EC}", Nome(playerid), NomeMapa); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:criarteleporte(playerid, params[]) { new Comando[128], Float:X, Float:Y, Float:Z; if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "s", Comando)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /criarteleporte [Comando]"), SendClientMessage(playerid, CINZA, "Use o comando para criar um teleporte, o teleporte será salvo caso o server seja reiniciado"); format(String, sizeof(String), "LLADMIN/Teleportes/te %s.txt", Comando); if(DOF2_FileExists(String)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Este Comando ja existe!"); DOF2_CreateFile(String); GetPlayerPos(playerid, X, Y, Z); DOF2_SetString(String, "Admin", Nome(playerid)); DOF2_SetString(String, "Comando", Comando); DOF2_SetFloat(String, "X", X); DOF2_SetFloat(String, "Y", Y); DOF2_SetFloat(String, "Z", Z); format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Criou o teleporte {1B95E0}'te %s'{00C2EC}", Nome(playerid), Comando); SendClientMessageToAll(AZUL_CLARO, String); return 1; } CMD:daradmin(playerid, params[]) { if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!"); 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"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); if(nivel < 0 || nivel > 5) return SendClientMessage(playerid, BRANCO, "[ERRO] Nivel invalido, use de 0 a 5"); format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Ofereceu Admin Nivel %d de Admin para %s.\r\n", Nome(playerid), nivel, Nome(ID)); SendClientMessageToAll(VERDE_AGUA, String); format(String, sizeof(String), "{FFFFFF}O Admin {1B95E0}%s{FFFFFF} está lhe oferencendo admin nivel {1b95E0}%d", Nome(playerid), nivel); ShowPlayerDialog(ID, DIALOG_ADM, DIALOG_STYLE_MSGBOX, "Admin", String, "Aceitar", "Recusar"); return 1; } CMD:setaradmin(playerid, params[]) { new l; if(!NivelRequerido(playerid, 5)) return 1; if(sscanf(params, "ui", ID, l)) return MensagemDupla(playerid, "Use /setaradmin [ID] [Nivel]", "Use o comando para definir o admin de algum player"); SetarDado(ID, Admin, l); MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} setou o admin de %s para %d.", Nome(playerid), Nome(ID), l); return 1; } CMD:setargravidade(playerid, params[]) { new Gravidade; if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!"); if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); if(sscanf(params, "i", Gravidade )) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setargravidade [Gravidade]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar a gravidade do server"); format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Setou a gravidade do server para %d.", Nome(playerid), Gravidade); SendClientMessageToAll(VERDE_AGUA, String); SetGravity(Gravidade); return 1; } CMD:seradmin(playerid, params[]) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, CINZA, "Logue-se na Rcon para usar este comando."); SetarDado(playerid, Admin, 5); Msg(playerid, CINZA, "Bem Vindo a Administração."); return 1; } public TempoPreso(playerid) { PlayerDados[playerid][Preso] --; if(PlayerDados[playerid][Preso] == 0) { SetPlayerHealth(playerid, 0); SendClientMessage(playerid, VERDE, "Você está livre da cadeia!"); KillTimer(TimerPreso); } return 1; } public CriarLogs() { if(!LogExistir("LLADMIN/Logs/NovoAdm.log")) { CriarLog("LLADMIN/Logs/NovoAdm.log"); } if(!LogExistir("LLADMIN/Logs/Kickados.log")) { CriarLog("LLADMIN/Logs/Kickados.log"); } if(!LogExistir("LLADMIN/Logs/Tapas.log")) { CriarLog("LLADMIN/Logs/Tapas.log"); } if(!LogExistir("LLADMIN/Logs/Chatadm.log")) { CriarLog("LLADMIN/Logs/Chatadm.log"); } if(!LogExistir("LLADMIN/Logs/Banidos.log")) { CriarLog("LLADMIN/Logs/Banidos.log"); } if(!LogExistir("LLADMIN/Logs/Desbanidos.log")) { CriarLog("LLADMIN/Logs/Desbanidos.log"); } if(!LogExistir("LLADMIN/Logs/Advertidos.log")) { CriarLog("LLADMIN/Logs/Advertidos.log"); } if(!LogExistir("LLADMIN/Logs/Congelados.log")) { CriarLog("LLADMIN/Logs/Congelados.log"); } if(!LogExistir("LLADMIN/Logs/Calados.log")) { CriarLog("LLADMIN/Logs/Calados.log"); } if(!LogExistir("LLADMIN/Logs/Presos.log")) { CriarLog("LLADMIN/Logs/Presos.log"); } if(!LogExistir("LLADMIN/Logs/NovoNome.log")) { CriarLog("LLADMIN/Logs/NovoNome.log"); } if(!LogExistir("LLADMIN/Logs/Crashados.log")) { CriarLog("LLADMIN/Logs/Crashados.log"); } if(!LogExistir("LLADMIN/Logs/BanirIp.log")) { CriarLog("LLADMIN/Logs/BanirIp.log"); } if(!LogExistir("LLADMIN/Logs/DesbanirIp.log")) { CriarLog("LLADMIN/Logs/DesbanirIp.log"); } if(!LogExistir("LLADMIN/Logs/Fodidos.txt")) { CriarLog("LLADMIN/Logs/Fodidos.txt"); } if(!LogExistir("LLADMIN/Logs/Nome_Server.log")) { CriarLog("LLADMIN/Logs/Nome_Server.log"); } if(!LogExistir("LLADMIN/Logs/Nome_GM.log")) { CriarLog("LLADMIN/Logs/Nome_GM.log"); } if(!LogExistir("LLADMIN/Logs/Relatorios.log")) { CriarLog("LLADMIN/Logs/Relatorios.log"); } print("Logs Criados/Carregados com sucesso."); return 1; } public LiberarKit(playerid) { PlayerDados[playerid][PegouKit] = false; return 1; } public FecharPortao() { MoveObject(PortaoHQ, 2204.39990234,1846.00000000,12.60000038, 2, 0, 0, 90); return 1; } public MensagensRandom() { new randmsg = random(sizeof(Mensagens)); new randcor = random(sizeof(Cores)); format(String, sizeof(String), "%s%s",Cores[randcor], Mensagens[randmsg]); SendClientMessageToAll(-1, String); return 1; } public DiminuirTempo() { if(time == 0) { KillTimer(TimerCont); GameTextForAll("~r~Go Go Go", 1000, 6); return 1; } format(String, sizeof(String), "~g~%d", time); GameTextForAll(String, 1000, 6); time--; return 1; } stock SalvarDados(playerid) { format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid)); DOF2_SetInt(StringContas, "Matou", PlayerDados[playerid][Matou]); DOF2_SetInt(StringContas, "Morreu", PlayerDados[playerid][Morreu]); DOF2_SetInt(StringContas, "Grana", GetPlayerMoney(playerid)); DOF2_SetInt(StringContas, "Advertencias", PlayerDados[playerid][Advertencias]); DOF2_SetInt(StringContas, "Preso", PlayerDados[playerid][Preso]); if(PlayerDados[playerid][Vip] == false) { if(DOF2_IsSet("LLADMIN/Vips.vip", Nome(playerid))) { DOF2_Unset("LLADMIN/Vips.vip", Nome(playerid)); } } if(PlayerDados[playerid][Helper] == false) { if(DOF2_IsSet("LLADMIN/Helpers.hel", Nome(playerid))) { DOF2_Unset("LLADMIN/Helpers.hel", Nome(playerid)); } } if(PlayerDados[playerid][Vip] == true) { DOF2_SetBool("LLADMIN/Vips.vip", Nome(playerid), true); } if(PlayerDados[playerid][Helper] == true) { DOF2_SetBool("LLADMIN/Helpers.hel", Nome(playerid), true); } if(PlayerDados[playerid][Admin] > 0) { DOF2_SetInt("LLADMIN/Admins.adm", Nome(playerid), PlayerDados[playerid][Admin]); } DOF2_SaveFile(); return 1; } stock Nome(playerid) { new pNome[MAX_PLAYER_NAME]; GetPlayerName(playerid, pNome, 24); return pNome; } stock Kickar(playerid, admin[], razao[]) { if(!DOF2_FileExists("LLADMIN/Kickados.txt")) DOF2_CreateFile("LLADMIN/Kickados.txt"); new IP[20]; GetPlayerIp(playerid, IP, 20); format(String, sizeof(String), " IP = %d - Admin = %s - Razao = %s", IP, admin, razao); DOF2_SetString("LLADMIN/Kickados.txt", Nome(playerid), String); Kick(playerid); return 1; } stock PosicaoFrentePlayer( playerid, &Float:x, &Float:y, Float:distance) { new Float:a ; GetPlayerPos( playerid, x, y, a); GetPlayerFacingAngle( playerid, a); if(GetPlayerVehicleID( playerid )) { GetVehicleZAngle(GetPlayerVehicleID( playerid ), a); } x += (distance * floatsin(-a, degrees)); y += (distance * floatcos(-a, degrees)); } stock MensagemDupla(playerid, msg1[], msg2[]) { SendClientMessage(playerid, CINZA, msg1); SendClientMessage(playerid, CINZA, msg2); return 1; } stock NivelRequerido(playerid, lvl) { if(PlayerDados[playerid][Admin] < lvl) { format(String, sizeof(String), "Você precisa ser admin nivel %d para usar este comando!", lvl); SendClientMessage(playerid, BRANCO, String); return 0; } if(PlayerDados[playerid][Trabalhando] == false) { SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); return 0; } return 1; } stock CriarLog(const File[]) { if(fexist(File)) { printf("Utilize EscreverLog(\"arquivo\", \"Mensagem\"); para escrever em um log existente."); return 0; } new File:Arquivo = fopen(File, io_write); fclose(Arquivo); return 1; } stock EscreverLog(const File[], string[]) { if(!fexist(File)) { printf("Utilize CriarLog(\"arquivo\"); para criar o Log e escrever nele."); return 0; } new celulas[ 300 ]; new a, m, d, h, mi, s; getdate(a, m, d); gettime(h,mi,s); format(celulas, sizeof(celulas), "(%02d/%02d/%d)[%02d:%02d:%02d] %s\r\n",d,m,a,h,mi,s, string); new File:Arquivo = fopen(File, io_append); fwrite(Arquivo, celulas); fclose(Arquivo); return 1; } stock DeletarLog(const File[]) { if(!fexist(File)) { printf("Esse arquivo não existe, utilize CriarLog(\"arquivo\""); return 0; } fremove(File); return 1; } stock TextFundo(playerid) { new RandFundo = random(3); if(RandFundo == 0) { Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc1:loadsc1"); TextDrawFont(Inicio[playerid], 4); TextDrawTextSize(Inicio[playerid], 641.500, 449.500); TextDrawColor(Inicio[playerid], -1); } else if(RandFundo == 1) { Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc2:loadsc2"); TextDrawFont(Inicio[playerid], 4); TextDrawTextSize(Inicio[playerid], 641.500, 449.500); TextDrawColor(Inicio[playerid], -1); } else if(RandFundo == 2) { Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc3:loadsc3"); TextDrawFont(Inicio[playerid], 4); TextDrawTextSize(Inicio[playerid], 641.500, 449.500); TextDrawColor(Inicio[playerid], -1); } else if(RandFundo == 3) { Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc4:loadsc4"); TextDrawFont(Inicio[playerid], 4); TextDrawTextSize(Inicio[playerid], 641.500, 449.500); TextDrawColor(Inicio[playerid], -1); } TextDrawShowForPlayer(playerid, Inicio[playerid]); return 1; } stock MensagemParaAdmins(mensagem[]) { for(new i = 0; i < MAX_PLAYERS; ++i) { if(PlayerDados[i][Admin] > 0) { Msg(i, ROSA_CHOQUE, mensagem); } } return 1; } //SSCANF NUNCA MECHA NESSA PARTE: stock sscanf(string[], format[], {Float,_}:...) { #if defined isnull if (isnull(string)) #else if (string[0] == 0 || (string[0] == 1 && string[1] == 0)) #endif { return format[0]; } #pragma tabsize 4 new formatPos = 0, stringPos = 0, paramPos = 2, paramCount = numargs(), delim = ' '; while (string[stringPos] && string[stringPos] <= ' ') { stringPos++; } while (paramPos < paramCount && string[stringPos]) { switch (format[formatPos++]) { case '\0': { return 0; } case 'i', 'd': { new neg = 1, num = 0, ch = string[stringPos]; if (ch == '-') { neg = -1; ch = string[++stringPos]; } do { stringPos++; if ('0' <= ch <= '9') { num = (num * 10) + (ch - '0'); } else { return -1; } } while ((ch = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num * neg); } case 'h', 'x': { new num = 0, ch = string[stringPos]; do { stringPos++; switch (ch) { case 'x', 'X': { num = 0; continue; } case '0' .. '9': { num = (num << 4) | (ch - '0'); } case 'a' .. 'f': { num = (num << 4) | (ch - ('a' - 10)); } case 'A' .. 'F': { num = (num << 4) | (ch - ('A' - 10)); } default: { return -1; } } } while ((ch = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num); } case 'c': { setarg(paramPos, 0, string[stringPos++]); } case 'f': { new changestr[16], changepos = 0, strpos = stringPos; while(changepos < 16 && string[strpos] && string[strpos] != delim) { changestr[changepos++] = string[strpos++]; } changestr[changepos] = '\0'; setarg(paramPos,0,_:floatstr(changestr)); } case 'p': { delim = format[formatPos++]; continue; } case '\'': { new end = formatPos - 1, ch; while ((ch = format[++end]) && ch != '\'') {} if (!ch) { return -1; } format[end] = '\0'; if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1) { if (format[end + 1]) { return -1; } return 0; } format[end] = '\''; stringPos = ch + (end - formatPos); formatPos = end + 1; } case 'u': { new end = stringPos - 1, id = 0, bool:num = true, ch; while ((ch = string[++end]) && ch != delim) { if (num) { if ('0' <= ch <= '9') { id = (id * 10) + (ch - '0'); } else { num = false; } } } if (num && IsPlayerConnected(id)) { setarg(paramPos, 0, id); } else { #if !defined foreach #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2)) #define __SSCANF_FOREACH__ #endif string[end] = '\0'; num = false; new name[MAX_PLAYER_NAME]; id = end - stringPos; foreach (Player, playerid) { GetPlayerName(playerid, name, sizeof (name)); if (!strcmp(name, string[stringPos], true, id)) { setarg(paramPos, 0, playerid); num = true; break; } } if (!num) { setarg(paramPos, 0, INVALID_PLAYER_ID); } string[end] = ch; #if defined __SSCANF_FOREACH__ #undef foreach #undef __SSCANF_FOREACH__ #endif } stringPos = end; } case 's', 'z': { new i = 0, ch; if (format[formatPos]) { while ((ch = string[stringPos++]) && ch != delim) { setarg(paramPos, i++, ch); } if (!i) { return -1; } } else { while ((ch = string[stringPos++])) { setarg(paramPos, i++, ch); } } stringPos--; setarg(paramPos, i, '\0'); } default: { continue; } } while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ') { stringPos++; } while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' ')) { stringPos++; } paramPos++; } do { if ((delim = format[formatPos++]) > ' ') { if (delim == '\'') { while ((delim = format[formatPos++]) && delim != '\'') {} } else if (delim != 'z') { return delim; } } } while (delim > ' '); return 0; }