CMD:admins(playerid, params[]){
new str[100], aNome[MAX_PLAYER_NAME];
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid, -1, "~> {13C910}Administradores conectados no momento:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)){
if(Admin[i] == 1 || IsPlayerAdmin(i))
{
GetPlayerName(i, aNome,MAX_PLAYER_NAME);
format(str, sizeof(str), "~> {FFFFFF}%s [ID: %d]", aNome, i);
SendClientMessage(playerid, Green, str);
}
}
}
}
return 1;
}
CMD:admins(playerid, params[])
{
new count, bool:online, string[128], name[24];
for(new i,g=GetMaxPlayers(); i < g; i++)
{
if(IsPlayerConnected(i))
{
if(1 <= pAdminLevel[i]/*Change this var to yours*/ <= 99999)
{
online = true;
GetPlayerName(i, name, sizeof(name));
format(string,sizeof(string), "%s %s [%s],",string, name, AdminRank);
count++;
if(count == 4)
{
format(string,sizeof(string),"Admins: %s",string);
SendClientMessage(playerid, -1, string);
string = "";
count = 0;
}
}
}
}
if(count)
{
format(string,sizeof(string),"Admins: %s",string);
SendClientMessage(playerid, -1, string);
}
if(!online) SendClientMessage(playerid, -1,"Nгo tem nenhum admin online");
return 1;
}
CMD:admins(playerid, params[])
{
new str[2000], aNome[MAX_PLAYER_NAME], Bool:an=false;
if(IsPlayerConnected(playerid))
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) continue;
if(!Admin[i] && !IsPlayerAdmin(i)) continue;
if(an == false)
{
an = true;
SendClientMessage(playerid, -1, "~> {13C910}Administradores conectados no momento:");
}
GetPlayerName(i, aNome,MAX_PLAYER_NAME);
format(str, sizeof(str), "~> {FFFFFF}%s [ID: %d]", aNome, i);
SendClientMessage(playerid, Green, str);
}
if(an == false)
return SendClientMessage(playerid, -1, "~> {13C910}Nenhum administrador conectado no momento.");
}
return 1;
}
CMD:admins(playerid, params[])
{
new str[100], aNome[MAX_PLAYER_NAME];
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid, -1, "~> {13C910}Administradores conectados no momento:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(Admin[i] == 1 || IsPlayerAdmin(i))
{
GetPlayerName(i, aNome,MAX_PLAYER_NAME);
format(str, sizeof(str), "~> {FFFFFF}%s [ID: %d]", aNome, i);
SendClientMessage(playerid, Green, str);
} else {
SendClientMessage(playerid, Green, "Nгo tem nenhum admin online");
}
}
}
}
return 1;
}
|
PHP код:
|
else {
SendClientMessage(playerid, Green, "Nгo tem nenhum admin online");
}
if (strcmp(cmd, "/admins", true) == 0)
{
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid,COLOR_YELLOW,"Admins Online:");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pAdmin] >= 1)
{
GetPlayerName(i,sendername,sizeof(sendername));
if(adminstatus[i] == 0)
{
if(PlayerInfo[i][pAdmin] <= 1)
{
format(string,sizeof(string), "Moderador: %s [Trabalhando]",sendername);
SendClientMessage(playerid,COLOR_WHITE,string);
}
else if(PlayerInfo[i][pAdmin] >= 2)
{
format(string,sizeof(string), "Admin [%d]: %s [Trabalhando]",PlayerInfo[i][pAdmin],sendername);
SendClientMessage(playerid,COLOR_WHITE,string);
}
}
if(adminstatus[i] == 1)
{
if(PlayerInfo[i][pAdmin] <= 1)
{
format(string,sizeof(string), "Moderador: %s [Jogando]",sendername);
SendClientMessage(playerid,COLOR_WHITE,string);
}
else if(PlayerInfo[i][pAdmin] >= 2)
{
format(string, sizeof(string), "Admin [%d]: %s [Jogando]",PlayerInfo[i][pAdmin],sendername);
SendClientMessage(playerid,COLOR_WHITE,string);
}
}
}
}
}
}
return 1;
}
|
pawn Код:
|
|
Nao й necessario ver 2x se o player esta conectado ( IsPlayerConnected(i) ).
|
|
Nao й necessario ver 2x se o player esta conectado ( IsPlayerConnected(i) ).
|
|
Istofarб o que tu queres na perfeiзгo. Sу estou a fazer quote porque como jб foi dito nao sao necessбrias 2000 celulas, eu й que estava a pensar noutra coisa quando fiz as variaveis -.- sou mesmo estupido. Este ^jб estб corrigido.
|
|
Se formos por aн a variavel count tambem podia ser uma variavel booleana. Seria mais eficiente.
|
|
Й um mйtodo, eu acho que tu nгo leste bem a condiзгo
if(IsPlayerConnected(i) && Admin[i] => 1 || IsPlayerConnected(i) && IsPlayerAdmin(i)) Ele nгo vai ver se o jogador estб conectado duas vezes, ele sу farб isso caso a primeira condiзгo seja falsa e seria incorreto fazer desta forma: if(IsPlayerConnected(i) && Admin[i] => || IsPlayerAdmin(i)) Sim, eu na altura coloquei o count como inteiro porque nгo fazia sentido termos uma booleana ser setada vбrias vezes verdadeira xD |
|
Й um mйtodo, eu acho que tu nгo leste bem a condiзгo
if(IsPlayerConnected(i) && Admin[i] => 1 || IsPlayerConnected(i) && IsPlayerAdmin(i)) Ele nгo vai ver se o jogador estб conectado duas vezes, ele sу farб isso caso a primeira condiзгo seja falsa e seria incorreto fazer desta forma: if(IsPlayerConnected(i) && Admin[i] => || IsPlayerAdmin(i)) Claro que poderia fazer de outra forma. Isso acontece a todos xD Sim, eu na altura coloquei o count como inteiro porque nгo fazia sentido termos uma booleana ser setada vбrias vezes verdadeira xD |
|
Por acaso se a primeira condiзгo for falsa entao ele verifica 2 vezes se o jogador estб conectado, imagina que o jogador nao estб realmente conectado, vai verificar as 2 para nada e verifica 2 vezes se estб conectado.
Sу й incorreto fazer desta forma ( if(IsPlayerConnected(i) && Admin[i] => || IsPlayerAdmin(i)) ) porque te esqueceste dos parentises. if(IsPlayerConnected(i) && (Admin[i] => 0 || IsPlayerAdmin(i))) estб completamente correto. Se nгo estiver conectado para logo a verificaзгo, se estiver verifica se й admin nas variбveis ou se й admin de rcon. Isso й exatamente o mesmo que isto: if(IsPlayerConnected(i)) { if(Admin[i] => 0 || IsPlayerAdmin(i)) { .... } } |