Admin only appears on Admin list after doing /onduty
#1

Hey guys, I'm currently under the construction of making my admin system. How do I make the admin appear only after doing /onduty, and he can hide from the list by doing /offduty. I have /onduty and /offduty commands:

Код:
CMD:onduty(playerid, params[])
{
 	if(pInfo[playerid][Adminlevel] < 1)
	 	return	PlayerIsNotAdmin( playerid );
	if ( adminDuty{ playerid } )
	    return SendClientMessage(playerid, RED, "ERROR:{FFFFFF} You are already on Admin duty!");
   	admin = Create3DTextLabel("Admin ON duty \n Do not kill", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
	Attach3DTextLabelToPlayer(admin, playerid, 0.0, 0.0, 0.7);
	SendClientMessage(playerid, 0x008080FF, "You are now on Admin duty");
	new string[64], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
    format(string,sizeof string,"[ON DUTY] Administrator %s is now on duty!",pName);
    SendClientMessageToAll(0xFF9500FF,string);
   	adminDuty{ playerid } = true;
	return 1;
}

CMD:offduty(playerid, params[])
{
    if(pInfo[playerid][Adminlevel] < 1)
		return PlayerIsNotAdmin( playerid );
	if (!adminDuty{ playerid } )
	    return SendClientMessage(playerid, RED, "ERROR:{FFFFFF} You are already off Admin duty!");
    DeletePlayer3DTextLabel(playerid, PlayerText3D:admin);
   	SendClientMessage(playerid, 0x008080FF, "You are now off Admin duty");
   	new string[64], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
    format(string,sizeof string,"[OFF DUTY] Administrator %s is now off duty!",pName);
    SendClientMessageToAll(0xFF9500FF,string);
   	adminDuty{ playerid } = false;
	return 1;
}
And, I made the bool which I used in both my /onduty and /offduty commands.
How do I make the admin appear only after doing /onduty, and he can hide from the list by doing /offduty.
Here is my /admins command:

Код:
CMD:admins(playerid, params[])
{
   new count = 0, string[256];
   SendClientMessage(playerid, 0x0AFF1FFF,"-----|Current online Admins|------");
   for(new i = 0; i < MAX_PLAYERS; i ++)
   {
	  if(IsPlayerConnected(i))
	  {
		  if(pInfo[i][Adminlevel] == 1)
		  {
             format(string, sizeof(string),"Admin Rank 1:{FFFFFF} (%d) %s", i, PlayerName(i));
             SendClientMessage(playerid, 0x00B3FFFF, string);
             count++;
		  }
		  if(pInfo[i][Adminlevel] == 2)
		  {
             format(string, sizeof(string),"Admin Rank 2:{FFFFFF} (%d) %s", i, PlayerName(i));
             SendClientMessage(playerid, 0x00B3FFFF, string);
             count++;
		  }
		  if(pInfo[i][Adminlevel] == 3)
		  {
             format(string, sizeof(string),"Admin Rank 3:{FFFFFF} (%d) %s", i, PlayerName(i));
             SendClientMessage(playerid, 0x00B3FFFF, string);
             count++;
		  }
		  if(pInfo[i][Adminlevel] == 4)
		  {
             format(string, sizeof(string),"Admin Rank 4:{FFFFFF} (%d) %s", i, PlayerName(i));
             SendClientMessage(playerid, 0x00B3FFFF, string);
             count++;
		  }
		  if(pInfo[i][Adminlevel] == 5)
		  {
             format(string, sizeof(string),"Admin Rank 5:{FFFFFF} (%d) %s", i, PlayerName(i));
             SendClientMessage(playerid, 0x00B3FFFF, string);
             count++;
		  }
		  if(pInfo[i][Adminlevel] == 6)
		  {
             format(string, sizeof(string),"Assistant Head Administrator:{FFFFFF} (%d) %s", i, PlayerName(i));
             SendClientMessage(playerid, 0x00B3FFFF, string);
             count++;
		  }
		  if(pInfo[i][Adminlevel] == 7)
		  {
             format(string, sizeof(string),"Head Administrator :{FFFFFF} (%d) %s", i, PlayerName(i));
             SendClientMessage(playerid, 0xFF1212FF, string);
             count++;
		  }
      }
   }
   if(count == 0)
   {
		  SendClientMessage(playerid, 0x00B3FFFF,"----|There are currently no Admins online|----");
   }
   return 1;
}
Please help me! Thanks
Reply
#2

Add:
pawn Код:
if(adminDuty[i]) = true)
{

}
Before checking the admin levels on /admins command.
Reply
#3

EDIT: I tried it, but it doesn't work
Reply
#4

Quote:
Originally Posted by zxc1
Посмотреть сообщение
Add:
pawn Код:
if(adminDuty[i]) = true)
{

}
Before checking the admin levels on /admins command.
There should be two equal signs when comparing values, one is used for setting values. The round brackets don't make much sense either.

Use

pawn Код:
if(adminDuty{i})
{
    if(pInfo[i][Adminlevel] == 1)
    {
        format(string, sizeof(string),"Admin Rank 1:{FFFFFF} (%d) %s", i, PlayerName(i));
        SendClientMessage(playerid, 0x00B3FFFF, string);
        count++;
    }
    // and so on
}
Reply
#5

Quote:
Originally Posted by Johnson_boy
Посмотреть сообщение
There should be two equal signs when comparing values, one is used for setting values. The round brackets don't make much sense either.

Use

pawn Код:
if(adminDuty{i})
{
    if(pInfo[i][Adminlevel] == 1)
    {
        format(string, sizeof(string),"Admin Rank 1:{FFFFFF} (%d) %s", i, PlayerName(i));
        SendClientMessage(playerid, 0x00B3FFFF, string);
        count++;
    }
    // and so on
}
Thanks
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)