Fiz este mini sistema de admin em 10 minutinhos, nгo adicionei sistema de salvamento,caso queira sу avisar.
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;
}