SA-MP Forums Archive
[HELP] /admins command - 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: [HELP] /admins command (/showthread.php?tid=562299)



[HELP] /admins command - XYZero - 08.02.2015

There are 2 players in my server, when I type /admins following happens:


As well as /nzmembers


Code:
Код:
#define NICE_PINK				0xEC13C0FF
Код:
#define green					0x33FF33AA
Код:
CMD:admins(playerid,params[])
{
    #pragma unused params
        new string[128];
  		SendClientMessage(playerid, green, " ");
        SendClientMessage(playerid, green, "___________ |- Online Admin's -| ___________");
		SendClientMessage(playerid, green, " ");
		for(new i = 0; i < MAX_PLAYERS; i++)
		{
	 		if (IsPlayerConnected(i))
	 		{
    			if(PlayerInfo[i][Level] == 0)
            	{
            	    format(string,sizeof(string), "No admin online in the list", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                GetPlayerName(i,PlayerName2(i),MAX_PLAYER_NAME);
                if(PlayerInfo[i][Level] == 1)
                {
                    format(string,sizeof(string), "{FF9900}%s (ID:%i) - Level: %d | Basic Moderator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 2)
                {
                    format(string,sizeof(string), "{FF9900}%s (ID:%i) - Level: %d | Moderator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 3)
                {
                    format(string,sizeof(string), "{FF9900}%s (ID:%i) - Level: %d | Master Moderator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 4)
                {
                    format(string,sizeof(string), "{7CFC00}%s (ID:%i) - Level: %d | Administrator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 5)
                {
                    format(string,sizeof(string), "{1E90FF}%s (ID:%i) - Level: %d | Master Administrator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 6)
                {
                    format(string,sizeof(string), "{00FFFF}%s (ID:%i) - Level: %d | Professional Admin | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 7)
                {
                    format(string,sizeof(string), "%s (ID:%i) - Level: %d | Super Admin | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 8)
                {
                    format(string,sizeof(string), "{FF0000}%s (ID:%i) - Level: %d | Delta Administrator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                SendClientMessage(playerid,NICE_PINK,string);
    			}
			}
  		SendClientMessage(playerid, green, " _______________________________________");
  		return 1;
}
Please justify the codes above, thanks


Re: [HELP] /admins command - 1fret - 08.02.2015

Quote:
Originally Posted by XYZero
Посмотреть сообщение
There are 2 players in my server, when I type /admins following happens:


As well as /nzmembers


Code:
Код:
#define NICE_PINK				0xEC13C0FF
Код:
#define green					0x33FF33AA
Код:
CMD:admins(playerid,params[])
{
    #pragma unused params
        new string[128];
  		SendClientMessage(playerid, green, " ");
        SendClientMessage(playerid, green, "___________ |- Online Admin's -| ___________");
		SendClientMessage(playerid, green, " ");
		for(new i = 0; i < MAX_PLAYERS; i++)
		{
	 		if (IsPlayerConnected(i))
	 		{
    			if(PlayerInfo[i][Level] == 0)
            	{
            	    format(string,sizeof(string), "No admin online in the list", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                GetPlayerName(i,PlayerName2(i),MAX_PLAYER_NAME);
                if(PlayerInfo[i][Level] == 1)
                {
                    format(string,sizeof(string), "{FF9900}%s (ID:%i) - Level: %d | Basic Moderator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 2)
                {
                    format(string,sizeof(string), "{FF9900}%s (ID:%i) - Level: %d | Moderator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 3)
                {
                    format(string,sizeof(string), "{FF9900}%s (ID:%i) - Level: %d | Master Moderator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 4)
                {
                    format(string,sizeof(string), "{7CFC00}%s (ID:%i) - Level: %d | Administrator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 5)
                {
                    format(string,sizeof(string), "{1E90FF}%s (ID:%i) - Level: %d | Master Administrator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 6)
                {
                    format(string,sizeof(string), "{00FFFF}%s (ID:%i) - Level: %d | Professional Admin | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 7)
                {
                    format(string,sizeof(string), "%s (ID:%i) - Level: %d | Super Admin | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 8)
                {
                    format(string,sizeof(string), "{FF0000}%s (ID:%i) - Level: %d | Delta Administrator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                SendClientMessage(playerid,NICE_PINK,string);
    			}
			}
  		SendClientMessage(playerid, green, " _______________________________________");
  		return 1;
}
Please justify the codes above, thanks
pawn Код:
Just add these:
new isOnline = false;

//Change this
if(PlayerInfo[i][Level] == 0)
//to this
If(!isOnline)
//and add this below getplayername
isOnline = true;



Re: [HELP] /admins command - Tamy - 08.02.2015

Код:
CMD:admins(playerid,params[])
{
    #pragma unused params
        new string[128], xadmins;
  		SendClientMessage(playerid, green, " ");
        SendClientMessage(playerid, green, "___________ |- Online Admin's -| ___________");
		SendClientMessage(playerid, green, " ");
		for(new i = 0; i < MAX_PLAYERS; i++)
		{
	 		if (IsPlayerConnected(i) && PlayerInfo[i][Level])
	 		{
            	
                GetPlayerName(i,PlayerName2(i),MAX_PLAYER_NAME);
                if(PlayerInfo[i][Level] == 1)
                {
                    format(string,sizeof(string), "{FF9900}%s (ID:%i) - Level: %d | Basic Moderator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 2)
                {
                    format(string,sizeof(string), "{FF9900}%s (ID:%i) - Level: %d | Moderator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 3)
                {
                    format(string,sizeof(string), "{FF9900}%s (ID:%i) - Level: %d | Master Moderator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 4)
                {
                    format(string,sizeof(string), "{7CFC00}%s (ID:%i) - Level: %d | Administrator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 5)
                {
                    format(string,sizeof(string), "{1E90FF}%s (ID:%i) - Level: %d | Master Administrator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 6)
                {
                    format(string,sizeof(string), "{00FFFF}%s (ID:%i) - Level: %d | Professional Admin | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 7)
                {
                    format(string,sizeof(string), "%s (ID:%i) - Level: %d | Super Admin | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                else if(PlayerInfo[i][Level] == 8)
                {
                    format(string,sizeof(string), "{FF0000}%s (ID:%i) - Level: %d | Delta Administrator | Playing!", PlayerName2(i),i,PlayerInfo[i][Level]);
                }
                xadmins ++;
                SendClientMessage(playerid,NICE_PINK,string);
    			}
			}
                if(xadmins == 0)
                {
            	    format(string,sizeof(string), "No admin online in the list", PlayerName2(i),i,PlayerInfo[i][Level]);
                    SendClientMessage(playerid, NICE_PINK, string);
                }

  		SendClientMessage(playerid, green, " _______________________________________");
  		return 1;
}



Re: [HELP] /admins command - XYZero - 08.02.2015

Thanks both


Re: [HELP] /admins command - XYZero - 08.02.2015

1fret: nothings changed

Tamy: I found this
C:\Users\WIN7\Downloads\NZTDM\Gamemodes\SATDM_v9.p wn(15695) : warning 217: loose indentation
C:\Users\WIN7\Downloads\NZTDM\Gamemodes\SATDM_v9.p wn(15697) : error 017: undefined symbol "i"
C:\Users\WIN7\Downloads\NZTDM\Gamemodes\SATDM_v9.p wn(15701) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


1 Error.


Re: [HELP] /admins command - CalvinC - 08.02.2015

You haven't added anything to detect if there's no admins online, you just detect if there's a player with a level of 0 it seems.
Add a variable that increases for each admin that's online, then check if that counter equals 0, and display the message.
pawn Код:
new online;
for(new i = 0; i < MAX_PLAYERS; i++)
{
    if(IsPlayerConnected(i) && PlayerInfo[i][Level] > 0)
    {
        online++;
        if(online == 0) format(string,sizeof(string), "No admin online in the list");
If you do not know what indentation is, look here: https://sampforum.blast.hk/showthread.php?tid=256961


Re: [HELP] /admins command - XYZero - 08.02.2015

Sorry, I am still at a loss to understand all of it, because I am newbie. And can you give the right codes for me?


Re: [HELP] /admins command - Threshold - 08.02.2015

Well, yeah... I suppose....

pawn Код:
CMD:admins(playerid, params[])
{
    SendClientMessage(playerid, green, " ");
    SendClientMessage(playerid, green, "___________ |- Online Admin's -| ___________");
    SendClientMessage(playerid, green, " ");
    new count = 0;
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(!IsPlayerConnected(i)) continue;
        if(!PlayerInfo[i][Level]) continue;
        new string[90], playersname[MAX_PLAYER_NAME];
        GetPlayerName(i, playersname, sizeof(playersname));
        switch(PlayerInfo[i][Level])
        {
            case 1: format(string, sizeof(string), "{FF9900}%s (ID:%i) - Level: %d | Basic Moderator | Playing!", playersname, i, PlayerInfo[i][Level]);
            case 2: format(string, sizeof(string), "{FF9900}%s (ID:%i) - Level: %d | Moderator | Playing!", playersname, i, PlayerInfo[i][Level]);
            case 3: format(string, sizeof(string), "{FF9900}%s (ID:%i) - Level: %d | Master Moderator | Playing!", playersname, i, PlayerInfo[i][Level]);
            case 4: format(string, sizeof(string), "{7CFC00}%s (ID:%i) - Level: %d | Administrator | Playing!", playersname, i, PlayerInfo[i][Level]);
            case 5: format(string, sizeof(string), "{1E90FF}%s (ID:%i) - Level: %d | Master Administrator | Playing!", playersname, i, PlayerInfo[i][Level]);
            case 6: format(string, sizeof(string), "{00FFFF}%s (ID:%i) - Level: %d | Professional Admin | Playing!", playersname, i, PlayerInfo[i][Level]);
            case 7: format(string, sizeof(string), "%s (ID:%i) - Level: %d | Super Admin | Playing!", playersname, i, PlayerInfo[i][Level]);
            case 8: format(string, sizeof(string), "{FF0000}%s (ID:%i) - Level: %d | Delta Administrator | Playing!", playersname, i, PlayerInfo[i][Level]);
            default: continue;
        }
        SendClientMessage(playerid, NICE_PINK, string);
        count++;
    }
    if(!count) SendClientMessage(playerid, NICE_PINK, "No admin online in the list");
    SendClientMessage(playerid, green, " _______________________________________");
    return 1;
}



Re: [HELP] /admins command - XYZero - 08.02.2015

Omg, thankyou verymuch


Re: [HELP] /admins command - Filbert - 04.06.2016

Nice, It's helped but how to give rcon admin rank like "RCON Administrator"