[Ajuda]Bloquear Comandos Para Alguns Players!
#1

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:


Quote:

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
};
Se tiver, vocк vai pegar o que corresponde ao Admin e ao VIP ou seja "pAdmin" e o "pDoador" e vai fazer um comando bem facil.
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;
}
Sempre quando quiser reservar um comando para admin ou atй mesmo para VIPS, vocк vai usar isso" if(PlayerInfo[playerid][pAdmin] >= 2) ".

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 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!!!
Reply
#2

Coloca seu GM nу PasteBin.com, se poe la, dou uma olhada nу seu sistema, e te mando pelo pastebin ela bem acertada!
Reply
#3

Quote:
Originally Posted by [BD]Cachorro_[BD]
Посмотреть сообщение
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!!!
Uйh.. si nгo tem o enum no teu server й sу criar,.. ^^
mais tipo.. vc usa:

pawn Код:
IsPlayerAdmin(playerid)
ou alguma outra variavel para checar se o cara й admim?

caso sim, poste-a por favor.

caso nгo.. faзa:

pawn Код:
// 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..
Reply
#4

Vlw man Me Salvou xD vlww mesmo ta ai sua reputaзгo !!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)