Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- BLOOD ADMIN VERSÃO 1.0
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Criado por Bruxo00
- Não retirar os créditos
- ---------- Níveis de Admin ----------
- 0 - Sem admin
- 1 - GameMaster
- 2 - Administrador
- 3 - Owner
- ---------- Mais Informação ----------
- /viraradmin - Só funciona se tiver logado na RCON
- */
- #include < a_samp >
- #include < DOF2 >
- #include < sscanf >
- #include < icmd7 >
- #define Info 0xFFFFFFAA
- #define Erro 0xAA3333AA
- #define Sucesso 0x10F441AA
- #define Azul 0x63AFFF0A
- #define DIALOG_REGISTO 321
- #define DIALOG_LOGAR 456
- #define DIALOG_MENU 215
- #define DIALOG_SKIN 658
- #define DIALOG_ARMAS 125
- #define PASTA_CONTAS "Contas/%s.ini"
- #define MENSAGEM_SEMADMIN "Não tens permissão para utilizares esse comando."
- #define MENSAGEM_SEMVIP "Não tens nível VIP suficiente!"
- #define MENSAGEM_NAOCONECTADO "Esse ID não está conectado!"
- #define MENSAGEM_BAN "A tua conta está banida deste servidor."
- #define MENSAGEM_NEEDDUTY "{AA3333}Precisas de estar OnDuty!"
- #define MENSAGEM_MESMOID "{AA3333}Não podes ultilizar esse comando em ti mesmo!"
- #define MENSAGEM_SEMCMD "Esse comando não existe!"
- #define MENSAGEM_DLOGIN "{FFFFFF}Estás {10F441}registado{FFFFFF}, escreve a tua password para logares!"
- #define MENSAGEM_DREGISTO "{FFFFFF}Não estás {AA3333}registado{FFFFFF}, escreva uma password para te registares!"
- #define MENSAGEM_DREGISTOSUCESSO "{10F441}Registado{FFFFFF} com sucesso! \nEfectue o login!"
- #define MENSAGEM_DPASSWORD "{FFFFFF}A password digitada é errada, digite-a novamente para logar! \nÁ terceira tentavia, serás {AA3333}kickado{FFFFFF}."
- #define MENSAGEM_DSKIN "{FFFFFF}Introduz o a {10F441}Skin ID {FFFFFF}que queres. (0-299)"
- #define MENSAGEM_DSKIN2 "{FFFFFF}Espaço em branco. Introduz novamente a {10F441}Skin ID {FFFFFF}que queres."
- #if !defined isnull
- #define isnull(%1) \
- ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
- #endif
- forward SalvarDados(playerid);
- forward KickTimer(playerid);
- forward BanTimer(playerid);
- enum pInfo
- {
- Password,
- Score,
- Dinheiro,
- Skin,
- Vip,
- Admin,
- Banido
- };
- new PlayerInfo[MAX_PLAYERS][pInfo];
- new ONDUTYREQ;
- new ABILCHAT;
- new ABILVIP_TOTAL;
- new ABILVIP_SKINS;
- new ABILVIP_ARMAS;
- new ABILVIP_VIDA;
- new ABILVIP_COLETE;
- new OnDuty[MAX_PLAYERS];
- new tPass[MAX_PLAYERS];
- new ASpecar[MAX_PLAYERS];
- new Freezado[MAX_PLAYERS];
- new Jailed[MAX_PLAYERS];
- new Muted[MAX_PLAYERS];
- stock GetNome(playerid)
- {
- new nome[32];
- GetPlayerName(playerid, nome, sizeof(nome));
- return nome;
- }
- stock IsAdmin(playerid)
- {
- new admin;
- if(PlayerInfo[playerid][Admin] == 1)
- {
- admin = 1;
- }
- else if(PlayerInfo[playerid][Admin] == 2)
- {
- admin = 2;
- }
- else if(PlayerInfo[playerid][Admin] == 3)
- {
- admin = 3;
- }
- else if(PlayerInfo[playerid][Admin] == 0)
- {
- admin = 0;
- }
- return admin;
- }
- stock IsVip(playerid)
- {
- new vip;
- if(PlayerInfo[playerid][Vip] == 0)
- {
- vip = 0;
- }
- else if(PlayerInfo[playerid][Vip] == 1)
- {
- vip = 1;
- }
- else if(PlayerInfo[playerid][Vip] == 2)
- {
- vip = 2;
- }
- return vip;
- }
- public OnFilterScriptInit()
- {
- printf("\n Sistema de Admin / VIP / Registo carregado!\n");
- /*
- ~~~~~~~~~~~~~~~~~~~~~~
- CONFIGURAÇÕES
- ~~~~~~~~~~~~~~~~~~~~~~
- */
- ONDUTYREQ = 1; // DEFAULT (1) - Precisa de estar OnDuty para efecutar comandos
- ABILCHAT = 1; // DEFAULT (1) - Chat com tags de Admin/Vip activados
- ABILVIP_TOTAL = 1; // DEFAULT (1) - Abilita o sistema de VIP completo
- ABILVIP_SKINS = 1; // DEFAULT (1) - Abilita o menu das skins
- ABILVIP_ARMAS = 1; // DEFAULT (1) - Abilita o menu das armas
- ABILVIP_VIDA = 1; // DEFAULT (1) - Dá vida ao jogador
- ABILVIP_COLETE = 1; // DEFAULT (1) - Dá colete ao jogador
- return 1;
- }
- public OnFilterScriptExit()
- {
- DOF2_Exit();
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new ficheiro[32];
- format(ficheiro, sizeof(ficheiro), PASTA_CONTAS, GetNome(playerid));
- if(Jailed[playerid] == 1)
- {
- SetPlayerPos(playerid, 0, 0, 0); // CORDENADAS DO ADMIN JAIL
- SendClientMessage(playerid, Info, "Não é com um disconnect que te vais safar do AJ! :)");
- }
- tPass[playerid] = 0;
- if(DOF2_FileExists(ficheiro)) return ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Login", MENSAGEM_DLOGIN, "Login", "Cancelar");
- else ShowPlayerDialog(playerid, DIALOG_REGISTO, DIALOG_STYLE_INPUT, "Registo", MENSAGEM_DREGISTO, "Registar", "Cancelar");
- return 1;
- }
- public OnPlayerDisconnect(playerid)
- {
- OnDuty[playerid] = 0;
- SalvarDados(playerid);
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new ficheiro[32];
- format(ficheiro, sizeof(ficheiro), PASTA_CONTAS, GetNome(playerid));
- if(dialogid == DIALOG_REGISTO)
- {
- if(!response) return Kick(playerid);
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Registo", MENSAGEM_DREGISTO, "Registar", "Sair");
- format(ficheiro, sizeof(ficheiro), PASTA_CONTAS, GetNome(playerid));
- DOF2_CreateFile(ficheiro);
- DOF2_SetString(ficheiro, "Password", inputtext);
- DOF2_SetInt(ficheiro, "Score", PlayerInfo[playerid][Score]);
- DOF2_SetInt(ficheiro, "Dinheiro", PlayerInfo[playerid][Dinheiro]);
- DOF2_SetInt(ficheiro, "Skin", PlayerInfo[playerid][Skin]);
- DOF2_SetInt(ficheiro, "Vip", PlayerInfo[playerid][Vip]);
- DOF2_SetInt(ficheiro, "Admin", PlayerInfo[playerid][Admin]);
- DOF2_SetInt(ficheiro, "Banido", PlayerInfo[playerid][Banido]);
- DOF2_SetString(ficheiro, "LastIP", "0");
- DOF2_SaveFile();
- ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Login", MENSAGEM_DREGISTOSUCESSO, "Login", "Cancelar");
- }
- if(dialogid == DIALOG_LOGAR)
- {
- if(!response) return Kick(playerid);
- format(ficheiro, sizeof(ficheiro), PASTA_CONTAS, GetNome(playerid));
- if(!strcmp(DOF2_GetString(ficheiro, "Password"), inputtext, false))
- {
- PlayerInfo[playerid][Score] = DOF2_GetInt(ficheiro, "Score");
- PlayerInfo[playerid][Dinheiro] = DOF2_GetInt(ficheiro, "Dinheiro");
- PlayerInfo[playerid][Skin] = DOF2_GetInt(ficheiro, "Skin");
- PlayerInfo[playerid][Vip] = DOF2_GetInt(ficheiro, "Vip");
- PlayerInfo[playerid][Admin] = DOF2_GetInt(ficheiro, "Admin");
- PlayerInfo[playerid][Banido] = DOF2_GetInt(ficheiro, "Banido");
- SetPlayerScore(playerid, PlayerInfo[playerid][Score]);
- GivePlayerMoney(playerid, PlayerInfo[playerid][Dinheiro]);
- SetPlayerSkin(playerid, PlayerInfo[playerid][Skin]);
- if(PlayerInfo[playerid][Banido] == 1)
- {
- SendClientMessage(playerid, Erro, MENSAGEM_BAN);
- SetTimer("KickTimer", 50, false);
- }
- }
- else
- {
- if(tPass[playerid] != 3)
- {
- tPass[playerid]++;
- ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Login", MENSAGEM_DPASSWORD, "Login", "Cancelar");
- }
- else
- {
- SendClientMessage(playerid, Erro, "Foste kickado por errares a password 3 vezes.");
- SetTimer("KickTimer", 50, false);
- }
- }
- }
- if(dialogid == DIALOG_MENU)
- {
- if(!response) return 1;
- switch(listitem)
- {
- case 0:
- {
- if(ABILVIP_SKINS == 0) return SendClientMessage(playerid, Erro, "Esse menu foi desabilitado pela administração.");
- ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, "#1 SKIN", MENSAGEM_DSKIN, "Escolher", "Cancelar");
- }
- case 1:
- {
- if(ABILVIP_ARMAS == 0) return SendClientMessage(playerid, Erro, "Esse menu foi desabilitado pela administração.");
- ShowPlayerDialog(playerid, DIALOG_ARMAS, DIALOG_STYLE_LIST, "#2 ARMAS", "Desert Eagle\nShotgun\nSawnoff\nCombat Shotgun\nMP5\nM4\nAK-47", "Escolher", "Cancelar");
- }
- case 2:
- {
- if(ABILVIP_VIDA == 0) return SendClientMessage(playerid, Erro, "Essa opção foi desabilitado pela administração.");
- SetPlayerHealth(playerid, 100.00);
- }
- case 3:
- {
- if(ABILVIP_COLETE == 0) return SendClientMessage(playerid, Erro, "Essa opção foi desabilitado pela administração.");
- SetPlayerArmour(playerid, 100.00);
- }
- }
- }
- if(dialogid == DIALOG_SKIN)
- {
- if(!response) return 1;
- new string[128];
- new s;
- s = strval(inputtext);
- if(isnull(inputtext)) return ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, "#1 SKIN", MENSAGEM_DSKIN, "Escolher", "Cancelar");
- format(string, sizeof(string), "Skin {10F441}%d {FFFFFF}selecionada com sucesso!", s);
- SendClientMessage(playerid, Info, string);
- SetPlayerSkin(playerid, s);
- }
- if(dialogid == DIALOG_ARMAS)
- {
- if(!response) return 1;
- switch(listitem)
- {
- case 0:
- {
- GivePlayerWeapon(playerid, 24, 1000);
- SendClientMessage(playerid, Info, "Recebeste uma {10F441}Desert Eagle{FFFFFF}!");
- }
- case 1:
- {
- GivePlayerWeapon(playerid, 25, 1000);
- SendClientMessage(playerid, Info, "Recebeste uma {10F441}Shotgun{FFFFFF}!");
- }
- case 2:
- {
- GivePlayerWeapon(playerid, 26, 1000);
- SendClientMessage(playerid, Info, "Recebeste uma {10F441}Sawnoff Shotgun{FFFFFF}!");
- }
- case 3:
- {
- GivePlayerWeapon(playerid, 27, 1000);
- SendClientMessage(playerid, Info, "Recebeste uma {10F441}Combat Shotgun{FFFFFF}!");
- }
- case 4:
- {
- GivePlayerWeapon(playerid, 29, 1000);
- SendClientMessage(playerid, Info, "Recebeste uma {10F441}MP5{FFFFFF}!");
- }
- case 5:
- {
- GivePlayerWeapon(playerid, 31, 1000);
- SendClientMessage(playerid, Info, "Recebeste uma {10F441}M4{FFFFFF}!");
- }
- case 6:
- {
- GivePlayerWeapon(playerid, 30, 1000);
- SendClientMessage(playerid, Info, "Recebeste uma {10F441}AK-47{FFFFFF}!");
- }
- }
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- new ip[16];
- new lip[16];
- new ficheiro[32];
- format(ficheiro, sizeof(ficheiro), PASTA_CONTAS, GetNome(playerid));
- format(lip, sizeof(lip), "%s", DOF2_GetString(ficheiro, "LastIP"));
- GetPlayerIp(playerid, ip, sizeof(ip));
- if(!strcmp(ip, lip))
- {
- SendClientMessage(playerid, Azul, "^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^");
- SendClientMessage(playerid, Info, "A tua última visita utilizou um IP diferente!");
- SendClientMessage(playerid, Azul, "^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^");
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, commandid, params[])
- {
- switch(commandid)
- {
- case iscmd("s,e,t,v,i,p"):
- {
- if(IsAdmin(playerid) == 3)
- {
- if(ONDUTYREQ == 1 && OnDuty[playerid] == 0) return SendClientMessage(playerid, Info, MENSAGEM_NEEDDUTY);
- new id;
- new lvl;
- new string[128];
- new string1[128];
- if(sscanf(params, "dd", id, lvl)) return SendClientMessage(playerid, Info, "{10F441}' USO ' {FFFFFF}/setvip [playerid] [nível]");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Erro, MENSAGEM_NAOCONECTADO);
- format(string, sizeof(string), "Colocaste o jogador {10F441}%s {FFFFFF}VIP com nível {10F441}%d{FFFFFF}.", GetNome(id), lvl);
- format(string1, sizeof(string1), "O administrador {10F441}%s {FFFFFF}colocou-te VIP nível {10F441}%d{FFFFFF}.", GetNome(playerid), lvl);
- SendClientMessage(playerid, Info, string);
- SendClientMessage(id, Info, string1);
- PlayerInfo[id][Vip] = lvl;
- }
- else
- {
- SendClientMessage(playerid, Erro, MENSAGEM_SEMADMIN);
- }
- return 1;
- }
- case iscmd("a,c,m,d,s"):
- {
- if(IsAdmin(playerid) >= 1)
- {
- if(ONDUTYREQ == 1 && OnDuty[playerid] == 0) return SendClientMessage(playerid, Info, MENSAGEM_NEEDDUTY);
- SendClientMessage(playerid, Info, "{AA3333}-------------------- {FFFFFF}[ {10F441}COMANDOS {FFFFFF}] {AA3333}--------------------");
- SendClientMessage(playerid, Info, "{AA3333}[ADMINISTRAÇÃO]{FFFFFF} /aduty /kick /banconta /banip /spec /freeze /dardinheiro");
- SendClientMessage(playerid, Info, "{AA3333}[ADMINISTRAÇÃO]{FFFFFF} /goto /gethere /mute /(a)dmin(j)ail");
- SendClientMessage(playerid, Info, "{AA3333}[VIP]{FFFFFF} /setvip");
- }
- else
- {
- SendClientMessage(playerid, Erro, MENSAGEM_SEMADMIN);
- }
- return 1;
- }
- case iscmd("a,d,u,t,y"):
- {
- if(IsAdmin(playerid) >= 1)
- {
- new string[128];
- if(OnDuty[playerid] == 0)
- {
- SetPlayerHealth(playerid, 100000);
- SetPlayerArmour(playerid, 100000.0);
- format(string, sizeof(string), "O administrador {10F441}%s {FFFFFF}está agora {10F441}On-Duty{FFFFFF}!", GetNome(playerid));
- SendClientMessage(playerid, Info, string);
- OnDuty[playerid] = 1;
- }
- else
- {
- SetPlayerHealth(playerid, 100);
- SetPlayerArmour(playerid, 0);
- format(string, sizeof(string), "O administrador {10F441}%s {FFFFFF}está agora {AA3333}Off-Duty{FFFFFF}!", GetNome(playerid));
- SendClientMessage(playerid, Info, string);
- OnDuty[playerid] = 0;
- }
- }
- else
- {
- SendClientMessage(playerid, Erro, MENSAGEM_SEMADMIN);
- }
- return 1;
- }
- case iscmd("a,j"), iscmd("a,d,m,i,n,j,a,i,l"):
- {
- if(IsAdmin(playerid))
- {
- if(ONDUTYREQ == 1 && OnDuty[playerid] == 0) return SendClientMessage(playerid, Info, MENSAGEM_NEEDDUTY);
- new id;
- new reason[32];
- new string[128];
- new string1[128];
- if(sscanf(params, "dd", id, reason)) return SendClientMessage(playerid, Info, "{10F441}' USO ' {FFFFFF}/aj [playerid] [razão]");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Erro, MENSAGEM_NAOCONECTADO);
- if(Jailed[id] == 0)
- {
- format(string, sizeof(string), "Mandaste o jogador {10F441}%s {FFFFFF}para o AdminJail. Razão: {10F441}%s{FFFFFF}.", GetNome(id), reason);
- format(string1, sizeof(string1), "Foste de AJ pelo administrador {10F441}%s{FFFFFF}. Razão: {10F441}%s{FFFFFF}.", GetNome(playerid), reason);
- SendClientMessage(playerid, Info, string);
- SendClientMessage(id, Info, string1);
- Jailed[id] = 1;
- SetPlayerPos(playerid, 0, 0, 0); // COORDENADAS DO ADMIN JAIL
- }
- else
- {
- format(string, sizeof(string), "Tiraste o jogador {10F441}%s {FFFFFF} do AdminJail. Razão: {10F441}%s{FFFFFF}.", GetNome(id), reason);
- format(string1, sizeof(string1), "O administrador {10F441}%s{FFFFFF} retirou-te do AJ. Razão: {10F441}%s{FFFFFF}.", GetNome(playerid), reason);
- SendClientMessage(playerid, Info, string);
- SendClientMessage(id, Info, string1);
- Jailed[id] = 0;
- SetPlayerPos(playerid, 0, 0, 0); // COORDENADAS DA SAÍDA DO ADMIN JAIL
- }
- }
- else
- {
- SendClientMessage(playerid, Erro, MENSAGEM_SEMADMIN);
- }
- return 1;
- }
- case iscmd("v,i,r,a,r,a,d,m,i,n"):
- {
- if(!IsPlayerAdmin(playerid)) return Kick(playerid);
- SendClientMessage(playerid, Sucesso, "Tu colocaste-te administrador nível 3");
- PlayerInfo[playerid][Admin] = 3;
- SalvarDados(playerid);
- return 1;
- }
- case iscmd("s,e,t,a,d,m,i,n"):
- {
- if(IsAdmin(playerid) == 3)
- {
- if(ONDUTYREQ == 1 && OnDuty[playerid] == 0) return SendClientMessage(playerid, Info, MENSAGEM_NEEDDUTY);
- new id;
- new lvl;
- new string[128];
- new string1[128];
- if(sscanf(params, "dd", id, lvl)) return SendClientMessage(playerid, Info, "{10F441}' USO ' {FFFFFF}/setadmin [playerid] [nível]");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Erro, MENSAGEM_NAOCONECTADO);
- format(string, sizeof(string), "Colocaste o jogador {10F441}%s {FFFFFF}administrador de nível {10F441}%d{FFFFFF}.", GetNome(id), lvl);
- format(string1, sizeof(string1), "O administrador {10F441}%s {FFFFFF}colocou-te administrador nível {10F441}%d{FFFFFF}.", GetNome(playerid), lvl);
- SendClientMessage(playerid, Info, string);
- SendClientMessage(playerid, Info, string1);
- PlayerInfo[id][Admin] = lvl;
- }
- else
- {
- SendClientMessage(playerid, Erro, MENSAGEM_SEMADMIN);
- }
- return 1;
- }
- case iscmd("k,i,c,k"):
- {
- if(IsAdmin(playerid) >= 1)
- {
- if(ONDUTYREQ == 1 && OnDuty[playerid] == 0) return SendClientMessage(playerid, Info, MENSAGEM_NEEDDUTY);
- new id;
- new reason[64];
- new string[128];
- if(sscanf(params, "ds", id, reason)) return SendClientMessage(playerid, Info, "{10F441}' USO ' {FFFFFF}/kick [playerid] [razão]");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Erro, MENSAGEM_NAOCONECTADO);
- format(string, sizeof(string), "O administrador {10F441}%s {FFFFFF}kickou o jogador {10F441}%s{FFFFFF}. Razão: {10F441}%s{FFFFFF}.", GetNome(playerid), GetNome(id), reason);
- SendClientMessageToAll(Info, string);
- SetTimerEx("KickTimer", 50, false, "i", id);
- }
- else
- {
- SendClientMessage(playerid, Erro, MENSAGEM_SEMADMIN);
- }
- return 1;
- }
- case iscmd("b,a,n,c,o,n,t,a"):
- {
- if(IsAdmin(playerid) >= 2)
- {
- if(ONDUTYREQ == 1 && OnDuty[playerid] == 0) return SendClientMessage(playerid, Info, MENSAGEM_NEEDDUTY);
- new id;
- new reason [64];
- new string[128];
- if(sscanf(params, "ds", id, reason)) return SendClientMessage(playerid, Info, "{10F441}' USO ' {FFFFFF}/banconta [playerid] [razão]");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Erro, MENSAGEM_NAOCONECTADO);
- format(string, sizeof(string), "O administrador {10F441}%s {FFFFFF}baniu o jogador (Conta) {10F441}%s{FFFFFF}. Razão: {10F441}%s{FFFFFF}.", GetNome(playerid), GetNome(id), reason);
- SendClientMessageToAll(Info, string);
- PlayerInfo[id][Banido] = 1;
- SalvarDados(id);
- SetTimerEx("KickTimer", 50, false, "i", id);
- }
- else
- {
- SendClientMessage(playerid, Erro, MENSAGEM_SEMADMIN);
- }
- return 1;
- }
- case iscmd("b,a,n,i,p"):
- {
- if(IsAdmin(playerid) >= 2)
- {
- if(ONDUTYREQ == 1 && OnDuty[playerid] == 0) return SendClientMessage(playerid, Info, MENSAGEM_NEEDDUTY);
- new id;
- new reason [64];
- new string[128];
- if(sscanf(params, "ds", id, reason)) return SendClientMessage(playerid, Info, "{10F441}' USO ' {FFFFFF}/banip [playerid] [razão]");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Erro, MENSAGEM_NAOCONECTADO);
- format(string, sizeof(string), "O administrador {10F441}%s {FFFFFF}baniu o jogador (Conta e IP) {10F441}%s{FFFFFF}. Razão: {10F441}%s{FFFFFF}.", GetNome(playerid), GetNome(id), reason);
- SendClientMessageToAll(Info, string);
- PlayerInfo[id][Banido] = 1;
- SalvarDados(id);
- SetTimerEx("BanTimer", 50, false, "i", id);
- }
- else
- {
- SendClientMessage(playerid, Erro, MENSAGEM_SEMADMIN);
- }
- return 1;
- }
- case iscmd("s,p,e,c"):
- {
- if(IsAdmin(playerid) >= 1)
- {
- if(ONDUTYREQ == 1 && OnDuty[playerid] == 0) return SendClientMessage(playerid, Info, MENSAGEM_NEEDDUTY);
- new id;
- new string[128];
- if(ASpecar[playerid] == 1)
- {
- TogglePlayerSpectating(playerid, 0);
- SendClientMessage(playerid, Info, "Paraste o spectate.");
- ASpecar[playerid] = 0;
- }
- else
- {
- if(sscanf(params, "i", id)) return SendClientMessage(playerid, Info, "{10F441}' USO ' {FFFFFF}/spec [playerid] (on & off)");
- if(id == playerid) return SendClientMessage(playerid, Info, MENSAGEM_MESMOID);
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Erro, MENSAGEM_NAOCONECTADO);
- format(string, sizeof(string), "Estás a specar o jogador {10F441}%s{FFFFFF}.",GetNome(id));
- SendClientMessage(playerid, Info, string);
- if(IsPlayerInAnyVehicle(id))
- {
- PlayerSpectateVehicle(playerid, id);
- }
- else
- {
- PlayerSpectatePlayer(playerid, id);
- }
- ASpecar[playerid] = 1;
- }
- }
- else
- {
- SendClientMessage(playerid, Erro, MENSAGEM_SEMADMIN);
- }
- return 1;
- }
- case iscmd("f,r,e,e,z,e"):
- {
- if(IsAdmin(playerid) >= 1)
- {
- if(ONDUTYREQ == 1 && OnDuty[playerid] == 0) return SendClientMessage(playerid, Info, MENSAGEM_NEEDDUTY);
- new id;
- new string[128];
- new string1[128];
- if(sscanf(params, "i", id)) return SendClientMessage(playerid, Info, "{10F441}' USO ' {FFFFFF}/freeze [playerid] (on & off)");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Erro, MENSAGEM_NAOCONECTADO);
- if(Freezado[id] == 0)
- {
- format(string, sizeof(string), "Tu freezaste o jogador {10F441}%s{FFFFFF}.", GetNome(id));
- format(string1, sizeof(string1), "Foste congelado pelo administrador {10F441}%s{FFFFFF}.", GetNome(playerid));
- SendClientMessage(playerid, Info, string);
- SendClientMessage(id, Info, string1);
- TogglePlayerControllable(id, 0);
- Freezado[id] = 1;
- }
- else
- {
- format(string, sizeof(string), "Tu unfreezaste o jogador {10F441}%s{FFFFFF}.", GetNome(id));
- format(string1, sizeof(string1), "Foste descongelado pelo administrador {10F441}%s{FFFFFF}.", GetNome(playerid));
- SendClientMessage(playerid, Info, string);
- SendClientMessage(id, Info, string1);
- TogglePlayerControllable(id, 1);
- Freezado[id] = 0;
- }
- }
- else
- {
- SendClientMessage(playerid, Erro, MENSAGEM_SEMADMIN);
- }
- return 1;
- }
- case iscmd("d,a,r,d,i,n,h,e,i,r,o"):
- {
- if(IsAdmin(playerid) >= 1)
- {
- if(ONDUTYREQ == 1 && OnDuty[playerid] == 0) return SendClientMessage(playerid, Info, MENSAGEM_NEEDDUTY);
- new id;
- new q;
- new string[128];
- new string1[128];
- if(sscanf(params, "ii", id, q)) return SendClientMessage(playerid, Info, "{10F441}' USO ' {FFFFFF}/dardinheiro [playerid] [quantia]");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Erro, MENSAGEM_NAOCONECTADO);
- format(string, sizeof(string), "Tu deste {10F441}%i ${FFFFFF} ao jogador {10F441}%s{FFFFFF}.", q, GetNome(id));
- format(string1, sizeof(string1), "Recebeste {10F441}%i ${FFFFFF} do administrador {10F441}%s{FFFFFF}.", q, GetNome(playerid));
- SendClientMessage(playerid, Info, string);
- SendClientMessage(id, Info, string1);
- GivePlayerMoney(id, q);
- }
- else
- {
- SendClientMessage(playerid, Erro, MENSAGEM_SEMADMIN);
- }
- return 1;
- }
- case iscmd("g,o,t,o"):
- {
- if(IsAdmin(playerid) >= 1)
- {
- if(ONDUTYREQ == 1 && OnDuty[playerid] == 0) return SendClientMessage(playerid, Info, MENSAGEM_NEEDDUTY);
- new id;
- new string[128];
- new string1[128];
- new Float:x, Float:y, Float:z;
- if(sscanf(params, "i", id)) return SendClientMessage(playerid, Info, "{10F441}' USO ' {FFFFFF}/goto [playerid]");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Erro, MENSAGEM_NAOCONECTADO);
- format(string, sizeof(string), "Foste até ao jogador {10F441}%s{FFFFFF}.", GetNome(id));
- format(string1, sizeof(string1), "O administrador {10F441}%s{FFFFFF} teletransportou-se para ti.", GetNome(playerid));
- SendClientMessage(playerid, Info, string);
- SendClientMessage(id, Info, string1);
- GetPlayerPos(id, x, y, z);
- SetPlayerPos(playerid, x, y, z);
- }
- else
- {
- SendClientMessage(playerid, Erro, MENSAGEM_SEMADMIN);
- }
- return 1;
- }
- case iscmd("g,e,t,h,e,r,e"):
- {
- if(IsAdmin(playerid) >= 1)
- {
- if(ONDUTYREQ == 1 && OnDuty[playerid] == 0) return SendClientMessage(playerid, Info, MENSAGEM_NEEDDUTY);
- new id;
- new string[128];
- new string1[128];
- new Float:x, Float:y, Float:z;
- if(sscanf(params, "i", id)) return SendClientMessage(playerid, Info, "{10F441}' USO ' {FFFFFF}/gethere [playerid]");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Erro, MENSAGEM_NAOCONECTADO);
- format(string, sizeof(string), "Trouxeste o jogador {10F441}%s{FFFFFF} até ti.", GetNome(id));
- format(string1, sizeof(string1), "O administrador {10F441}%s{FFFFFF} teletransportou-te para ele.", GetNome(playerid));
- SendClientMessage(playerid, Info, string);
- SendClientMessage(id, Info, string1);
- GetPlayerPos(playerid, x, y, z);
- SetPlayerPos(id, x, y, z);
- }
- else
- {
- SendClientMessage(playerid, Erro, MENSAGEM_SEMADMIN);
- }
- return 1;
- }
- case iscmd("m,u,t,e"):
- {
- if(IsAdmin(playerid) >= 1)
- {
- if(ONDUTYREQ == 1 && OnDuty[playerid] == 0) return SendClientMessage(playerid, Info, MENSAGEM_NEEDDUTY);
- new id;
- new reason[32];
- new string[128];
- new string1[128];
- if(sscanf(params, "is", id, reason)) return SendClientMessage(playerid, Info, "{10F441}' USO ' {FFFFFF}/mute [playerid] [razão]");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Erro, MENSAGEM_NAOCONECTADO);
- if(Muted[id] == 0)
- {
- format(string, sizeof(string), "Deste mute ao jogador {10F441}%s{FFFFFF}. Razão: {10F441}%s{FFFFFF}.", GetNome(id), reason);
- format(string1, sizeof(string1), "O administrador {10F441}%s{FFFFFF} deu-te mute. Razão: {10F441}%s{FFFFFF}.", GetNome(playerid), reason);
- SendClientMessage(playerid, Info, string);
- SendClientMessage(id, Info, string1);
- Muted[id] = 1;
- }
- else
- {
- format(string, sizeof(string), "Deste unmute ao jogador {10F441}%s{FFFFFF}. Razão: {10F441}%s{FFFFFF}.", GetNome(id), reason);
- format(string1, sizeof(string1), "O administrador {10F441}%s{FFFFFF} deu-te unmute. Razão: {10F441}%s{FFFFFF}.", GetNome(playerid), reason);
- SendClientMessage(playerid, Info, string);
- SendClientMessage(id, Info, string1);
- Muted[id] = 0;
- }
- }
- else
- {
- SendClientMessage(playerid, Erro, MENSAGEM_SEMADMIN);
- }
- return 1;
- }
- case iscmd("a,d,m,i,n,s"):
- {
- new c;
- new string[128];
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i)) continue;
- if(IsAdmin(i))
- {
- if(OnDuty[i] == 0)
- {
- format(string, sizeof(string), "[ADMINISTRADOR ONLINE]{FFFFFF}: {10F441}%s", GetNome(i));
- SendClientMessage(playerid, Erro, string);
- }
- else
- {
- format(string, sizeof(string), "[ADMINISTRADOR ONLINE]{FFFFFF}: {10F441}%s {10F441}[ {10F441}ON DUTY {10F441}]", GetNome(i));
- SendClientMessage(playerid, Erro, string);
- }
- c++;
- }
- if(i == MAX_PLAYERS && c == 0) SendClientMessage(playerid, Info, "Não há administradores online.");
- }
- return 1;
- }
- case iscmd("m,e,n,u,v,i,p"):
- {
- if(ABILVIP_TOTAL == 0) return 1;
- if(IsVip(playerid) >= 1)
- {
- ShowPlayerDialog(playerid, DIALOG_MENU, DIALOG_STYLE_LIST, "Menu VIP", "Skins\nArmas\nVida\nColete", "Selecionar", "Sair");
- }
- else
- {
- SendClientMessage(playerid, Erro, MENSAGEM_SEMVIP);
- }
- return 1;
- }
- default: return SendClientMessage(playerid, Info, MENSAGEM_SEMCMD);
- }
- return 0;
- }
- public OnPlayerText(playerid, text[])
- {
- if(ABILCHAT == 0) return 0;
- if(Muted[playerid] == 1) return 0;
- new string[128];
- if(!IsVip(playerid) && !IsAdmin(playerid)) return 1;
- if(IsVip(playerid) == 1 && !IsAdmin(playerid))
- {
- format(string, sizeof(string), "{AAFFCC}[Vip Iron] {FFFFFF}%s: {63AFFF}%s", GetNome(playerid), text);
- SendClientMessageToAll(Info, string);
- }
- if(IsVip(playerid) == 2 && !IsAdmin(playerid))
- {
- format(string, sizeof(string), "{DEC03A}[Vip Gold] {FFFFFF}%s: {63AFFF}%s", GetNome(playerid), text);
- SendClientMessageToAll(Info, string);
- }
- if(IsAdmin(playerid) == 1)
- {
- format(string, sizeof(string), "{11EDD7}[Game-Master] {FFFFFF}%s: {63AFFF}%s", GetNome(playerid), text);
- SendClientMessageToAll(Info, string);
- }
- if(IsAdmin(playerid) == 2)
- {
- format(string, sizeof(string), "{FF0000}[Administrador] {FFFFFF}%s: {63AFFF}%s", GetNome(playerid), text);
- SendClientMessageToAll(Info, string);
- }
- if(IsAdmin(playerid) == 3)
- {
- format(string, sizeof(string), "{FF00EA}[Owner] {FFFFFF}%s: {00FFE1}%s", GetNome(playerid), text);
- SendClientMessageToAll(Info, string);
- }
- return 0;
- }
- public SalvarDados(playerid)
- {
- new ficheiro[32];
- format(ficheiro, sizeof(ficheiro), PASTA_CONTAS, GetNome(playerid));
- if(DOF2_FileExists(ficheiro))
- {
- new ip[16];
- GetPlayerIp(playerid, ip, sizeof(ip));
- PlayerInfo[playerid][Dinheiro] = GetPlayerMoney(playerid);
- PlayerInfo[playerid][Skin] = GetPlayerSkin(playerid);
- PlayerInfo[playerid][Score] = GetPlayerScore(playerid);
- DOF2_SetInt(ficheiro, "Score", PlayerInfo[playerid][Score]);
- DOF2_SetInt(ficheiro, "Dinheiro", PlayerInfo[playerid][Dinheiro]);
- DOF2_SetInt(ficheiro, "Skin", PlayerInfo[playerid][Skin]);
- DOF2_SetInt(ficheiro, "Vip", PlayerInfo[playerid][Vip]);
- DOF2_SetInt(ficheiro, "Admin", PlayerInfo[playerid][Admin]);
- DOF2_SetInt(ficheiro, "Banido", PlayerInfo[playerid][Banido]);
- DOF2_SetString(ficheiro, "LastIP", ip);
- DOF2_SaveFile();
- }
- else return Kick(playerid);
- return 1;
- }
- public KickTimer(playerid)
- {
- Kick(playerid);
- return 1;
- }
- public BanTimer(playerid)
- {
- Ban(playerid);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment