[Ajuda] Criar comando /admins e /report?
#1

Heey! Olб ;p, sei que estou pedindo demais.. e talvez estou forgando em vocкs, mas й que estou criando um sistem a de administrador, e nгo tenho nenhuma de ideia de como fazer um sistema de mostrar os administradores em dialog.

no estilo o player digita: /admins ai aparece a dialogmsgbox dizendo:

Administradores onlines no momento:
talx - Administrador Nivel: x
talx - Administrador Nivel: x
talx - Administrador Nivel: x


algo assim. Й nгo tenho nenhuma noзгo de como fazer.

ah й o /report, nгo quero o cуdigo e sim perguntar se minha lуgica estб certa:
eu faзo um loop em todos os jogadores, para verificar quem sгo os administradores, e os que forem mandam a mensagem x do report? й isso?

tipo:
pawn Код:
for(new c; c < MAX_PLAYERS; c++)
{
  if(PlayerInfo[playerid][pAdmin] < 1)
{
  SendClientMessage(playerid, -1, "x.");
  }
}
assim?
Reply
#2

pawn Код:
CMD:admins(playerid) {

    new i, str[55], strDialog[500], Cont = 0, Nome[MAX_PLAYER_NAME];
   
    for ( i = 0; i < MAX_PLAYERS; ++i) {
   
        if ( IsPlayerConnected(i) && PlayerInfo[i][pAdmin] != 0 ) {
       
            GetPlayerName(i, Nome, MAX_PLAYER_NAME);
            format (str, sizeof str, "%s - Administrador nнvel %d\n", Nome, PlayerInfo[i][pAdmin] );
            strcat(strDialog, str);
            Cont++;
        }
    }
   
    if ( Cont == 0)
        ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "Administradores online!", "Nгo hб administradores online!", "Fechar", #);
    else
        ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "Administradores online!", strDialog, "Fechar", #);
       
    return 1;
}
Sobre o report й basicamente isso.
Reply
#3

Quote:
Originally Posted by iCasTiel
Посмотреть сообщение
pawn Код:
CMD:admins(playerid) {

    new i, str[55], strDialog[500], Cont = 0, Nome[MAX_PLAYER_NAME];
   
    for ( i = 0; i < MAX_PLAYERS; ++i) {
   
        if ( IsPlayerConnected(i) && PlayerInfo[i][pAdmin] != 0 ) {
       
            GetPlayerName(i, Nome, MAX_PLAYER_NAME);
            format (str, sizeof str, "%s - Administrador nнvel %d\n", Nome, PlayerInfo[i][pAdmin] );
            strcat(strDialog, str);
            Cont++;
        }
    }
   
    if ( Cont == 0)
        ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "Administradores online!", "Nгo hб administradores online!", "Fechar", #);
    else
        ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "Administradores online!", strDialog, "Fechar", #);
       
    return 1;
}
Sobre o report й basicamente isso.
Ah outra coisa iCastiel, tipo tem possibilidades de bugar tipo vamos supor que tem o admin joгo online e o admin josй.

Hб possibilidades de ficar:

Josй - Administrador - Nivel: 5 Joгo - Administrador - Nivel: 5

Ou fica, um em cada linha? ;3
Reply
#4

Quote:
Originally Posted by Diksplay
Посмотреть сообщение
Ah outra coisa iCastiel, tipo tem possibilidades de bugar tipo vamos supor que tem o admin joгo online e o admin josй.

Hб possibilidades de ficar:

Josй - Administrador - Nivel: 5 Joгo - Administrador - Nivel: 5

Ou fica, um em cada linha? ;3
Nгo pois usei o \n.
Reply
#5

Quote:
Originally Posted by iCasTiel
Посмотреть сообщение
Nгo pois usei o \n.
Atб, agora que eu vi. Muito obrigado! darei meu +REP assim que liberar.

jб estou fazendo meu /report

@EDIT
Descobri um bug! vamos supor que eu entre de Diksplay fica certo, eu apareзo lб, Diksplay - Administrador nivel: 5
ai eu saio.. e entra qualquer outro player, por exemplo chamado: papa. e ao dar /admins, aparece:

papa - administrador nivel: 5
й como se geral, estivesse ali naquela dialog de administrador nivel 5.

@EDITІ

ARRUMADO!
Reply
#6

Quote:
Originally Posted by Diksplay
Посмотреть сообщение
Atб, agora que eu vi. Muito obrigado! darei meu +REP assim que liberar.

jб estou fazendo meu /report

@EDIT
Descobri um bug! vamos supor que eu entre de Diksplay fica certo, eu apareзo lб, Diksplay - Administrador nivel: 5
ai eu saio.. e entra qualquer outro player, por exemplo chamado: papa. e ao dar /admins, aparece:

papa - administrador nivel: 5
й como se geral, estivesse ali naquela dialog de administrador nivel 5.
Creio que seja problema com o seu sistema, a variбvel de administrador pode nгo estar sendo setada corretamente no carregamento de dados da conta do jogador.
Reply
#7

Tenta fazer estes testes com amigos usando HAMACHI, isso ajuda bastante nas reportagens de anomalias no sistema.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)