SA-MP Forums Archive
/admins in dialog - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: /admins in dialog (/showthread.php?tid=436959)



/admins in dialog - MrTinder - 13.05.2013

Hi i try to make my cmd /admins in dialog but it's show only 1 admin.Here's the code:

pawn Код:
CMD:admins2(playerid,params[])
{
    if(IsPlayerConnected(playerid))
    {
        new string[256];
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(PlayerInfo[i][pAdmin] > 1 && PlayerInfo[i][pHide] == 0)
                {
                        new admin[20];
                        if(PlayerInfo[i][pAdmin] == 1) { admin = "Test Admin"; }
                        else if(PlayerInfo[i][pAdmin] == 2) { admin = "Moderator"; }
                        else if(PlayerInfo[i][pAdmin] == 3) { admin = "Administrator"; }
                        else if(PlayerInfo[i][pAdmin] == 4) { admin = "Scripter"; }
                        else if(PlayerInfo[i][pAdmin] == 5) { admin = "Owner"; }
                        new sendername[MAX_PLAYER_NAME];
                        GetPlayerName(i, sendername, sizeof(sendername));
                        format(string, 256, "{00CCFF}%s: {FFFFFF}%s (ID: %d) Status:{FF0000} Online", admin, sendername, i);
                        ShowPlayerDialog(playerid, 21323123, DIALOG_STYLE_LIST, "Admin Online:", string, "Close", "");
                }
            }
        }
    }
    return 1;
}



Re: /admins in dialog - Cameltoe - 13.05.2013

Loop through the admins then show the dialog

pawn Код:
CMD:admins2(playerid,params[])
{
    if(IsPlayerConnected(playerid))
    {
        new string[256];
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(PlayerInfo[i][pAdmin] > 0 && PlayerInfo[i][pHide] == 0)
                {
                        new admin[20];
                        if(PlayerInfo[i][pAdmin] == 1) { admin = "Test Admin"; }
                        else if(PlayerInfo[i][pAdmin] == 2) { admin = "Moderator"; }
                        else if(PlayerInfo[i][pAdmin] == 3) { admin = "Administrator"; }
                        else if(PlayerInfo[i][pAdmin] == 4) { admin = "Scripter"; }
                        else if(PlayerInfo[i][pAdmin] == 5) { admin = "Owner"; }
                        new sendername[MAX_PLAYER_NAME];
                        GetPlayerName(i, sendername, sizeof(sendername));
                        format(string, 256, "%s {00CCFF}%s: {FFFFFF}%s (ID: %d) Status:{FF0000} Online \r\n", string, admin, sendername, i);
                }
            }
        }
        ShowPlayerDialog(playerid, 21323123, DIALOG_STYLE_LIST, "Admin Online:", string, "Close", "");
    }
    return 1;
}
Something like that, not tested and not optimized!

Edit: Also change "f(PlayerInfo[i][pAdmin] > 1 && PlayerInfo[i][pHide] == 0)" -> "f(PlayerInfo[i][pAdmin] > 0 && PlayerInfo[i][pHide] == 0)" Otherwise 'test admins' won't appear.


Re: /admins in dialog - Calabresi - 13.05.2013

You need to use ShowPlayerDialog after loop ends.

pawn Код:
CMD:admins2(playerid,params[])
{
    if(IsPlayerConnected(playerid))
    {
        new string[256];
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(PlayerInfo[i][pAdmin] > 1 && PlayerInfo[i][pHide] == 0)
                {
                        new admin[20];
                        if(PlayerInfo[i][pAdmin] == 1) { admin = "Test Admin"; }
                        else if(PlayerInfo[i][pAdmin] == 2) { admin = "Moderator"; }
                        else if(PlayerInfo[i][pAdmin] == 3) { admin = "Administrator"; }
                        else if(PlayerInfo[i][pAdmin] == 4) { admin = "Scripter"; }
                        else if(PlayerInfo[i][pAdmin] == 5) { admin = "Owner"; }
                        new sendername[MAX_PLAYER_NAME];
                        GetPlayerName(i, sendername, sizeof(sendername));
                        format(string, 256, "{00CCFF}%s: {FFFFFF}%s (ID: %d) Status:{FF0000} Online", admin, sendername, i);
                }
            }
        }
        ShowPlayerDialog(playerid, 21323123, DIALOG_STYLE_LIST, "Admin Online:", string, "Close", "");
    }
    return 1;
}



Re: /admins in dialog - MrTinder - 13.05.2013

Thanks all ^^