Hey dialog help
#1

hey how i can do this that if player type /admins then appears a dialog and show who is online..
I use Ladmin

code is

Код:
dcmd_admins(playerid,params[]) {
    #pragma unused params
	new Count[2], i, string[128];
	for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
	{
		if(PlayerInfo[i][Level] > 0) Count[0]++;
		if(IsPlayerAdmin(i)) Count[1]++;
	}

    #if defined HIDE_ADMINS
	if(PlayerInfo[playerid][Level] == 0) {
		if(Count[0] >= 1) {
			format(string, sizeof(string), "There are %d Administrators online. Use /report <id> <reason> if you suspect a player of cheating", Count[0]);
			return SendClientMessage(playerid, blue, string);
		} else return  ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"","No Administrators online.","Okay","Canel");
	}
	#endif

	if( (Count[0] == 0 && Count[1] == 0) || (Count[0] == 0 && Count[1] >= 1 && PlayerInfo[playerid][Level] == 0) ) return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"","No Administrators online.","Okay","Canel");

	if(Count[0] == 1) {
	    for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[i][Level] > 0) {
			format(string, sizeof(string), "Admin: (%d)%s [%d]", i, PlayerName2(i), PlayerInfo[i][Level] ); 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][Level] > 0)
		{
			format(string,sizeof(string),"%s(%d)%s [%d]",string,i,PlayerName2(i),PlayerInfo[i][Level]);
			x++;
			if(x >= 5) {
			    SendClientMessage(playerid, blue, 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, blue, string);
		}
	}

	if( (Count[1] == 1) && (PlayerInfo[playerid][Level] > 0) ) {
	    for(i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && IsPlayerAdmin(i)) {
			format(string, sizeof(string), "RCON Admin: (%d)%s", i, PlayerName2(i)); SendClientMessage(playerid, COLOR_WHITE, 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,PlayerName2(i));
			x++;
			if(x >= 5) {
				SendClientMessage(playerid, COLOR_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, COLOR_WHITE, string);
		}
	}
	return 1;
}
plz help
Reply
#2

pawn Код:
dcmd_admins(playerid, params[])
{
    #pragma unused params
    new Admins, string[];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(PlayerInfo[i][Level]>0)
            {
                Admins++;
            }
        }
    }
    if(Admins<=0) return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Online Admins:","No Administrators online.","Okay","Cancel");
    if(Admins==1) format(string, sizeof(string), "Administrator online:\n");
    if(Admins>1) format(string, sizeof(string), "Administrators online:  (%d)\n",Admins);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(PlayerInfo[i][Level]>0)
            {
                format(string,sizeof(string),"\n%s (ID:%d) (Level: %d)",PlayerName2(i),i,PlayerInfo[i][Level]);
            }
        }
    }
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Online Admins:",string,"Okay","Cancel");
    return 1;
}
Try this. Thats a way better then the LAdmin code (In my eyes). And it is better to use for Dialogs.
If there are errors, just say it, I've just typed it quickly. ^^

Cheers! (And Booh!! xD).
Reply
#3

Aigh't,
got 6 errors
Код:
C:\Users\Kodu\Desktop\Real European Stuntages\filterscripts\ladmin4v2.pwn(3025) : error 009: invalid array size (negative, zero or out of bounds)
C:\Users\Kodu\Desktop\Real European Stuntages\filterscripts\ladmin4v2.pwn(3025) : error 036: empty statement
C:\Users\Kodu\Desktop\Real European Stuntages\filterscripts\ladmin4v2.pwn(3037) : error 017: undefined symbol "string"
C:\Users\Kodu\Desktop\Real European Stuntages\filterscripts\ladmin4v2.pwn(3037) : error 017: undefined symbol "string"
C:\Users\Kodu\Desktop\Real European Stuntages\filterscripts\ladmin4v2.pwn(3037) : error 029: invalid expression, assumed zero
C:\Users\Kodu\Desktop\Real European Stuntages\filterscripts\ladmin4v2.pwn(3037) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


6 Errors.
Reply
#4

Meh, had a bug anyway.

This is fixed now:

pawn Код:
dcmd_admins(playerid, params[])
{
    #pragma unused params
    new Admins, string[2048];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(PlayerInfo[i][Level]>0)
            {
                Admins++;
            }
        }
    }
    if(Admins<=0) return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Online Admins:","No Administrators online.","Okay","Cancel");
    if(Admins==1) format(string, sizeof(string), "Administrator online:\n");
    if(Admins>1) format(string, sizeof(string), "Administrators online:  (%d)\n",Admins);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(PlayerInfo[i][Level]>0)
            {
                format(string,sizeof(string),"%s\n%s (ID:%d) (Level: %d)",string, PlayerName2(i),i,PlayerInfo[i][Level]);
            }
        }
    }
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Online Admins:",string,"Okay","Cancel");
    return 1;
}
Check it out. ^^
Reply
#5

Quote:
Originally Posted by Jeffry
Посмотреть сообщение
Meh, had a bug anyway.

This is fixed now:

pawn Код:
dcmd_admins(playerid, params[])
{
    #pragma unused params
    new Admins, string[2048];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(PlayerInfo[i][Level]>0)
            {
                Admins++;
            }
        }
    }
    if(Admins<=0) return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Online Admins:","No Administrators online.","Okay","Cancel");
    if(Admins==1) format(string, sizeof(string), "Administrator online:\n");
    if(Admins>1) format(string, sizeof(string), "Administrators online:  (%d)\n",Admins);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(PlayerInfo[i][Level]>0)
            {
                format(string,sizeof(string),"%s\n%s (ID:%d) (Level: %d)",string, PlayerName2(i),i,PlayerInfo[i][Level]);
            }
        }
    }
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Online Admins:",string,"Okay","Cancel");
    return 1;
}
Check it out. ^^
It work thanks alot!

Sexy signature.. i like it!
Reply
#6

No problem. Have fun.

And Thanks, I like it too.
Reply
#7



One Question
in Ladmin is level sys, but how i can do that if player is level 5 then she/he are Server Owner
and if she/he is level 1 then she/he is Global Moderator
or omething
Reply
#8

pawn Код:
for(new i = 0; i < MAX_PLAYERS; i++)
{
    if(IsPlayerConnected(i))
    {
        if(PlayerInfo[i][Level]>0)
        {
            new AdminPos[50];
            if(PlayerInfo[i][Level] == 1) AdminPos="Test Moderator";
            else if(PlayerInfo[i][Level] == 2) AdminPos="Moderator";
            else if(PlayerInfo[i][Level] == 3) AdminPos="Administrator";
            else if(PlayerInfo[i][Level] == 4) AdminPos="Manager";
            else if(PlayerInfo[i][Level] == 5) AdminPos="Owner";
            format(string,sizeof(string),"%s\n%s (ID:%d) (%s)",string, PlayerName2(i),i,AdminPos);
        }
    }
}
Like this?

(Replace it with the one in the command.)
Reply
#9

do i need add this to onplayerconnect?
Reply
#10

pawn Код:
dcmd_admins(playerid, params[])
{
    #pragma unused params
    new Admins, string[2048];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(PlayerInfo[i][Level]>0)
            {
                Admins++;
            }
        }
    }
    if(Admins<=0) return ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Online Admins:","No Administrators online.","Okay","Cancel");
    if(Admins==1) format(string, sizeof(string), "Administrator online:\n");
    if(Admins>1) format(string, sizeof(string), "Administrators online:  (%d)\n",Admins);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(PlayerInfo[i][Level]>0)
            {
                new AdminPos[50];
                if(PlayerInfo[i][Level] == 1) AdminPos="Test Moderator";
                else if(PlayerInfo[i][Level] == 2) AdminPos="Moderator";
                else if(PlayerInfo[i][Level] == 3) AdminPos="Administrator";
                else if(PlayerInfo[i][Level] == 4) AdminPos="Manager";
                else if(PlayerInfo[i][Level] == 5) AdminPos="Owner";
                format(string,sizeof(string),"%s\n%s (ID:%d) (%s)",string, PlayerName2(i),i,AdminPos);
            }
        }
    }
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Online Admins:",string,"Okay","Cancel");
    return 1;
}
No, in the command. I've made it for you. ^^
Reply
#11

Aigh't thanks again
Reply
#12

Quote:
Originally Posted by Mr.Jvxmc
Посмотреть сообщение
Aigh't thanks again
No problem. Enjoy it, and have fun.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)