make this to dialog
#1

Can you please convert this to dialog? I tried but failed. Only good scripter can fix this problem. thanks waiting for your reply.

Код HTML:
COMMAND:admins(playerid,params[])
{
    #pragma unused params
    SendClientMessage(playerid, PURPLE, "--------------------------------------");

	new Count[2], i, string[128];
	for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
	{
		if(PlayerInfo[i][AdminLevel] > 0) Count[0]++;
		if(IsPlayerAdmin(i)) Count[1]++;
	}

	if((Count[0] == 0 && Count[1] == 0) || (Count[0] == 0 && Count[1] >= 1 && PlayerInfo[playerid][AdminLevel] == 0))
	{
		SendClientMessage(playerid, PURPLE, "No Administrators online");
		SendClientMessage(playerid, PURPLE, "--------------------------------------");
		return 1;
	}

	if(Count[0] == 1)
	{
	    for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][AdminLevel] > 0)
		{
			format(string, sizeof(string), "Admin: (%d)%s [AdminLevel: %d]", i, GetName(i), PlayerInfo[i][AdminLevel] ); SendClientMessage(playerid, BLUE, string);
		}
	}

 	if(Count[0] > 1)
	 {
	    new x; format(string, sizeof(string), "Admins:");
	    for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][AdminLevel] > 0)
		{
			format(string,sizeof(string),"%s(%d)%s [AdminLevel: %d]",string,i,GetName(i),PlayerInfo[i][AdminLevel]);
			x++;
			if(x >= 5)
			{
			    SendClientMessage(playerid, PURPLE, string); format(string, sizeof(string), "Admins: "); x = 0;
			}
			else format(string, sizeof(string), "%s,  ", string);
	    }
		if(x <= 4 && x > 0) {
			string[strlen(string)-3] = '.';
		    SendClientMessage(playerid, PURPLE, string);
		}
	}

	if( (Count[1] == 1) && (PlayerInfo[playerid][AdminLevel] > 0))
	{
	    for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerAdmin(i))
		{
			format(string, sizeof(string), "RCON Admin: (%d)%s", i, GetName(i));
			SendClientMessage(playerid, GREEN, string);
		}
	}
	if(Count[1] > 1)
	{
 		new x; format(string, sizeof(string), "RCON Admins: ");
	    for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerAdmin(i))
		{
			format(string,sizeof(string),"%s(%d)%s",string,i,GetName(i));
			x++;
			if(x >= 5)
			{
				SendClientMessage(playerid, WHITE, string); format(string, sizeof(string), "RCON Admins: "); x = 0;
			}
			else format(string, sizeof(string), "%s,  ", string);
	    }
		if(x <= 4 && x > 0)
		{
			string[strlen(string)-3] = '.';
		    SendClientMessage(playerid, GREEN, string);
		}
	}

	SendClientMessage(playerid, PURPLE, "--------------------------------------");
	return 1;
}
Reply
#2

Should work I believe, haven't tested though.
pawn Код:
CMD:admins(playerid, params[])
{
    new Count[2], fdialog[124 * 2], formatx[124];
    for(new i = 1; i < MAX_PLAYERS; i++)
    {
        if(!IsPlayerConnected(i)) continue;
        if(PlayerInfo[i][AdminLevel] > 0) Count[0]++;
        if(IsPlayerAdmin(i)) Count[1]++;
        format(formatx, sizeof(formatx), "%s(%d) [AdminLevel: %d]\n", GetName(i), i, PlayerInfo[i][AdminLevel]);
        strcat(fdialog, formatx);
    }
    if(!Count[0] && !Count[1]) return SendClientMessage(playerid, -1, "There are no admins online");
    ShowPlayerDialog(playerid, 1337, DIALOG_STYLE_LIST, "Administrators", fdialog, "Confirm", "Cancel");
    return 1;
}
Reply
#3

pawn Код:
CMD:admins(playerid, params[]) {
    #pragma unused params

    new
        tmp[1024]
    ;
    if((PlayerInfo[playerid][AdminLevel] > 0) || IsPlayerAdmin(playerid)) {
        for(new i; i < MAX_PLAYERS; ++i) {
            if(IsPlayerConnected(i)) {
                if(IsPlayerAdmin(i)) {
                    format(tmp, sizeof tmp, "%s\n(%d)%s [RCON]", tmp, i, GetName(i));
                }
                else if(PlayerInfo[i][AdminLevel] > 0) {
                    format(tmp, sizeof tmp, "%s\n(%d)%s [AdminLevel: %d]", tmp, i, GetName(i), PlayerInfo[i][AdminLevel]);
                }
            }
        }
    } else {
        for(new i; i < MAX_PLAYERS; ++i) {
            if(IsPlayerConnected(i)) {
                if(PlayerInfo[i][AdminLevel] > 0) {
                    format(tmp, sizeof tmp, "%s\n(%d)%s [AdminLevel: %d]", tmp, i, GetName(i), PlayerInfo[i][AdminLevel]);
                }
            }
        }
    }
    if(tmp[0] == EOS) {
        return ShowPlayerDialog(playerid, 1337, DIALOG_STYLE_MSGBOX, "Admins", "No Administrators online", "Confirm", "");
    }
    return ShowPlayerDialog(playerid, 1337, DIALOG_STYLE_LIST, "Admins", tmp[1], "Confirm", "Cancel");
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)