SA-MP Forums Archive
Ayuda con players - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Ayuda con players (/showthread.php?tid=182671)



Ayuda con players - [L3th4l] - 12.10.2010

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!


Re: Ayuda con players - MrDeath537 - 12.10.2010

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


Re: Ayuda con players - TheChaoz - 12.10.2010

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.