[Ajuda] Explicaзхes
#4

Quote:
Originally Posted by Murilo_sousa
Посмотреть сообщение
pawn Код:
CMD:leveladmin(playerid)
{
    if(PlayerInfo[playerid][zAdmin] == 0)
    {
        SendClientMessage(playerid, -1, "Voce nao й Admin);    
    }  
    else if(PlayerInfo[playerid][zAdmin] == 1)
    {
        SendClientMessage(playerid, -1, "
Voce й Admin Level 1);    
    }
    else if(PlayerInfo[playerid][zAdmin] == 2)
    {
        SendClientMessage(playerid, -1, "Voce й Admin Level 2);    
    }
    else if(PlayerInfo[playerid][zAdmin] == 3)
    {
        SendClientMessage(playerid, -1, "
Voce й Admin Level 3);    
    }
    else if(PlayerInfo[playerid][zAdmin] == 4)
    {
        SendClientMessage(playerid, -1, "Voce й Admin Level 4);    
    }
    else if(PlayerInfo[playerid][zAdmin] == 5)
    {
        SendClientMessage(playerid, -1, "
Voce й Admin Level 5);    
    }
    return 1;
}

// Caso o PlayerInfo nao seja sua variavel troque pela sua ....
Olha a falta dos "


Deixa eu ver se consigo te explicar algo, sou horrнvel com explicaзхes, rs.

Entгo, na maioria (ou em todos) dos servidores os administradores sгo divididos por cargos/nнveis/leveis e o cargo de cada jogador fica armazenado numa variбvel. Vamos supor que vocк ganhe o cargo de adm num servidor, o cуdigo vai ser algo como:

pawn Код:
PlayerInfo[giveplayerid][NvlAdm] = nivel;
PlayerInfo = Variбvel + enum que armazena dados dos jogadores
giveplayerid = ID do jogador digitado no comando, no caso serб vocк
NvlAdm = Vai ser o nome dado na enum
nivel = parвmetro digitado no comando (/daradmin [ID] [Nivel])

Se a pessoa que te der o cargo de admin digitar /daradmin Gabriel 5 o
pawn Код:
PlayerInfo[giveplayerid][NvlAdm] = nivel;
Vai ser o mesmo que

pawn Код:
PlayerInfo[giveplayerid][NvlAdm] = 5;
Porйm utilizando da primeira forma й mais fбcil, se nгo vocк teria que utilizar dessa forma:

pawn Код:
if(nivel == 1)
{
  PlayerInfo[giveplayerid][NvlAdm] = 1;
}
else if(nivel == 2)
{
  PlayerInfo[giveplayerid][NvlAdm] = 2;
}
E assim vai indo...

Todo esse cуdigo que coloquei vocк teria que usar algo como:
pawn Код:
enum Jogador // a enum pode armazenar vбrios dados dos jogadores numa variбvel sу
{
   NvlAdm, // armazena o cargo de admin
   Matou, // vai armazenar o tanto de vezes que matou
   Morreu //armazena o tanto de vezes que morreu, etc
};
new PlayerInfo[MAX_PLAYERS][Jogador];
Saindo um pouco de assunto, para usar a Matou e Morreu vocк usa dessa forma (exemplos):
pawn Код:
PlayerInfo[playerid][Matou] ++; //Vai aumentar +1 , se ele tiver matado 5 vai mudar pra 6.
pawn Код:
PlayerInfo[playerid][Morreu] ++; //Vai aumentar  +1, se ele tiver morrido 2 vezes vai mudar pra  3
E o que vocк colocou aн й para verificar se й administrador, vou deixar alguns cуdigos explicados...

pawn Код:
if(PlayerInfo[playerid][NvlAdm] >= 1) // verifica se o jogador й nivel de admin 1 ou maior
pawn Код:
if(PlayerInfo[playerid][NvlAdm] == 5) // verifica se o jogador й admin nivel 5
pawn Код:
if(PlayerInfo[playerid][NvlAdm] > 1) // verifica se o jogador й admin nivel maior que 1
pawn Код:
if(PlayerInfo[playerid][NvlAdm] <= 9) // verifica se o jogador й admin nivel 9 ou menor (9,8,7,6,5,4,3, etc)
pawn Код:
if(PlayerInfo[playerid][NvlAdm] < 11) // verifica se o jogador й admin nivel menor que 11 (10,9,8,7,6,5, etc)

Jб os nнveis de administrador quem decide й vocк. Podendo escolher como exemplo os nнveis 1, 3, 5 e 10, ou 1,2,3,4,5, 10, 20, 70, 1000, etc.

No comando /daradmin para verificar se й o nнvel digitado й um que vocк quer que tenha, vocк faz assim:

pawn Код:
if(nivel == 1 || nivel == 2 || nivel == 10)
{
    //Funcoes
}
else return SendClientMessage(playerid, -1, "Os niveis sгo 1, 2 e 10");
Ou
pawn Код:
switch(nivel)
{
    case 1, 2, 10:
   {
       //funcoes
   }
   default: return SendClientMessage(playerid, -1, "Os niveis sao 1, 2 e 10");
}
Sendo que nivel й o nome dado ao parвmetro, pode ser level, cargo, strval(params), etc.


Nгo dб pra entender direito, mas deve servir pra algo. Qualquer dъvida fala ae.
Reply


Messages In This Thread
Explicaзхes - by Gabriel Santana - 20.08.2012, 19:43
Re: Explicaзхes - by Kuddy - 20.08.2012, 19:49
Re: Explicaзхes - by Maklister - 20.08.2012, 19:52
Re: Explicaзхes - by humildadeforever - 20.08.2012, 19:56
Re: Explicaзхes - by ViniBorn - 20.08.2012, 19:57
Re: Explicaзхes - by Gabriel Santana - 20.08.2012, 19:58
Re: Explicaзхes - by ViniBorn - 20.08.2012, 19:59
Re: Explicaзхes - by Maklister - 20.08.2012, 20:07
Re: Explicaзхes - by humildadeforever - 20.08.2012, 20:13
Re: Explicaзхes - by Gabriel Santana - 20.08.2012, 20:14

Forum Jump:


Users browsing this thread: 5 Guest(s)