Quote:
Originally Posted by Don_Speed
Nesse cmd o que taria errado?
pawn Код:
DonSpeed:admins(playerid,params[]) { new Speed[250]; GetPlayerName(playerid, Name, sizeof(Name)); for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(Jogador[i][pAdmin] >= 1){ strcat(Speed,"%s(ID:%d) Administrador Level 1\n", Name, i); } if(Jogador[i][pAdmin] >= 2){ strcat(Speed, "%s(ID:%d) Administrador Level 2\n", Name, i); } if(Jogador[i][pAdmin] >= 3){ strcat(Speed, "%s(ID:%d) Administrador Level 3\n", Name, i); } if(Jogador[i][pAdmin] >= 4){ strcat(Speed, "%s(ID:%d) Administrador Level 4\n", Name, i); } if(Jogador[i][pAdmin] >= 5){ strcat(Speed, "%s(ID:%d) Fundador/Script\n", Name, i); } } ShowPlayerDialog(playerid, DialogADM, DIALOG_STYLE_MSGBOX, "Administradores", Speed, "Fechar", ""); } return 1; }
|
ao voce usar
GetPlayerName(playerid, Name, sizeof(Name)); ele irб introduzir o nome do
playerid ( que nesse caso й quem digita o comando ) ou seja, esse comando irб fazer um loop detetando todos os admins mas irб usar sempre o seu nome ( nome de quem digita o comando ).
para obeter o nome corretamente terб de colocar dentro do loop
depois disso
pawn Код:
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
e colocar na forma
GetPlayerName(i, Name, sizeof(Name));
porque vai tetectar o nome do "i" ou seja, de um dos players que esta conectado e que voce esta verificando se й admin se depois ele corresponder a um dos niveis ira usar o nome dele.
como por exemplo aqui
"strcat(Speed,"%s(ID:%d) Administrador Level 1\n", Name, i);" voce vai detetar o id do "i" e nao do playerid.