Player File - Admin Level Restores to 0
#1

I notice this bug today.
also my friend has this problem when i gave the admin system
to him. he say he cant use any command and it maybe the admin
restoring bug. Heres The Deal on it.

Example:When you set from the .ini file the admin level to 10
it will work fine but after some 2 secs your admin level sets to 0
i have proof coz when i try to use /ban it doesnt work. on the beginning
it work but after some secs my admin level sets to 0.

ADDITIONAL FAVOR: Can anyone help me making in /warn <id> <reason>
Note: It must be in ZCMD Format to have a rep
Note: Format just like this "Administrator %s has warn %s <Reason: %s> <Warnings: %d/%d>"

ADDITIONAL FAVOR: Also Help me in Making Level 0 Name
"Member/Player"

Heres my Admin System Code:

pawn Code:
//
//       Xtreme Admin System V1.0
//               Made By
//    [SP]Mr.Kakashi[WP] & GAMER_PS2
//        Copyright 2011 - 2016
//

#include <a_samp>
#include <YSI\y_ini>
#include <zcmd>
#include <sscanf2>
#include <XKA>

//============================================================================//

#define ADM_CHAT_LOG        true //Turns off/on Saving Admin Chat!
#define SaveLogs            true //Turns off/on Save Logs To The Admin Folder
#define AUTOLOGIN //Admin System Autologin Dont use it if you dont want it

//============================================================================//

enum pInfo
{
    pPass,
    pCash,
    pScore,
    pAdmin,
    pKills,
    Freeze,
    pDeaths
};
new PlayerInfo[MAX_PLAYERS][pInfo],
    pIP[MAX_PLAYERS][16],
    pLogged[MAX_PLAYERS],
    AdmRank[128];

forward SaveIn(filename[],text[]);
forward LoadUser_data(playerid,name[],value[]);

#define DIALOG_REGISTER 451
#define DIALOG_LOGIN 452

#define PATH "Server/Users/%s.ini"
#define REGISTERED_MONEY 5000

//============================================================================//

#define red "{FF002B}"
#define pink "{FF00D9}"
#define purple "{DFA7F2}"
#define blue "{A1C2FF}"
#define green "{3DE3B1}"
#define yellow "{FAF623}"
#define black "{69670C}"
#define orange "{F2C80C}"
#define ice "{03F2FF}"
#define white "{FFFFFF}"
#define lime "{00FF40}"

#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_RED 0xFF0000FF
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_BRIGHTRED 0xFF0000AA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_VIOLET 0x9955DEEE
#define COLOR_LIGHTRED 0xFF99AADD
#define COLOR_SEAGREEN 0x00EEADDF
#define COLOR_GRAYWHITE 0xEEEEFFC4
#define COLOR_LIGHTNEUTRALBLUE 0xabcdef66
#define COLOR_GREENISHGOLD 0xCCFFDD56
#define COLOR_LIGHTBLUEGREEN 0x0FFDD349
#define COLOR_NEUTRALBLUE 0xABCDEF01
#define COLOR_LIGHTCYAN 0xAAFFCC33
#define COLOR_LEMON 0xDDDD2357
#define COLOR_MEDIUMBLUE 0x63AFF00A
#define COLOR_NEUTRAL 0xABCDEF97
#define COLOR_BLACK 0x00000000
#define COLOR_NEUTRALGREEN 0x81CFAB00
#define COLOR_DARKGREEN 0x12900BBF
#define COLOR_LIGHTGREEN 0x24FF0AB9
#define COLOR_DARKBLUE 0x300FFAAB
#define COLOR_BLUEGREEN 0x46BBAA00
#define COLOR_PINK 0xFF66FFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_PURPLE 0x800080AA
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_RED1 0xFF0000AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BROWN 0x993300AA
#define COLOR_CYAN 0x99FFFFAA
#define COLOR_TAN 0xFFFFCCAA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_KHAKI 0x999900AA
#define COLOR_LIME 0x99FF00AA
#define COLOR_SYSTEM 0xEFEFF7AA
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD1 0xB4B5B7FF

//============================================================================//

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print("        Xtreme Administration V1.0.0    ");
    print("            Made by Mr.Kakashi          ");
    print("          Copyright 2011 - 2016         ");
    print("--------------------------------------\n");
    return 1;
}

public OnFilterScriptExit()
{
    return 1;
}

#endif

public LoadUser_data(playerid,name[],value[])
{
    INI_Int("Password", PlayerInfo[playerid][pPass]);
    INI_String("IP",pIP[playerid],16);
    INI_Int("Cash",PlayerInfo[playerid][pCash]);
    INI_Int("Score",PlayerInfo[playerid][pScore]);
    INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
    INI_Int("Kills",PlayerInfo[playerid][pKills]);
    INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
    return 1;
}

public OnPlayerConnect(playerid)
{
    pLogged[playerid] = 0;
    #if defined AUTOLOGIN
        new tmpIP[16];
        GetPlayerIp(playerid,tmpIP,sizeof(tmpIP));
    #endif
    if(fexist(UserPath(playerid))) {
        INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
        #if defined AUTOLOGIN
            if(strcmp(tmpIP,pIP[playerid],true) == 0) {
                pLogged[playerid] = 1;
                SetPlayerScore(playerid,PlayerInfo[playerid][pScore]);
                GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]);
                if(PlayerInfo[playerid][pAdmin] >= 0)
                {
                   switch(PlayerInfo[playerid][pAdmin])
                   {
                      case 1: AdmRank = "Trial Moderator";
                      case 2: AdmRank = "Moderator";
                      case 3: AdmRank = "Global Moderator";
                      case 4: AdmRank = "Trial Manager";
                      case 5: AdmRank = "Header Administrator";
                      case 6: AdmRank = "Senior Administrator";
                      case 7: AdmRank = "Junior Administrator";
                      case 8: AdmRank = "Scripter/Mapper";
                      case 9: AdmRank = "Co-Owner";
                   }
                   if(PlayerInfo[playerid][pAdmin] >= 10)
                   {
                      AdmRank = "Server Owner";
                   }
                   new string[128];
                   new PlayerName[MAX_PLAYER_NAME];
                   GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
                   format(string,sizeof(string),"You have been automaticlly login | Level %d - %s - |",PlayerInfo[playerid][pAdmin],AdmRank);
                   SendClientMessage(playerid,COLOR_GREEN,string);
                   return 1;
                }
                return 1;
            }
        #endif
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""white"Login",""red"Note:"white"If this is not your account please leave to this account and create your own one.\n\n"white"Type your password below to login to your account","Login","Exit");
    } else {
        ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""white"Register",""red"Note:"white"If you crash ingame your account will be save.\n\n"white"Type the password below to create new account","Register","Exit");
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new INI:File = INI_Open(UserPath(playerid));
    if(pLogged[playerid] == 1) {
       INI_SetTag(File,"data");
       INI_WriteString(File,"IP",pIP[playerid]);
       INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
       INI_WriteInt(File,"Score",GetPlayerScore(playerid));
       INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
       INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
       INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
       INI_Close(File);
    }
    pLogged[playerid] = 0;
    new pname[MAX_PLAYER_NAME], string[39 + MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    switch(reason)
    {
        case 0: format(string, sizeof(string), "%s has left the server. (Lost Connection/Crash)", pname);
        case 1: format(string, sizeof(string), "%s has left the server. (Leaving)", pname);
        case 2: format(string, sizeof(string), "%s has left the server. (Kicked/Banned)", pname);
    }
    SendClientMessageToAll(COLOR_GREY, string);
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    if(pLogged[playerid] == 0) return SendClientMessage(playerid,COLOR_RED,"ERROR: You must Register Before Spawning!");
    return 1;
}

public OnPlayerSpawn(playerid)
{
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    PlayerInfo[killerid][pKills]++;
    PlayerInfo[playerid][pDeaths]++;
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public SaveIn(filename[],text[])
{
    #if SaveLogs == true
    new File:Lfile;
    new filepath[256];
    new string[256];
    new year,month,day;
    new hour,minute,second;

    getdate(year,month,day);
    gettime(hour,minute,second);
    format(filepath,sizeof(filepath),"Server/Logs/%s.txt",filename);
    Lfile = fopen(filepath,io_append);
    format(string,sizeof(string),"[%02d/%02d/%02d | %02d:%02d:%02d] %s\r\n",day,month,year,hour,minute,second,text);
    fwrite(Lfile,string);
    fclose(Lfile);
    #endif
    return 1;
}

public OnRconCommand(cmd[])
{
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
    return 1;
}

public OnPlayerUpdate(playerid)
{
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_REGISTER)
    {
          if (!response) return Kick(playerid);
          if(response)
          {
             if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""white"Register",""red"Note:"white"If you crash ingame your account will be save.\n\n"white"Type the password below to create new account","Register","Exit");
             GetPlayerIp(playerid,pIP[playerid],16);
             new INI:File = INI_Open(UserPath(playerid));
             INI_SetTag(File,"data");
             INI_WriteInt(File,"Password",udb_hash(inputtext));
             #if defined AUTOLOGIN
                INI_WriteString(File,"IP",pIP[playerid]);
             #endif
             INI_WriteInt(File,"Cash",REGISTERED_MONEY);
             INI_WriteInt(File,"Score",0);
             INI_Close(File);
             pLogged[playerid] = 1;
             SendClientMessage(playerid, COLOR_GREEN, "You have successfully register.");
             return 1;
         }
    }

    if(dialogid == DIALOG_LOGIN)
    {
        if (!response) return Kick (playerid);
        if(response)
        {
            if(udb_hash(inputtext)) {
                pLogged[playerid] = 1;
                INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
                SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
                SendClientMessage(playerid, COLOR_GREEN, "You have successfully login to your account.");
            }
            else
            {
              ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""white"Login",""red"You have entered an incorrect password.\n"white"Type your password below to login.","Login","Exit");
            }
            return 1;
        }
    }
    return 1;
}

//==========================COMMANDS==========================//

CMD:freeze(playerid, params[])
{
    new victimname[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], reason[128], id;
    if (PlayerInfo[playerid][pAdmin] >= 2)
    {
        if (sscanf(params, "rs", id, reason)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /freeze <playerid/name> <reason>");
        if(!IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid)
        {
           GetPlayerName(id, victimname, sizeof(victimname));
           GetPlayerName(playerid, adminname, sizeof(adminname));
           new str[128];
           if(PlayerInfo[id][Freeze] == 0)
           {
              format(str,128,"Administrator %s has frozen %s <Reason: %s>",adminname,victimname,reason);
              SendClientMessageToAll(COLOR_RED,str);
              format(str, sizeof(str), "Administrator %s has freeze you",adminname);
              SendClientMessage(id,COLOR_GREEN,str);
              format(str, sizeof(str), "You freeze %s <Reason: %s>",victimname,reason);
              SendClientMessage(id,COLOR_GREEN,str);
              TogglePlayerControllable(id,1);
              format(str, sizeof(str), "Administrator %s has freeze %s",adminname,victimname);
              SendToAdmins(COLOR_GREY,str);
              format(str, sizeof(str), "Administrator %s has freeze %s",adminname,victimname);
              printf(str);
           }
           else return SendClientMessage(playerid,COLOR_RED, "ERROR: Player is Already Freeze");
        }
        else return SendClientMessage(playerid, COLOR_RED, "ERROR: Player is not connected or its yourself.");
    }
    else return SendClientMessage(playerid,COLOR_RED,"ERROR: You must be Administrator Level 2 to use this command");
    return 1;
}

CMD:unfreeze(playerid, params[])
{
    new victimname[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], id;
    if (PlayerInfo[playerid][pAdmin] >= 2)
    {
        if (sscanf(params, "rs", id)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /unfreeze <playerid/name>");
        if(!IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid)
        {
           GetPlayerName(id, victimname, sizeof(victimname));
           GetPlayerName(playerid, adminname, sizeof(adminname));
           new str[128];
           if(PlayerInfo[id][Freeze] == 1)
           {
              format(str,128,"Administrator %s has unfreeze %s",adminname,victimname);
              SendClientMessageToAll(COLOR_RED,str);
              format(str, sizeof(str), "Administrator %s has unfreeze you",adminname);
              SendClientMessage(id,COLOR_GREEN,str);
              format(str, sizeof(str), "You unfreeze %s",victimname);
              SendClientMessage(id,COLOR_GREEN,str);
              TogglePlayerControllable(id,0);
              format(str, sizeof(str), "Administrator %s has unfreeze %s",adminname,victimname);
              SendToAdmins(COLOR_GREY,str);
              format(str, sizeof(str), "Administrator %s has unfreeze %s",adminname,victimname);
              printf(str);
           }
           else return SendClientMessage(playerid,COLOR_RED, "ERROR: Player is not Frozen");
        }
        else return SendClientMessage(playerid, COLOR_RED, "ERROR: Player is not connected or its yourself.");
    }
    else return SendClientMessage(playerid,COLOR_RED,"ERROR: You must be Administrator Level 2 to use this command");
    return 1;
}

CMD:setscore(playerid, params[])
{
    new string[128], pName[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], pID, score;
    if(PlayerInfo[playerid][pAdmin] >= 4)
    {
        if(sscanf(params, "ud", pID, score)) return SendClientMessage(playerid,COLOR_RED, "USAGE: /setscore <playerid/name> <amount>");
        if(IsPlayerConnected(pID) && pID != INVALID_PLAYER_ID)
        {
           GetPlayerName(playerid, adminname, sizeof(adminname));
           GetPlayerName(pID, pName, sizeof(pName));
           format(string, sizeof(string), "Administrator %s has set %s's score to %d", adminname,pName,score);
           SendClientMessageToAll(COLOR_GREEN, string);
           format(string, sizeof(string), "Administrator %s has set your score to %d", adminname, score);
           SendClientMessage(pID,COLOR_GREEN, string);
           format(string, sizeof(string), "You set %s's score to %d score",pName,score);
           SendClientMessage(playerid,COLOR_GREEN, string);
           SetPlayerScore(pID, score);
           format(string, sizeof(string), "Administrator %s has set %s's Score to %d",adminname,pName,score);
           SendToAdmins(COLOR_GREY,string);
           format(string, sizeof(string), "Administrator %s has set %s's Score to %d",adminname,pName,score);
           printf(string);
        }
        else return SendClientMessage(playerid,COLOR_RED, "ERROR: Player is not connected!");
    }
    else return SendClientMessage(playerid,COLOR_RED, "ERROR:You must be Administrator Level 2 to use this command");
    return 1;
}

CMD:makeadmin(playerid, params[])
{
    new victimname[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], admlvl, id;
    new str[128];
    PlayerInfo[id][pAdmin] = admlvl;
    GetPlayerName(id, victimname, sizeof(victimname));
    GetPlayerName(playerid, adminname, sizeof(adminname));
    if(PlayerInfo[playerid][pAdmin] >= 9 || IsPlayerAdmin(playerid))
    {
        if (sscanf(params, "ui", id, admlvl)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /makeadmin <playerid/name> <level>");
        if (id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "ERROR: Invalid ID");
        if (admlvl > 10 || admlvl < 0) return SendClientMessage(playerid, COLOR_RED,"ERROR: Available Admin Levels: 1-10!");
        if(admlvl == PlayerInfo[id][pAdmin]) return SendClientMessage(playerid, COLOR_RED, "ERROR: That player is already in that level");
        if(PlayerInfo[id][pAdmin] > admlvl) GameTextForPlayer(id, "~r~Demoted", 3000, 3);
        if(PlayerInfo[id][pAdmin] < admlvl) GameTextForPlayer(id, "~g~Promoted", 3000, 3);
        format(str,128,"Administrator %s has set %s Admin Level to | %i - %s |",adminname,victimname,admlvl,AdmRank);
        SendClientMessage(playerid,COLOR_GREEN,str);
        format(str, sizeof(str), "Administrator %s has made %s to Admin Level | %i - %s |",adminname,victimname,admlvl,AdmRank);
        SendToAdmins(COLOR_GREY,str);
        format(str, sizeof(str), "Administrator %s has made %s to Admin Level | %i - %s |",adminname,victimname,admlvl,AdmRank);
        printf(str);
    }
    else return SendClientMessage(playerid,COLOR_RED,"ERROR: You must be Administrator Level 9/10/RCON Leader to use this command");
    return 1;
}

CMD:goto(playerid, params[])
{
    if (PlayerInfo[playerid][pAdmin] >= 2)
    {
      new ID;
      if(sscanf(params, "u", ID)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /goto [playerid]");
      if(IsPlayerConnected(ID) && ID != INVALID_PLAYER_ID && ID != playerid)
      {
         new Float:x, Float:y, Float:z;
         GetPlayerPos(ID, x, y, z);
         SetPlayerPos(playerid, x+1, y+1, z);
         if(GetPlayerState(playerid) == 2)
         {
           SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z);
           LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(ID));
           SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(ID));
         }
      }
      else return SendClientMessage(playerid, COLOR_RED, "ERROR: Player is not connected or its yourself.");
    }
    else return SendClientMessage(playerid,COLOR_RED, "ERROR: You must be Administrator Level 2 to use this command");
    return 1;
}

CMD:showadmlvl(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
        new string[128],AdminName[24],Level;
        Level = PlayerInfo[playerid][pAdmin];
        GetPlayerName(playerid,AdminName,128);
        format(string, sizeof(string), ""white"<LEVEL>:"yellow" Administrator "red"%s "yellow"| Level %d - %s |",AdminName,Level,AdmRank);
        SendClientMessageToAll(COLOR_RED,string);
    }
    else return SendClientMessage(playerid,COLOR_RED, "ERROR: You must be Administrator Level 1 to use this command");
    return 1;
}

CMD:get(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 2)
    {
       new targetid, string[128];
       if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /get <playerid/name>");
       if(!IsPlayerConnected(targetid) && targetid != INVALID_PLAYER_ID && targetid != playerid)
       {
           new AdminName[24];
           new pName[24];
           GetPlayerName(playerid,AdminName,128);
           GetPlayerName(targetid,pName,128);
           format(string, sizeof(string), "You have been teleported to Administrator %s.",AdminName);
           SendClientMessage(targetid,COLOR_BLUE,string);
           format(string, sizeof(string), "%s has been teleport to you.",pName);
           SendClientMessage(targetid,COLOR_GREEN,string);
           SetPlayerInterior(targetid,GetPlayerInterior(playerid));
           new Float:TPX, Float:TPY, Float:TPZ;
           GetPlayerPos(playerid, TPX, TPY, TPZ);
           SetPlayerPos(targetid, TPX, TPY, TPZ+1);
       }
       else return SendClientMessage(playerid, COLOR_RED, "ERROR: Player is not connected or its yourself.");
    }
    else return SendClientMessage(playerid,COLOR_RED, "ERROR: You must be Administrator Level 2 to use this command");
    return 1;
}

CMD:kick(playerid, params[])
{
    new pid;
    if(PlayerInfo[playerid][pAdmin] >= 2)
    {
        if(sscanf(params, "us[128]", pid, params[2])) return SendClientMessage(playerid,COLOR_RED, "USAGE: /kick <playerid/name> <reason>");
        if(!IsPlayerConnected(pid) && pid != INVALID_PLAYER_ID && pid != playerid)
        {
           new adminname[MAX_PLAYER_NAME], paramname[MAX_PLAYER_NAME], string[180];
           GetPlayerName(pid, paramname, sizeof(paramname));
           GetPlayerName(playerid, adminname, sizeof(adminname));
           format(string, sizeof(string), "Administrator %s has kicked %s <Reason: %s>",adminname,paramname, params[2]);
           SendClientMessageToAll(COLOR_RED, string);
           format(string, sizeof(string), "You have been kicked by Administrator %s <Reason: %s>", paramname, params[2]);
           SendClientMessage(pid,COLOR_RED, string);
           format(string, sizeof(string), "You kicked %s <Reason: %s>", paramname, params[2]);
           SendClientMessage(playerid,COLOR_GREEN, string);
           Kick(pid);
           format(string,sizeof(string),"Administrator %s has kicked %s",adminname,paramname);
           SendToAdmins(COLOR_GREY,string);
           format(string, sizeof(string), "Administrator %s has kicked %s <Reason:%s>",adminname,paramname,params[2]);
           printf(string);
        }
        else return SendClientMessage(playerid,COLOR_RED, "ERROR: Player is not connected or its yourself.");
    }
    else return SendClientMessage(playerid,COLOR_RED, "ERROR: You must be Administrator Level 2 to use this command");
    return 1;
}

CMD:jetpack(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
       new adminname[MAX_PLAYER_NAME],string[180];
       GetPlayerName(playerid, adminname, sizeof(adminname));
       SetPlayerSpecialAction(playerid, 2);
       SendClientMessage(playerid,COLOR_GREEN, "|- Jetpack Spawned! -|");
       format(string,sizeof(string),"Administrator %s has spawned a jetpack!",adminname);
       SendToAdmins(COLOR_GREY,string);
    }
    else return SendClientMessage(playerid,COLOR_RED, "ERROR: You must be Administrator Level 1 to use this command");
    return 1;
}

CMD:ban(playerid, params[])
{
    new pid;
    if(PlayerInfo[playerid][pAdmin] >= 3)
    {
        if(sscanf(params, "us[128]", pid, params[2])) return SendClientMessage(playerid,COLOR_RED, "USAGE: /ban <playerid/name> <reason>");
        if(!IsPlayerConnected(pid) && pid != INVALID_PLAYER_ID && pid != playerid)
        {
           new adminname[MAX_PLAYER_NAME], paramname[MAX_PLAYER_NAME], string[180];
           new year,month,day; getdate(year, month, day);
           new hour,minuite,second; gettime(hour,minuite,second);
           GetPlayerName(pid, paramname, sizeof(paramname));
           GetPlayerName(playerid, adminname, sizeof(adminname));
           format(string, sizeof(string), "Administrator %s has ban %s <Reason: %s> <Date: %d/%d/%d> <Time: %d:%d>",adminname,paramname, params[2],day,month,year,hour,minuite);
           SendClientMessageToAll(COLOR_RED, string);
           format(string, sizeof(string), "You have been ban by Administrator %s <Reason: %s>", paramname, params[2]);
           SendClientMessage(pid,COLOR_RED, string);
           SendClientMessage(pid,COLOR_GREEN, "==============================================");
           format(string, sizeof(string), "You have been ban by Administrator %s <Reason: %s>", paramname, params[2]);
           SendClientMessage(pid,COLOR_RED, string);
           SendClientMessage(pid,COLOR_RED, "Make unban appeal at our forums. www.server.com");
           SendClientMessage(pid,COLOR_GREEN, "==============================================");
           format(string, sizeof(string), "You ban %s <Reason: %s>", paramname, params[2]);
           SendClientMessage(playerid,COLOR_GREEN, string);
           SaveIn("BanLog",string);
           Kick(pid);
           format(string,sizeof(string),"Administrator %s has banned %s",adminname,paramname);
           SendToAdmins(COLOR_GREY,string);
           format(string, sizeof(string), "Administrator %s has banned %s <Reason:%s>",adminname,paramname,params[2]);
           printf(string);
        }
        else return SendClientMessage(playerid,COLOR_RED, "ERROR: Player is not connected or its yourself.");
    }
    else return SendClientMessage(playerid,COLOR_RED, "ERROR: You must be Administrator Level 2 to use this command");
    return 1;
}

CMD:clearchat(playerid,params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 2)
    {
       for(new i = 0; i < 100; i++)
       SendClientMessageToAll(COLOR_GREY,"");
       new string[128];
       new adminname[MAX_PLAYER_NAME];
       GetPlayerName(playerid, adminname, sizeof(string));
       format(string, sizeof(string), "Administrator %s has cleared the chat", adminname);
       SendClientMessageToAll(COLOR_RED, string);
       format(string, sizeof(string), "Administrator %s has cleared the chat",adminname);
       printf(string);
    }
    else return SendClientMessage(playerid,COLOR_RED,"ERROR: You must be Administrator Level 2 to use this command");
    return 1;
}

CMD:kill(playerid,params[])
{
    SetPlayerHealth(playerid, 0);
    PlayerPlaySound(playerid,1085,0.0,0.0,0.0);
    PlayerInfo[playerid][pDeaths]++;
    return 1;
}

CMD:suicide(playerid,params[])
{
    SetPlayerHealth(playerid, 0);
    PlayerPlaySound(playerid,1085,0.0,0.0,0.0);
    PlayerInfo[playerid][pDeaths]++;
    return 1;
}

CMD:asay(playerid, params[])
{
    new string[128], pname[MAX_PLAYER_NAME];
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
       if(isnull(params)) return SendClientMessage(playerid,COLOR_RED, "USAGE: /asay <text>");
       GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
       format(string, sizeof(string), "Admin %s: "white"%s", pname, params);
       SendClientMessageToAll(COLOR_RED,string);
    }
    else return SendClientMessage(playerid,COLOR_RED,"ERROR: You must be Administrator Level 1 to use this command");
    return 1;
}

CMD:forcerules(playerid, params[])
{
    new pid;
    if(PlayerInfo[playerid][pAdmin] >= 2)
    {
        if(sscanf(params, "us[128]", pid, params[2])) return SendClientMessage(playerid,COLOR_RED, "USAGE: /forcerules <playerid/name> <reason>");
        if(!IsPlayerConnected(pid) && pid != INVALID_PLAYER_ID && pid != playerid)
        {
           new adminname[MAX_PLAYER_NAME], paramname[MAX_PLAYER_NAME], string[180];
           GetPlayerName(pid, paramname, sizeof(paramname));
           GetPlayerName(playerid, adminname, sizeof(adminname));
           format(string, sizeof(string), "Administrator %s has force to read rules %s <Reason: %s>",adminname,paramname, params[2]);
           SendClientMessageToAll(COLOR_RED, string);
           format(string, sizeof(string), "You have been force to read rules by Administrator %s <Reason: %s>", paramname, params[2]);
           SendClientMessage(pid,COLOR_RED, string);
           format(string, sizeof(string), "You force to read rules %s <Reason: %s>", paramname, params[2]);
           SendClientMessage(playerid,COLOR_GREEN, string);
           ShowPlayerDialog(pid,3, DIALOG_STYLE_MSGBOX, "Rules:", "1.)Do Not Hack/Cheat/Mods\n2.)Respect Admins/Players\n3.)Ask To Be Admin if we are Hiring\n4.)No Insulting/Flamming\n5.)Dont AFK on Spawn Areas\n6.)Dont Team Carjack\n7.)Dont Team Kill\n\nIf you break those rules you may Punishment by Our Server Administrators", "Accept", "Ignore");
           format(string,sizeof(string),"Administrator %s has force to read rules %s",adminname,paramname);
           SendToAdmins(COLOR_GREY,string);
        }
        else return SendClientMessage(playerid,COLOR_RED, "ERROR: Player is not connected or its yourself.");
    }
    else return SendClientMessage(playerid,COLOR_RED, "ERROR: You must be Administrator Level 2 to use this command");
    return 1;
}

//============================================================================//

stock SendToAdmins(COLOR,message[])
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
       if(PlayerInfo[i][pAdmin] < 1) return 0;
       SendClientMessage(i,COLOR,message);
    }
    return 1;
}

stock UserPath(playerid)
{
    new string[128],playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),PATH,playername);
    return string;
}
Please help me

You will recieve 1+ rep if you help me

UPDATE: The Problem is Solved Thanks to me i solve it by myself and thanks SmiT you give me a /warn command 1+ rep to you
Reply
#2

Please help me deal change

now 2+ rep
Reply
#3

Here, added the "/warn" command and also the admin thing it should work now:
http://pastebin.com/yG2NmqvU

EDIT: Don't bump the thread so often.
Reply
#4

@SmiT Thanks The Warn Command is working
but the Admin Level is still restoring to 0
i edit your Modify Answer, i remove the saving Warning
Anyway the admin level restoring to 0 it still the same
Reply
#5

Bump... Come On Reply
Reply
#6

Comeon
Reply
#7

Bump
Reply
#8

Please read the Rules.
Reply
#9

Stop use this admin filterscripts. Create your own.
Reply
#10

iit is mine admin script. lol
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)