How to improve this /admins command
#1

ok i have this cmd

pawn Код:
CMD:admins(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 2) {
        SendClientMessageEx(playerid, COLOR_GRAD1, "Admins Online:");
        foreach(new i: Player) {
            if(PlayerInfo[i][pAdmin] >= 2/* && PlayerInfo[i][pAdmin] <= PlayerInfo[playerid][pAdmin]*/) {
                new string[128], sstring[128], rtoken;
                new strFromFile[128];
                new month, day, year;
                new playern[MAX_PLAYER_NAME];
                GetPlayerName(i, playern, sizeof(playern));
                getdate(year, month, day);
                format(sstring,sizeof(sstring),"admins/rtokens/%s[%d'%d'%d]",playern,month,day,year);
                if(fexist(sstring)) {
                    new File: file = fopen(sstring, io_read);
                    if(file) {
                        fread(file, strFromFile);
                        fclose(file);
                        rtoken = strval(strFromFile);
                    }
                }

                if(PlayerInfo[playerid][pAdmin] >= 1337) {
                    if(PlayerInfo[i][pAdmin] == 2) {
                        format(string, sizeof(string), "*Junior Admin: %s (Reports Today: %d)", GetPlayerNameEx(i), rtoken);
                    }
                    else if(PlayerInfo[i][pAdmin] == 3) {
                        format(string, sizeof(string), "*General Admin: %s (Reports Today: %d)", GetPlayerNameEx(i), rtoken);
                    }
                    else if(PlayerInfo[i][pAdmin] == 4) {
                        format(string, sizeof(string), "*Senior Admin: %s (Reports Today: %d)", GetPlayerNameEx(i), rtoken);
                    }
                    else if(PlayerInfo[i][pAdmin] == 1337) {
                        format(string, sizeof(string), "*Head Admin: %s (Reports Today: %d)", GetPlayerNameEx(i), rtoken);
                    }
                    else if(PlayerInfo[i][pAdmin] == 1338) {
                        format(string, sizeof(string), "*Admin Director: %s (Reports Today: %d)", GetPlayerNameEx(i), rtoken);
                    }
                    else if(PlayerInfo[i][pAdmin] == 13338) {
                        format(string, sizeof(string), "*Co-Executive Admin: %s (Reports Today: %d)", GetPlayerNameEx(i), rtoken);
                    }
                    else if(PlayerInfo[i][pAdmin] == 99999) {
                        format(string, sizeof(string), "*Executive Admin: %s (Reports Today: %d)", GetPlayerNameEx(i), rtoken);
                    }
                    else {
                        format(string, sizeof(string), "*Undefined Admin (%d): %s", PlayerInfo[i][pAdmin], GetPlayerNameEx(i));
                    }
                }
                else {
                    if(PlayerInfo[i][pAdmin] == 2) {
                        format(string, sizeof(string), "*Junior Admin: %s", GetPlayerNameEx(i));
                    }
                    else if(PlayerInfo[i][pAdmin] == 3) {
                        format(string, sizeof(string), "*General Admin: %s", GetPlayerNameEx(i));
                    }
                    else if(PlayerInfo[i][pAdmin] == 4) {
                        format(string, sizeof(string), "*Senior Admin: %s", GetPlayerNameEx(i));
                    }
                    else if(PlayerInfo[i][pAdmin] == 1337) {
                        format(string, sizeof(string), "*Head Admin: %s", GetPlayerNameEx(i));
                    }
                    else if(PlayerInfo[i][pAdmin] == 1338) {
                        format(string, sizeof(string), "*Admin Director: %s", GetPlayerNameEx(i));
                    }
                    else if(PlayerInfo[i][pAdmin] == 13338) {
                        format(string, sizeof(string), "*Co-Executive Admin: %s", GetPlayerNameEx(i));
                    }
                    else if(PlayerInfo[i][pAdmin] == 99999) {
                        format(string, sizeof(string), "*Executive Admin: %s", GetPlayerNameEx(i));
                    }
                    else {
                        format(string, sizeof(string), "*Undefined Admin (%d): %s", PlayerInfo[i][pAdmin], GetPlayerNameEx(i));
                    }
                }

                if(PlayerInfo[i][pBanAppealer]) strcat(string, " [BA]");
                if(PlayerInfo[i][pShopTech]) strcat(string, " [ST]");
                if(PlayerInfo[i][pUndercover]) strcat(string, " [UC]");
                if(PlayerInfo[i][pFactionModerator]) strcat(string, " [FMOD]");
                if(PlayerInfo[i][pGangModerator]) strcat(string, " [GMOD]");
                if(PlayerInfo[i][pTogReports]) strcat(string, " [SPEC MODE]");
                if(PlayerInfo[i][pPR]) strcat(string, " [PR]");
                SendClientMessageEx(playerid, COLOR_GRAD2, string);
            }
        }
    }
    else {
        SendClientMessageEx(playerid, COLOR_GRAD1, "If you have questions regarding gameplay, or the server use /newb.");
        SendClientMessageEx(playerid, COLOR_GRAD1, "If you see suspicious happenings/players /report [id] [reason].");
    }
    return 1;
}
and i want to improve it so all players can see which admins are on, but only show up if they are on duty
using this pAdminDuty can someone modify this cmd?
Reply
#2

Show us your pDuty variable.
Reply
#3

PHP код:
CMD:admins(playeridparams[])
{
    if(
PlayerInfo[playerid][pAdmin] >= 0) {
        
SendClientMessageEx(playeridCOLOR_GRAD1"Please wait while we list down the administrators online...");
        
SendClientMessageEx(playeridCOLOR_RED"Administrators Online:");
        foreach(new 
iPlayer) {
            if(
PlayerInfo[i][pAdmin] >= 0/* && PlayerInfo[i][pAdmin] <= PlayerInfo[playerid][pAdmin]*/) {
                new 
string[128], sstring[128], rtoken;
                new 
strFromFile[128];
                new 
monthdayyear;
                new 
playern[MAX_PLAYER_NAME];
                
GetPlayerName(iplayernsizeof(playern));
                
getdate(yearmonthday);
                
format(sstring,sizeof(sstring),"admins/rtokens/%s[%d'%d'%d]",playern,month,day,year);
                if(
fexist(sstring)) {
                    new 
Filefile fopen(sstringio_read);
                    if(
file) {
                        
fread(filestrFromFile);
                        
fclose(file);
                        
rtoken strval(strFromFile);
                    }
                }
                if(
PlayerInfo[playerid][pAdmin] >= 1337) {
                    if(
PlayerInfo[i][pAdmin] == 2) {
                        
format(stringsizeof(string), "*Junior Administrators: %s (Reports Today: %d)"GetPlayerNameEx(i), rtoken);
                    }
                    else if(
PlayerInfo[i][pAdmin] == 3) {
                        
format(stringsizeof(string), "*General Administrators: %s (Reports Today: %d)"GetPlayerNameEx(i), rtoken);
                    }
                    else if(
PlayerInfo[i][pAdmin] == 4) {
                        
format(stringsizeof(string), "*Senior Administrators: %s (Reports Today: %d)"GetPlayerNameEx(i), rtoken);
                    }
                    else if(
PlayerInfo[i][pAdmin] == 1337) {
                        
format(stringsizeof(string), "*Head Admininistrators: %s (Reports Today: %d)"GetPlayerNameEx(i), rtoken);
                    }
                    else if(
PlayerInfo[i][pAdmin] == 1338) {
                        
format(stringsizeof(string), "*Admin Director: %s (Reports Today: %d)"GetPlayerNameEx(i), rtoken);
                    }
                    else if(
PlayerInfo[i][pAdmin] == 13338) {
                        
format(stringsizeof(string), "*Co-Executive Administrator: %s (Reports Today: %d)"GetPlayerNameEx(i), rtoken);
                    }
                    else if(
PlayerInfo[i][pAdmin] == 99999) {
                        
format(stringsizeof(string), "*Executive Administrator: %s (Reports Today: %d)"GetPlayerNameEx(i), rtoken);
                    }
                    else {
                        
format(stringsizeof(string), "*Undefined Admin (%d): %s"PlayerInfo[i][pAdmin], GetPlayerNameEx(i));
                    }
                }
                else {
                    if(
PlayerInfo[i][pAdmin] == 2) {
                        
format(stringsizeof(string), "*Junior Administrator: %s"GetPlayerNameEx(i));
                    }
                    else if(
PlayerInfo[i][pAdmin] == 3) {
                        
format(stringsizeof(string), "*General Administrator: %s"GetPlayerNameEx(i));
                    }
                    else if(
PlayerInfo[i][pAdmin] == 4) {
                        
format(stringsizeof(string), "*Senior Administrator: %s"GetPlayerNameEx(i));
                    }
                    else if(
PlayerInfo[i][pAdmin] == 1337) {
                        
format(stringsizeof(string), "*Head Administrator: %s"GetPlayerNameEx(i));
                    }
                    else if(
PlayerInfo[i][pAdmin] == 1338) {
                        
format(stringsizeof(string), "*Admin Director: %s"GetPlayerNameEx(i));
                    }
                    else if(
PlayerInfo[i][pAdmin] == 13338) {
                        
format(stringsizeof(string), "*Co-Executive Administrator: %s"GetPlayerNameEx(i));
                    }
                    else if(
PlayerInfo[i][pAdmin] == 99999) {
                        
format(stringsizeof(string), "*Executive Administrator: %s"GetPlayerNameEx(i));
                    }
                    else {
                        
format(stringsizeof(string), "*Undefined Administrator (%d): %s"PlayerInfo[i][pAdmin], GetPlayerNameEx(i));
                    }
                }
                if(
PlayerInfo[i][pBanAppealer]) strcat(string" [BA]");
                if(
PlayerInfo[i][pShopTech]) strcat(string" [ST]");
                if(
PlayerInfo[i][pUndercover]) strcat(string" [UC]");
                if(
PlayerInfo[i][pFactionModerator]) strcat(string" [FMOD]");
                if(
PlayerInfo[i][pGangModerator]) strcat(string" [GMOD]");
                if(
PlayerInfo[i][pTogReports]) strcat(string" [SM]");
                if(
PlayerInfo[i][pPR]) strcat(string" [PR]");
                
SendClientMessageEx(playeridCOLOR_GRAD2string);
            }
        }
    }
    else {
        
ShowPlayerDialog(playerid0DIALOG_STYLE_MSGBOX"Do you got questions?","Do you have questions relating to the server script?Don't by shy to ask at /newb!""YES""YES");
        
SendClientMessageEx(playeridCOLOR_GRAD1"If you see suspicious happenings/players /report [id] [reason].");
    }
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)