[Tutorial] [ZCMD] How to make Admin duty command.
#1

Open your Gamemode

On top of Gamemode add:

pawn Code:
#define COLOR_DRED 0xFF0000AA //defines red color
new aDuty[MAX_PLAYERS];
Under OnPlayerConnect add:
pawn Code:
aDuty[playerid] = 0; //Set player off duty when connects
Under OnPlayerDisconnect add:
pawn Code:
aDuty[playerid] = 0; //set player off duty when disconnects
Add this where you place your commands in gamemode:

pawn Code:
CMD:aduty(playerid) //Doesnt need params function
{
    if(PlayerInfo[playerid][pAdmin] >=1 || IsPlayerAdmin(playerid)) //If you use rcon admin delete (PlayerInfo[playerid][pAdmin] >=1 ||
    {
        if (aDuty[playerid] == 0) //Check if player is on duty
        {
            new string[128];
            new Float:x,Float:y,Float:z;
            new Text3D:label = Create3DTextLabel("Admin On Duty!", COLOR_DRED,x,y,z, 40.0, 0, 0); //Creates 3d text label at player position
            GetPlayerPos(playerid,x,y,z); //Looks for players position
            SetPlayerHealth(playerid,999999); //makes player godmode
            SetPlayerColor(playerid,COLOR_DRED); //set admin colour red
            SetPlayerSkin(playerid,294); //set admin skin to 294
            format(string,sizeof(string), "%s is now on Duty!",GetPlayerNameEx(playerid)); //here you format string to send to players
            SendClientMessageToAll(COLOR_DRED,string); //send string to players
            SendClientMessage(playerid,COLOR_DRED,"You are now on duty!"); //Tell admin he is now on duty
            Attach3DTextLabelToPlayer(label,playerid,0.0, 0.0, 0.7); //attach 3d text label made before to player
            aDuty[playerid] = 1; //Set player on duty
        }
        else if (aDuty[playerid] == 1) //Check if player is on duty
        {
            new string[128];
            new Float:x,Float:y,Float:z;
            new Text3D:label = Create3DTextLabel("Admin On Duty!", COLOR_DRED,x,y,z, 40.0, 0, 0);
            Delete3DTextLabel(label); //Delete 3d text label saying "Admin On Duty!"
            SetPlayerHealth(playerid,100); //sets player health back to 100
            format(string,sizeof(string)," %s is now off Duty!",GetPlayerNameEx(playerid)); //Format string to send to players
            SendClientMessageToAll(COLOR_DRED,string); //send players string
            SendClientMessage(playerid, COLOR_DRED,"You are now off duty!"); //send admin message he is off duty
            aDuty[playerid] = 0; //sets admin off duty
        }
    }
    else
        SendClientMessage(playerid,COLOR_DRED,"You are not high level enough!"); //Error message to send to players who arent admins
    return 1;
}
EDIT:
Probably you will need this too
Add it somewhere
pawn Code:
stock GetPlayerNameEx(playerid) //This is stock i made to make Getting players name easier
{
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    return Name;
}
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)