[DUVIDA] Como fazer um sistema de admin?
#1

Queria saber se vocкs podessem me ajudar, se nгo podem por favor nгo poste nada, ja quem pode a duvida й essa. Bom a base do meu GM ja ta prontinha, sistema de login/registro funfando graзas ao carinha ai que eu esqueci o nome entгo...

Queria por no GM '' POR '' um sistema de admin simples, com os comandos:

/ban - FUlano foi banido pelo admin %
/kick - Fulano foi kickado pelo admin %
/avisar - Fulano foi aviso pelo admin % 1/3
/daradmin - Fulano foi promovido a level % de admin
/liberarnick - Liberar nick pro outro muda o nick
/mudarnick - mUDA o nick
/e outros comandos ai que eu eskeci!

Ai tem q por no GM tipo esse negocio aqui:
#define MODERADOR 1
#define ADMINISTRADOR 2 ?

(Obs: queria sу dois cargos mesmo )
Reply
#2

pawn Код:
enum pInfo{//Topo
  pAdmin
}
new PlayerInfo[MAX_PLAYERS][pInfo];

//cmd
CMD:Teste(playerid)
{
   if(PlayerInfo[playerid[pAdmin] <= 0)return SendClientMessage(playerid, 0xFFFFFFAA, "Nao e Admin");
   return true;
}
Essa Seria uma Mega Base!
Reply
#3

pawn Код:
[b]CMD:Teste(playerid)
{
   if(PlayerInfo[playerid[pAdmin] <= 0)return SendClientMessage(playerid, 0xFFFFFFAA, "Nao e Admin");
   return true;[/b]
Nгo intendi affs?
}
Reply
#4

Se vocк nгo entendeu o que o Don postou imagina pra fazer um inteiro.
Quando se й iniciante recomendo usar uma base para estudos ^^'
Reply
#5

Ok, mais preciso de um FS entгo de sistem adm, nгo vou retirar os creditos!
Reply
#6

Vк qual desses aqui mais se adapta com vocк ^^'
Obs: no search tem mais!
Reply
#7

Ja To Ajudando Ele no Msn!
Reply
#8

/\ Blz '-'
Reply
#9

quando voce й novo sempre use bases para aprender.
se fazer um,sу pegarб codigos da net.
novo no pwn : fazer FS sozinho = bugs
falo isso por exp propria . eu bugava mta coisa '-'
Reply
#10

Fiz este mini sistema de admin em 10 minutinhos, nгo adicionei sistema de salvamento,caso queira sу avisar.


Tem que estar logado na rcon para poder usar o /daradmin

pawn Код:
#include a_samp
#include sscanf2
#include zcmd

/*
ban - FUlano foi banido pelo admin %
/kick - Fulano foi kickado pelo admin %
/avisar - Fulano foi aviso pelo admin % 1/3
/daradmin - Fulano foi promovido a level % de admin
/liberarnick - Liberar nick pro outro muda o nick
/mudarnick - mUDA o nick
/e outros comandos ai que eu eskeci!
*/


enum info
{
  admin
}
new stats[MAX_PLAYERS][info];
new liberar[MAX_PLAYERS] = 0;

CMD:dardmin(playerid,params[])
{
   new ID,Level,lol[128],nome[MAX_PLAYER_NAME];
   if(stats[playerid][admin] == 0 && !IsPlayerAdmin( playerid )) return SendClientMessage(playerid,-1,"Sem Autorizaзгo!");
   if(sscanf(params,"ui",ID,Level)) return SendClientMessage(playerid,-1,"/daradmin [ID] [LEVEL]!");
   if(stats[playerid][admin] < stats[playerid][admin]) return SendClientMessage(playerid,-1,"Sem Autorizaзгo!");
   if (!IsPlayerConnected(ID)) return SendClientMessage(playerid,-1,"Jogador nгo estб conectado! ");
   if ( Level < 0 || Level > 5 )  return SendClientMessage(playerid,-1,"Admin level entre 0 - 5 ");
   stats[ID][admin] = Level;
   GetPlayerName(playerid,nome,sizeof(nome));
   GetPlayerName(ID,nome,sizeof(nome));
   format(lol,sizeof(lol),"%s setou como admin %s level %d",nome,nome,stats[ID][admin]);
   SendClientMessageToAll(-1,lol);
   return 1;
}
CMD:ban(playerid,params[])
{
   new ID,MOTIVO,lol[128],nome[MAX_PLAYER_NAME];
   if(stats[playerid][admin] == 0 && !IsPlayerAdmin( playerid ))return SendClientMessage(playerid, -1,"vocк nгo й admin");
   if(sscanf(params,"us[128]",ID,MOTIVO)) return SendClientMessage(playerid,-1,"/ban [ID] [MOTIVO] ");
   GetPlayerName(playerid,nome,sizeof(nome));
   GetPlayerName(ID,nome,sizeof(nome));
   format(lol,sizeof(lol),"Administrador %s Baniu o jogador % motivo : %s",nome,nome,MOTIVO);
   SendClientMessageToAll(-1,lol);
   GetPlayerName(playerid,nome,sizeof(nome));
   format(lol,sizeof(lol),"Administrador %s lhe baniu por %s",nome,MOTIVO);
   Ban(ID);
   
   return 1;
}
CMD:kick(playerid,params[])
{
   new ID,MOTIVO,lol[128],nome[MAX_PLAYER_NAME];
   if(stats[playerid][admin] == 0 && !IsPlayerAdmin( playerid ))return SendClientMessage(playerid, -1,"vocк nгo й admin");
   if(sscanf(params,"us[128]",ID,MOTIVO)) return SendClientMessage(playerid,-1,"/kick [ID] [MOTIVO] ");
   GetPlayerName(playerid,nome,sizeof(nome));
   GetPlayerName(ID,nome,sizeof(nome));
   format(lol,sizeof(lol),"Administrador %s kickou jogador % motivo : %s",nome,nome,MOTIVO);
   SendClientMessageToAll(-1,lol);
   GetPlayerName(playerid,nome,sizeof(nome));
   format(lol,sizeof(lol),"Administrador %s lhe kickou por %s",nome,MOTIVO);
   Kick(ID);

   return 1;
}
CMD:liberarnick(playerid,params[])
{
   new ID,lol[128],nome[MAX_PLAYER_NAME];
   if(stats[playerid][admin] == 0 && !IsPlayerAdmin( playerid ))return SendClientMessage(playerid, -1,"vocк nгo й admin");
   if(sscanf(params,"us[128]",ID)) return SendClientMessage(playerid,-1,"/liberarnick [ID]");
   GetPlayerName(playerid,nome,sizeof(nome));
   GetPlayerName(ID,nome,sizeof(nome));
   format(lol,sizeof(lol),"Administrador %s liberou %s para mudar seu nome!",nome,nome);
   SendClientMessageToAll(-1,lol);
   liberar[ID] = 1;
   
   return 1;
}
CMD:mudarnick(playerid,params[])
{
   new lol[24],lol2[128],nome[MAX_PLAYER_NAME],nome2[MAX_PLAYER_NAME];
   if(liberar[playerid] == 0) return SendClientMessage(playerid, -1,"Um administrador nгo liberou vocк para mudar de nome !");
   if(sscanf(params,"s[24]",lol)) return SendClientMessage(playerid,-1,"/mudarnick [NICK]");
   GetPlayerName(playerid,nome,sizeof(nome));
   SetPlayerName(playerid,lol);
   GetPlayerName(playerid,nome2,sizeof(nome2));
   format(lol2,sizeof(lol2),"%s mudou seu nome para %s!",nome,nome2);
   SendClientMessageToAll(-1,lol2);
   liberar[playerid] = 0;

   return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)