Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- j_admin system by Jarnu!
- Features:
- -Over 50 commands
- -Y_INI based saving system
- -Great register system
- -Advanced admin commands
- -Player commands available too!
- -Anti-High ping
- Don't be selfish and don't remove credits!
- */
- #include <a_samp>
- #include <zcmd> //Credits to Zeex
- #include <YSI/y_ini> //Credits to BlueG
- #include <sscanf2> //Credits to Y_Less
- //----
- #if !defined isnull
- #define isnull(%1) \
- ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
- #endif
- //-----
- //==============================
- /* Credits to Darcoblue for following */
- stock udb_hash(buf[]) {
- new length=strlen(buf);
- new s1 = 1;
- new s2 = 0;
- new n;
- for (n=0; n<length; n++)
- {
- s1 = (s1 + buf[n]) % 65521;
- s2 = (s2 + s1) % 65521;
- }
- return (s2 << 16) + s1;
- }
- //------- Config Editable----------
- #define MAX_WARNS 5 // Maximum warnings
- #define MSG_TIME_LIMIT 1000 //Counted in miliseconds
- #define MAX_SPAM_WARNS 3 //Maximum spam warnings
- //----------Dialog ID-----------------
- #define L_DIALOG 554 //Login dialog id
- #define R_DIALOG 555 //Register dialog id
- //----------------------------------
- //--------- forwards --------
- forward LoadUser_data(playerid, name[], value[]);
- forward load_config(name[], value[]);
- //----Credits------
- /*
- All of the credits goes to JARNU for making script
- Y_Less for sscanf and Y_INI
- */
- #define WEBSITE "Your website here" // Edit it to change your website
- //----------------
- #pragma tabsize 0 //Removes Loose indentation warning!
- //=========================Register system stocks, enums ,variables=============
- //----Enumerators------
- enum sInfo
- {
- DCHAT,
- Ping,
- Spam,
- AllowedPing,
- MaxLevel
- };
- enum pData
- {
- pAdmin,
- pHelper,
- pJailed,
- pPass,
- pJailTime,
- pMuted,
- pMuteTime,
- pWarns,
- sWarns,
- pKills,
- pScores,
- pSpamTime,
- pPingTime,
- pPingCount,
- pMoney,
- pLogged,
- Frozen,
- AdminDuty,
- GodMode,
- pDeaths
- };
- //-------Variable------
- new PlayerInfo[MAX_PLAYERS][pData];
- new SInfo[sInfo];
- new HasSpawnedCar[MAX_PLAYERS];
- new JailTimer[MAX_PLAYERS];
- new DND[MAX_PLAYERS];
- new Spectating[MAX_PLAYERS];
- new SpecTime[MAX_PLAYERS];
- new unmute[MAX_PLAYERS];
- new PingTimer[MAX_PLAYERS];
- new bool: TempAdmin[MAX_PLAYERS];
- //==============================================================================
- //----Colors--------
- #define cred "{E10000}"
- #define corange "{FF7E19}"
- #define cyellow "{FF9E00}"
- #define cblue "{0087FF}"
- #define cwhite "{FFFFFF}"
- #define cgreen "{00FF28}"
- #define cgrey "{969696}"
- //------------------------------------------------------------------------------
- #define GREEN 0x15FF00AA
- #define RED 0xFF0000FF
- #define BLUE 0x375FFFFF
- #define WHITE 0xFFFFFFFF
- #define YELLOW 0xF2FF00AA
- #define GREY 0xAAAAAAAA
- #define LIGHTBLUE 0x515BC7AA
- //------------------------------------------------------------------------------
- //-------Change me!!--------------------
- #define SERVERNAME "My Server" //Change this to change the server name for login dialog!
- //--------Extra stocks----------------------------------------------------------
- //------------ [ Valid Weapon ] ---------
- stock IsValidWeapon(weaponid)
- {
- if (weaponid > 0 && weaponid < 19 || weaponid > 21 && weaponid < 47 || weaponid != 38 || weaponid != 44 || weaponid != 45 || weaponid != 36) return 1;
- return 0;
- }
- //------------ [ Y_ini ban player ] ----
- stock BanPlayer(playerid, admin, reason[])
- {
- new d, m, y;
- getdate(y, m, d);
- new INI:ban = INI_Open(BanAccount(playerid));
- INI_SetTag(ban,"Banned");
- INI_WriteString(ban, "Admin", PlayerName(admin));
- INI_WriteString(ban,"Player", PlayerName(playerid));
- INI_WriteString(ban,"Reason", reason);
- INI_WriteInt(ban,"Day", d);
- INI_WriteInt(ban,"Month", m);
- INI_WriteInt(ban,"Year", y);
- INI_Close(ban);
- Kick(playerid);
- return 1;
- }
- stock BanCheck(playerid)
- {
- new file[150];
- format(file, sizeof(file),"Admin/Bans/%s.ini", PlayerName(playerid));
- if(fexist(file))
- {
- SendClientMessage(playerid, RED,"[JADMIN]: You have been banned from this server!");
- Kick(playerid);
- }
- return 1;
- }
- stock SavePlayer(playerid)
- {
- if(PlayerInfo[playerid][pLogged] == 1)
- {
- new player[150];
- format(player, sizeof(player),"Admin/Accounts/%s.ini", PlayerName(playerid));
- new score = GetPlayerScore(playerid), money = GetPlayerMoney(playerid);
- new INI:file = INI_Open(player);
- INI_SetTag(file,"data");
- INI_WriteInt(file,"Scores", score);
- INI_WriteInt(file,"Money", money);
- if(TempAdmin[playerid] == false)
- {
- INI_WriteInt(file,"AdminLevel", PlayerInfo[playerid][pAdmin]);
- }
- INI_WriteInt(file,"Kills", PlayerInfo[playerid][pKills]);
- INI_WriteInt(file,"Deaths", PlayerInfo[playerid][pDeaths]);
- INI_WriteInt(file,"Helper", PlayerInfo[playerid][pHelper]);
- INI_Close(file);
- }
- return 1;
- }
- //------------- [ Start Spectate ] ------------------
- stock Spectate(playerid, player1)
- {
- new world = GetPlayerVirtualWorld(player1), interior = GetPlayerInterior(player1),invehicle = IsPlayerInAnyVehicle(player1), Float:x, Float:y, Float:z;
- GetPlayerPos(player1, x, y, z);
- TogglePlayerSpectating(playerid, true);
- SetPlayerPos(playerid, x, y, z);
- SetPlayerVirtualWorld(playerid, world);
- SetPlayerInterior(playerid, interior);
- if(invehicle == 1)
- {
- PlayerSpectateVehicle(playerid, GetPlayerVehicleID(player1));
- Spectating[playerid] = 1;
- }
- else
- {
- PlayerSpectatePlayer(playerid, player1);
- Spectating[playerid] = 1;
- }
- new str[150], name[MAX_PLAYER_NAME], Float:health, Float:armour;
- GetPlayerHealth(playerid, health);
- GetPlayerArmour(playerid, armour);
- GetPlayerName(player1, name, MAX_PLAYER_NAME);
- format(str, sizeof(str),"~n~~n~~n~~n~~n~~n~~n~~n~~g~ID:%d ~y~Name:%s~n~~b~Health: %0.1f ~g~Armour:%0.1f~n~~r~Money:$%d", player1, name, health, armour, GetPlayerMoney(playerid));
- GameTextForPlayer(playerid, str, 250000, 3);
- return 1;
- }
- stock StopSpectate(playerid)
- {
- Spectating[playerid] = 0;
- TogglePlayerSpectating(playerid, false);
- SpawnPlayer(playerid);
- return 1;
- }
- //==============================================================================
- public LoadUser_data(playerid, name[], value[])
- {
- INI_Int("Password", PlayerInfo[playerid][pPass]);
- INI_Int("Scores", PlayerInfo[playerid][pScores]);
- INI_Int("Money", PlayerInfo[playerid][pMoney]);
- INI_Int("AdminLevel", PlayerInfo[playerid][pAdmin]);
- INI_Int("Kills", PlayerInfo[playerid][pKills]);
- INI_Int("Deaths", PlayerInfo[playerid][pDeaths]);
- INI_Int("Helper", PlayerInfo[playerid][pHelper]);
- return 1;
- }
- //==============================================================================
- stock UserAccount(playerid)
- {
- new account[128], pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(account, sizeof(account),"Admin/Accounts/%s.ini",pname);
- return account;
- }
- stock BanAccount(playerid)
- {
- new account[128], pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(account, sizeof(account),"Admin/Bans/%s.ini",pname);
- return account;
- }
- stock RLPlayer(playerid)
- {
- new pName [ MAX_PLAYER_NAME ] ;
- GetPlayerName ( playerid , pName , MAX_PLAYER_NAME ) ;
- if(fexist(UserAccount(playerid)))
- {
- INI_ParseFile(UserAccount(playerid),"LoadUser_%s", .bExtra = true, .extra = playerid);
- ShowPlayerDialog(playerid, L_DIALOG, DIALOG_STYLE_PASSWORD,""cgreen"Login",""corange"Your account is already registered\n"cgreen"Please type your password to login","Login","");
- }
- else
- {
- ShowPlayerDialog(playerid, R_DIALOG, DIALOG_STYLE_PASSWORD,""cgreen"Register",""corange"Your account is "cred"not "corange"registered\n"cgreen"Please type your password to register","Register","");
- }
- return 1;
- }
- //-----------admin stocks-------------------------
- stock MessageToAdmins(color, const string[])
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pAdmin] >= 1)
- {
- SendClientMessage(i, color, string);
- }
- }
- }
- return 1;
- }
- stock MessageToHelpers(color, const string[])
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pAdmin] >= 1 || PlayerInfo[i][pHelper] == 1)
- {
- SendClientMessage(i, color, string);
- }
- }
- }
- return 1;
- }
- stock TargetCMDMessage(playerid, target, command[])
- {
- new name[MAX_PLAYER_NAME], name1[MAX_PLAYER_NAME];
- GetPlayerName(target, name, sizeof(name));
- GetPlayerName(playerid, name1, sizeof(name1));
- new string[128];
- format(string, sizeof(string),"[ADM.CMD] Administrator %s[%i] has used %s on %s[%i]", name1, playerid, command, name, target);
- SaveLog("CommandLog",string);
- return MessageToAdmins(BLUE, string);
- }
- stock CMDMessage(playerid, command[])
- {
- new name1[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name1, sizeof(name1));
- new string[128];
- format(string, sizeof(string),"[ADM.CMD] Administrator %s[%i] has used %s", name1, playerid, command);
- SaveLog("CommandLog",string);
- return MessageToHelpers(BLUE, string);
- }
- stock PlayerName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, MAX_PLAYER_NAME);
- return name;
- }
- public load_config(name[], value[])
- {
- INI_Int("ChatDisabled", SInfo[DCHAT]);
- INI_Int("MaxLevel", SInfo[MaxLevel]);
- INI_Int("AntiHighPing", SInfo[Ping]);
- INI_Int("AntiSpam", SInfo[Spam]);
- INI_Int("MaxPing", SInfo[AllowedPing]);
- return 1;
- }
- stock CreateConfig()
- {
- new file[100];
- format(file, sizeof(file),"Admin/config.cfg");
- if(!fexist(file))
- {
- new INI:config = INI_Open(file);
- INI_SetTag(config,"config");
- INI_WriteInt(config,"ChatDisabled", 0);
- INI_WriteInt(config,"MaxLevel", 5);
- INI_WriteInt(config,"AntiHighPing", 0);
- INI_WriteInt(config,"AntiSpam", 1);
- INI_WriteInt(config,"MaxPing", 1000);
- INI_Close(config);
- }
- else
- {
- INI_ParseFile(file,"load_config");
- print(" ");
- print(" -----[ J_Admin Config Loaded ] ------");
- printf(" ChatDisabled: %d | MaxLevel: %d | AntiHighPing:%d ", SInfo[DCHAT], SInfo[MaxLevel], SInfo[Ping]);
- printf(" AntiSpam: %d | MaxPing: %d | ", SInfo[Spam], SInfo[AllowedPing]);
- print(" ");
- }
- return 1;
- }
- stock UpdateConfig()
- {
- new file[100];
- format(file, sizeof(file),"Admin/config.cfg");
- new INI:config = INI_Open(file);
- INI_SetTag(config,"config");
- INI_WriteInt(config,"ChatDisabled", SInfo[DCHAT]);
- INI_WriteInt(config,"MaxLevel", SInfo[MaxLevel]);
- INI_WriteInt(config,"AntiHighPing", SInfo[Ping]);
- INI_WriteInt(config,"AntiSpam", SInfo[Spam]);
- INI_WriteInt(config,"MaxPing", SInfo[AllowedPing]);
- INI_Close(config);
- return 1;
- }
- //------------------------------------------------------------------------------
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print("J_ADMIN Loaded by JARNU version Y_INI BETA");
- print("--------------------------------------\n");
- //------------------ DEBUG ----------------
- if(!fexist("/Admin"))
- {
- print(" Admin folder not found!");
- }
- else
- {
- print(" Admin folder loaded!");
- }
- if(!fexist("/Admin/Accounts"))
- {
- print(" Admin/Accounts folder not found!");
- }
- else
- {
- print(" Admin/Accounts folder loaded!");
- }
- if(!fexist("/Admin/Bans"))
- {
- print(" Admin/Bans folder not found!");
- }
- else
- {
- print(" Admin/Bans folder loaded!");
- }
- //------------------^^^^ Debug ^^^^---------------------
- CreateConfig();
- return 1;
- }
- public OnFilterScriptExit()
- {
- print("\n--------------------------------------");
- print("J_ADMIN unloaded by JARNU version BETA");
- print("--------------------------------------\n");
- UpdateConfig();
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- //--------------------------------
- PlayerInfo[playerid][pAdmin] = 0;
- PlayerInfo[playerid][pHelper] = 0;
- PlayerInfo[playerid][pJailed] = 0;
- PlayerInfo[playerid][pKills] = 0;
- PlayerInfo[playerid][pDeaths] = 0;
- PlayerInfo[playerid][pScores] = 0;
- PlayerInfo[playerid][pMoney] = 0;
- PlayerInfo[playerid][AdminDuty] = 0;
- PlayerInfo[playerid][pWarns] = 0;
- PlayerInfo[playerid][sWarns] = 0;
- PlayerInfo[playerid][pSpamTime] = 0;
- PlayerInfo[playerid][pPingTime] = 0;
- PlayerInfo[playerid][pPingCount] = 0;
- PlayerInfo[playerid][Frozen] = 0;
- PlayerInfo[playerid][GodMode] = 0;
- TempAdmin[playerid] = false;
- HasSpawnedCar[playerid] = 0;
- DND[playerid] = 0;
- Spectating[playerid] = 0;
- //--------------------------------
- BanCheck(playerid);
- //--------------------------------
- PingTimer[playerid] = SetTimerEx("PingChecker", 1000, true,"d", playerid);
- //--------Account registration----
- RLPlayer(playerid);
- //---------------------------------
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(PlayerInfo[playerid][AdminDuty] == 1)
- {
- SetPlayerHealth(playerid, 99999.0);
- GivePlayerWeapon(playerid, 38, 20000);
- SetPlayerSkin(playerid, 217);
- SetPlayerColor(playerid, 0xFD01FDAA);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SavePlayer(playerid);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- PlayerInfo[playerid][pDeaths] ++;
- PlayerInfo[killerid][pKills] ++;
- SavePlayer(playerid);
- SendClientMessage(playerid, 0xAAAAAAAA,"--------------");
- SendClientMessage(playerid, GREEN,"Stats saved");
- SendClientMessage(playerid, 0xAAAAAAAA,"---------------");
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- //-------REGISTER SYSTEM------------------
- if(dialogid == R_DIALOG)
- {
- if(!response) return Kick(playerid);
- if(strlen(inputtext) < 6 || strlen(inputtext) > 100)
- {
- SendClientMessage(playerid, RED,"[JADMIN]: Password lenght must be greater than 6 and lesser than 100 words!");
- ShowPlayerDialog(playerid, R_DIALOG, DIALOG_STYLE_PASSWORD,""cgreen"Register",""corange"Your account is "cred"not "corange"registered\n"cgreen"Please type your password to register","Register","");
- }
- else if(strlen(inputtext) > 0 && strlen(inputtext) < 100)
- {
- new INI:file = INI_Open(UserAccount(playerid));
- INI_SetTag(file,"data");
- INI_WriteInt(file, "Password", udb_hash(inputtext));
- INI_WriteInt(file,"Scores", 0);
- INI_WriteInt(file,"Money", 0);
- INI_WriteInt(file,"AdminLevel", 0);
- INI_WriteInt(file,"Kills", 0);
- INI_WriteInt(file,"Deaths", 0);
- INI_WriteInt(file,"Helper", 0);
- INI_Close(file);
- PlayerInfo[playerid][pLogged] = 1;
- SendClientMessage(playerid, GREEN,"[ACCOUNT]: You have been successfully registered!");
- SendClientMessage(playerid, -1,"Generating your password...");
- new string[100];
- format(string, sizeof(string),"Your password is: "cgreen"%s", inputtext);
- SendClientMessage(playerid, RED, string);
- }
- }
- if(dialogid == L_DIALOG)
- {
- if(!response) return Kick(playerid);
- else if(response)
- {
- if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
- {
- INI_ParseFile(UserAccount(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
- GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
- SetPlayerScore(playerid, PlayerInfo[playerid][pScores]);
- PlayerInfo[playerid][pLogged] = 1;
- new string[250];
- format(string, sizeof(string),""cwhite"Scores: "corange"%d\n\n"cwhite"Money: "cyellow"$%d\n\n"cwhite"Kills: "cred"%d\n\n"cwhite"Deaths: "cred"%d\n\n"cwhite"Level: "cblue"%d\n\n"cwhite"Helper: "corange"%d\n\n"cwhite"Welcome to "cred"%s", GetPlayerScore(playerid), GetPlayerMoney(playerid), PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][pHelper], SERVERNAME);
- ShowPlayerDialog(playerid, 1111, DIALOG_STYLE_MSGBOX,""cgreen"Logged in", string,"Close","");
- SendClientMessage(playerid, GREEN,"[JADMIN]: You have been successfully logged in!");
- }
- else
- {
- SendClientMessage(playerid, RED,"[ERROR]: Incorrect password!");
- ShowPlayerDialog(playerid, L_DIALOG, DIALOG_STYLE_PASSWORD,""cgreen"Login",""corange"Your account is already registered\n"cgreen"Please type your password to login","Login","");
- }
- }
- }
- return 1;
- }
- //------------------------------------------------------------------------------
- CMD:jcredits(playerid, params[])
- {
- SendClientMessage(playerid, -1, " | --------------- jAdmin [ V0.1 Release ] ------------ | ");
- SendClientMessage(playerid, GREEN,"[JADMIN]: All credits to Jarnu for creating this admin system!");
- SendClientMessage(playerid, GREEN,"[JADMIN]: Y_Less - sscanf and Y_INI | Darcoblue for ubd_hash!");
- return 1;
- }
- CMD:ahelp(playerid, params[])
- {
- new string[100], string1[100], string2[100];
- strcat(string,""cwhite" | ----------- J_Admin by Jarnu --------- | ");
- strcat(string1," Use /level 1-5 (without space to see all the commands!");
- strcat(string2," If you use this admin system you must not remove the credits!");
- SendClientMessage(playerid, GREEN, string);
- SendClientMessage(playerid, GREEN, string1);
- SendClientMessage(playerid, GREEN, string2);
- return 1;
- }
- CMD:level1(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] == 0)
- {
- SendClientMessage(playerid, RED,"[JADMIN]: You have nothing to do with this command! :)");
- }
- else if(PlayerInfo[playerid][pAdmin] == 1)
- {
- SendClientMessage(playerid, LIGHTBLUE,"========= Level 1 Commands!========");
- SendClientMessage(playerid, BLUE,"Access to helper commands!");
- SendClientMessage(playerid, BLUE,"/kick /warn /mute /unmute /adminduty /acar /jail");
- SendClientMessage(playerid, BLUE,"/unjail /muted /jailed /jspec /jspecoff /goto /get");
- SendClientMessage(playerid, BLUE,"/freeze /unfreeze /frozen");
- }
- return 1;
- }
- CMD:level2(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] == 0)
- {
- SendClientMessage(playerid, RED,"[JADMIN]: You have nothing to do with this command! :)");
- }
- else if(PlayerInfo[playerid][pAdmin] == 2)
- {
- SendClientMessage(playerid, LIGHTBLUE,"========= Level 2 Commands!========");
- SendClientMessage(playerid, BLUE,"Access to level 1 and helper commands!");
- SendClientMessage(playerid, BLUE,"/ban /unban /spawn /slap /clearchat");
- SendClientMessage(playerid, BLUE,"/explode /abike /force /akill");
- }
- return 1;
- }
- CMD:level3(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] == 0)
- {
- SendClientMessage(playerid, RED,"[JADMIN]: You have nothing to do with this command! :)");
- }
- else if(PlayerInfo[playerid][pAdmin] == 3)
- {
- SendClientMessage(playerid, LIGHTBLUE,"========= Level 3 Commands!========");
- SendClientMessage(playerid, BLUE,"Access to level 1, level 2 and helper commands!");
- SendClientMessage(playerid, BLUE,"/armourall /healall /giveweapon /sethealth /carhealth");
- SendClientMessage(playerid, BLUE,"/givecash /givescore /aheli /god /getinfo");
- }
- return 1;
- }
- CMD:level4(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] == 0)
- {
- SendClientMessage(playerid, RED,"[JADMIN]: You have nothing to do with this command! :)");
- }
- else if(PlayerInfo[playerid][pAdmin] == 4)
- {
- SendClientMessage(playerid, LIGHTBLUE,"========= Level 4 Commands!========");
- SendClientMessage(playerid, BLUE,"Access to level 1, level 2, level 3 and helper commands!");
- SendClientMessage(playerid, BLUE,"/giveallweapon /giveallscore /giveallcash /setcash /setdeaths");
- SendClientMessage(playerid, BLUE,"/setkills /setscore /freezeall /unfreezeall");
- }
- return 1;
- }
- CMD:level5(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] == 0)
- {
- SendClientMessage(playerid, RED,"[JADMIN]: You have nothing to do with this command! :)");
- }
- else if(PlayerInfo[playerid][pAdmin] >= 5)
- {
- SendClientMessage(playerid, LIGHTBLUE,"========= Level 5 Commands!========");
- SendClientMessage(playerid, BLUE,"Access to level 1, level 2, level 3, level 4 and helper commands!");
- SendClientMessage(playerid, BLUE,"/setadmin /sethelper /unsethelper /disablechat /disablespam");
- SendClientMessage(playerid, BLUE,"/setping /enableping /rban /settempadmin");
- }
- return 1;
- }
- //------------------------------------------------------------------------------
- //========== [ NORMAL PLAYER COMMANDS ] ========================================
- //------------------------------------------------------------------------------
- CMD:admins(playerid, params[])
- {
- new count = 0, string[256];
- SendClientMessage(playerid, BLUE,"Current online admins:");
- for(new i = 0; i < MAX_PLAYERS; i ++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pAdmin] >= 1)
- {
- format(string, sizeof(string),"Admin ID:[%d] %s Level: %d", i, PlayerName(i), PlayerInfo[i][pAdmin]);
- SendClientMessage(playerid, BLUE, string);
- count++;
- }
- }
- }
- if(count == 0)
- {
- SendClientMessage(playerid, BLUE,"No admins are online right now!");
- }
- return 1;
- }
- CMD:helpers(playerid, params[])
- {
- new count = 0, string[256];
- SendClientMessage(playerid, BLUE,"Current online helpers:");
- for(new i = 0; i < MAX_PLAYERS; i ++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pHelper] == 1)
- {
- format(string, sizeof(string),"Helper ID:[%d] %s", i, PlayerName(i));
- SendClientMessage(playerid, BLUE, string);
- count++;
- }
- }
- }
- if(count == 0)
- {
- SendClientMessage(playerid, BLUE,"No helpers are online right now!");
- }
- return 1;
- }
- CMD:changepass(playerid, params[])
- {
- new pass[30];
- if(sscanf(params,"s[30]", pass)) return SendClientMessage(playerid, RED,"[USAGE]: /changepass [new password]");
- new INI:file = INI_Open(UserAccount(playerid));
- INI_SetTag(file,"data");
- INI_WriteInt(file, "Password", udb_hash(pass));
- INI_Close(file);
- new str[120];
- format(str, sizeof(str),"Your password has been successfully changed to "cred"%s", pass);
- SendClientMessage(playerid, GREEN,str);
- return 1;
- }
- CMD:report(playerid, params[])
- {
- new player1, str[150], reason[66];
- if(sscanf(params,"ds[66]", player1, reason)) return SendClientMessage(playerid, RED,"[USAGE]: /report [playerid] [reason]");
- if(IsPlayerConnected(player1) || player1 == playerid || PlayerInfo[player1][pAdmin] >= SInfo[MaxLevel])
- {
- format(str, sizeof(str),"@New Report| Reporter: %s | Victim: %s | Reason: %s", PlayerName(playerid), PlayerName(player1), reason);
- MessageToAdmins(GREEN, str);
- SendClientMessage(playerid, YELLOW,"Your report has been sent to online administrators!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected or is yourself or the highest level admin");
- return 1;
- }
- //------------------------------------------------------------------------------
- //---------Admin system commands and stocks-------------------------------------
- //---------------Level 5 Admin Commands-----------------------------------------
- CMD:rban(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 5)
- {
- new player1, reason[100], ip[16];
- if(sscanf(params,"ds[100]", player1, reason)) return SendClientMessage(playerid, RED,"[USAGE]: /rban [playerid] [reason]");
- if(IsPlayerConnected(player1) || PlayerInfo[playerid][pAdmin] != SInfo[MaxLevel] || player1 != INVALID_PLAYER_ID)
- {
- if(strlen(reason) >= 1)
- {
- GetPlayerIp(playerid, ip, 16);
- strdel(ip, strlen(ip)-2, strlen(ip));
- new string[150];
- format(string, sizeof(string),"%s has been range banned by administrator %s [Reason: %s]",PlayerName(player1), PlayerName(playerid), reason);
- SendClientMessageToAll(BLUE, string);
- SaveLog("BanLog",string);
- new str[100];
- format(str, sizeof(str),"%s**", ip);
- format(str, sizeof(str),"banip %s",ip);
- SendRconCommand(str);
- BanEx(player1,"Range Banned");
- }
- else return SendClientMessage(playerid, RED,"Specify proper reason!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected or is the highest level admin!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be admin level 5 to use this command!");
- return 1;
- }
- CMD:setadmin(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 5 || IsPlayerAdmin(playerid))
- {
- new string[125], level, player1;
- if(sscanf(params,"dd",player1, level)) return SendClientMessage(playerid, RED,"[USAGE]: /setadmin ( playerid ) ( level )");
- if(!IsPlayerConnected(playerid) && player1 != INVALID_PLAYER_ID)
- {
- SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected");
- }
- if(level > SInfo[MaxLevel])
- {
- SendClientMessage(playerid, RED,"[JADMIN]: Incorrect level");
- }
- else if(level >= PlayerInfo[playerid][pAdmin])
- {
- new aname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, aname, sizeof(aname));
- format(string, sizeof(string),""cblue"Administrator "cgreen"'%s' "cblue"has "cgreen"promoted "cblue"you to "cgreen"[Level %d]", aname,level);
- SendClientMessage(player1, BLUE, string);
- GameTextForPlayer(player1,"Promoted", 1500, 3);
- TargetCMDMessage(playerid, player1,"SETADMIN");
- PlayerPlaySound(player1,1057,0.0,0.0,0.0); //Will send a sound to player 1
- PlayerInfo[player1][pAdmin] = level;
- new log[250], d, m, y;
- getdate(y, m, d);
- format(log, sizeof(log),"Administrator %s has promoted %s to level %d on %d/%d/%d", PlayerName(playerid), PlayerName(player1), level, d, m, y);
- SaveLog("AdminLog",log);
- SavePlayer(playerid);
- }
- else if(level < PlayerInfo[playerid][pAdmin] && level != 0)
- {
- new aname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, aname, sizeof(aname));
- format(string, sizeof(string),""cblue"Administrator "cgreen"'%s' "cblue"has "cred"demoted "cblue"you to "cgreen"[Level %d]", aname,level);
- SendClientMessage(player1, BLUE, string);
- GameTextForPlayer(player1,"Demoted", 1500, 3);
- PlayerPlaySound(player1,1057,0.0,0.0,0.0); //Will send a sound to player1
- TargetCMDMessage(playerid, player1,"SETADMIN");
- PlayerInfo[player1][pAdmin] = level;
- new log[250], d, m, y;
- getdate(y, m, d);
- format(log, sizeof(log),"Administrator %s has demoted %s to level %d on %d/%d/%d", PlayerName(playerid), PlayerName(player1), level, d, m, y);
- SaveLog("AdminLog",log);
- SavePlayer(playerid);
- }
- else if(level == 0)
- {
- new aname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, aname, sizeof(aname));
- format(string, sizeof(string),""cblue"Administrator "cgreen"'%s' "cblue"has "cred"fired "cblue"you from your admin status", aname);
- SendClientMessage(player1, BLUE, string);
- GameTextForPlayer(player1,"Fired", 1500, 3);
- PlayerPlaySound(player1,1057,0.0,0.0,0.0); //Will send a notification sound to player1
- TargetCMDMessage(playerid, player1,"SETADMIN");
- PlayerInfo[player1][pAdmin] = 0;
- new log[250], d, m, y;
- getdate(y, m, d);
- format(log, sizeof(log),"Administrator %s has fired %s on %d/%d/%d", PlayerName(playerid), PlayerName(player1), d, m, y);
- SaveLog("AdminLog",log);
- SavePlayer(playerid);
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be RCON admin or level 5 admin to use this command");
- return 1;
- }
- CMD:settempadmin(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 5 || IsPlayerAdmin(playerid))
- {
- new string[125], level, player1;
- if(sscanf(params,"dd",player1, level)) return SendClientMessage(playerid, RED,"[USAGE]: /settempadmin (playerid) (level)");
- if(!IsPlayerConnected(playerid) && player1 != INVALID_PLAYER_ID)
- {
- SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected");
- }
- if(level > SInfo[MaxLevel])
- {
- SendClientMessage(playerid, RED,"[JADMIN]: Incorrect level");
- }
- else if(level >= PlayerInfo[playerid][pAdmin])
- {
- new aname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, aname, sizeof(aname));
- format(string, sizeof(string),""cblue"Administrator "cgreen"'%s' "cblue"has temporarily"cgreen"promoted "cblue"you to "cgreen"[Level %d]", aname,level);
- SendClientMessage(player1, BLUE, string);
- GameTextForPlayer(player1,"Promoted", 1500, 3);
- TargetCMDMessage(playerid, player1,"SETTEMPADMIN");
- PlayerPlaySound(player1,1057,0.0,0.0,0.0); //Will send a sound to player 1
- TempAdmin[player1] = true;
- PlayerInfo[player1][pAdmin] = level;
- }
- else if(level < PlayerInfo[playerid][pAdmin] && level != 0)
- {
- new aname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, aname, sizeof(aname));
- format(string, sizeof(string),""cblue"Administrator "cgreen"'%s' "cblue"has temporarily"cred"demoted "cblue"you to "cgreen"[Level %d]", aname,level);
- SendClientMessage(player1, BLUE, string);
- GameTextForPlayer(player1,"Demoted", 1500, 3);
- PlayerPlaySound(player1,1057,0.0,0.0,0.0); //Will send a sound to player1
- TargetCMDMessage(playerid, player1,"SETTEMPADMIN");
- TempAdmin[player1] = true;
- PlayerInfo[player1][pAdmin] = level;
- }
- else if(level == 0)
- {
- new aname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, aname, sizeof(aname));
- format(string, sizeof(string),""cblue"Administrator "cgreen"'%s' "cblue"has temporarily"cred"fired "cblue"you from your admin status", aname);
- SendClientMessage(player1, BLUE, string);
- GameTextForPlayer(player1,"Fired", 1500, 3);
- PlayerPlaySound(player1,1057,0.0,0.0,0.0); //Will send a notification sound to player1
- TargetCMDMessage(playerid, player1,"SETTEMPADMIN");
- TempAdmin[player1] = true;
- PlayerInfo[player1][pAdmin] = 0;
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be RCON admin or level 5 admin to use this command");
- return 1;
- }
- CMD:sethelper(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 5 || IsPlayerAdmin(playerid))
- {
- new string[125], player1;
- if(sscanf(params,"d",player1)) return SendClientMessage(playerid, RED,"[USAGE]: /sethelper ( playerid )");
- if(!IsPlayerConnected(playerid) && player1 != INVALID_PLAYER_ID)
- {
- SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected");
- }
- else
- {
- new aname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, aname, sizeof(aname));
- format(string, sizeof(string),""cblue"Administrator "cgreen"'%s' "cblue"has set you to helper status", aname);
- SendClientMessage(player1, BLUE, string);
- TargetCMDMessage(playerid, player1,"SETHELPER");
- PlayerPlaySound(player1,1057,0.0,0.0,0.0);
- PlayerInfo[player1][pHelper] = 1;
- GameTextForPlayer(player1,"Promoted to Helper Status", 1500, 3);
- SavePlayer(playerid);
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be RCON admin or level 5 admin to use this command");
- return 1;
- }
- CMD:unsethelper(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 5 || IsPlayerAdmin(playerid))
- {
- new string[125], player1;
- if(sscanf(params,"d",player1)) return SendClientMessage(playerid, RED,"[USAGE]: /unsethelper ( playerid )");
- if(!IsPlayerConnected(playerid) && player1 != INVALID_PLAYER_ID)
- {
- SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected");
- }
- else
- {
- new aname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, aname, sizeof(aname));
- format(string, sizeof(string),""cblue"Administrator "cgreen"'%s' "cblue"has "cred"fired "cblue"you from your helper status", aname);
- SendClientMessage(player1, BLUE, string);
- TargetCMDMessage(playerid, player1,"UNSETHELPER");
- PlayerPlaySound(player1,1057,0.0,0.0,0.0);
- PlayerInfo[player1][pHelper] = 0;
- GameTextForPlayer(player1,"Fired from Helper Status", 1500, 3);
- SavePlayer(playerid);
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be RCON admin or level 5 admin to use this command");
- return 1;
- }
- CMD:disablechat(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 5)
- {
- if(SInfo[DCHAT] == 1)
- {
- SInfo[DCHAT] = 0;
- new str[128];
- format(str, sizeof(str),"Administrator %s has enabled the chat!", PlayerName(playerid));
- CMDMessage(playerid,"DISABLECHAT");
- SendClientMessageToAll(BLUE, str);
- UpdateConfig();
- }
- else if(SInfo[DCHAT] == 0)
- {
- SInfo[DCHAT] = 1;
- CMDMessage(playerid,"DISABLECHAT");
- new str[128];
- format(str, sizeof(str),"Administrator %s has disabled the chat!", PlayerName(playerid));
- SendClientMessageToAll(BLUE, str);
- UpdateConfig();
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:disablespam(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 5)
- {
- if(SInfo[Spam] == 1)
- {
- SInfo[Spam] = 0;
- new str[128];
- format(str, sizeof(str),"Administrator %s has disabled the anti-spam!", PlayerName(playerid));
- CMDMessage(playerid,"DISABLESPAM");
- SendClientMessageToAll(BLUE, str);
- UpdateConfig();
- }
- else if(SInfo[Spam] == 0)
- {
- SInfo[Spam] = 1;
- CMDMessage(playerid,"DISABLESPAM");
- new str[128];
- format(str, sizeof(str),"Administrator %s has enabled the anti-spam!", PlayerName(playerid));
- SendClientMessageToAll(BLUE, str);
- UpdateConfig();
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:enableping(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 5)
- {
- SInfo[Ping] = 1;
- new str[128];
- format(str, sizeof(str),"Administrator %s has enabled the anti-highping!", PlayerName(playerid));
- CMDMessage(playerid,"ENABLEPING");
- SendClientMessageToAll(BLUE, str);
- UpdateConfig();
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:setping(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 5)
- {
- if(SInfo[Ping] == 1)
- {
- new ping;
- if(sscanf(params,"d",ping)) return SendClientMessage(playerid, RED,"[USAGE]: /setping [ping]");
- if(ping == 0)
- {
- SInfo[Ping] = 0;
- SInfo[AllowedPing] = 0;
- new str[100];
- format(str, sizeof(str),"Administrator %s has disable high ping kick", PlayerName(playerid));
- SendClientMessageToAll(BLUE, str);
- UpdateConfig();
- }
- else
- {
- SInfo[AllowedPing] = ping;
- new str[100];
- format(str, sizeof(str),"Administrator %s has set maximum ping to %d", PlayerName(playerid), ping);
- SendClientMessageToAll(BLUE, str);
- UpdateConfig();
- }
- }
- else return SendClientMessage(playerid, RED,"High ping kick is disabled! use /enableping first!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not level 5!");
- return 1;
- }
- //---------------Level 2 admin commands-----------------------------------------
- CMD:akill(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 2)
- {
- new player1;
- if(sscanf(params,"d", player1)) return SendClientMessage(playerid, RED,"[USAGE]: /force [playerid] ");
- if(IsPlayerConnected(player1))
- {
- ForceClassSelection(player1);
- SetPlayerHealth(player1, 0.0);
- new string[120];
- format(string, sizeof(string),"Administrator %s has forced you to class selection!", PlayerName(playerid));
- SendClientMessage(player1, BLUE, string);
- TargetCMDMessage(playerid, player1,"FORCE");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command");
- return 1;
- }
- CMD:force(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 2)
- {
- new player1;
- if(sscanf(params,"d", player1)) return SendClientMessage(playerid, RED,"[USAGE]: /force [playerid] ");
- if(IsPlayerConnected(player1))
- {
- SetPlayerHealth(player1, 0.0);
- new string[120];
- format(string, sizeof(string),"Administrator %s has force killed you!", PlayerName(playerid));
- SendClientMessage(player1, BLUE, string);
- new str[100];
- format(str, sizeof(str),"Administrator %s has killed %s", PlayerName(playerid),PlayerName(player1));
- SendClientMessageToAll(BLUE, str);
- TargetCMDMessage(playerid, player1,"AKILL");
- SendDeathMessage(playerid, player1, 32);
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command");
- return 1;
- }
- CMD:clearchat(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 2)
- {
- for(new i = 0; i < 15; i++)
- {
- SendClientMessageToAll(WHITE," ");
- }
- }
- else return SendClientMessage(playerid, RED,"[ERROR]: You need to be admin level 2 to use this command!");
- return 1;
- }
- CMD:abike(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 2)
- {
- if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, RED,"[ERROR]: You already have a vehicle!");
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- PutPlayerInVehicle(playerid, CreateVehicle(522, X, Y, Z, 0.0,0, 1, 60), 0);
- SendClientMessage(playerid, BLUE,"Enjoy your new admin bike!");
- HasSpawnedCar[playerid] = 1;
- }
- else return SendClientMessage(playerid, RED,"[ERROR]: You need to be admin level 2 to use this command!");
- return 1;
- }
- CMD:spawn(playerid, params[])
- {
- new player1;
- if(PlayerInfo[playerid][pAdmin] >= 2)
- {
- if(IsPlayerConnected(player1))
- {
- new str[100];
- if(sscanf(params,"d",player1)) return SendClientMessage(playerid, RED,"[USAGE]: /spawn [playerid] ");
- SpawnPlayer(player1);
- format(str, sizeof(str),"Administrator %s has spawned you!", PlayerName(player1));
- SendClientMessage(player1, BLUE, str);
- TargetCMDMessage(playerid, player1, "SPAWN");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You cannot use this command!");
- return 1;
- }
- CMD:explode(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 2)
- {
- new player1, Float:x, Float:y, Float:z, str[70];
- if(sscanf(params,"d", player1)) return SendClientMessage(playerid, RED,"[USAGE]: /explode [playerid] ");
- if(IsPlayerConnected(player1))
- {
- GetPlayerPos(player1, x, y, z);
- CreateExplosion(x, y, z, 7, 10.0);
- format(str, sizeof(str),"You have exploded %s!", PlayerName(player1));
- SendClientMessage(playerid, BLUE, str);
- TargetCMDMessage(playerid, player1,"EXPLODE");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be level 2 admin to use this command!");
- return 1;
- }
- CMD:slap(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 2)
- {
- new player1, Float:x, Float:y, Float:z, str[70];
- if(sscanf(params,"d", player1)) return SendClientMessage(playerid, RED,"[USAGE]: /slap [playerid] ");
- if(IsPlayerConnected(player1))
- {
- GetPlayerPos(player1, x, y, z);
- SetPlayerPos(player1, x, y, z+6);
- format(str, sizeof(str),"You have slapped %s!", PlayerName(player1));
- SendClientMessage(playerid, BLUE, str);
- TargetCMDMessage(playerid, player1,"SLAP");
- PlayerPlaySound(player1,1190,0.0,0.0,0.0);
- PlayerPlaySound(playerid,1190,0.0,0.0,0.0);
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be level 2 admin to use this command!");
- return 1;
- }
- CMD:ban(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
- {
- new targetid, reason[100];
- if(sscanf(params,"ds[100]", targetid, reason)) return SendClientMessage(playerid, RED,"[USAGE]: /ban [playerid][reason]");
- if(!IsPlayerConnected(playerid) && targetid != INVALID_PLAYER_ID)
- {
- SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- if(PlayerInfo[targetid][pAdmin] > PlayerInfo[playerid][pAdmin])
- {
- SendClientMessage(playerid, RED,"You have been kicked for trying to ban your senior!");
- Kick(playerid);
- }
- else
- {
- TargetCMDMessage(playerid, targetid, "BAN");
- new string[256];
- format(string, sizeof(string),"%s has been banned by Admin %s [Reason: %s]", PlayerName(targetid), PlayerName(playerid), reason);
- SaveLog("BanLog",string);
- SendClientMessageToAll(RED, string);
- BanPlayer(targetid, playerid, reason);
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be RCON admin or level 2 admin to use this command!");
- return 1;
- }
- CMD:unban(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
- {
- new name[100];
- if(sscanf(params,"s[100]", name)) return SendClientMessage(playerid, RED,"[USAGE]: /unban [name]");
- new file[120];
- format(file, sizeof(file),"Admin/Bans/%s.ini", name);
- if(fexist(file))
- {
- fremove(file);
- CMDMessage(playerid,"UNBAN");
- new string[256];
- format(string, sizeof(string),"You have unbanned %s", name);
- SendClientMessage(playerid, BLUE, string);
- }
- else
- {
- SendClientMessage(playerid, RED,"[JADMIN]: No banned account found on this name!");
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be RCON admin or level 2 admin to use this command!");
- return 1;
- }
- CMD:sban(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 2 || IsPlayerAdmin(playerid))
- {
- new name[100];
- if(sscanf(params,"s[100]", name)) return SendClientMessage(playerid, RED,"[USAGE]: /sban [name]");
- new file[120];
- format(file, sizeof(file),"Admin/Bans/%s.ini", name);
- if(fexist(file))
- {
- new string[256];
- new File:ban = fopen(file, io_read);
- fread(ban, string);
- fclose(ban);
- format(string, sizeof(string),"RESULT: Admin: %s | Player: %s | Reason: %s", string);
- SendClientMessage(playerid, BLUE, string);
- }
- else
- {
- SendClientMessage(playerid, RED,"[JADMIN]: No banned account found on this name!");
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be RCON admin or level 2 admin to use this command!");
- return 1;
- }
- //==============================================================================
- //-----------------------------------ADMIN COMMANDS STARTING--------------------
- //---------------------Helper Commands------------------------------------------
- CMD:jspec(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] == 1)
- {
- new specid, str[120];
- if(sscanf(params,"d", specid)) return SendClientMessage(playerid, RED,"[USAGE]: /jspec [playerid] ");
- if(PlayerInfo[specid][pAdmin] != SInfo[MaxLevel])
- {
- if(GetPlayerState(specid) != PLAYER_STATE_SPECTATING || specid != INVALID_PLAYER_ID)
- {
- Spectate(playerid, specid);
- Spectating[playerid] = 1;
- TargetCMDMessage(playerid, specid, "JSPEC");
- format(str, sizeof(str),"You are now spectating id %d", specid);
- SendClientMessage(playerid, BLUE,str);
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Invalid playerid");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You cannot use this command on this admin!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not admin or helper!");
- return 1;
- }
- CMD:jspecoff(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] == 1)
- {
- if(Spectating[playerid] == 0)
- {
- KillTimer(SpecTime[playerid]);
- SendClientMessage(playerid, BLUE,"Spectating off");
- Spectating[playerid] = 0;
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not spectating!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not helper or admin!");
- return 1;
- }
- CMD:warn(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] == 1)
- {
- new reason[100], player1, str[100], dstr[102];
- if(sscanf(params,"ds[100]", player1, reason)) return SendClientMessage(playerid, RED,"[USAGE]: /warn [playerid] [reason]");
- if(IsPlayerConnected(player1))
- {
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- PlayerInfo[player1][pWarns] ++;
- format(str, sizeof(str),"Administrator %s has warned %s [Reason: %s] (Warnings: %d/%d)", PlayerName(playerid),PlayerName(player1),reason,PlayerInfo[player1][pWarns], MAX_WARNS);
- SendClientMessageToAll(YELLOW, str);
- format(dstr, sizeof(dstr),""cwhite"Warnings: %d/%d\nAdmin: %s\nReason:%s\n",PlayerInfo[playerid][pWarns], MAX_WARNS, PlayerName(playerid), reason);
- ShowPlayerDialog(player1, 1100, DIALOG_STYLE_MSGBOX,""cwhite"Recieved a warning!",dstr,"Close","");
- if(PlayerInfo[player1][pWarns] >= MAX_WARNS)
- {
- format(str, sizeof(str),"Administrator %s has kicked %s [Reason: %s] (Warnings: %d/%d)", PlayerName(playerid),PlayerName(player1),reason,PlayerInfo[player1][pWarns], MAX_WARNS);
- SendClientMessageToAll(RED, str);
- format(dstr, sizeof(dstr),""cwhite"Warnings: %d/%d\nAdmin: %s\nReason:%s\n",PlayerInfo[playerid][pWarns], MAX_WARNS, PlayerName(playerid), reason);
- ShowPlayerDialog(player1, 1100, DIALOG_STYLE_MSGBOX,""cwhite"Recieved a warning!",dstr,"Close","");
- Kick(player1);
- }
- }
- else if(PlayerInfo[playerid][pHelper] == 1)
- {
- PlayerInfo[player1][pWarns] ++;
- format(str, sizeof(str),"Helper %s has warned %s [Reason: %s] (Warnings: %d/%d)", PlayerName(playerid),PlayerName(player1),reason,PlayerInfo[player1][pWarns], MAX_WARNS);
- SendClientMessageToAll(YELLOW, str);
- format(dstr, sizeof(dstr),""cwhite"Warnings: %d/%d\nHelper: %s\nReason:%s\n",PlayerInfo[playerid][pWarns], MAX_WARNS, PlayerName(playerid), reason);
- ShowPlayerDialog(player1, 1100, DIALOG_STYLE_MSGBOX,""cwhite"Recieved a warning!",dstr,"Close","");
- if(PlayerInfo[player1][pWarns] >= MAX_WARNS)
- {
- format(str, sizeof(str),"Helper %s has kicked %s [Reason: %s] (Warnings: %d/%d)", PlayerName(playerid),PlayerName(player1),reason,PlayerInfo[player1][pWarns], MAX_WARNS);
- SendClientMessageToAll(RED, str);
- format(dstr, sizeof(dstr),""cwhite"Warnings: %d/%d\nHelper: %s\nReason:%s\n",PlayerInfo[playerid][pWarns], MAX_WARNS, PlayerName(playerid), reason);
- ShowPlayerDialog(player1, 1100, DIALOG_STYLE_MSGBOX,""cwhite"Recieved a warning!",dstr,"Close","");
- Kick(player1);
- }
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:h(playerid,params[])
- {
- if(PlayerInfo[playerid][pHelper] == 1 || PlayerInfo[playerid][pAdmin] >= 1)
- {
- if(isnull(params)) return SendClientMessage(playerid, RED, "USAGE: /h [text] to talk in helper chat");
- new string[128];
- format(string, sizeof(string), "Helper.Chat: %s: %s", PlayerName(playerid), params[0]);
- return MessageToHelpers(0xFF9900AA,string);
- }
- else return SendClientMessage(playerid,RED,"[JADMIN]: You need to be Helper to use this command");
- }
- CMD:kick(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] == 1)
- {
- new player1, reason[100], str[100];
- if(sscanf(params,"ds[100]", player1, reason)) return SendClientMessage(playerid, RED,"[USAGE]: /kick [playerid] [reason]");
- if(IsPlayerConnected(player1))
- {
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- format(str, sizeof(str),"%s has been kicked by Admin %s [Reason: %s]", PlayerName(player1), PlayerName(playerid), reason);
- SendClientMessageToAll(RED, str);
- TargetCMDMessage(playerid, player1,"KICK");
- SaveLog("KickLog",str);
- Kick(player1);
- }
- else if(PlayerInfo[playerid][pHelper] == 1)
- {
- format(str, sizeof(str),"%s has been kicked by Helper %s [Reason: %s]", PlayerName(player1), PlayerName(playerid), reason);
- SendClientMessageToAll(RED, str);
- CMDMessage(playerid,"KICK");
- SaveLog("KickLog",str);
- Kick(player1);
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:hh(playerid, params[])
- {
- if(PlayerInfo[playerid][pHelper] == 1 || PlayerInfo[playerid][pAdmin] >= 1)
- {
- SendClientMessage(playerid, -1, "--------| JADMIN [Helper Commands] | -------");
- SendClientMessage(playerid, BLUE,"/kick /warn /jspec /jspecoff /h [text]");
- SendClientMessage(playerid, -1, "----------- | | ----------------- | | -------");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- //-------------------Level 3 commands-------------------------------------------
- CMD:getinfo(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 3)
- {
- new player1, string[60], str[60], str1[60], str2[60];
- if(sscanf(params,"d", player1)) return SendClientMessage(playerid, RED,"[USAGE]: /getinfo [playerid] ");
- if(IsPlayerConnected(player1))
- {
- new Float:health, Float:armour, Float:x, Float:y, Float:z, interior = GetPlayerInterior(player1), world = GetPlayerVirtualWorld(player1);
- GetPlayerPos(player1, x, y, z);
- GetPlayerArmour(player1, armour);
- GetPlayerHealth(player1, health);
- format(string, sizeof(string),""corange"| ----------- "cgreen"[%s's] "corange"Information -------- | ", PlayerName(player1));
- format(str, sizeof(str),""cred"Health: %1f "corange"Armour: %1f "cgreen"Money: $%d "cblue" Scores: %d", health, armour, GetPlayerMoney(player1), GetPlayerScore(player1));
- format(str1, sizeof(str1),""cgreen"Position: %1f, %1f, %1f "cblue"Interior: %d "cred"Virtual World: %d", x, y, z, interior, world);
- format(str2, sizeof(str2),""cred"GodMode: %d "cgreen"AdminLevel: %d "cblue"Helper: %d "corange"Kills: %d "cgreen"Deaths: %d", PlayerInfo[player1][GodMode], PlayerInfo[player1][pAdmin], PlayerInfo[player1][pHelper], PlayerInfo[player1][pKills], PlayerInfo[player1][pDeaths]);
- SendClientMessage(playerid, WHITE, string);
- SendClientMessage(playerid, WHITE, str);
- SendClientMessage(playerid, WHITE, str1);
- SendClientMessage(playerid, WHITE, str2);
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connectd!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:god(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 3)
- {
- if(PlayerInfo[playerid][GodMode] == 0)
- {
- PlayerInfo[playerid][GodMode] = 1;
- SetPlayerHealth(playerid, 150256.22);
- CMDMessage(playerid,"GOD");
- }
- else
- {
- PlayerInfo[playerid][GodMode] = 0;
- SetPlayerHealth(playerid, 100.0);
- CMDMessage(playerid,"GOD");
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:aheli(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 3)
- {
- if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, RED,"[ERROR]: You already have a vehicle!");
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- PutPlayerInVehicle(playerid, CreateVehicle(487, X, Y, Z, 0.0,0, 1, 60), 0);
- SendClientMessage(playerid, BLUE,"Enjoy your new helicopter!");
- HasSpawnedCar[playerid] = 1;
- }
- else return SendClientMessage(playerid, RED,"[ERROR]: You need to be admin level 3 to use this command!");
- return 1;
- }
- CMD:sethealth(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 3)
- {
- new player1, str[120], amount;
- if(sscanf(params,"dd", player1, amount)) return SendClientMessage(playerid, RED,"[USAGE]: /sethealth [playerid] [health]");
- if(IsPlayerConnected(player1))
- {
- SetPlayerHealth(player1, amount);
- format(str, sizeof(str),"You have setted %s's health to %d", PlayerName(player1), amount);
- SendClientMessage(playerid, BLUE, str);
- TargetCMDMessage(playerid, player1,"SETHEALTH");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:carhealth(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 3)
- {
- new player1, str[120], amount;
- if(sscanf(params,"dd", player1, amount)) return SendClientMessage(playerid, RED,"[USAGE]: /carhealth [playerid] [health]");
- if(IsPlayerConnected(player1) && IsPlayerInAnyVehicle(playerid))
- {
- SetVehicleHealth(GetPlayerVehicleID(player1), amount);
- format(str, sizeof(str),"You have setted %s's vehicle's health to %d", PlayerName(player1), amount);
- SendClientMessage(playerid, BLUE, str);
- TargetCMDMessage(playerid, player1,"CARHEALTH");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected or is not in any vehicle!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:healall(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 3)
- {
- for(new i =0; i < MAX_PLAYERS; i ++ )
- {
- if(IsPlayerConnected(i))
- {
- SetPlayerHealth(i, 100.0);
- new str[100];
- format(str, sizeof(str),"Administrator %s has healed all players!", PlayerName(playerid));
- SendClientMessage(i, BLUE, str);
- CMDMessage(playerid,"HEALALL");
- }
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be admin level 3 to use this command!");
- return 1;
- }
- CMD:armourall(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 3)
- {
- for(new i =0; i < MAX_PLAYERS; i ++ )
- {
- if(IsPlayerConnected(i))
- {
- SetPlayerArmour(i, 100.0);
- new str[100];
- format(str, sizeof(str),"Administrator %s has armoured all players!", PlayerName(playerid));
- SendClientMessage(i, BLUE, str);
- CMDMessage(playerid,"ARMOURALL");
- }
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be admin level 3 to use this command!");
- return 1;
- }
- CMD:giveweapon(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 3)
- {
- new target, weapid, ammo;
- if(sscanf(params,"ddd", target, weapid, ammo)) return SendClientMessage(playerid, RED,"[USAGE]: /giveweapon [playerid] [weapon] [ammo]");
- if(IsValidWeapon(weapid))
- {
- if(IsPlayerConnected(target))
- {
- GivePlayerWeapon(target, weapid, ammo);
- new str[150];
- format(str, sizeof(str),"Administrator %s has given you %d ammo of weapon %d", PlayerName(playerid), ammo, weapid);
- SendClientMessage(target, BLUE, str);
- TargetCMDMessage(playerid, target,"GIVEWEAPON");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not allowed to give this weapon!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:givecash(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 3)
- {
- new player1, amount, string[128];
- if(sscanf(params,"dd", player1, amount)) return SendClientMessage(playerid, RED,"[USAGE]: /givecash [playerid] [amount]");
- if(IsPlayerConnected(player1))
- {
- GivePlayerMoney(player1, amount);
- format(string, sizeof(string),"Administrator %s has given you $%d amount of cash!", PlayerName(playerid), amount);
- SendClientMessage(player1, BLUE, string);
- TargetCMDMessage(playerid, player1,"GIVECASH");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:givescore(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 3)
- {
- new player1, amount, string[128];
- if(sscanf(params,"dd", player1, amount)) return SendClientMessage(playerid, RED,"[USAGE]: /givescore [playerid] [amount]");
- if(IsPlayerConnected(player1))
- {
- SetPlayerScore(player1, GetPlayerScore(player1)+amount);
- format(string, sizeof(string),"Administrator %s has given you %d score(s)!", PlayerName(playerid), amount);
- SendClientMessage(player1, BLUE, string);
- TargetCMDMessage(playerid, player1,"GIVESCORE");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- //--------------Level 1 commands------------------------------------------------
- CMD:freeze(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- new player1;
- if(sscanf(params,"d",player1)) return SendClientMessage(playerid, RED,"USAGE: /freeze [playerid]");
- if(IsPlayerConnected(player1))
- {
- if(PlayerInfo[player1][Frozen] == 0)
- {
- PlayerInfo[player1][Frozen] = 1;
- TogglePlayerControllable(player1, false);
- SendClientMessage(playerid, BLUE,"You have been frozen by some administrator!");
- new str[120];
- format(str, sizeof(str),"Administrator %s has frozen %s",PlayerName(playerid),PlayerName(player1));
- SendClientMessageToAll(BLUE, str);
- TargetCMDMessage(playerid,player1,"FREEZE");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is already frozen");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:unfreeze(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- new player1;
- if(sscanf(params,"d",player1)) return SendClientMessage(playerid, RED,"USAGE: /unfreeze [playerid]");
- if(IsPlayerConnected(player1))
- {
- if(PlayerInfo[player1][Frozen] == 1)
- {
- PlayerInfo[player1][Frozen] = 0;
- TogglePlayerControllable(player1, true);
- SendClientMessage(playerid, BLUE,"You have been unfrozen by some administrator!");
- new str[120];
- format(str, sizeof(str),"Administrator %s has unfrozen %s",PlayerName(playerid),PlayerName(player1));
- SendClientMessageToAll(BLUE, str);
- TargetCMDMessage(playerid,player1,"UNFREEZE");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not frozen");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:muted(playerid, params[])
- {
- new mutedcount = 0, string[152];
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- SendClientMessage(playerid, WHITE,"Muted Players:");
- for(new i = 0; i < MAX_PLAYERS; i ++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pMuted] == 1)
- {
- format(string, sizeof(string),"%s", PlayerName(i));
- SendClientMessage(playerid, WHITE, string);
- mutedcount++;
- }
- }
- }
- if(mutedcount == 0)
- {
- SendClientMessage(playerid, WHITE,"No player is muted right now!");
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be admin level 1 to use this command!");
- return 1;
- }
- CMD:jailed(playerid, params[])
- {
- new jailedcount = 0, string[152];
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- SendClientMessage(playerid, BLUE,"Jailed Players:");
- for(new i = 0; i < MAX_PLAYERS; i ++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pJailed] == 1)
- {
- format(string, sizeof(string),"%s", PlayerName(i));
- SendClientMessage(playerid, WHITE, string);
- jailedcount++;
- }
- }
- }
- if(jailedcount == 0)
- {
- SendClientMessage(playerid, BLUE,"No player is jailed right now!");
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be admin level 1 to use this command!");
- return 1;
- }
- CMD:frozen(playerid, params[])
- {
- new frozencount = 0, string[152];
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- SendClientMessage(playerid, BLUE,"Frozen Players:");
- for(new i = 0; i < MAX_PLAYERS; i ++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][Frozen] == 1)
- {
- format(string, sizeof(string),"%s", PlayerName(i));
- SendClientMessage(playerid, WHITE, string);
- frozencount++;
- }
- }
- }
- if(frozencount == 0)
- {
- SendClientMessage(playerid, BLUE,"No player is frozen right now!");
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be admin level 1 to use this command!");
- return 1;
- }
- CMD:mute(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- new player1, time, str[123], reason[30];
- if(sscanf(params,"dds[30]", player1, time)) return SendClientMessage(playerid, RED,"[USAGE]: /mute [playerid] [time (counted in minutes)] [reason]");
- if(IsPlayerConnected(player1))
- {
- if(PlayerInfo[player1][pMuted] == 0)
- {
- PlayerInfo[player1][pMuted] = 1;
- PlayerInfo[player1][pMuteTime] = time*60000;
- format(str, sizeof(str),"Administrator %s has muted %s for %i minutes [Reason: %s]", PlayerName(playerid), PlayerName(player1), time, reason);
- SendClientMessageToAll(BLUE, str);
- unmute[player1] = SetTimerEx("UnMuteMe", PlayerInfo[player1][pMuteTime], false, "d", playerid);
- TargetCMDMessage(playerid, player1,"MUTE");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is already muted!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:unmute(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- new player1, str[123];
- if(sscanf(params,"d", player1)) return SendClientMessage(playerid, RED,"[USAGE]: /unmute [playerid]");
- if(IsPlayerConnected(player1))
- {
- if(PlayerInfo[player1][pMuted] == 1)
- {
- PlayerInfo[player1][pMuted] = 0;
- PlayerInfo[player1][pMuteTime] = 0;
- format(str, sizeof(str),"Administrator %s has unmuted %s", PlayerName(playerid), PlayerName(player1));
- SendClientMessageToAll(BLUE, str);
- TargetCMDMessage(playerid, player1,"UNMUTE");
- KillTimer(unmute[player1]);
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not muted!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:goto(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- new player1, Float:X, Float:Y, Float:Z,str[123];
- if(sscanf(params,"d", player1)) return SendClientMessage(playerid, RED,"[USAGE]: /goto [playerid]");
- if(IsPlayerConnected(player1))
- {
- GetPlayerPos(player1, X, Y, Z);
- new interior = GetPlayerInterior(player1);
- new world = GetPlayerVirtualWorld(player1);
- SetPlayerInterior(playerid, interior);
- SetPlayerVirtualWorld(playerid, world);
- SetPlayerPos(playerid, X, Y, Z);
- format(str, sizeof(str),"You have been teleported to %s", PlayerName(player1));
- SendClientMessage(playerid, BLUE, str);
- TargetCMDMessage(playerid, player1,"GOTO");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be level 1 to use this command!");
- return 1;
- }
- CMD:get(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1 )
- {
- new player1, Float:X, Float:Y, Float:Z;
- new string[120];
- if(sscanf(params,"d", player1)) return SendClientMessage(playerid, RED,"[USAGE]: /get [playerid]");
- if(IsPlayerConnected(player1))
- {
- GetPlayerPos(playerid, X, Y, Z);
- new interior = GetPlayerInterior(playerid);
- new world = GetPlayerVirtualWorld(playerid);
- SetPlayerInterior(playerid, interior);
- SetPlayerPos(player1, X, Y, Z);
- SetPlayerVirtualWorld(player1, world);
- format(string, sizeof(string),"Administrator %s has teleported you to his position!", PlayerName(playerid));
- SendClientMessage(player1, BLUE, string);
- TargetCMDMessage(playerid, player1,"GET");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:acar(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, RED,"[JADMIN]: You already have a vehicle!");
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- PutPlayerInVehicle(playerid, CreateVehicle(415, X, Y, Z, 0.0,0, 1, 60), 0);
- CMDMessage(playerid, "ACAR");
- SendClientMessage(playerid, BLUE,"Enjoy your admin car");
- HasSpawnedCar[playerid] = 1;
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be admin level 1 to use this command");
- return 1;
- }
- CMD:jail(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- new player1, jtime, reason[100], adminname[MAX_PLAYER_NAME], playername[MAX_PLAYER_NAME], string[256];
- GetPlayerName(playerid, adminname, MAX_PLAYER_NAME);
- GetPlayerName(player1, playername, MAX_PLAYER_NAME);
- if(sscanf(params,"dds[24]", player1, jtime, reason)) return SendClientMessage(playerid, RED,"[USAGE]: /jail [playerid][minutes][reason]");
- if(IsPlayerConnected(player1) && PlayerInfo[player1][pAdmin] < SInfo[MaxLevel])
- {
- if(PlayerInfo[player1][pJailed] == 0)
- {
- TargetCMDMessage(playerid, player1,"JAIL");
- TogglePlayerControllable(player1,true);
- SetPlayerPos(player1,197.6661,173.8179,1003.0234);
- SetPlayerInterior(player1,3);
- SetCameraBehindPlayer(player1);
- JailTimer[player1] = SetTimerEx("ReleaseFromJail",jtime*60000,0,"d",player1);
- PlayerInfo[player1][pJailed] = 1;
- format(string, sizeof(string),"Administrator %s has jailed %s for %i minutes [Reason: %s]", adminname, playername, jtime, reason);
- return SendClientMessageToAll(BLUE, string);
- }
- else return SendClientMessage(playerid,RED,"[JADMIN]: Player is already in jail!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected or is the highest level admin");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- }
- CMD:unjail(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- new player1, adminname[MAX_PLAYER_NAME], playername[MAX_PLAYER_NAME], string[256];
- GetPlayerName(playerid, adminname, MAX_PLAYER_NAME);
- GetPlayerName(player1, playername, MAX_PLAYER_NAME);
- if(sscanf(params,"d", player1)) return SendClientMessage(playerid, RED,"[USAGE]: /unjail [playerid]");
- if(IsPlayerConnected(player1))
- {
- if(PlayerInfo[player1][pJailed] == 1)
- {
- TargetCMDMessage(playerid, player1,"UNJAIL");
- ReleaseFromJail(player1);
- PlayerInfo[player1][pJailed] = 0;
- format(string, sizeof(string),"Administrator %s has unjailed %s", adminname, playername);
- return SendClientMessageToAll(BLUE, string);
- }
- else return SendClientMessage(playerid,RED,"[JADMIN]: Player is not in jail!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected or is the highest level admin");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- }
- CMD:adminduty(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- if(PlayerInfo[playerid][AdminDuty] == 0)
- {
- new string[100];
- format(string, sizeof(string),"%s is now on admin duty!", PlayerName(playerid));
- SendClientMessageToAll(RED, string);
- PlayerInfo[playerid][AdminDuty] = 1;
- SetPlayerHealth(playerid, 99999.0);
- GivePlayerWeapon(playerid, 38, 20000);
- SetPlayerSkin(playerid, 217);
- SetPlayerColor(playerid, 0xFD01FDAA);
- }
- else if(PlayerInfo[playerid][AdminDuty] == 1)
- {
- new string[100];
- format(string, sizeof(string),"%s is now off admin duty!", PlayerName(playerid));
- SendClientMessageToAll(RED, string);
- PlayerInfo[playerid][AdminDuty] = 0;
- SetPlayerHealth(playerid, 0.0);
- ForceClassSelection(playerid);
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be admin to use this command!");
- return 1;
- }
- //---------------------Level 4+ Commands----------------------------------------
- CMD:freezeall(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 4)
- {
- for(new i = 0; i < MAX_PLAYERS; i ++)
- {
- if(IsPlayerConnected(i))
- {
- PlayerInfo[i][Frozen] = 1;
- TogglePlayerControllable(i, false);
- new str[120];
- format(str, sizeof(str),"Administrator %s has frozen everyone",PlayerName(playerid));
- SendClientMessage(i,BLUE, str);
- CMDMessage(playerid,"FREEZEALL");
- }
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:unfreezeall(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 4)
- {
- for(new i = 0; i < MAX_PLAYERS; i ++)
- {
- if(IsPlayerConnected(i))
- {
- PlayerInfo[i][Frozen] = 0;
- TogglePlayerControllable(i, true);
- new str[120];
- format(str, sizeof(str),"Administrator %s has unfrozen everyone",PlayerName(playerid));
- SendClientMessage(i,BLUE, str);
- CMDMessage(playerid,"UNFREEZEALL");
- }
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- return 1;
- }
- CMD:giveallcash(playerid, params[])
- {
- for(new i = 0; i < MAX_PLAYERS; i ++)
- {
- if(PlayerInfo[playerid][pAdmin] >= 4)
- {
- new ammount;
- if(sscanf(params,"d", ammount)) return SendClientMessage(playerid, RED,"[USAGE]: /giveallcash [ammount]");
- if(IsPlayerConnected(i))
- {
- GivePlayerMoney(i, ammount);
- new str[150];
- format(str, sizeof(str),"Administrator %s has given everyone $%d money", PlayerName(playerid), ammount);
- SendClientMessage(i, BLUE, str);
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- }
- return 1;
- }
- CMD:giveallscore(playerid, params[])
- {
- for(new i = 0; i < MAX_PLAYERS; i ++)
- {
- if(PlayerInfo[playerid][pAdmin] >= 4)
- {
- new ammount;
- if(sscanf(params,"d", ammount)) return SendClientMessage(playerid, RED,"[USAGE]: /giveallscore [ammount]");
- if(IsPlayerConnected(i))
- {
- SetPlayerScore(i, GetPlayerScore(i)+ammount);
- new str[150];
- format(str, sizeof(str),"Administrator %s has given everyone %d score(s)", PlayerName(playerid), ammount);
- SendClientMessage(i, BLUE, str);
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- }
- return 1;
- }
- CMD:giveallweapon(playerid, params[])
- {
- for(new i = 0; i < MAX_PLAYERS; i ++)
- {
- if(PlayerInfo[playerid][pAdmin] >= 4)
- {
- new weapid, ammo;
- if(sscanf(params,"dd", weapid, ammo)) return SendClientMessage(playerid, RED,"[USAGE]: /giveallweapon [weapon] [ammo]");
- if(IsValidWeapon(weapid))
- {
- if(IsPlayerConnected(i))
- {
- GivePlayerWeapon(i, weapid, ammo);
- new str[150];
- format(str, sizeof(str),"Administrator %s has given everyone %d ammo of weapon %d", PlayerName(playerid), ammo, weapid);
- SendClientMessage(i, BLUE, str);
- }
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not allowed to give this weapon!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You are not high enough level to use this command!");
- }
- return 1;
- }
- CMD:setscore(playerid, params[])
- {
- new player1, amount;
- if(PlayerInfo[playerid][pAdmin] >= 4)
- {
- if(sscanf(params,"dd", player1, amount)) return SendClientMessage(playerid, RED,"USAGE: /setscore [playerid][amount]");
- if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, RED,"[JADMIN]: Player not connected!");
- SetPlayerScore(player1, amount);
- TargetCMDMessage(playerid, player1,"SETSCORE");
- new str[100], str1[100];
- format(str, sizeof(str),"Administrator %s has setted your score(s) to %d", PlayerName(playerid),amount);
- format(str1, sizeof(str1),"You have setted %s's score(s) to %d", PlayerName(player1), amount);
- SendClientMessage(player1, BLUE, str);
- SendClientMessage(playerid, BLUE, str1);
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be admin level 4 to use this command!");
- return 1;
- }
- CMD:setcash(playerid, params[])
- {
- new player1, amount;
- if(PlayerInfo[playerid][pAdmin] >= 4)
- {
- if(sscanf(params,"dd", player1, amount)) return SendClientMessage(playerid, RED,"USAGE: /setcash [playerid][amount]");
- if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, RED,"[JADMIN]: Player not connected!");
- GivePlayerMoney(player1, amount);
- TargetCMDMessage(playerid, player1,"SETCASH");
- new str[100], str1[100];
- format(str, sizeof(str),"Administrator %s has setted your cash to $%d", PlayerName(playerid),amount);
- format(str1, sizeof(str1),"You have setted %s's cash to $%d", PlayerName(player1), amount);
- SendClientMessage(player1, BLUE, str);
- SendClientMessage(playerid, BLUE, str1);
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be admin level 4 to use this command!");
- return 1;
- }
- CMD:setkills(playerid, params[])
- {
- new player1, amount;
- if(PlayerInfo[playerid][pAdmin] >= 4)
- {
- if(sscanf(params,"dd", player1, amount)) return SendClientMessage(playerid, RED,"USAGE: /setkills [playerid][amount]");
- if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, RED,"[JADMIN]: Player not connected!");
- PlayerInfo[playerid][pKills] = amount;
- TargetCMDMessage(playerid, player1,"SETKILLS");
- new str[100], str1[100];
- format(str, sizeof(str),"Administrator %s has setted your kill(s) to %d", PlayerName(playerid),amount);
- format(str1, sizeof(str1),"You have setted %s's kill(s) to %d", PlayerName(player1), amount);
- SendClientMessage(player1, BLUE, str);
- SendClientMessage(playerid, BLUE, str1);
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be admin level 4 to use this command!");
- return 1;
- }
- CMD:setdeaths(playerid, params[])
- {
- new player1, amount;
- if(PlayerInfo[playerid][pAdmin] >= 4)
- {
- if(sscanf(params,"dd", player1, amount)) return SendClientMessage(playerid, RED,"USAGE: /setdeaths [playerid][amount]");
- if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, RED,"[JADMIN]: Player not connected!");
- PlayerInfo[playerid][pDeaths] = amount;
- TargetCMDMessage(playerid, player1,"SETDEATHS");
- new str[100], str1[100];
- format(str, sizeof(str),"Administrator %s has setted your death(s) to %d", PlayerName(playerid),amount);
- format(str1, sizeof(str1),"You have setted %s's death(s) to %d", PlayerName(player1), amount);
- SendClientMessage(player1, BLUE, str);
- SendClientMessage(playerid, BLUE, str1);
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You need to be admin level 4 to use this command!");
- return 1;
- }
- //---------------------[ Log the file ] ----------------------------------------
- forward SaveLog(filename[],text[]);
- public SaveLog(filename[],text[])
- {
- new File:file, filepath[256], string[256], year,month,day, hour,minute,second;
- getdate(year,month,day); gettime(hour,minute,second);
- format(filepath,sizeof(filepath),"Admin/Logs/%s.txt",filename);
- file = fopen(filepath,io_append);
- format(string,sizeof(string),"[%d.%d.%d %d:%d:%d] %s\r\n",day,month,year,hour,minute,second,text);
- fwrite(file,string);
- fclose(file);
- return 1;
- }
- //--------------------- [ Ping Check ] -----------------------------------------
- forward PingChecker(playerid);
- public PingChecker(playerid)
- {
- if(PlayerInfo[playerid][pAdmin] < 7 && SInfo[AllowedPing] != 0)
- {
- new ping = GetPlayerPing(playerid);
- if(ping > SInfo[AllowedPing])
- {
- new str[100];
- format(str, sizeof(str),"%s has been kicked for exceeding ping limit (Ping: %d | Allowed: %d)", PlayerName(playerid), ping, SInfo[AllowedPing]);
- SendClientMessageToAll(RED, str);
- Kick(playerid);
- }
- }
- return 1;
- }
- //---------------------- [ UnMuteMe] -------------------------------------------
- forward UnMuteMe(playerid);
- public UnMuteMe(playerid)
- {
- PlayerInfo[playerid][pMuted] = 0;
- PlayerInfo[playerid][pMuteTime] = 0;
- SendClientMessage(playerid, BLUE,"You have been 'Un-Muted'");
- return 1;
- }
- //--------------------Jail CMD forwards and stocks------------------------------
- forward ReleaseFromJail(player1);
- public ReleaseFromJail(player1)
- {
- KillTimer( JailTimer[player1] );
- PlayerInfo[player1][pJailTime] = 0; PlayerInfo[player1][pJailed] = 0;
- SetPlayerInterior(player1,0); SetPlayerPos(player1, 0.0, 0.0, 0.0); SpawnPlayer(player1);
- PlayerPlaySound(player1,1057,0.0,0.0,0.0);
- GameTextForPlayer(player1,"~g~Released",3000,3);
- SendClientMessage(player1,RED, "You have been released from jail by admin!");
- }
- //---------------------------------------------Normal players-------------------
- CMD:pm(playerid, params[])
- {
- new player1, str[100], pstr[100], astr[102], msg[133];
- if(sscanf(params,"ds[133]", player1, msg)) return SendClientMessage(playerid, RED,"[USAGE]: /pm [ id ] [ message ]");
- if(IsPlayerConnected(player1))
- {
- if(player1 != playerid)
- {
- if(DND[player1] != 1)
- {
- format(str, sizeof(str),"PM [TO] %s[%d]: %s", PlayerName(player1), player1, msg);
- format(pstr, sizeof(str),"PM [FROM] %s[%d]: %s", PlayerName(playerid), playerid, msg);
- format(astr, sizeof(astr),"PM [FROM] %s[%d] [TO] %s[%d]: %s", PlayerName(playerid), playerid, PlayerName(player1), player1, msg);
- SendClientMessage(playerid, YELLOW, str);
- SendClientMessage(player1, YELLOW, pstr);
- MessageToAdmins(GREY, astr);
- }
- else return SendClientMessage(playerid, RED,"User is in [NO PM] mode!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: You cannot PM yourself!");
- }
- else return SendClientMessage(playerid, RED,"[JADMIN]: Player is not connected!");
- return 1;
- }
- CMD:nopm(playerid, params)
- {
- if(DND[playerid] == 0)
- {
- DND[playerid] = 1;
- SendClientMessage(playerid, GREEN,"No PM mode enabled! "cred"You will not recieve any more PMs");
- }
- else if(DND[playerid] == 1)
- {
- DND[playerid] = 0;
- SendClientMessage(playerid, RED,"No PM mode disabled! "cgreen"You will now recieve PMs");
- }
- return 1;
- }
- //=================== [ OnPlayerCommandRecieved ] =============================
- public OnPlayerCommandReceived(playerid, cmdtext[])
- {
- if(PlayerInfo[playerid][pJailed] == 1 && PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid,RED,"[JADMIN]: You cannot use commands in jail");
- new string[128], pnamee[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pnamee, sizeof(pnamee));
- format(string, sizeof(string), "*** %s [%d] used: %s", pnamee,playerid,cmdtext);
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if( (PlayerInfo[i][pAdmin] > PlayerInfo[playerid][pAdmin]) && (PlayerInfo[i][pAdmin] > 5) && (i != playerid) )
- {
- SendClientMessage(i, 0xAAAAAAFF, string);
- }
- }
- }
- return 1;
- }
- //================ [ OnPlayerText ] ============================================
- public OnPlayerText(playerid, text[])
- {
- if(text[0] == '.' && PlayerInfo[playerid][pAdmin] >= 1)
- {
- new str[128];
- format(str, sizeof(str),"A.Chat %s: %s", PlayerName(playerid), text[1]);
- MessageToAdmins(0x690069AA, str);
- return 0;
- }
- if(SInfo[DCHAT] == 1)
- {
- SendClientMessage(playerid, RED,"Chat has been disabled!");
- return 0;
- }
- if(SInfo[Spam] == 1 && !IsPlayerAdmin(playerid) && PlayerInfo[playerid][pAdmin] < 7)
- {
- if(GetTickCount() - PlayerInfo[playerid][pSpamTime] < MSG_TIME_LIMIT)
- {
- new string[128];
- format(string, sizeof(string),"[JADMIN]: Anti-Spam warning! You must wait for %d seconds for each message! (Warnings: %d / %d)", MSG_TIME_LIMIT/1000, PlayerInfo[playerid][sWarns], MAX_SPAM_WARNS);
- SendClientMessage(playerid, RED,string);
- PlayerInfo[playerid][sWarns] ++;
- if(PlayerInfo[playerid][sWarns] >= MAX_SPAM_WARNS)
- {
- Kick(playerid);
- }
- return 0;
- }
- PlayerInfo[playerid][pSpamTime] = GetTickCount();
- }
- if(PlayerInfo[playerid][pMuted] == 1)
- {
- SendClientMessage(playerid, RED,"[JADMIN]: You cannot speak! you are muted!");
- return 0;
- }
- switch(PlayerInfo[playerid][AdminDuty])
- {
- case 0:
- {
- new str[128];
- format(str, sizeof(str),"%s [%d]: {FFFFFF}%s", PlayerName(playerid), playerid, text);
- SendClientMessageToAll(GetPlayerColor(playerid),str);
- return 0;
- }
- case 1:
- {
- new string[128];
- format(string, sizeof(string),"Admin %s: %s", PlayerName(playerid), text);
- SendClientMessageToAll(0xFD01FDAA, string);
- return 0;
- }
- }
- return 1;
- }
- //==================== [ OnPlayerStateChange ] =================================
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- //================ [ OnPlayerExitVehicle ] =====================================
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- if(HasSpawnedCar[playerid] == 1)
- {
- DestroyVehicle(vehicleid);
- }
- return 1;
- }
- //=========Thank you============================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement