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.