Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ////////////////////////////////////////////////////////////////////////////////
- // ZUIUDÃO SISTEMA DE ADMIN //
- //////////////////////////////////////////////////////////////////////////////// */
- //=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
- #include <a_samp>
- #include <zcmd>
- #include <sscanf>
- #include <dini>
- #define DIALOG_LOGIN 47414
- #define DIALOG_REGISTER 58515
- #define red 0xF00A0AFF
- #define blue 0x25A5FAFF
- #define green 0x009900FF
- #define yellow 0xFFFF00FF
- #define cinza 0xB5B5B5FF
- #define MAX_PING 700
- #pragma tabsize 0
- // === Errou a senha 3x = kick ===
- new Tentativas[MAX_PLAYERS];
- // === Playerinfo ===
- enum pInfo
- {
- Admin,
- Score,
- Cash
- };
- new playerinfo[MAX_PLAYERS][pInfo];
- //------------------------------------------------------------------------------
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print("Zuiudão Sistema de Admin Carregado!");
- print("--------------------------------------\n");
- return 1;
- }
- //------------------------------------------------------------------------------
- public OnPlayerConnect(playerid)
- {
- SendClientMessage(playerid,-1,"[INFORMAÇÃO]: Esse servidor utiliza um sistema de Administração de Zuiudão! ( Mais informações em forum.sa-mp.com ..)");
- new arquivoplayers[64], nomeplayer[MAX_PLAYER_NAME];
- GetPlayerName(playerid,nomeplayer,sizeof(nomeplayer));
- format(arquivoplayers,sizeof(arquivoplayers),"/Players/%s.txt",nomeplayer);
- if(dini_Exists(arquivoplayers))
- {
- SetPVarInt(playerid,"Registrado",1);
- SendClientMessage(playerid,red,"Você já está registrado, use /logar");
- TogglePlayerControllable(playerid,0);
- }
- else
- {
- SendClientMessage(playerid,red,"Você não está registrado, use /registrar");
- SetPVarInt(playerid,"Registrado",0);
- }
- return 1;
- }
- //------------------------------------------------------------------------------
- public OnPlayerDisconnect(playerid)
- {
- Salvar(playerid);
- return 1;
- }
- //------------------------------------------------------------------------------
- public OnPlayerText(playerid, text[])
- {
- if(text[0] == '@' && playerinfo[playerid][Admin] >= 1)
- {
- new string[128];
- format(string,sizeof(string),"Admin: %s [%d]: %s",Nome(playerid),playerid,text[1]);
- SendAdminMessage(blue,string);
- return 0;
- }
- return 1;
- }
- //------------------------------------------------------------------------------
- public OnPlayerRequestSpawn(playerid)
- {
- if(GetPVarInt(playerid, "Registrado") && !GetPVarInt(playerid, "Logado"))
- {
- SendClientMessage(playerid,red,"Você precisa se logar antes, para poder jogar, digite /logar.");
- return 0;
- }
- return 1;
- }
- //------------------------------------------------------------------------------
- public OnPlayerUpdate(playerid)
- {
- new ping = GetPlayerPing(playerid);
- new string[150];
- if(ping > MAX_PING)
- {
- format(string,sizeof(string),"%s Foi Kickado do Servidor por Exercer %d de ping o (Limite).",Nome(playerid),MAX_PING);
- SendClientMessageToAll(yellow,string);
- Kick(playerid);
- }
- return 1;
- }
- //------------------------------------------------------------------------------
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_LOGIN)
- {
- if(response == 0)
- {
- SendClientMessage(playerid,red,"Sem se logar você não pode jogar, por isso foi kikado");
- Kick(playerid);
- }
- if(response == 1)
- {
- if(!strlen(inputtext))
- {
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Seja Bem vindo, sua conta já está registrada. Digite sua senha para poder jogar","Logar","Sair");
- return 1;
- }
- else
- {
- Logar(playerid,inputtext);
- SetPVarInt(playerid,"Logado",1);
- return 1;
- }
- }
- }
- if(dialogid == DIALOG_REGISTER)
- {
- if(response == 0)
- {
- SendClientMessage(playerid,red,"Para se registrar use /registrar.");
- }
- if(response ==1 )
- {
- if(!strlen(inputtext))
- {
- SendClientMessage(playerid,red,"Você precisa digitar uma senha!");
- ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registro","Seja bem vindo! Registre uma senha para poder jogar!","Registrar","Sair");
- return 1;
- }
- else
- {
- Registrar(playerid,inputtext);
- return 1;
- }
- }
- }
- return 1;
- }
- //=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
- CMD:relato(playerid,params[])
- {
- new relato[150],string[200];
- if(sscanf(params,"s",relato)) return SendClientMessage(playerid,-1,"{FF0000}[USE]: {FFFFFF}/Relato <Texto>");
- format(string,sizeof(string),"{FF0000}[ZAdmin]: {FFFFFF}Relato de: %s(%d): %s",Nome(playerid),playerid,relato);
- SendAdminMessage(-1,string);
- SendClientMessage(playerid,-1,"{FF0000}[ZAdmin]: {FFFFFF}Seu Relato Foi Enviado Com Sucesso Para a Administração Online, Aguarde Sua Resposta.");
- return 1;
- }
- //=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
- /* Comandos nivel 1: */
- CMD:comandosadmin(playerid,params[])
- {
- new string[1000];
- if(playerinfo[playerid][Admin] < 1)
- {
- strcat(string,"{FF0000}[ZAdmin]: {FFFFFF}Administrador Level 1:\n");
- strcat(string,"{FFFFFF}/Ir /Trazer /Congelar /Descongelar /AvAdm");
- }
- if(playerinfo[playerid][Admin] < 2)
- {
- strcat(string,"{FF0000}[ZAdmin]: {FFFFFF}Administrador Level 2:\n");
- strcat(string,"{FFFFFF}/Kickar /Banir /SetarVida /SetarColete");
- }
- if(playerinfo[playerid][Admin] < 3)
- {
- strcat(string,"{FF0000}[ZAdmin]: {FFFFFF}Administrador Level 3:\n");
- strcat(string,"{FFFFFF}/DarAdmin");
- }
- return 1;
- }
- CMD:ir(playerid,params[])
- {
- new id,string[150];
- new Float:PosX,Float:PosY,Float:PosZ;
- if(playerinfo[playerid][Admin] < 1) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Você precisa ser administrador para usar este comando!");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Jogador não conectado!");
- if(sscanf(params,"u",id)) return SendClientMessage(playerid,-1,"{FF0000}[USE]: {FFFFFF}/Ir <PlayerID>");
- GetPlayerPos(id,PosX,PosY,PosZ);
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)SetPlayerPos(playerid,PosX,PosY,PosZ); else SetVehiclePos(GetPlayerVehicleID(playerid),PosX,PosY,PosZ);
- SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));
- SetPlayerInterior(playerid,GetPlayerInterior(id));
- format(string,sizeof(string),"{FF0000}[ZAdmin]: {FFFFFF}Administrador(a): %s Foi Até: %s",Nome(playerid),Nome(id));
- SendClientMessageToAll(-1,string);
- return 1;
- }
- CMD:trazer(playerid,params[])
- {
- new idt,string[150];
- new Float:PosX,Float:PosY,Float:PosZ;
- if(playerinfo[playerid][Admin] < 1) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Você precisa ser administrador para usar este comando!");
- if(!IsPlayerConnected(idt)) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Jogador não conectado!");
- if(sscanf(params,"u",idt)) return SendClientMessage(playerid,-1,"{FF0000}[USE]: {FFFFFF}/Trazer <PlayerID>");
- GetPlayerPos(playerid,PosX,PosY,PosZ);
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)SetPlayerPos(idt,PosX,PosY,PosZ); else SetVehiclePos(GetPlayerVehicleID(idt),PosX,PosY,PosZ);
- SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(idt));
- SetPlayerInterior(playerid,GetPlayerInterior(idt));
- format(string,sizeof(string),"{FF0000}[ZAdmin]: {FFFFFF}Administrador(a): %s Puxou Até Você: %s",Nome(playerid),Nome(idt));
- SendClientMessageToAll(-1,string);
- return 1;
- }
- CMD:congelar(playerid,params[])
- {
- new idc,string[150];
- if(playerinfo[playerid][Admin] < 1) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Você precisa ser administrador para usar este comando!");
- if(!IsPlayerConnected(idc)) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Jogador não conectado!");
- if(sscanf(params,"u",idc)) return SendClientMessage(playerid,-1,"{FF0000}[USE]: {FFFFFF}/Congelar <PlayerID>");
- TogglePlayerControllable(idc,0);
- format(string,sizeof(string),"{FF0000}[ZAdmin]: {FFFFFF}Administrador(a): %s Congelou: %s",Nome(playerid),Nome(idc));
- SendClientMessageToAll(-1,string);
- return 1;
- }
- CMD:descongelar(playerid,params[])
- {
- new idd,string[150];
- if(playerinfo[playerid][Admin] < 1) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Você precisa ser administrador para usar este comando!");
- if(!IsPlayerConnected(idd)) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Jogador não conectado!");
- if(sscanf(params,"u",idd)) return SendClientMessage(playerid,-1,"{FF0000}[USE]: {FFFFFF}/Descongelar <PlayerID>");
- TogglePlayerControllable(idd,1);
- format(string,sizeof(string),"{FF0000}[ZAdmin]: {FFFFFF}Administrador(a): %s Descongelou: %s",Nome(playerid),Nome(idd));
- SendClientMessageToAll(-1,string);
- return 1;
- }
- CMD:avadm(playerid,params[])
- {
- new texto[500],string[550];
- if(playerinfo[playerid][Admin] < 1) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Você precisa ser administrador para usar este comando!");
- if(sscanf(params,"s",texto)) return SendClientMessage(playerid,-1,"{FF0000}[USE]: {FFFFFF}/AvAdm <Texto>");
- format(string,sizeof(string),"[ZAdmin]: {FF0000}Administrador: %s Diz: {FFFFFF}%s",Nome(playerid),texto);
- SendClientMessageToAll(-1,string);
- return 1;
- }
- //=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
- /* Comandos nivel 2: */
- CMD:kickar(playerid,params[])
- {
- new idk,motivo[150],string[250];
- if(playerinfo[playerid][Admin] < 2) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Você precisa ser administrador para usar este comando!");
- if(!IsPlayerConnected(idk)) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Jogador não conectado!");
- if(sscanf(params,"us",idk,motivo)) return SendClientMessage(playerid,-1,"{FF0000}[USE]: {FFFFFF}/Kickar <PlayerID> <Motivo>");
- format(string,sizeof(string),"[ZAdmin]: Administrador(a): %s - Kickou: %s - Motivo: %s",Nome(playerid),Nome(idk),motivo);
- SendClientMessageToAll(cinza,string);
- Kick(idk);
- return 1;
- }
- CMD:banir(playerid,params[])
- {
- new idb,motivo[150],string[250];
- if(playerinfo[playerid][Admin] < 2) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Você precisa ser administrador para usar este comando!");
- if(!IsPlayerConnected(idb)) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Jogador não conectado!");
- if(sscanf(params,"us",idb,motivo)) return SendClientMessage(playerid,-1,"{FF0000}[USE]: {FFFFFF}/Banir <PlayerID> <Motivo>");
- format(string,sizeof(string),"[ZAdmin]: Administrador(a): %s - Baniu: %s - Motivo: %s",Nome(playerid),Nome(idb),motivo);
- SendClientMessageToAll(cinza,string);
- Ban(idb);
- return 1;
- }
- CMD:setarvida(playerid,params[])
- {
- new idv,vida,string[150];
- if(playerinfo[playerid][Admin] < 2) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Você precisa ser administrador para usar este comando!");
- if(!IsPlayerConnected(idv)) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Jogador não conectado!");
- if(sscanf(params,"ud",idv,vida)) return SendClientMessage(playerid,-1,"{FF0000}[USE]: {FFFFFF}/SetarVida <PlayerID> <Quantidade de Vida>");
- SetPlayerHealth(playerid,vida);
- format(string,sizeof(string),"{FF0000}[ZAdmin]: {FFFFFF}Administrador(a): %s Setou Sua Vida Para: %d",Nome(playerid),vida);
- SendClientMessage(idv,blue,string);
- return 1;
- }
- CMD:setarcolete(playerid,params[])
- {
- new idc,colete,string[150];
- if(playerinfo[playerid][Admin] < 2) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Você precisa ser administrador para usar este comando!");
- if(!IsPlayerConnected(idc)) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Jogador não conectado!");
- if(sscanf(params,"ud",idc,colete)) return SendClientMessage(playerid,-1,"{FF0000}[USE]: {FFFFFF}/SetarVida <PlayerID> <Quantidade de Vida>");
- SetPlayerHealth(playerid,colete);
- format(string,sizeof(string),"{FF0000}[ZAdmin]: {FFFFFF}Administrador(a): %s Setou Seu Colete Para: %d",Nome(playerid),colete);
- SendClientMessage(idc,-1,string);
- return 1;
- }
- //=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
- /* Comandos nivel 3: */
- CMD:daradmin(playerid,params[])
- {
- new ida,level,string[250];
- if(playerinfo[playerid][Admin] < 3) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Você precisa ser administrador para usar este comando!");
- if(!IsPlayerConnected(ida)) return SendClientMessage(playerid,-1,"{FF0000}[ERRO]: {FFFFFF}Jogador não conectado!");
- if(sscanf(params,"ud",ida,level)) return SendClientMessage(playerid,-1,"{FF0000}[USE]: {FFFFFF}/DarAdmin <PlayerID> <Level de 1-3>");
- playerinfo[ida][Admin] = level;
- format(string,sizeof(string),"{FF0000}[ZAdmin]: {FFFFFF}Vamos dar os parabéns á %s Agora é um Administrador(a) Level %d",Nome(ida),level);
- SendClientMessageToAll(-1,string);
- return 1;
- }
- //=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
- stock SendAdminMessage(cor,string[])
- {
- for(new d; d < GetMaxPlayers(); ++d)
- {
- if(IsPlayerConnected(d) && playerinfo[d][Admin] > 1)
- {
- SendClientMessage(d,cor,string);
- }
- }
- }
- //------------------------------------------------------------------------------
- stock Salvar(playerid)
- {
- new arquivoplayers[64];
- new Nome1[MAX_PLAYER_NAME];
- GetPlayerName(playerid,Nome1,sizeof(Nome1));
- format(arquivoplayers,sizeof(arquivoplayers),"/Players/%s.txt",Nome1);
- dini_IntSet(arquivoplayers,"Admin",playerinfo[playerid][Admin]);
- dini_IntSet(arquivoplayers,"Score",GetPlayerScore(playerid));
- dini_IntSet(arquivoplayers,"Cash",GetPlayerMoney(playerid));
- return 1;
- }
- //------------------------------------------------------------------------------
- stock Logar(playerid,key[])
- {
- new arquivoplayers[64];
- new Nome1[MAX_PLAYER_NAME];
- GetPlayerName(playerid,Nome1,sizeof(Nome1));
- format(arquivoplayers,sizeof(arquivoplayers),"/Players/%s.txt",Nome1);
- if(!strcmp(key,dini_Get(arquivoplayers,"Senha"),false))
- {
- playerinfo[playerid][Admin] = dini_Int(arquivoplayers,"Admin");
- SetPlayerScore(playerid,dini_Int(arquivoplayers,"Score"));
- GivePlayerMoney(playerid, (ResetPlayerMoney(playerid), dini_Int(arquivoplayers,"Cash")));
- SendClientMessage(playerid,green,"CONTA: Você foi logado com sucesso!");
- SetPVarInt(playerid,"Logado",1);
- return 1;
- }
- if(Tentativas[playerid]==2)
- {
- SendClientMessage(playerid,red,"Você foi kickado por errar a sua senha 3 vezes");
- Kick(playerid);
- return 1;
- }
- else
- {
- ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Digite sua senha para poder logar.","Logar","Sair");
- SendClientMessage(playerid,red,"Sua senha está errada! Caso você a erre mais de 3 vezes você será kickado por motivos de segurança!");
- Tentativas[playerid]++;
- return 1;
- }
- }
- //------------------------------------------------------------------------------
- stock Registrar(playerid,key[])
- {
- new arquivoplayers[64];
- new Nome1[MAX_PLAYER_NAME];
- GetPlayerName(playerid,Nome1,sizeof(Nome1));
- format(arquivoplayers,sizeof(arquivoplayers),"/Players/%s.txt",Nome1);
- dini_Create(arquivoplayers);
- dini_Set(arquivoplayers,"Senha",key);
- SendClientMessage(playerid,green,"CONTA: Você foi registrado e logado com sucesso");
- dini_IntSet(arquivoplayers,"Admin",0);
- dini_IntSet(arquivoplayers,"Score",0);
- dini_IntSet(arquivoplayers,"Cash",0);
- return 1;
- }
- //------------------------------------------------------------------------------
- stock Nome(playerid)
- {
- new Name[MAX_PLAYERS];
- GetPlayerName(playerid,Name,sizeof(Name));
- return Name;
- }
- //=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
- public OnFilterScriptExit()
- {
- print("\n--------------------------------------");
- print("Zuiudão Sistema de Admin Descarregado!");
- print("--------------------------------------\n");
- return 1;
- }
- //=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Advertisement
Add Comment
Please, Sign In to add comment