Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- *****************************-
- Scripter: Jyothiranand. S
- Credits:-
- Gammix - Ban System
- *****************************-
- */
- #include <a_samp>
- #include <a_mysql>
- #include <kickbanfix>
- #include <zcmd>
- #include <easydialog>
- #include <sscanf2>
- #include <TimestampToDate>
- new connection = -1;
- native WP_Hash(buffer[], len, const str[]);
- #define SQL_HOST "localhost"
- #define SQL_USER "root"
- #define SQL_DBSE "jadmin"
- #define SQL_PASS ""
- #define DIALOG_LOGIN 1
- #define DIALOG_REGISTER 2
- #define DIALOG_ADMINCMDS 3
- #define DIALOG_COMMANDS 4
- #define DIALOG_ADMINS 5
- #define DIALOG_STATS 6
- #define WHITE 0xFFFFFFAA
- #define GREY 0xAFAFAFAA
- #define RED 0xFF0000AA
- #define YELLOW 0xFFFF00AA
- #define LIGHTBLUE 0x33CCFFAA
- #define CHAT_WHITE "{FFFFFF}"
- #define CHAT_GREY "{AFAFAF}"
- #define CHAT_RED "{FF0000}"
- #define CHAT_YELLOW "{FFFF00}"
- #define CHAT_LIGHTBLUE "{33CCFF}"
- enum playerInfo
- {
- jID,
- jName[MAX_PLAYER_NAME],
- jPassword[129],
- jScore,
- jMoney,
- jKills,
- jDeaths,
- jWanted,
- jMutedTime,
- jLevel,
- jVIP,
- jHelper,
- jLoginAttempts,
- jWarns,
- jVeh,
- onDuty,
- bool:jLogged
- };
- new PlayerData[MAX_PLAYERS][playerInfo];
- #define COLOR_WHITE (0xFFFFFFFF)
- #define COL_WHITE "{FFFFFF}"
- #define COLOR_RED (0xFF0400FF)
- #define COL_RED "{FF0400}"
- #define COLOR_TOMATO (0xFF6347FF)
- #define COL_TOMATO "{FF6347}"
- #define COLOR_PINK (0xFF0090FF)
- #define COL_PINK "{FF0090}"
- #define COLOR_GREEN (0x6AFF2AFF)
- #define COL_GREEN "{6AFF2A}"
- const KICK_DELAY = 50; // in ms
- const BAN_MASK = (-1 << (32 - (/*this is the CIDR ip detection range [def: 26]*/26)));
- new DB:banDatabase;
- new banTargetID[MAX_PLAYERS];
- new banTargetDays[MAX_PLAYERS];
- new banTargetReason[MAX_PLAYERS][64];
- new unbanTargetID[MAX_PLAYERS];
- new unbanTargetName[MAX_PLAYERS][MAX_PLAYER_NAME];
- new unbanTargetIp[MAX_PLAYERS][18];
- new Text:banTextDraw[2];
- new TotalConnectedPlayers;
- forward OnAccountDataLoaded(playerid);
- forward OnAccountCreate(playerid);
- forward KickPlayer(playerid);
- forward MuteCheck();
- native IsValidVehicle(vehicleid);
- main(){}
- public OnFilterScriptInit()
- {
- mysql_log(LOG_ERROR | LOG_WARNING, LOG_TYPE_HTML);
- connection = mysql_connect(SQL_HOST, SQL_USER, SQL_DBSE, SQL_PASS);
- print("..............................");
- print("..............................");
- print("JAdmin :: by :: Jyothiranand.S");
- print("..............................");
- print("..............................");
- banDatabase = db_open("bans.db");
- db_query(banDatabase, "PRAGMA synchronous = NORMAL");
- db_query(banDatabase, "PRAGMA journal_mode = WAL");
- db_query(banDatabase, "CREATE TABLE IF NOT EXISTS `users` \
- (`id` INTEGER PRIMARY KEY, \
- `name` VARCHAR(24), \
- `ip` VARCHAR(18), \
- `longip` INTEGER, \
- `expire_timestamp` INTEGER, \
- `register_timestamp` INTEGER, \
- `last_activity_timestamp` INTEGER, \
- `admin` VRACHAR(24), \
- `reason` VARCHAR(128)\
- )");
- banTextDraw[0] = TextDrawCreate(0.000000, 0.000000, "_");
- TextDrawBackgroundColor(banTextDraw[0], 255);
- TextDrawFont(banTextDraw[0], 1);
- TextDrawLetterSize(banTextDraw[0], 0.000000, 480.000000);
- TextDrawColor(banTextDraw[0], -1);
- TextDrawSetOutline(banTextDraw[0], 0);
- TextDrawSetProportional(banTextDraw[0], 1);
- TextDrawSetShadow(banTextDraw[0], 1);
- TextDrawUseBox(banTextDraw[0], 1);
- TextDrawBoxColor(banTextDraw[0], 255);
- TextDrawTextSize(banTextDraw[0], 640.000000, 0.000000);
- TextDrawSetSelectable(banTextDraw[0], 0);
- banTextDraw[1] = TextDrawCreate(310.000000, 200.000000, "~r~You are banned!");
- TextDrawAlignment(banTextDraw[1], 2);
- TextDrawBackgroundColor(banTextDraw[1], 255);
- TextDrawFont(banTextDraw[1], 1);
- TextDrawLetterSize(banTextDraw[1], 1.400000, 8.000000);
- TextDrawColor(banTextDraw[1], -1);
- TextDrawSetOutline(banTextDraw[1], 0);
- TextDrawSetProportional(banTextDraw[1], 1);
- TextDrawSetShadow(banTextDraw[1], 1);
- TextDrawSetSelectable(banTextDraw[1], 0);
- SetTimer("MuteCheck", 1000, true);
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- OnPlayerDisconnect(i, 1);
- }
- mysql_close(connection);
- db_close(banDatabase);
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jMutedTime] >= 1)
- {
- new msg[128];
- format(msg, sizeof(msg), CHAT_RED"You are muted! "CHAT_YELLOW"Wait for %i seconds.", PlayerData[playerid][jMutedTime]);
- SendClientMessage(playerid, -1, msg);
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- TotalConnectedPlayers++;
- new name[MAX_PLAYER_NAME];
- new ip[18];
- GetPlayerName(playerid, name, sizeof name);
- GetPlayerIp(playerid, ip, sizeof ip);
- new string[150];
- format(string, sizeof string, "SELECT * FROM `users` WHERE `name` = '%s' OR `ip` = '%s' OR (`longip` != 0 AND (`longip` & %i) = %i) LIMIT 1", name, ip, BAN_MASK, (Ban_GetLongIP(ip) & BAN_MASK));
- new DBResult:result = db_query(banDatabase, string);
- if (db_num_rows(result) != 0)
- {
- if (db_get_field_assoc_int(result, "expire_timestamp") != 0 && db_get_field_assoc_int(result, "expire_timestamp") <= gettime())
- {
- format(string, sizeof string, "DELETE FROM `users` WHERE `id` = %i", db_get_field_assoc_int(result, "id"));
- db_query(banDatabase, string);
- format(string, sizeof string, "Welcome back to server, its been %s since your ban was lifted.", ReturnTimelapse(db_get_field_assoc_int(result, "expire_timestamp"), gettime()));
- SendClientMessage(playerid, COLOR_GREEN, string);
- }
- else
- {
- format(string, sizeof string, "UPDATE `users` SET `last_activity_timestamp` = %i WHERE `id` = %i", gettime(), db_get_field_assoc_int(result, "id"));
- db_query(banDatabase, string);
- for (new i; i < 100; i++)
- {
- SendClientMessage(playerid, -1, "");
- }
- new admin[MAX_PLAYER_NAME];
- db_get_field_assoc(result, "admin", admin, sizeof admin);
- new reason[128];
- db_get_field_assoc(result, "reason", reason, sizeof reason);
- if (db_get_field_assoc_int(result, "expire_timestamp") == 0)
- {
- format(string, sizeof string, "You are still banned from server | Admin who banned you: %s | Banned on: %s | Timeleft for unban: Never (permanent ban)", admin, ReturnDate(db_get_field_assoc_int(result, "register_timestamp")));
- SendClientMessageToAll(COLOR_RED, string);
- }
- else
- {
- format(string, sizeof string, "You are still banned from server | Admin who banned you: %s | Banned on: %s | Timeleft for unban: %s", admin, ReturnDate(db_get_field_assoc_int(result, "register_timestamp")), ReturnTimelapse(gettime(), db_get_field_assoc_int(result, "expire_timestamp")));
- SendClientMessageToAll(COLOR_RED, string);
- }
- format(string, sizeof string, "Reason for ban: %s", reason);
- SendClientMessageToAll(COLOR_RED, string);
- TextDrawShowForPlayer(playerid, banTextDraw[0]);
- TextDrawShowForPlayer(playerid, banTextDraw[1]);
- return Kick(banTargetID[playerid], KICK_DELAY);
- }
- }
- db_free_result(result);
- PlayerData[playerid][jScore] = 0;
- PlayerData[playerid][jMoney] = 0;
- PlayerData[playerid][jKills] = 0;
- PlayerData[playerid][jDeaths] = 0;
- PlayerData[playerid][jWanted] = 0;
- PlayerData[playerid][jMutedTime] = 0;
- PlayerData[playerid][jLevel] = 0;
- PlayerData[playerid][jVIP] = 0;
- PlayerData[playerid][jHelper] = 0;
- PlayerData[playerid][jLoginAttempts] = 0;
- PlayerData[playerid][jWarns] = 0;
- PlayerData[playerid][jVeh] = INVALID_VEHICLE_ID;
- PlayerData[playerid][onDuty] = 0;
- PlayerData[playerid][jLogged] = false;
- new jQuery[128];
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- mysql_format(connection, jQuery, sizeof(jQuery), "SELECT * FROM `player` WHERE `name` = '%e' LIMIT 1", PlayerData[playerid][jName]);
- mysql_tquery(connection, jQuery, "OnAccountDataLoaded", "i", playerid);
- new msg[128];
- format(msg, sizeof(msg), CHAT_YELLOW"%s(%i) "CHAT_GREY"has connected to the server"CHAT_LIGHTBLUE" (Total Players: %i)", PlayerData[playerid][jName], playerid, TotalConnectedPlayers);
- SendClientMessageToAll(-1, msg);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- TotalConnectedPlayers--;
- new jQuery[256], msg[128];
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- mysql_format(connection, jQuery, sizeof(jQuery), "UPDATE `player` SET `score` = '%i',`money` = '%i',`kills` = '%i',`deaths` = '%i',`wanted` = '%i',`mutedtime` = '%i',`level` = '%i',`vip` = '%i',`helper` = '%i' WHERE `name` = '%e'", GetPlayerScore(playerid),
- GetPlayerMoney(playerid), PlayerData[playerid][jKills], PlayerData[playerid][jDeaths], GetPlayerWantedLevel(playerid), PlayerData[playerid][jMutedTime], PlayerData[playerid][jLevel], PlayerData[playerid][jVIP], PlayerData[playerid][jHelper], PlayerData[playerid][jName]);
- mysql_query(connection, jQuery);
- switch(reason)
- {
- case 0: format(msg, sizeof(msg), CHAT_YELLOW"%s(%i) "CHAT_RED"left the server"CHAT_LIGHTBLUE" (Timeout / Crash).", PlayerData[playerid][jName], playerid);
- case 1: format(msg, sizeof(msg), CHAT_YELLOW"%s(%i) "CHAT_RED"left the server"CHAT_LIGHTBLUE" (Quit). ", PlayerData[playerid][jName], playerid);
- case 2: format(msg, sizeof(msg), CHAT_YELLOW"%s(%i) "CHAT_RED"left the server"CHAT_LIGHTBLUE" (Kick / Ban).", PlayerData[playerid][jName], playerid);
- }
- SendClientMessageToAll(-1, msg);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(killerid == INVALID_PLAYER_ID) return 0;
- if(PlayerData[killerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLogged] == false) return 0;
- PlayerData[killerid][jKills]++;
- PlayerData[playerid][jDeaths]++;
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- if(PlayerData[playerid][jLogged] == false) return 0;
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case DIALOG_LOGIN:
- {
- if(!response) return Kick(playerid);
- new hashed_pass[129], string[128];
- WP_Hash(hashed_pass, sizeof(hashed_pass), inputtext);
- if(strcmp(hashed_pass, PlayerData[playerid][jPassword]) == 0)
- {
- PlayerData[playerid][jLogged] = true;
- format(string, sizeof(string), CHAT_YELLOW"%s(%i) "CHAT_GREY"has logged in to the server!", PlayerData[playerid][jName], playerid);
- SendClientMessageToAll(-1, string);
- SetPlayerScore(playerid, PlayerData[playerid][jScore]);
- ResetPlayerMoney(playerid);
- GivePlayerMoney(playerid, PlayerData[playerid][jMoney]);
- SetPlayerWantedLevel(playerid, PlayerData[playerid][jWanted]);
- }
- else
- {
- PlayerData[playerid][jLoginAttempts]++;
- if(PlayerData[playerid][jLoginAttempts] >= 3)
- {
- SendClientMessage(playerid, RED, "You have been kicked for (3/3) login attempts.");
- DelayKick(playerid);
- }
- else
- {
- format(string, sizeof(string), CHAT_RED"Wrong password! (%i/3) attempts left.", PlayerData[playerid][jName], playerid);
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", string, "Login", "Leave");
- }
- }
- }
- case DIALOG_REGISTER:
- {
- if(!response) return Kick(playerid);
- if(strlen(inputtext) <= 3) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Register", CHAT_RED"Your password must be greater than 3 characters!", "Register", "Leave");
- WP_Hash(PlayerData[playerid][jPassword], 129, inputtext);
- new jQuery[300];
- mysql_format(connection, jQuery, sizeof(jQuery), "INSERT INTO `player` (`name`, `password`) VALUES ('%e', '%e')", PlayerData[playerid][jName], PlayerData[playerid][jPassword]);
- mysql_tquery(connection, jQuery, "OnAccountCreate", "i", playerid);
- }
- }
- return 1;
- }
- public OnAccountDataLoaded(playerid)
- {
- new string[128];
- if(cache_num_rows() > 0)
- {
- PlayerData[playerid][jID] = cache_get_field_content_int(0, "id");
- cache_get_field_content(0, "password", PlayerData[playerid][jPassword], connection, 129);
- PlayerData[playerid][jScore] = cache_get_field_content_int(0, "score");
- PlayerData[playerid][jMoney] = cache_get_field_content_int(0, "money");
- PlayerData[playerid][jKills] = cache_get_field_content_int(0, "kills");
- PlayerData[playerid][jDeaths] = cache_get_field_content_int(0, "deaths");
- PlayerData[playerid][jWanted] = cache_get_field_content_int(0, "wanted");
- PlayerData[playerid][jMutedTime] = cache_get_field_content_int(0, "mutedtime");
- PlayerData[playerid][jLevel] = cache_get_field_content_int(0, "level");
- PlayerData[playerid][jVIP] = cache_get_field_content_int(0, "vip");
- PlayerData[playerid][jHelper] = cache_get_field_content_int(0, "helper");
- format(string, sizeof(string), CHAT_YELLOW"Welcome back '%s'. This name is already registered in the server.\n"CHAT_GREY"Type password below to login:", PlayerData[playerid][jName]);
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", string, "Login", "Leave");
- }
- else
- {
- format(string, sizeof(string), CHAT_YELLOW"Welcome back '%s'. This name is not registered in the server.\n"CHAT_GREY"Type password below to register:", PlayerData[playerid][jName]);
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Register", string, "Register", "Leave");
- }
- return 1;
- }
- public OnAccountCreate(playerid)
- {
- new string[128];
- PlayerData[playerid][jID] = cache_insert_id();
- format(string, sizeof(string), CHAT_YELLOW"%s(%i) "CHAT_WHITE"has registered to the server!", PlayerData[playerid][jName], playerid);
- SendClientMessageToAll(-1, string);
- return 1;
- }
- public KickPlayer(playerid)
- {
- Kick(playerid);
- return 1;
- }
- public MuteCheck()
- {
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(PlayerData[i][jMutedTime] >= 1)
- {
- PlayerData[i][jMutedTime]--;
- if(PlayerData[i][jMutedTime] <= 0) return SendClientMessage(i, RED, "You have been unmuted by the server.");
- }
- }
- return 1;
- }
- Ban_GetLongIP(const ip[])
- {
- new len = strlen(ip);
- if (!(len > 0 && len < 17))
- {
- return 0;
- }
- new count;
- new pos;
- new dest[3];
- new val[4];
- for (new i; i < len; i++)
- {
- if (ip[i] == '.' || i == len)
- {
- strmid(dest, ip, pos, i);
- pos = (i + 1);
- val[count] = strval(dest);
- if (!(0 <= val[count] <= 255))
- {
- return 0;
- }
- count++;
- if (count > 3)
- {
- return 0;
- }
- }
- }
- if (count != 3)
- {
- return 0;
- }
- return ((val[0] * 16777216) + (val[1] * 65536) + (val[2] * 256) + (val[3]));
- }
- ReturnDate(timestamp)
- {
- new year, month, day, unused;
- TimestampToDate(timestamp, year, month, day, unused, unused, unused, 0);
- static monthname[15];
- switch (month)
- {
- case 1: monthname = "January";
- case 2: monthname = "February";
- case 3: monthname = "March";
- case 4: monthname = "April";
- case 5: monthname = "May";
- case 6: monthname = "June";
- case 7: monthname = "July";
- case 8: monthname = "August";
- case 9: monthname = "September";
- case 10: monthname = "October";
- case 11: monthname = "November";
- case 12: monthname = "December";
- }
- new date[30];
- format(date, sizeof (date), "%i %s, %i", day, monthname, year);
- return date;
- }
- ReturnTimelapse(start, till)
- {
- new ret[32];
- new seconds = till - start;
- const
- MINUTE = 60,
- HOUR = 60 * MINUTE,
- DAY = 24 * HOUR,
- MONTH = 30 * DAY;
- if (seconds == 1)
- format(ret, sizeof(ret), "a second");
- if (seconds < (1 * MINUTE))
- format(ret, sizeof(ret), "%i seconds", seconds);
- else if (seconds < (2 * MINUTE))
- format(ret, sizeof(ret), "a minute");
- else if (seconds < (45 * MINUTE))
- format(ret, sizeof(ret), "%i minutes", (seconds / MINUTE));
- else if (seconds < (90 * MINUTE))
- format(ret, sizeof(ret), "an hour");
- else if (seconds < (24 * HOUR))
- format(ret, sizeof(ret), "%i hours", (seconds / HOUR));
- else if (seconds < (48 * HOUR))
- format(ret, sizeof(ret), "a day");
- else if (seconds < (30 * DAY))
- format(ret, sizeof(ret), "%i days", (seconds / DAY));
- else if (seconds < (12 * MONTH))
- {
- new months = floatround(seconds / DAY / 30);
- if (months <= 1)
- format(ret, sizeof(ret), "a month");
- else
- format(ret, sizeof(ret), "%i months", months);
- }
- else
- {
- new years = floatround(seconds / DAY / 365);
- if (years <= 1)
- format(ret, sizeof(ret), "a year");
- else
- format(ret, sizeof(ret), "%i years", years);
- }
- return ret;
- }
- DelayKick(playerid)
- {
- SetTimerEx("KickPlayer", 500, false, "i", playerid);
- return 1;
- }
- //Admin Commands
- CMD:acmds(playerid, params[])
- {
- new msg[700];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] < 1) return 0;
- if(PlayerData[playerid][jLevel] >= 1)
- {
- strcat(msg, CHAT_GREY"Admin Level 1:-\n"CHAT_YELLOW"/slap, /warn, /kick, /goto, /bring, /setvw");
- strcat(msg, CHAT_YELLOW"/rac, /veh, /fixveh, /mute, /unmute\n\n");
- strcat(msg, CHAT_GREY"Admin Level 2:-\n"CHAT_YELLOW"/slay, /spawn, /aheal, /jetpack, /setw\n");
- strcat(msg, CHAT_YELLOW"/getip, /teleport, /giveweapon, /disarm, /clearchat, /aod\n\n");
- strcat(msg, CHAT_GREY"Admin Level 3:-\n"CHAT_YELLOW"/sethealth, /setarmour, /setallhealth, /setallarmour\n");
- strcat(msg, CHAT_YELLOW"/settime, /freeze, /unfreeze, /announce\n\n");
- strcat(msg, CHAT_GREY"Admin Level 4:-\n"CHAT_YELLOW"/givecash, /giveallcash, /setskin, /setallskin\n");
- strcat(msg, CHAT_YELLOW"/setmoney, /resetmoney, /ban, /searchban\n\n");
- strcat(msg, CHAT_GREY"Admin Level 5:-\n"CHAT_YELLOW"/setlevel, /sethelper, /setvip, /setwanted, /restart\n\n\n");
- strcat(msg, CHAT_GREY" For chatting with other admins, use /a <text>.");
- ShowPlayerDialog(playerid, DIALOG_ADMINCMDS, DIALOG_STYLE_MSGBOX, "Admin Commands", msg, "Close", "");
- }
- return 1;
- }
- CMD:a(playerid, params[])
- {
- new textmsg[128], string[400];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 1)
- {
- if(sscanf(params, "s[128]", textmsg)) return SendClientMessage(playerid, RED, "USAGE: /a <text>");
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- format(string, sizeof(string), "ADMIN CHAT: %s(%i): %s", PlayerData[playerid][jName], playerid, textmsg);
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(PlayerData[i][jLevel] >= 1)
- {
- SendClientMessage(i, -1, string);
- }
- }
- }
- else return 0;
- return 1;
- }
- CMD:slap(playerid, params[])
- {
- new playerID, Float:playerX, Float:playerY, Float:playerZ, msg[150];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 1)
- {
- if(sscanf(params, "i", playerID)) return SendClientMessage(playerid, RED, "USAGE: /slap <playerid>");
- if(PlayerData[playerID][jLevel] >= PlayerData[playerid][jLevel]) return SendClientMessage(playerid, RED, "You cannot use this command to your higher level or at your level.");
- if(GetPlayerState(playerID) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, RED, "That player is not on foot.");
- if(PlayerData[playerID][jLogged] == false) return 0;
- GetPlayerPos(playerID, playerX, playerY, playerZ);
- SetPlayerPos(playerID, playerX, playerY, playerZ+8.0);
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have been slapped by"CHAT_GREY" administrator: "CHAT_YELLOW"%s(%i)", PlayerData[playerid][jName], playerid);
- SendClientMessage(playerID, -1, msg);
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have slapped"CHAT_YELLOW" %s(%i)", PlayerData[playerID][jName], playerID);
- SendClientMessage(playerid, -1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:warn(playerid, params[])
- {
- new playerID, reason[128], msg[200];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 1)
- {
- if(sscanf(params, "is[128]", playerID, reason)) return SendClientMessage(playerid, RED, "USAGE: /warn <playerid> <reason>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- if(PlayerData[playerID][jLevel] >= PlayerData[playerid][jLevel]) return SendClientMessage(playerid, RED, "You cannot use this command to your higher level or at your level.");
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_GREY"Administrator: "CHAT_RED"have warned"CHAT_YELLOW" %s(%i)"CHAT_RED" REASON: %s", PlayerData[playerID][jName], playerID, reason);
- SendClientMessageToAll(-1, msg);
- PlayerData[playerID][jWarns]++;
- if(PlayerData[playerID][jWarns] >= 3)
- {
- SendClientMessage(playerID, RED, "You have been kicked for exceed warnings!");
- DelayKick(playerID);
- }
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(PlayerData[i][jLevel] >= 1)
- {
- format(msg, sizeof(msg), CHAT_RED"ADMINISTRATOR WARNING: %s(%i) have warned %s(%i).", PlayerData[playerid][jName], playerid, PlayerData[playerID][jName], playerID);
- SendClientMessage(i, -1, msg);
- }
- }
- }
- else return 0;
- return 1;
- }
- CMD:kick(playerid, params[])
- {
- new playerID, reason[128], msg[200];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 1)
- {
- if(sscanf(params, "is[128]", playerID, reason)) return SendClientMessage(playerid, RED, "USAGE: /kick <playerid> <reason>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- if(PlayerData[playerID][jLevel] >= PlayerData[playerid][jLevel]) return SendClientMessage(playerid, RED, "You cannot use this command to your higher level or at your level.");
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_GREY"Administrator: "CHAT_RED"have kicked"CHAT_YELLOW" %s(%i)"CHAT_RED" REASON: %s", PlayerData[playerID][jName], playerID, reason);
- SendClientMessageToAll(-1, msg);
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(PlayerData[i][jLevel] >= 1)
- {
- format(msg, sizeof(msg), CHAT_RED"ADMINISTRATOR WARNING: %s(%i) have warned %s(%i).", PlayerData[playerid][jName], playerid, PlayerData[playerID][jName], playerID);
- }
- }
- }
- else return 0;
- return 1;
- }
- CMD:goto(playerid, params[])
- {
- new playerID, Float:x, Float:y, Float:z, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 1)
- {
- if(sscanf(params, "i", playerID)) return SendClientMessage(playerid, RED, "USAGE: /goto <playerid>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- if(playerID == playerid) return 0;
- if(GetPlayerState(playerID) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, RED, "This player is not on foot!");
- if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, RED, "You must be on foot to use this command!");
- GetPlayerPos(playerID, x, y, z);
- SetPlayerPos(playerid, x+2.0, y+2.0, z);
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_LIGHTBLUE"You have been teleported to"CHAT_YELLOW" %s(%i).", PlayerData[playerID][jName], playerID);
- SendClientMessage(playerid, -1, msg);
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_GREY"Administrator "CHAT_YELLOW"%s(%i) "CHAT_LIGHTBLUE"has teleported to you.", PlayerData[playerid][jName], playerID);
- SendClientMessage(playerID, -1, msg);
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(PlayerData[i][jLevel] >= 1)
- {
- format(msg, sizeof(msg), CHAT_GREY"ADMINISTRATOR WARNING: "CHAT_RED"%s(%i) have teleported %s(%i).", PlayerData[playerid][jName], playerid, PlayerData[playerID][jName], playerID);
- SendClientMessage(i, -1, msg);
- }
- }
- }
- else return 0;
- return 1;
- }
- CMD:bring(playerid, params[])
- {
- new playerID, Float:x, Float:y, Float:z, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 1)
- {
- if(sscanf(params, "i", playerID)) return SendClientMessage(playerid, RED, "USAGE: /bring <playerid>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- if(playerID == playerid) return 0;
- if(GetPlayerState(playerID) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, RED, "This player is not on foot!");
- if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, RED, "You must be on foot to use this command!");
- GetPlayerPos(playerid, x, y, z);
- SetPlayerPos(playerID, x+2.0, y+2.0, z);
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_LIGHTBLUE"You have been teleported to"CHAT_YELLOW" %s(%i).", PlayerData[playerid][jName], playerid);
- SendClientMessage(playerID, -1, msg);
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_YELLOW"%s(%i) "CHAT_LIGHTBLUE"has been teleported to you.", PlayerData[playerID][jName], playerID);
- SendClientMessage(playerid, -1, msg);
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(PlayerData[i][jLevel] >= 1)
- {
- format(msg, sizeof(msg), CHAT_RED"ADMINISTRATOR WARNING: %s(%i) teleported %s(%i) to him.", PlayerData[playerid][jName], playerid, PlayerData[playerID][jName], playerID);
- SendClientMessage(i, -1, msg);
- }
- }
- }
- else return 0;
- return 1;
- }
- CMD:setvw(playerid, params[])
- {
- new playerID, vwID, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 1)
- {
- if(sscanf(params, "ii", playerID, vwID)) return SendClientMessage(playerid, RED, "USAGE: /setvw <playerid> <world id>");
- if(vwID > 2147483647) return SendClientMessage(playerid, RED, "You cannot type number greater than 2,147,483,647. Its maximum.");
- if(vwID < 0) return SendClientMessage(playerid, RED, "You cannot type number less than 0.");
- SetPlayerVirtualWorld(playerID, vwID);
- format(msg, sizeof(msg), CHAT_YELLOW"Administrator "CHAT_LIGHTBLUE"has set your virtual world to %i.", vwID);
- SendClientMessage(playerID, -1, msg);
- GetPlayerName(playerid, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_LIGHTBLUE"You have set "CHAT_YELLOW"%s's(%i) virtual world to %i.", PlayerData[playerID][jName], playerID, vwID);
- SendClientMessage(playerid, -1, msg);
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- for(new i =0; i <MAX_PLAYERS; i++)
- {
- if(PlayerData[i][jLevel] >= 1)
- {
- format(msg, sizeof(msg), CHAT_RED"ADMINISTRATOR WARNING: %s(%i) has set %s's(%i) virtual world to %i.", PlayerData[playerid][jName], playerid, PlayerData[playerID][jName], playerID, vwID);
- SendClientMessage(i, -1, msg);
- }
- }
- }
- else return 0;
- return 1;
- }
- CMD:rac(playerid, params[])
- {
- new msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 1)
- {
- for(new maxveh = 0; maxveh <MAX_VEHICLES; maxveh++)
- {
- SetVehicleToRespawn(maxveh);
- format(msg, sizeof(msg), CHAT_GREY"ADMINISTRATOR have respawned all vehicles.");
- SendClientMessageToAll(-1, msg);
- }
- }
- else return 0;
- return 1;
- }
- CMD:veh(playerid, params[])
- {
- new vehicleID, Float:X, Float:Y, Float:Z, Float:A, colorfirst, colorsecond, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 1)
- {
- if(sscanf(params, "iii", vehicleID, colorfirst, colorsecond)) return SendClientMessage(playerid, RED, "USAGE: /veh <vehicleID> <color1> <color2>");
- if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 0;
- if(vehicleID < 400) return SendClientMessage(playerid, RED, "You have typed wrong vehicle ID.");
- if(vehicleID > 611) return SendClientMessage(playerid, RED, "You have typed wrong vehicle ID.");
- GetPlayerPos(playerid, X, Y, Z);
- GetPlayerFacingAngle(playerid, A);
- if(IsValidVehicle(PlayerData[playerid][jVeh]))
- {
- DestroyVehicle(PlayerData[playerid][jVeh]);
- }
- CreateVehicle(vehicleID, X+2.0, Y+2.0, Z, A, colorfirst, colorsecond, 0, 0);
- format(msg, sizeof(msg), CHAT_RED"You have created vehicle ID %i with color %i and color %i.", vehicleID, colorfirst, colorsecond);
- SendClientMessage(playerid, -1, msg);
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(PlayerData[i][jLevel] >= 1)
- {
- format(msg, sizeof(msg), CHAT_RED"ADMINISTRATOR WARNING: %s(%i) spawned a vehicle.", PlayerData[playerid][jName], playerid);
- SendClientMessage(i, -1, msg);
- }
- }
- }
- else return 0;
- return 1;
- }
- CMD:fixveh(playerid, params[])
- {
- new msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 1)
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- RepairVehicle(GetPlayerVehicleID(playerid));
- format(msg, sizeof(msg), CHAT_YELLOW"You have repaired this vehicle.");
- SendClientMessage(playerid, -1, msg);
- }
- else return SendClientMessage(playerid, RED, "You must be in vehicle to use this command!");
- }
- else return 0;
- return 1;
- }
- CMD:mute(playerid, params[])
- {
- new playerID, seconds, reason[128], msg[256];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 1)
- {
- if(sscanf(params, "iis[128]", playerID, seconds, reason)) return SendClientMessage(playerid, RED, "USAGE: /mute <playerid> <seconds> <reason>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- if(playerID == playerid) return 0;
- if(PlayerData[playerID][jLevel] >= PlayerData[playerid][jLevel]) return SendClientMessage(playerid, RED, "You cannot use this command to higher level or at your level!");
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"An administrator "CHAT_YELLOW"have muted %s(%i) for %i seconds, REASON: %s.", PlayerData[playerID][jName], playerID, seconds, reason);
- SendClientMessageToAll(-1, msg);
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- PlayerData[playerID][jMutedTime] = seconds;
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(PlayerData[i][jLevel] >= 1)
- {
- format(msg, sizeof(msg), CHAT_RED"%s(%i) muted %s(%i) for %s.", PlayerData[playerid][jName], playerid, PlayerData[playerID][jName], playerID, reason);
- SendClientMessage(i, -1, msg);
- }
- }
- }
- else return 0;
- return 1;
- }
- CMD:unmute(playerid, params[])
- {
- new playerID, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 1)
- {
- if(sscanf(params, "i", playerID)) return SendClientMessage(playerid, RED, "USAGE: /unmute <playerid>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- if(PlayerData[playerID][jMutedTime] <= 0) return SendClientMessage(playerid, RED, "This player is not muted!");
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- if(PlayerData[playerID][jMutedTime] >= 1)
- {
- format(msg, sizeof(msg), CHAT_RED"You have unmuted "CHAT_YELLOW"%s(%i).", PlayerData[playerID][jName], playerID);
- SendClientMessage(playerid, -1, msg);
- SendClientMessage(playerID, GREY, "You have been unmuted by an administrator.");
- }
- }
- else return 0;
- return 1;
- }
- CMD:slay(playerid, params[])
- {
- new playerID, reason[128], msg[256];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 2)
- {
- if(sscanf(params, "is[128]", playerID, reason)) return SendClientMessage(playerid, RED, "USAGE: /slay <playerid> <reason>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- if(playerID == playerid) return 0;
- if(GetPlayerState(playerID) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, RED, "This player must be on foot.");
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"An administrator has slayed "CHAT_YELLOW"%s(%i), REASON: %s.", PlayerData[playerID][jName], playerID, reason);
- SendClientMessageToAll(-1, msg);
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(PlayerData[i][jLevel] >= 1)
- {
- format(msg, sizeof(msg), CHAT_RED"ADMINISTRATOR WARNING: %s(%i) have slayed %s(%i) REASON: %s.", PlayerData[playerid][jName], playerid, PlayerData[playerID][jName], playerID);
- SendClientMessage(i, -1, msg);
- }
- }
- }
- else return 0;
- return 1;
- }
- CMD:spawn(playerid, params[])
- {
- new playerID, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 2)
- {
- if(sscanf(params, "i", playerID)) return SendClientMessage(playerid, RED, "USAGE: /spawn <playerid>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- SpawnPlayer(playerID);
- SendClientMessage(playerID, GREY, "You have been spawned by an administrator.");
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have spawned "CHAT_YELLOW"%s(%i).", PlayerData[playerID][jName], playerID);
- SendClientMessage(playerid, -1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:aheal(playerid, params[])
- {
- new playerID, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 2)
- {
- if(sscanf(params, "i", playerID)) return SendClientMessage(playerid, RED, "USAGE: /aheal <playerid>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- SetPlayerHealth(playerID, 100);
- SendClientMessage(playerID, GREY, "You have been healed by an administrator.");
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have healed "CHAT_YELLOW"%s(%i).", PlayerData[playerID][jName], playerID);
- SendClientMessage(playerid, -1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:jetpack(playerid, params[])
- {
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 2)
- {
- if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, RED, "You must be on foot to use this command!");
- SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
- SendClientMessage(playerid, RED, "You've spawned jetpack.");
- }
- else return 0;
- return 1;
- }
- CMD:setw(playerid, params[])
- {
- new playerID, wID, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 2)
- {
- if(sscanf(params, "ii", playerID, wID)) return SendClientMessage(playerid, RED, "USAGE: /setw <playerid> <1-20>");
- if(wID < 1) return SendClientMessage(playerid, RED, "Weather ID cannot be less than 1.");
- if(wID > 20) return SendClientMessage(playerid, RED, "Weather ID cannot be greater than 20.");
- if(PlayerData[playerid][jLogged] == false) return 0;
- SetPlayerWeather(playerID, wID);
- format(msg, sizeof(msg), CHAT_YELLOW"An administrator has set your weather ID to "CHAT_YELLOW"%i.", wID);
- SendClientMessage(playerID, -1, msg);
- format(msg, sizeof(msg), CHAT_RED"You have set %s's(%i) weather ID to %i", wID);
- SendClientMessage(playerid, -1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:getip(playerid, params[])
- {
- new playerID, findip[16], msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 2)
- {
- if(sscanf(params, "i", playerID)) return SendClientMessage(playerid, RED, "USAGE: /getip <playerid>");
- GetPlayerIp(playerID, findip, sizeof(findip));
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"%s's(%i) IP: %s.", PlayerData[playerID][jName], playerID, findip);
- SendClientMessage(playerid, -1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:teleport(playerid, params[])
- {
- new Float:x, Float:y, Float:z, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 2)
- {
- if(sscanf(params, "iii", x, y, z)) return SendClientMessage(playerid, RED, "USAGE: /teleport <x> <y> <z>");
- SetPlayerPos(playerid, x, y, z);
- format(msg, sizeof(msg), CHAT_RED"You have been teleported to %f, %f, %f.", x, y, z);
- SendClientMessage(playerid, -1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:giveweapon(playerid, params[])
- {
- new playerID, weaponID, ammo, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 2)
- {
- if(sscanf(params, "iii", playerID, weaponID, ammo)) return SendClientMessage(playerid, RED, "USAGE: /giveweapon <playerid> <weaponid> <ammo>");
- if(GetPlayerState(playerID) != PLAYER_STATE_ONFOOT) return 0;
- if(weaponID < 1) return SendClientMessage(playerid, RED, "The weapon ID you typed was wrong!");
- if(weaponID > 46) return SendClientMessage(playerid, RED, "The weapon ID you typed was wrong!");
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have given %s(%i) weapon ID: %i with ammo: %i.", PlayerData[playerID][jName], playerID, weaponID, ammo);
- SendClientMessage(playerid, -1, msg);
- GivePlayerWeapon(playerID, weaponID, ammo);
- }
- else return 0;
- return 1;
- }
- CMD:disarm(playerid, params[])
- {
- new playerID, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 2)
- {
- if(sscanf(params, "i", playerID)) return SendClientMessage(playerid, RED, "USAGE: /disarm <playerid>");
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have disarmed %s(%i).", PlayerData[playerID][jName], playerID);
- SendClientMessage(playerid, -1, msg);
- ResetPlayerWeapons(playerID);
- }
- else return 0;
- return 1;
- }
- CMD:clearchat(playerid, params[])
- {
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 2)
- {
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(-1, "");
- SendClientMessageToAll(WHITE, "Administrator cleared the chat!");
- }
- else return 0;
- return 1;
- }
- CMD:aod(playerid, params[])
- {
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 2)
- {
- if(PlayerData[playerid][onDuty] >= 1)
- {
- SendClientMessage(playerid, RED, "You are now off duty.");
- PlayerData[playerid][onDuty] = 0;
- }
- else
- {
- if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, RED, "You must be on foot to use this command!");
- SendClientMessage(playerid, GREY, "You are now on duty.");
- SetPlayerHealth(playerid, 100000000);
- PlayerData[playerid][onDuty] = 1;
- }
- }
- else return 0;
- return 1;
- }
- CMD:sethealth(playerid, params[])
- {
- new playerID, amount, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 3)
- {
- if(sscanf(params, "ii", playerID, amount)) return SendClientMessage(playerid, RED, "USAGE: /sethealth <playerid> <amount>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- if(GetPlayerState(playerID) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, RED, "This player must be on foot to use this command.");
- SetPlayerHealth(playerID, amount);
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have set "CHAT_YELLOW"%s's(%i) health to %i.", PlayerData[playerID][jName], playerID, amount);
- SendClientMessage(playerid, -1, msg);
- format(msg, sizeof(msg), CHAT_RED"An administrator has set your health to %i.", amount);
- SendClientMessage(playerID, -1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:setarmour(playerid, params[])
- {
- new playerID, amount, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 3)
- {
- if(sscanf(params, "ii", playerID, amount)) return SendClientMessage(playerid, RED, "USAGE: /setarmour <playerid> <amount>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- if(GetPlayerState(playerID) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, RED, "This player must be on foot to use this command.");
- SetPlayerArmour(playerID, amount);
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have set "CHAT_YELLOW"%s's(%i) armour to %i.", PlayerData[playerID][jName], playerID, amount);
- SendClientMessage(playerid, -1, msg);
- format(msg, sizeof(msg), CHAT_RED"An administrator has set your armour to %i.", amount);
- SendClientMessage(playerID, -1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:setallhealth(playerid, params[])
- {
- new amount, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 3)
- {
- if(sscanf(params, "i", amount)) return SendClientMessage(playerid, RED, "USAGE: /setallhealth <amount>");
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- SetPlayerHealth(i, amount);
- }
- format(msg, sizeof(msg), CHAT_RED"You have set all player's health to %i.", amount);
- SendClientMessage(playerid, -1, msg);
- format(msg, sizeof(msg), CHAT_RED"An administrator have set all player's health to %i.", amount);
- SendClientMessageToAll(-1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:setallarmour(playerid, params[])
- {
- new amount, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 3)
- {
- if(sscanf(params, "i", amount)) return SendClientMessage(playerid, RED, "USAGE: /setallarmour <amount>");
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- SetPlayerArmour(i, amount);
- }
- format(msg, sizeof(msg), CHAT_RED"You have set all player's armour to %i.", amount);
- SendClientMessage(playerid, -1, msg);
- format(msg, sizeof(msg), CHAT_RED"An administrator have set all player's armour to %i.", amount);
- SendClientMessageToAll(-1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:settime(playerid, params[])
- {
- new playerID, hours, minutes, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 3)
- {
- if(sscanf(params, "ii", playerID, hours, minutes)) return SendClientMessage(playerid, RED, "USAGE: /settime <playerid> <hours> <minutes>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- SetPlayerTime(playerID, hours, minutes);
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have set %s's(%i) time to : hours - %i, minutes - %i.", PlayerData[playerID][jName], playerID, hours, minutes);
- SendClientMessage(playerid, -1, msg);
- format(msg, sizeof(msg), CHAT_RED"An administrator have set your time to"CHAT_YELLOW" hours - %i, minutes - %i.", hours, minutes);
- SendClientMessage(playerID, -1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:freeze(playerid, params[])
- {
- new playerID, string[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 3)
- {
- if(sscanf(params, "i", playerID)) return SendClientMessage(playerid, RED, "USAGE: /freeze <playerid>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- TogglePlayerControllable(playerID, 0);
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(string, sizeof(string), CHAT_RED"You have freezed %s(%i).", PlayerData[playerID][jName], playerID);
- SendClientMessage(playerid, -1, string);
- SendClientMessage(playerID, RED, "You have been freeze by an administrator.");
- }
- else return 0;
- return 1;
- }
- CMD:unfreeze(playerid, params[])
- {
- new playerID, string[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 3)
- {
- if(sscanf(params, "i", playerID)) return SendClientMessage(playerid, RED, "USAGE: /unfreeze <playerid>");
- TogglePlayerSpectating(playerID, 1);
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(string, sizeof(string), CHAT_RED"You have unfreezed %s(%i).", PlayerData[playerID][jName], playerID);
- SendClientMessage(playerid, -1, string);
- SendClientMessage(playerID, -1, "You have been unfreezed by an administrator.");
- }
- else return 0;
- return 1;
- }
- CMD:announce(playerid, params[])
- {
- new textmsg[256], string[300];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 3)
- {
- if(sscanf(params, "s[256]", textmsg)) return SendClientMessage(playerid, RED, "USAGE: /announce <text>");
- format(string, sizeof(string), "Administrator Announcement: %s", textmsg);
- SendClientMessageToAll(-1, string);
- }
- else return 0;
- return 1;
- }
- CMD:givecash(playerid, params[])
- {
- new playerID, amount, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 4)
- {
- if(sscanf(params, "ii", playerID, amount)) return SendClientMessage(playerid, RED, "USAGE: /givecash <playerid> <amount>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- GivePlayerMoney(playerID, amount);
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have given $%i to %s(%i).", amount, PlayerData[playerID][jName], playerID);
- SendClientMessage(playerid, -1, msg);
- format(msg, sizeof(msg), CHAT_RED"An administrator has given you $%i.", amount);
- SendClientMessage(playerID, -1, msg);
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(PlayerData[i][jLevel] >= 1)
- {
- format(msg, sizeof(msg), CHAT_RED"ADMINISTRATOR WARNING: %s(%i) has given $%i to %s(%i).", PlayerData[playerid][jName], playerid, amount, PlayerData[playerID][jName], playerID);
- SendClientMessage(i, -1, msg);
- }
- }
- }
- else return 0;
- return 1;
- }
- CMD:giveallcash(playerid, params[])
- {
- new amount, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 4)
- {
- if(sscanf(params, "i", amount)) return SendClientMessage(playerid, RED, "USAGE: /giveallcash <amount>");
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- GivePlayerMoney(i, amount);
- format(msg, sizeof(msg), CHAT_RED"An administrator have given $%i to all players.", amount);
- SendClientMessageToAll(-1, msg);
- }
- }
- else return 0;
- return 1;
- }
- CMD:setskin(playerid, params[])
- {
- new playerID, skinID, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 4)
- {
- if(sscanf(params, "ii", playerID, skinID)) return SendClientMessage(playerid, RED, "USAGE: /setskin <playerid> <skinid>");
- if(GetPlayerState(playerID) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, RED, "This player must be on foot to use this command.");
- if(skinID < 0) return SendClientMessage(playerid, RED, "The skin ID you typed was wrong, you can type in range 0-299.");
- if(skinID > 299) return SendClientMessage(playerid, RED, "The skin ID you typed was wrong, you can type in range 0-299.");
- SetPlayerSkin(playerID, skinID);
- format(msg, sizeof(msg), CHAT_RED"An administrator has set your skin to "CHAT_YELLOW"%i", skinID);
- SendClientMessage(playerID, -1, msg);
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have set %s's(%i) skin ID to %i.", PlayerData[playerID][jName], playerID, skinID);
- SendClientMessage(playerid, -1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:setallskin(playerid, params[])
- {
- new skinID, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 4)
- {
- if(sscanf(params, "i", skinID)) return SendClientMessage(playerid, RED, "USAGE: /setallskin <skinid>");
- if(skinID < 0) return SendClientMessage(playerid, RED, "The skin ID you typed was wrong, you can type in rage 0-299.");
- if(skinID > 299) return SendClientMessage(playerid, RED, "The skin ID you typed was wrong, you can type in rage 0-299.");
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- SetPlayerSkin(i, skinID);
- format(msg, sizeof(msg), CHAT_RED"An administrator has set all player's skin ID to "CHAT_YELLOW"%i.", skinID);
- SendClientMessageToAll(-1, msg);
- }
- }
- else return 0;
- return 1;
- }
- CMD:setmoney(playerid, params[])
- {
- new playerID, amount, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 4)
- {
- if(sscanf(params, "ii", playerID, amount)) return SendClientMessage(playerid, RED, "USAGE: /setmoney <playerid> <amount>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- ResetPlayerMoney(playerID);
- GivePlayerMoney(playerID, amount);
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have set %s's(%i) money to %i", PlayerData[playerID][jName], playerID, amount);
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(PlayerData[i][jLevel] >= 1)
- {
- format(msg, sizeof(msg), CHAT_RED"%s(%i) has set %s's(%i) money to %i.", PlayerData[playerid][jName], playerid, PlayerData[playerID][jName], playerID, amount);
- SendClientMessage(i, -1, msg);
- }
- }
- }
- else return 0;
- return 1;
- }
- CMD:resetmoney(playerid, params[])
- {
- new playerID, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 4)
- {
- if(sscanf(params, "i", playerID)) return SendClientMessage(playerid, RED, "USAGE: /resetmoney <playerid>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- ResetPlayerMoney(playerID);
- GetPlayerName(playerID, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have resetted %s's(%i) money.", PlayerData[playerID][jName], playerID);
- SendClientMessage(playerid, -1, msg);
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(PlayerData[i][jLevel] >= 1)
- {
- format(msg, sizeof(msg), CHAT_RED"ADMINISTRATOR WARNING: %s(%i) has reset %s's(%i) money.", PlayerData[playerid][jName], playerid, PlayerData[playerID][jName], playerID);
- SendClientMessage(i, -1, msg);
- }
- }
- }
- else return 0;
- return 1;
- }
- CMD:ban(playerid, params[])
- {
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] < 4) return 0;
- new targetid;
- new reason[64];
- new days;
- if (sscanf(params, "uis[64]", targetid, days, reason))
- {
- SendClientMessage(playerid, COLOR_WHITE, "Usage: /ban [id/name] [days] [reason]");
- return SendClientMessage(playerid, COLOR_WHITE, "Note: 0 days means a permanent ban from server.");
- }
- if (!IsPlayerConnected(targetid))
- {
- return SendClientMessage(playerid, COLOR_TOMATO, "Target player isn't online.");
- }
- if (days < 0 || days > 365)
- {
- return SendClientMessage(playerid, COLOR_TOMATO, "Number of days cannot be negative or greater than 365 days i.e. a year! [0 = permanent ban]");
- }
- if (strlen(reason) < 4)
- {
- return SendClientMessage(playerid, COLOR_TOMATO, "Invalid reason entered.");
- }
- banTargetID[playerid] = targetid;
- banTargetDays[playerid] = days;
- format(banTargetReason[playerid], sizeof banTargetReason[], reason);
- new name[MAX_PLAYER_NAME];
- new ip[18];
- GetPlayerName(targetid, name, sizeof name);
- GetPlayerIp(targetid, ip, sizeof ip);
- new string[1024] = ""COL_WHITE"You are about to ban a player! Please confirm the following\ncredentials and click \""COL_PINK"Ban"COL_WHITE"\" if they are correct, else click \""COL_TOMATO"Cancel"COL_WHITE"\".";
- if (days != 0)
- {
- format(string, sizeof string, "%s\n\n- "COL_PINK"Player: "COL_WHITE"%s (IP: %s)\n- "COL_PINK"Type: "COL_WHITE"Temporary - %i days\n- "COL_PINK"Reason: "COL_WHITE"%s",
- string, name, ip, days, reason);
- }
- else
- {
- format(string, sizeof string, "%s\n\n- "COL_PINK"Player: "COL_WHITE"%s (IP: %s)\n- "COL_PINK"Type: "COL_WHITE"Permanent\n- "COL_PINK"Reason: "COL_WHITE"%s",
- string, name, ip, reason);
- }
- strcat(string, "\n\n"COL_WHITE"Admin Note: If the cheat player used is challengable, make sure you have\nsome kind of evidence in case a ban appeal is posted.");
- return Dialog_Show(playerid, BAN_PLAYER, DIALOG_STYLE_MSGBOX, "Ban A Player...", string, "Ban", "Cancel");
- }
- CMD:searchban(playerid, params[])
- {
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] < 4) return 0;
- if (!params[0] || params[0] == ' ' || strlen(params) < 4)
- {
- return SendClientMessage(playerid, COLOR_WHITE, "Usage: /searchban [name/ip]");
- }
- new bool:nameEntered;
- for (new i; params[i] != EOS; i++)
- {
- if (params[i] == '.' || params[i] >= '0' && params[i] <= '9')
- {
- continue;
- }
- nameEntered = true;
- break;
- }
- new string[1024];
- if (nameEntered)
- {
- format(string, sizeof string, "SELECT * FROM `users` WHERE `name` = '%s' LIMIT 1", params);
- }
- else
- {
- if (!Ban_GetLongIP(params))
- {
- return SendClientMessage(playerid, COLOR_TOMATO, "Invalid IP. Address entered.");
- }
- format(string, sizeof string, "SELECT * FROM `users` WHERE (`longip` != 0 AND (`longip` & %i) = %i) LIMIT 1", BAN_MASK, (Ban_GetLongIP(params) & BAN_MASK));
- }
- new DBResult:result = db_query(banDatabase, string);
- if (db_num_rows(result) == 0)
- {
- if (nameEntered)
- {
- SendClientMessage(playerid, COLOR_TOMATO, "The player you are looking for is not banned.");
- }
- else
- {
- SendClientMessage(playerid, COLOR_TOMATO, "The IP. you entered is not banned.");
- }
- return db_free_result(result);
- }
- if (db_get_field_assoc_int(result, "expire_timestamp") != 0 && db_get_field_assoc_int(result, "expire_timestamp") <= gettime())
- {
- format(string, sizeof string, "DELETE FROM `users` WHERE `id` = %i", db_get_field_assoc_int(result, "id"));
- db_query(banDatabase, string);
- new name[MAX_PLAYER_NAME];
- db_get_field_assoc(result, "name", name, sizeof name);
- format(string, sizeof string, "\"%s\"'s ban was lifted %s ago.", name, ReturnTimelapse(db_get_field_assoc_int(result, "expire_timestamp"), gettime()));
- SendClientMessage(playerid, COLOR_GREEN, string);
- return db_free_result(result);
- }
- unbanTargetID[playerid] = db_get_field_assoc_int(result, "id");
- db_get_field_assoc(result, "name", unbanTargetName[playerid], sizeof unbanTargetName[]);
- db_get_field_assoc(result, "ip", unbanTargetIp[playerid], sizeof unbanTargetIp[]);
- new reason[64];
- db_get_field_assoc(result, "reason", reason, sizeof reason);
- new admin[MAX_PLAYER_NAME];
- db_get_field_assoc(result, "admin", admin, sizeof admin);
- format(string, sizeof string, ""COL_WHITE"Showing ban result for your search \""COL_TOMATO"%s"COL_WHITE"\".\nIf you want to unban this player personally, click \""COL_PINK"Unban"COL_WHITE"\"; or click \""COL_TOMATO"Close"COL_WHITE"\" to close this dialog!", params);
- if (db_get_field_assoc_int(result, "expire_timestamp") != 0)
- {
- format(string, sizeof string, "%s\n\n- "COL_PINK"Player: "COL_WHITE"%s (IP: %s)\n- "COL_PINK"Dated: "COL_WHITE"%s (%s ago)\n- "COL_PINK"Timeleft For Unban: "COL_WHITE"%s\n- "COL_PINK"Admin Who Banned: "COL_WHITE"%s\n- "COL_PINK"Reason: "COL_WHITE"%s",
- string, unbanTargetName[playerid], unbanTargetIp[playerid], ReturnDate(db_get_field_assoc_int(result, "register_timestamp")), ReturnTimelapse(db_get_field_assoc_int(result, "register_timestamp"), gettime()), ReturnTimelapse(gettime(), db_get_field_assoc_int(result, "expire_timestamp")), admin, reason);
- }
- else
- {
- format(string, sizeof string, "%s\n\n- "COL_PINK"Player: "COL_WHITE"%s (IP: %s)\n- "COL_PINK"Dated: "COL_WHITE"%s (%s ago)\n- "COL_PINK"Timeleft For Unban: "COL_WHITE"Never (permanent ban)\n- "COL_PINK"Admin Who Banned: "COL_WHITE"%s\n- "COL_PINK"Reason: "COL_WHITE"%s",
- string, unbanTargetName[playerid], unbanTargetIp[playerid], ReturnDate(db_get_field_assoc_int(result, "register_timestamp")), ReturnTimelapse(db_get_field_assoc_int(result, "register_timestamp"), gettime()), admin, reason);
- }
- format(string, sizeof string, "%s\n\n"COL_WHITE"Player last active was on \"%s\" during ban time period!", string, ReturnDate(db_get_field_assoc_int(result, "last_activity_timestamp")));
- db_free_result(result);
- return Dialog_Show(playerid, SEARCH_BANNED_PLAYER, DIALOG_STYLE_MSGBOX, "Search result for banned Player / IP...", string, "Close", "UnBan");
- }
- CMD:setlevel(playerid, params[])
- {
- new playerID, aLevel, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 5)
- {
- if(sscanf(params, "ii", playerID, aLevel)) return SendClientMessage(playerid, RED, "USAGE: /setlevel <playerid> <level>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- PlayerData[playerID][jLevel] = aLevel;
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"%s(%i) has set you to admin level %i.", PlayerData[playerid][jName], playerid, aLevel);
- SendClientMessage(playerid, -1, msg);
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have set %s's(%i) admin level to %i.", PlayerData[playerID][jName], playerID, aLevel);
- SendClientMessage(playerID, -1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:sethelper(playerid, params[])
- {
- new playerID, hLevel, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 5)
- {
- if(sscanf(params, "ii", playerID, hLevel)) return SendClientMessage(playerid, RED, "USAGE: /sethelper <playerid> <level>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- PlayerData[playerID][jHelper] = hLevel;
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"%s(%i) has set you to helper level %i.", PlayerData[playerid][jName], playerid, hLevel);
- SendClientMessage(playerID, -1, msg);
- format(msg, sizeof(msg), CHAT_RED"You have set %s's(%i) helper level to %i.", PlayerData[playerID][jName], playerid, hLevel);
- SendClientMessage(playerid, -1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:setvip(playerid, params[])
- {
- new playerID, vLevel, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 5)
- {
- if(sscanf(params, "ii", playerID, vLevel)) return SendClientMessage(playerid, RED, "USAGE: /setvip <playerid> <level>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- PlayerData[playerID][jVIP] = vLevel;
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"%s(%i) has set you to vip level %i.", PlayerData[playerid][jName], playerid, vLevel);
- SendClientMessage(playerID, -1, msg);
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have set %s's(%i) vip level to %i.", PlayerData[playerid][jName], playerid, vLevel);
- SendClientMessage(playerid, -1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:setwanted(playerid, params[])
- {
- new playerID, wLevel, msg[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 5)
- {
- if(sscanf(params, "ii", playerID, wLevel)) return SendClientMessage(playerid, RED, "USAGE: /setwanted <playerid> <wanted level>");
- if(PlayerData[playerID][jLogged] == false) return 0;
- SetPlayerWantedLevel(playerID, wLevel);
- GetPlayerName(playerid, PlayerData[playerid][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"%s(%i) has set your wanted level to %i.", PlayerData[playerid][jName], playerid, wLevel);
- SendClientMessage(playerID, -1, msg);
- GetPlayerName(playerID, PlayerData[playerID][jName], MAX_PLAYER_NAME);
- format(msg, sizeof(msg), CHAT_RED"You have set %s's(%i) wanted level to %i.", PlayerData[playerID][jName], playerID, wLevel);
- SendClientMessage(playerid, -1, msg);
- }
- else return 0;
- return 1;
- }
- CMD:restart(playerid, params[])
- {
- if(PlayerData[playerid][jLogged] == false) return 0;
- if(PlayerData[playerid][jLevel] >= 5)
- {
- SendRconCommand("gmx");
- }
- else return 0;
- return 1;
- }
- //Player Commands
- CMD:cmds(playerid, params[])
- {
- new str[128];
- if(PlayerData[playerid][jLogged] == false) return 0;
- strcat(str, "/admins, /stats.");
- ShowPlayerDialog(playerid, DIALOG_COMMANDS, DIALOG_STYLE_MSGBOX, "Server Commands", str, "Close", "");
- return 1;
- }
- CMD:admins(playerid, params[])
- {
- new string[256];
- if(PlayerData[playerid][jLogged] == false) return 0;
- for(new i = 0; i <MAX_PLAYERS; i++)
- {
- if(PlayerData[i][jLevel] >= 1)
- {
- GetPlayerName(i, PlayerData[i][jName], MAX_PLAYER_NAME);
- format(string, sizeof(string), CHAT_YELLOW"%s(%i) - Level %i", PlayerData[i][jName], i, PlayerData[i][jLevel]);
- ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, "Server Admins", string, "Close", "");
- }
- SendClientMessage(playerid, RED, "No Admins Online.");
- }
- return 1;
- }
- CMD:stats(playerid, params[])
- {
- new string[1500];
- if(PlayerData[playerid][jLogged] == false) return 0;
- format(string, sizeof(string), CHAT_GREY"Score: "CHAT_YELLOW"%i\n"CHAT_GREY"Money: "CHAT_YELLOW"%i\n"CHAT_GREY"Wanted Level: "CHAT_YELLOW"%i\n"CHAT_GREY"Kills: "CHAT_YELLOW"%i\n"CHAT_GREY"Deaths: "CHAT_YELLOW"%i\n"CHAT_GREY"Admin: "CHAT_YELLOW"%i\n"CHAT_GREY"VIP: "CHAT_YELLOW"%i\n"CHAT_GREY"Helper: "CHAT_YELLOW"%i\n",
- GetPlayerScore(playerid), GetPlayerMoney(playerid), GetPlayerWantedLevel(playerid), PlayerData[playerid][jKills], PlayerData[playerid][jDeaths], PlayerData[playerid][jLevel], PlayerData[playerid][jVIP], PlayerData[playerid][jHelper]);
- ShowPlayerDialog(playerid, DIALOG_STATS, DIALOG_STYLE_MSGBOX, "Your Stats", string, "Close", "");
- return 1;
- }
- Dialog:BAN_PLAYER(playerid, response, listitem, inputtext[])
- {
- if (!IsPlayerConnected(banTargetID[playerid]))
- {
- return SendClientMessage(playerid, COLOR_TOMATO, "The player you were trying to ban left the server recently.");
- }
- new string[512];
- if (!response)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(banTargetID[playerid], name, sizeof name);
- format(string, sizeof string, "Ban on %s was canceled by you!", name);
- return SendClientMessage(playerid, COLOR_TOMATO, string);
- }
- new name[MAX_PLAYER_NAME];
- new ip[18];
- GetPlayerName(banTargetID[playerid], name, sizeof name);
- GetPlayerIp(banTargetID[playerid], ip, sizeof ip);
- new admin[MAX_PLAYER_NAME];
- GetPlayerName(playerid, admin, sizeof admin);
- for (new i; i < 100; i++)
- {
- SendClientMessage(banTargetID[playerid], -1, "");
- }
- if (banTargetDays[playerid] != 0)
- {
- format(string, sizeof string, "\"%s\" has been banned by admin \"%s\" for %i days; for reason: %s.", name, admin, banTargetDays[playerid], banTargetReason[playerid]);
- SendClientMessageToAll(COLOR_RED, string);
- }
- else
- {
- format(string, sizeof string, "\"%s\" has been permanently banned by admin \"%s\"; for reason: %s.", name, admin, banTargetReason[playerid]);
- SendClientMessageToAll(COLOR_RED, string);
- }
- format(string, sizeof string, "INSERT INTO `users`(`name`, `ip`, `longip`, `expire_timestamp`, `register_timestamp`, `last_activity_timestamp`, `admin`, `reason`) VALUES('%s', '%s', %i, %i, %i, %i, '%s', '%s')", name, ip, Ban_GetLongIP(ip), (banTargetDays[playerid] == 0) ? (0) : (gettime() + (banTargetDays[playerid] * 24 * 60 * 60)), gettime(), gettime(), name, banTargetReason[playerid]);
- db_query(banDatabase, string);
- TextDrawShowForPlayer(playerid, banTextDraw[0]);
- TextDrawShowForPlayer(playerid, banTextDraw[1]);
- return Kick(banTargetID[playerid], KICK_DELAY);
- }
- Dialog:SEARCH_BANNED_PLAYER(playerid, response, listitem, inputtext[])
- {
- if (response)
- {
- return 1;
- }
- new string[256];
- format(string, sizeof string, "DELETE FROM `users` WHERE `name` = '%s' OR `ip` = '%s' OR `longip` != 0 AND (`longip` & %i) = %i", unbanTargetName[playerid], unbanTargetIp[playerid], BAN_MASK, (Ban_GetLongIP(unbanTargetIp[playerid]) & BAN_MASK));
- db_query(banDatabase, string);
- format(string, sizeof string, "You have unbanned player \"%s\" successfully!", unbanTargetName[playerid]);
- return SendClientMessage(playerid, COLOR_GREEN, string);
- }
- /* SQL Tables */
- CREATE TABLE IF NOT EXISTS `player` (`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,`name` varchar(25),`password` varchar(129),`score` int(11) NOT NULL DEFAULT '0',`money` int(11) NOT NULL DEFAULT '0',`kills` int(11) NOT NULL DEFAULT '0',`deaths` int(11) NOT NULL DEFAULT '0',`wanted` int(11) NOT NULL DEFAULT '0',`mutedtime` int(11) NOT NULL DEFAULT '0',`level` int(11) NOT NULL DEFAULT '0',`vip` int(11) NOT NULL DEFAULT '0',`helper` int(11) NOT NULL DEFUALT '0')
Add Comment
Please, Sign In to add comment