Ayuda con players
#1

Miren, pues tengo esto:

pawn Код:
CMD:allfps(playerid, params[])
{
    SendClientMessage(playerid, COLOR_YELLOW, "* You are currently viewing everyone's FPS info..");
    foreach(Player, i)
    {
        i++;
        new pFPS = GetPlayerFPS(i);
        format(u_Msg, sizeof(u_Msg), "Player Name:\t\t\tFPS:\n\n%s(%d)\t\t\t%d", pName(i), i, pFPS);
        ShowPlayerDialog(playerid, ALLFPS_BOX, DIALOG_STYLE_MSGBOX, "All Player's FPS:", u_Msg, "Refresh", "Close");
    }
    return 1;
}

CMD:laggers(playerid, params[])
{
    new Laggers = 0;
    foreach(Player, i)
    {
        if(GetPlayerFPS(i) <= 20)
        {
            Laggers++;
            format(u_Msg, sizeof(u_Msg), "Player Name:\t\t\tFPS:\n\n%s(%d)\t\t\t%d", pName(i), i, GetPlayerFPS(i));
            ShowPlayerDialog(playerid, LAGGERS_BOX, DIALOG_STYLE_MSGBOX, "List of laggers:", u_Msg, "Refresh", "Close");
        }
    }
    if(Laggers == 0)
        SendClientMessage(playerid, COLOR_RED, "* There are currently no laggers online!");
    return 1;
}
Ok el problema es cuando, por ejemplo, si ahi 5 personas en el server, i uso /AllFPS, nomas me ensena 1 persona en el dialog. i quiero q me de todas las personas con sus FPS.

El problema tambien con /laggers.

Gracias!
Reply
#2

Almacenб los datos de todos los jugadores en un string y luego usa ShowPlayerDialog (fuera del loop)
Reply
#3

el problema es que al tener el ShowPlayerDialog dentro del bucle o loop, mostrara un dialogo x el jugador con id 0, y otro con el jugador de id 1, pero el 1є dialogo se reemplaza x el 22, dado que no se pueden tener 2 dialogos por jugador.
para que eso funcione, puedes ir almacenando cada resultado de GetPlayerFPS dentro de un array, y luego fuera del bucle, juntar toda esa informacion y mostrarla luego en el dialogo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)