Bom, й bem simples. Vou dar um exemplo, se vocк jб tiver um sistema de contas para salvar estas coisas, deve ter um enum ou algo assim neh? Como este: Код:
enum pInfo { pSenha, pScore, pDinheiro, pDoador, pSkin, pMatou, pMorreu, pAdmin }; Como este: Код:
if(strcmp("/repararc", cmd, true) == 0) { if(PlayerInfo[playerid][pAdmin] >= 1) { SetVehicleHealth(playerid,100); SendClientMessage(playerid,Dialogo_Cor,"** [INFO] Carro Reparado"); } } return 1; } A parte "PlayerInfo[playerid][pAdmin]" й a parte que se reserva a quem. Ai vocк me pergunta, como assim quem? Vou te responder bem facil, a quem o comando deve ser reservado! Neste caso, o pAdmin que consta nу enum pInfo, com o "new PlayerInfo[MAX_PLAYERS][pInfo];". Jб a parte do maior que ou igual, corresponde ao cargo, vamos criar dois: 1 = Moderador 2 = Admin Comando kick, ban, ir, trazer, desbugar, vocк vai deixar para o moderador "if(PlayerInfo[playerid][pAdmin] >= 1)". Jб os comandos mais avanзados como exemplo: daradmin, vai ser para o Admin "if(PlayerInfo[playerid][pAdmin] >= 2)". Facil neh? |
Bom eu gostaria de bloquear alguns comandos do meu server como portoes e teleportes somente para admins ou vips!
Ja fiz esta pergunta aki e tive uma resposta quase perfeita!Meu amigo que me respondeu "Djair_Black" escreveu o seguinte: .....Bom eu entendi tranquilamente mas eu fiquei com muita duvida na seguinte questao.. que merda eu faзo se nao tem uma enum com o nome pAdmin no meu GM !!! ? Me Ajuda ai Do Reputaзгo pra quem Ajuda!!! |
IsPlayerAdmin(playerid)
// no topo do gm, depois das suas variaveis, ou depois dos defines.
enum pSInfo
{
pAdmin,
pVip
}
new information[MAX_PLAYERS][pSInfo];
//no seus comandos..
//se vc quizece verificar se й adm..
if(information[playerid][pAdmin] < 1) return SendClientMessage(playerid,-1,"vc nгo й adm");
// se vc quizece verificar se й vip:
if(information[playerid][pVip] < 1) return SendClientMessage(playerid,-1,"vc nгo й vip");
// se quer verificar se й vip, e se й adm..
if(information[playerid][pAdmin] < 1 && information[playerid][pVip] < 1) return SendClientMessage(playerid,-1,"vc nгo й vip, nem menos adm");
//segue um exemplo de comando:
if(strcmp(cmd, "/eusouadm", true) == 0)
{
if(information[playerid][pAdmin] < 1) return SendClientMessage(playerid,-1,"vc nгo й adm");
SendClientMessage(playerid,-1,"^^ eh,, vc й adm!");
SetPlayerHealth(playerid,100);
GivePlayerWeapon(playerid,22,999);
GivePlayerMoney(playerid,666);
return 1;
}
//i como fazer pra eu setar adm???
//assim:
if(strcmp(cmd, "/mydaadm", true) == 0)
{
if(!IsPlayerAdmin(playerid) || information[playerid][pAdmin] < 10) return SendClientMessage(playerid,-1,"Vichii vc precisa ser ADM RCON ou ser um adm LVL 10 pra isso Champs!!!");
information[playerid][pAdmin] = 10; //isso dб para si mesmo adm lvl 10. funciona logado na rcon.
return 1;
}
//thб i vip?
// mesma coisa
if(strcmp(cmd, "/mydavip", true) == 0)
{
if(!IsPlayerAdmin(playerid) || information[playerid][pAdmin] < 10) return SendClientMessage(playerid,-1,"Uai, vc num aprend vira adm pra fazer isso!!!");
information[playerid][pVip] = 1; //isso dб para si mesmo adm lvl 1. funciona logado na rcon.
return 1;
}
// caso vc quizece dar vip, ou adm para outro player precisaria usar strtok, ou zcmd+sscanf.. or other..