Ajudano /daradmin -
PraqueNome - 01.08.2014
Tipo eu quero colocar a permiзгo de admin master para dar admin sу atй lvl 5 e nгo pode retirar o admin do Dono(3000)
e colocar o admin dono para poder dar qualquer nvde admin.me ajudem.
Код HTML:
if(strcmp(cmd, "/criaradmin", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] < 1337)
{
SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode usar este comando!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USE: /criaradmin [id] [Nivel(de 1 a 5)]");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USE: /criaradmin [id] [Nivel(de 1 a 5)]");
return 1;
}
level = strval(tmp);
if(level > 5)
{
SendClientMessage(playerid, COLOR_GRAD1, " Nгo se pode criar um admin com nivel maior que 5");
return true;
}
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if(level == 0)
{
format(string, sizeof(string), " Vocк retirou o admin de %s.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), " O Admin %s retirou seu admin!", sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
PlayerInfo[para1][pAdmin] = 0;
getdate(year, month, day);
gettime(hour,minute,second);
format(string, sizeof(string), "%s retirou o admin de %s [%d/%d/%d] бs [%d:%d:%d].", sendername, giveplayer, day,
month, year, hour, minute, second);
PAdminsLog(string);
return true;
}
if(level > 3000)
{
if(strcmp(sendername,"HHwilliam_HH",true)==0 || strcmp(sendername,"HHwilliam_HH",true)==0|| strcmp(sendername,"HHwilliam_HH",true)==0 || strcmp(sendername,"HHwilliam_HH",true)==0 ||
strcmp(sendername,"HHwilliam_HH",true)==0)
{
}
else
{
PodeNaoMulek;
return true;
}
}
format(string, sizeof(string), " Vocк foi promovido a nivel %d de admin, pelo admin %s", level, sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), " Vocк promoveu %s Para admin Nivel %d", giveplayer,level);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
getdate(year, month, day);
gettime(hour,minute,second);
format(string, sizeof(string), "%s deu admin nivel %d para %s [%d/%d/%d] бs [%d:%d:%d].", sendername, level, giveplayer, day,
month, year, hour, minute, second);
PlayerInfo[para1][pAdmin] = level;
PAdminsLog(string);
}
}
}
return 1;
}
Re: Ajudano /daradmin -
Bruno13 - 01.08.2014
@OFF Amigo, antes de tudo, quando for postar cуdigo use [pawn
][/pawn]
Simples, й sу vocк checar o valor da variбvel admin. Variбvel nada mais й que um sнmbolo criado para armazenar um valor. Assim tendo variбveis globais, quanto locais. Globais, o prуprio nome jб diz, pode ser usada em toda parte do Gamemode, jб as locais sгo restritas a cуdigos que fecham, por exemplo, uma variбvel local usada em um comando, caso usar ela fora do mesmo, retornarб a erro, informando que nгo foi definida. A variбvel a qual estб a usar, й global, onde armazena o nнvel admin, e para checб-la й simples observe:
pawn Код:
if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, -1, "Vocк nгo pode usar esse comando");
//"if" - do inglкs significa "se", ou seja, analisando temos: se a variбvel tiver valor < que valor proposto, retornara a mensagem informativa.
//"<" - esse simbolo, й chamado de comparador, tanto esse "<"(menor que) como esses ">"(maior que), "<="(menor ou igual que), ">="(maior ou igual que), "=="(igual a), "&&"(como operador, identifica duas funзхes, caso alguma delas nгo forem iguais aos valores submetidos, nгo retornam ao cуdigo) entre outros...
//Agora para vocк checar й simples, como disse acima, quer que admin master sу possa dar admin atй level 5
if(PlayerInfo[playerid][pAdmin] == 1337 && level > 5) return SendClientMessage(playerid, COLOR_GRAD1, " Nгo se pode criar um admin com nivel maior que 5");
//assim, nгo precisa colocar para checar se й admin dono, pois apenas o admin com o valor 1337 serб retornado a mensagem acima
//Agora proibir para retirar admin dono, ou alterar o valor do level do mesmo
if(PlayerInfo[para1][pAdmin] == 3000) return SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode alterar o level de um Admin Dono!");
Pronto, agora й sу encaixar no lugar certo...й o minimo que pode fazer depois de toda a explicaзгo. Abraзos, estude mais!
Re: Ajudano /daradmin -
PraqueNome - 01.08.2014
no caso ficaria asim ?
Код HTML:
if(strcmp(cmd, "/criaradmin", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, -1, "Vocк nгo pode usar esse comando");
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USE: /criaradmin [id] [Nivel(de 1 a 5)]");
return 1;
}
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USE: /criaradmin [id] [Nivel(de 1 a 5)]");
return 1;
}
level = strval(tmp);
if(PlayerInfo[playerid][pAdmin] == 1337 && level > 5) return SendClientMessage(playerid, COLOR_GRAD1, " Nгo se pode criar um admin com nivel maior que 5");
}
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
if(level == 0)
{
format(string, sizeof(string), " Vocк retirou o admin de %s.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), " O Admin %s retirou seu admin!", sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
PlayerInfo[para1][pAdmin] = 0;
getdate(year, month, day);
gettime(hour,minute,second);
format(string, sizeof(string), "%s retirou o admin de %s [%d/%d/%d] бs [%d:%d:%d].", sendername, giveplayer, day,
month, year, hour, minute, second);
PAdminsLog(string);
return true;
}
if(level > 3000)
{
if(strcmp(sendername,"HHwilliam_HH",true)==0 || strcmp(sendername,"HHwilliam_HH",true)==0|| strcmp(sendername,"HHwilliam_HH",true)==0 || strcmp(sendername,"HHwilliam_HH",true)==0 ||
strcmp(sendername,"HHwilliam_HH",true)==0)
{
}
else
{
PodeNaoMulek;
return true;
}
}
format(string, sizeof(string), " Vocк foi promovido a nivel %d de admin, pelo admin %s", level, sendername);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), " Vocк promoveu %s Para admin Nivel %d", giveplayer,level);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
getdate(year, month, day);
gettime(hour,minute,second);
format(string, sizeof(string), "%s deu admin nivel %d para %s [%d/%d/%d] бs [%d:%d:%d].", sendername, level, giveplayer, day,
month, year, hour, minute, second);
PlayerInfo[para1][pAdmin] = level;
PAdminsLog(string);
}
}
}
return 1;
}