Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Official Nex Admin System
- // Made by Ne[X]oR
- #define FILTERSCRIPT
- #include <a_samp>
- #include <a_mysql>
- #include <zcmd>
- #include <sscanf2>
- #include <foreach>
- #include <fixes2>
- //----------------------------- Password Hashing
- native WP_Hash(_buffer[], len, const str[]);
- // ---------------------------- MySQL Defines
- #define mysql_host "localhost" // Change this
- #define mysql_user "root" // Change this
- #define mysql_pass "" // Change this
- #define mysql_db "nadmin" // Change this
- static mysql;
- //----------------------------- Some Colors
- #define COLOR_WHITE 0xFFFFFFFF
- #define COLOR_RED 0xFF0606FF
- #define COLOR_REPORT 0xFFFF91FF
- //----------------------------- Admin Enumerator
- enum pInfo
- {
- aLogged,
- aLevel,
- aIP[16],
- aPass[256],
- aALogin
- }
- new aInfo[MAX_PLAYERS][pInfo];
- //----------------------------- Admin Variables
- new AdminChat[MAX_PLAYERS];
- new ACPerm[MAX_PLAYERS];
- new Float:aMark[MAX_PLAYERS][3];
- new aInt[MAX_PLAYERS];
- new aVW[MAX_PLAYERS];
- new Specing[MAX_PLAYERS];
- new bool:Fly[MAX_PLAYERS];
- //----------------------------- Server Variables
- new ChatLock = 0;
- new AdminLock = 0;
- #define MAX_CUSTOM_VEHICLES 100
- new cVeh[MAX_CUSTOM_VEHICLES];
- //----------------------------- Player Variables
- new Muted[MAX_PLAYERS];
- new MuteTimer[MAX_PLAYERS];
- new Jailed[MAX_PLAYERS];
- new JTimer[MAX_PLAYERS];
- new CPerm[MAX_PLAYERS];
- new Reported[MAX_PLAYERS];
- new ReportTimer[MAX_PLAYERS];
- new RMute[MAX_PLAYERS];
- new RMuteTimer[MAX_PLAYERS];
- new Spec[MAX_PLAYERS];
- new Warns[MAX_PLAYERS];
- new Freeze[MAX_PLAYERS];
- //----------------------------- Jail Coordinations
- new Float:CellPos[][4] =
- {
- {264.3172,81.9794,1001.0391},
- {264.5367,86.5032,1001.0391}
- };
- //----------------------------- Dialog Defines
- #define DIALOG_PASSWORD 0
- #define DIALOG_SERVER_NAME 1
- #define DIALOG_SERVER_PASS 2
- #define DIALOG_SERVER_PANEL 3
- #define DIALOG_SERVER_MODE 4
- #define DIALOG_SERVER_ECHO 5
- #define DIALOG_SERVER_GMTEXT 6
- #define DIALOG_SERVER_MAP 7
- #define DIALOG_SERVER_SAY 8
- #define DIALOG_SERVER_GRAVITY 9
- #define DIALOG_SERVER_WEB 10
- #define DIALOG_SERVER_LOADFS 11
- #define DIALOG_SERVER_UNLOADFS 12
- #define DIALOG_SERVER_RELOADFS 13
- #define DIALOG_SERVER_RCONPASS 14
- #define DIALOG_SERVER_LANG 15
- #define DIALOG_SERVER_EXEC 16
- //-----------------------------
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Nex's Admin System has been loaded.");
- print("--------------------------------------\n");
- // Mysql connection
- mysql = mysql_connect(mysql_host, mysql_user, mysql_db, mysql_pass);
- mysql_log(LOG_ALL);
- if(mysql_errno(mysql) != 0) print("NexAdmin: Could not connect to MySQL database.");
- else print("NexAdmin: MySQL connection is stable.");
- // Table creation
- mysql_tquery(mysql, "CREATE TABLE IF NOT EXISTS `Admins` ( "\
- "`Username` varchar(24) NOT NULL," \
- "`AdminLevel` int(1) NOT NULL," \
- "`IP` varchar(16) NOT NULL," \
- "`APassword` varchar(256) NOT NULL," \
- "`ALogin` int(1) NOT NULL," \
- " PRIMARY KEY (`Username`)" \
- ") ENGINE = InnoDB DEFAULT CHARSET = latin1");
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i))
- {
- new query[128];
- mysql_format(mysql, query, sizeof(query), "SELECT * FROM `Admins` WHERE `Username`='%e' LIMIT 1", RPN(i));
- mysql_tquery(mysql, query, "AdminCheck", "i", i);
- }
- }
- if(!fexist("bans.cfg"))
- {
- new File:file = fopen("bans.cfg");
- fclose(file);
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- mysql_close(mysql);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- SendClientMessage(playerid, COLOR_WHITE, "Nex Admin System has been loaded on this server.");
- new File:file = fopen("bans.cfg", io_readwrite), buf[128];
- new date[3], banreason[128], banmsg[3][24], string[248];
- while(fread(file, buf))
- {
- if(strfind(buf, RPN(playerid), false) != -1 && strfind(buf, RPIP(playerid), false) != -1)
- {
- sscanf(buf, "p<|>s[24]s[16]s[24]s[128]iii", banmsg[0], banmsg[1], banmsg[2], banreason, date[0], date[1], date[2]);
- if(!strcmp(banmsg[0], RPN(playerid), false, strlen(RPN(playerid))) && !strcmp(banmsg[0], RPN(playerid), false, strlen(RPN(playerid))))
- {
- SendClientMessage(playerid, COLOR_RED, "----------- Ban Information -----------");
- format(string, sizeof(string), "{42EB00}The username {FF0000}%s {42EB00}(IP Address: {FF0000}%s{42EB00}) is banned from this server.", banmsg[0], banmsg[1]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- format(string, sizeof(string), "{42EB00}You have been banned by {FF0000}%s {42EB00}for {FF0000}%s.", banmsg[2], banreason);
- SendClientMessage(playerid, COLOR_WHITE, string);
- format(string ,sizeof(string), "{42EB00}The date of banning is {FF0000}%i{42EB00}/{FF0000}%i{42EB00}/{FF0000}%i", date[0], date[1], date[2]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- SendClientMessage(playerid, COLOR_WHITE, "{42EB00}If you feel that you have been banned wrongly, contact an Administrator.");
- SendClientMessage(playerid, COLOR_RED, "--------------------------------------------");
- SetTimerEx("DelayedKick", 100, 0, "i", playerid);
- fclose(file);
- return 1;
- }
- }
- else if(strfind(buf, RPN(playerid), false) != -1)
- {
- sscanf(buf, "p<|>s[24]s[24]s[128]iii", banmsg[0], banmsg[1], banreason, date[0], date[1], date[2]);
- if(!strcmp(banmsg[0], RPN(playerid), false, strlen(banmsg[0])) && !strcmp(banmsg[0], RPN(playerid), false, strlen(RPN(playerid))))
- {
- SendClientMessage(playerid, COLOR_RED, "----------- Ban Information -----------");
- format(string, sizeof(string), "{42EB00}The username {FF0000}%s {42EB00}is banned from this server.", banmsg[0]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- format(string, sizeof(string), "{42EB00}You have been banned by {FF0000}%s {42EB00}for {FF0000}%s.", banmsg[1], banreason);
- SendClientMessage(playerid, COLOR_WHITE, string);
- format(string ,sizeof(string), "{42EB00}The date of banning is {FF0000}%i{42EB00}/{FF0000}%i{42EB00}/{FF0000}%i", date[0], date[1], date[2]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- SendClientMessage(playerid, COLOR_WHITE, "{42EB00}If you feel that you have been banned wrongly, contact an Administrator.");
- SendClientMessage(playerid, COLOR_RED, "--------------------------------------------");
- getdate(date[2], date[1], date[0]);
- format(string, sizeof(string), "%s|The Server|Ban Evasion(%s)|%i|%i|%i\r\n", RPIP(playerid), RPN(playerid), date[0], date[1], date[2]);
- fclose(file);
- file = fopen("bans.cfg", io_append);
- fwrite(file, string);
- fclose(file);
- SetTimerEx("DelayedKick", 100, 0, "i", playerid);
- return 1;
- }
- }
- else if(strfind(buf, RPIP(playerid), false) != -1)
- {
- sscanf(buf, "p<|>s[16]s[24]s[128]iii", banmsg[0], banmsg[1], banreason, date[0], date[1], date[2]);
- SendClientMessage(playerid, COLOR_RED, "----------- Ban Information -----------");
- format(string, sizeof(string), "{42EB00}The IP Address {FF0000}%s {42EB00}is banned from this server.", banmsg[0]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- format(string, sizeof(string), "{42EB00}You have been banned by {FF0000}%s {42EB00}for {FF0000}%s.", banmsg[1], banreason);
- SendClientMessage(playerid, COLOR_WHITE, string);
- format(string ,sizeof(string), "{42EB00}The date of banning is {FF0000}%i{42EB00}/{FF0000}%i{42EB00}/{FF0000}%i", date[0], date[1], date[2]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- SendClientMessage(playerid, COLOR_WHITE, "{42EB00}If you feel that you have been banned wrongly, contact an Administrator.");
- SendClientMessage(playerid, COLOR_RED, "--------------------------------------------");
- getdate(date[2], date[1], date[0]);
- format(string, sizeof(string), "%s|The Server|Ban Evasion(%s)|%i|%i|%i\r\n", RPN(playerid), RPIP(playerid), date[0], date[1], date[2]);
- fclose(file);
- file = fopen("bans.cfg", io_append);
- fwrite(file, string);
- fclose(file);
- SetTimerEx("DelayedKick", 100, 0, "i", playerid);
- return 1;
- }
- }
- Spec[playerid] = -1;
- aInfo[playerid][aLogged] = 0;
- new query[128];
- mysql_format(mysql, query, sizeof(query), "SELECT * FROM `Admins` WHERE `Username`='%e' LIMIT 1", RPN(playerid));
- mysql_tquery(mysql, query, "AdminCheck", "i", playerid);
- return 1;
- }
- forward AdminCheck(playerid);
- public AdminCheck(playerid)
- {
- new rows, fields, string[128];
- cache_get_data(rows, fields, mysql);
- if(rows)
- {
- cache_get_field_content(0, "APassword", aInfo[playerid][aPass], mysql, 256);
- cache_get_field_content(0, "IP", aInfo[playerid][aIP], mysql, 16);
- aInfo[playerid][aLevel] = cache_get_field_content_int(0, "AdminLevel");
- aInfo[playerid][aALogin] = cache_get_field_content_int(0, "ALogin");
- AdminChat[playerid] = 1;
- Specing[playerid] = -1;
- if(aInfo[playerid][aALogin] && !strcmp(aInfo[playerid][aIP], RPIP(playerid), true) && strlen(aInfo[playerid][aPass]))
- {
- format(string, sizeof(string), " You have been automatically logged in as %d level Administrator.", aInfo[playerid][aLevel]);
- SendClientMessage(playerid, COLOR_RED, string);
- aInfo[playerid][aLogged] = 1;
- AdminChat[playerid] = 1;
- Specing[playerid] = -1;
- new log[128];
- format(log, sizeof(log), " %s (%s) has been automatically logged into his admin account.", RPN(playerid), RPIP(playerid));
- Log("logs/alogin.log", log);
- return 1;
- }
- else if(strcmp(aInfo[playerid][aIP], RPIP(playerid), true))
- {
- new query[248];
- mysql_format(mysql, query, sizeof(query), "UPDATE `Admins` SET `IP`='%e' WHERE `Username`='%e' LIMIT 1", RPIP(playerid), RPN(playerid));
- mysql_tquery(mysql, query);
- }
- if(!strlen(aInfo[playerid][aPass])) SendClientMessage(playerid, COLOR_RED, " You are registered as an Administrator, Please setup your password using /AdmPass.");
- else SendClientMessage(playerid, COLOR_RED, " You are registered as an Administrator, Please login to receieve Admin powers using: /ALogin");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(aInfo[playerid][aLevel])
- {
- new query[500], string[128];
- mysql_format(mysql, query, sizeof(query), "UPDATE `Admins` SET `AdminLevel`='%d', `APassword`='%s', `ALogin`='%d' WHERE `Username`='%e' LIMIT 1",
- aInfo[playerid][aLevel], aInfo[playerid][aPass], aInfo[playerid][aALogin], RPN(playerid));
- mysql_tquery(mysql, query);
- format(string, sizeof(string), " Administrator %s has disconnected from the server.", RPN(playerid));
- SendAMessage(1, string);
- }
- ClearAdmin(playerid);
- ClearPlayer(playerid);
- return 1;
- }
- // Stocks
- stock RPIP(playerid)
- {
- new ip[16];
- GetPlayerIp(playerid, ip, sizeof(ip));
- return ip;
- }
- stock IsIP(ip[])
- {
- new dots = 0, nums = 0, other = 0;
- for(new i = 0; i < strlen(ip); i++)
- {
- switch(ip[i])
- {
- case '.':
- {
- dots++;
- }
- case '0'..'9':
- {
- nums++;
- }
- default:
- {
- other++;
- }
- }
- }
- if(dots != 3 || nums > 12 || other != 0 || nums < 4) return 0;
- else return 1;
- }
- stock RPN(playerid)
- {
- new name[24];
- GetPlayerName(playerid, name, 24);
- return name;
- }
- stock RPIDFN(playername[])
- {
- for(new i = 0; i <= MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- new playername2[MAX_PLAYER_NAME];
- GetPlayerName(i, playername2, sizeof(playername2));
- if(strcmp(playername2, playername, true, strlen(playername)) == 0)
- {
- return i;
- }
- }
- }
- return INVALID_PLAYER_ID;
- }
- stock IsAuth(playerid, alevel)
- {
- if(aInfo[playerid][aLogged] && aInfo[playerid][aLevel] >= alevel) return 1;
- else return 0;
- }
- stock NoAuth(playerid)
- {
- SendClientMessage(playerid, COLOR_WHITE, "You are not authorized to use this command.");
- return 1;
- }
- stock SendAMessage(alevel, string[])
- {
- foreach(new i : Player)
- {
- if(aInfo[i][aLevel] >= alevel && AdminChat[i]) SendClientMessage(i, COLOR_RED, string);
- }
- return 1;
- }
- stock RPARN(playerid)
- {
- new name[32];
- if(IsPlayerAdmin(playerid)) format(name, sizeof(name), "RCON Admin");
- switch(aInfo[playerid][aLevel])
- {
- case 1: format(name, sizeof(name), "Junior Admin");
- case 2: format(name, sizeof(name), "General Admin");
- case 3: format(name, sizeof(name), "Senior Admin");
- case 4: format(name, sizeof(name), "Head Admin");
- case 5: format(name, sizeof(name), "Elite Admin");
- case 6: format(name, sizeof(name), "Server Owner");
- case 7: format(name, sizeof(name), "Server Scripter");
- }
- return name;
- }
- stock Log(sz_fileName[], sz_input[]) {
- new sz_logEntry[156], i_dateTime[2][3], File: fileHandle = fopen(sz_fileName, io_append);
- gettime(i_dateTime[0][0], i_dateTime[0][1], i_dateTime[0][2]);
- getdate(i_dateTime[1][0], i_dateTime[1][1], i_dateTime[1][2]);
- format(sz_logEntry, sizeof(sz_logEntry), "[%i/%i/%i - %i:%i:%i] %s\r\n", i_dateTime[1][0], i_dateTime[1][1], i_dateTime[1][2], i_dateTime[0][0], i_dateTime[0][1], i_dateTime[0][2], sz_input);
- fwrite(fileHandle, sz_logEntry);
- return fclose(fileHandle);
- }
- stock RIPID(IP[])
- {
- foreach(new i: Player)
- {
- if(!strcmp(RPIP(i), IP, false)) return i;
- }
- return -1;
- }
- stock ClearAdmin(playerid)
- {
- if(Muted[playerid]) KillTimer(MuteTimer[playerid]);
- aInfo[playerid][aLevel] = aInfo[playerid][aALogin] = AdminChat[playerid] = aVW[playerid] = aInt[playerid] = 0;
- aMark[playerid][0] = aMark[playerid][1] = aMark[playerid][2] = 0;
- format(aInfo[playerid][aIP], 16, "");
- format(aInfo[playerid][aPass], 256, "");
- Specing[playerid] = -1;
- Fly[playerid] = false;
- }
- stock ClearPlayer(playerid)
- {
- if(Muted[playerid]) KillTimer(MuteTimer[playerid]);
- Muted[playerid] = 0;
- if(Reported[playerid]) KillTimer(ReportTimer[playerid]);
- Reported[playerid] = 0;
- if(RMute[playerid]) KillTimer(RMuteTimer[playerid]);
- RMute[playerid] = 0;
- Spec[playerid] = -1;
- Warns[playerid] = 0;
- }
- stock fdeleteline(filename[], line)
- {
- new count, string[256], File:file, File:temp;
- file= fopen(filename, io_read);
- temp = fopen("tmpfile.tmp", io_write);
- while (fread(file, string))
- if (++count != line)
- fwrite(temp, string);
- fclose(file);
- fclose(temp);
- file= fopen(filename, io_write);
- temp = fopen("tmpfile.tmp", io_read);
- while (fread(temp, string))
- fwrite(file, string);
- fclose(file);
- fclose(temp);
- fremove("tmpfile.tmp");
- }
- stock IsBike(vehicleid)
- {
- new model = GetVehicleModel(vehicleid);
- if(model == 448 || model == 461 || model == 462 || model == 463 || model == 468 || model == 471 || model == 481 || model == 509 || model == 510 || model == 521 || model == 522 || model == 523 || model == 581 || model == 586) return 1;
- else return 0;
- }
- stock IsPlane(vehicleid)
- {
- new model = GetVehicleModel(vehicleid);
- if(model == 460 || model == 476 || model == 511 || model == 512 || model == 513 || model == 519 || model == 520 || model == 553 || model == 577 || model == 592 || model == 593) return 1;
- else if(model == 417 || model == 425 || model == 447 || model == 469 || model == 487 || model == 488 || model == 497 || model == 548 || model == 563) return 1;
- else return 0;
- }
- stock IsVehicleEmpty(vehicleid)
- {
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i) && GetPlayerVehicleID(i) == vehicleid) return 0;
- }
- return 1;
- }
- // ------------------------------------------------
- public OnRconLoginAttempt(ip[], password[], success)
- {
- new string[248], log[248];
- if(success)
- {
- if(RIPID(ip) > -1) format(string, sizeof(string), "Attention: %s has logged in as RCON Administrator.", RPN(RIPID(ip)));
- else format(string, sizeof(string), "Attention: IP Address %s has logged in as an RCON Administrator.", ip);
- }
- else
- {
- if(RIPID(ip) > -1) format(string, sizeof(string), "Warning: %s has failed to login to the RCON.", RPN(RIPID(ip)));
- else format(string, sizeof(string), "Warning: IP Address %s has failed to login to the RCON.", ip);
- }
- SendAMessage(1, string);
- format(log, sizeof(log), "IP Address %s has attempted to login to the RCON, Success: %d.", ip, success);
- Log("logs/rcon.log", log);
- return 1;
- }
- // --------------------------------------------------
- public OnPlayerCommandPerformed(playerid, cmdtext[], success)
- {
- printf("[CMD] [%s]: %s", RPN(playerid), cmdtext);
- return 1;
- }
- // -------------------------- OnPlayerCommandText
- CMD:ahelp(playerid) return cmd_ah(playerid);
- CMD:ah(playerid)
- {
- if(!aInfo[playerid][aLevel]) return SendClientMessage(playerid, COLOR_WHITE, "You are not authorized to use this command.");
- SendClientMessage(playerid, COLOR_RED, "Level 1: /a /togadmin /kick /ban /gethere /goto /admpass /alogin /alogout /setskin");
- SendClientMessage(playerid, COLOR_RED, "Level 1: /spec /autologin /(un)mute /getveh /gotoveh /asay /kill /jetpack /cc");
- if(aInfo[playerid][aLevel] > 1) SendClientMessage(playerid, COLOR_RED, "Level 2: /gotoloc /mark /rmute /jail /release /fine /pfine /vehnitro /vehhyd /slap /freeze /wanted");
- if(aInfo[playerid][aLevel] > 1) SendClientMessage(playerid, COLOR_RED, "Level 2: /vehcolor /vehpj /disarm /givemoney /setscore /fly /setint /setvw /sethp /setarmor");
- if(aInfo[playerid][aLevel] > 2) SendClientMessage(playerid, COLOR_RED, "Level 3: /ptp /gotopos /banip /banaccount /unban /unbanip /veh /destroyveh /jetpackall");
- if(aInfo[playerid][aLevel] > 2) SendClientMessage(playerid, COLOR_RED, "Level 3: /respawnveh /(un)warn /givegun /setmoney /check(ip) /slapall /blow /setwanted");
- if(aInfo[playerid][aLevel] > 3) SendClientMessage(playerid, COLOR_RED, "Level 4: /lockchat /allowchat /kickall /getall /givegunall /disarmall /(un)freezeall");
- if(aInfo[playerid][aLevel] > 3) SendClientMessage(playerid, COLOR_RED, "Level 4: /givemoneyall /setmoneyall /setname /setarmorall /sethpall");
- if(aInfo[playerid][aLevel] > 4) SendClientMessage(playerid, COLOR_RED, "Level 5: /lockadmin /allowadmin /fakechat /killall /setweather /settime /blowall");
- if(aInfo[playerid][aLevel] > 5) SendClientMessage(playerid, COLOR_RED, "Level 6: /makeadmin /deleteadmin /recoverpass /clearbans");
- if(aInfo[playerid][aLevel] > 6) SendClientMessage(playerid, COLOR_RED, "Level 7: /serverpanel");
- return 1;
- }
- // Admin Management commands
- CMD:makeadmin(playerid, params[])
- {
- if(!IsAuth(playerid, 6) && !IsPlayerAdmin(playerid)) return NoAuth(playerid);
- new playerb, level;
- if(sscanf(params, "ui", playerb, level)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /makeadmin [playerid] [level]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(level < 0 || level > 7) return SendClientMessage(playerid, COLOR_WHITE, "Admin levels are between 0 to 7.");
- if(aInfo[playerb][aLevel] == level) return SendClientMessage(playerid, COLOR_WHITE, "This player already has that Admin level.");
- new string[128], query[200];
- format(string, sizeof(string), "AdmCmd: %s %s has set %s's Admin Level to %d.", RPARN(playerid), RPN(playerid), RPN(playerb), level);
- SendAMessage(1, string);
- Log("logs/makeadmin.log", string);
- if(!aInfo[playerb][aLevel])
- {
- mysql_format(mysql, query, sizeof(query), "INSERT INTO `Admins` (`Username`, `ALogin`, `APassword`, `AdminLevel`, `IP`) VALUES ('%e', '0', '', '%d', '%s')", RPN(playerb), level, RPIP(playerb));
- mysql_tquery(mysql, query);
- format(string, sizeof(string), "Congratulations, You have been promoted to level %d Admin by %s %s.", level, RPARN(playerid), RPN(playerid));
- SendClientMessage(playerb, COLOR_RED, string);
- SendClientMessage(playerb, COLOR_RED, "Please set your private admin password using /AdmPass, You cannot receieve your powers until then.");
- AdminChat[playerid] = 1;
- }
- aInfo[playerb][aLevel] = level;
- aInfo[playerb][aALogin] = 0;
- if(!aInfo[playerb][aLevel])
- {
- mysql_format(mysql, query, sizeof(query), "DELETE FROM `Admins` WHERE `Username`='%e'", RPN(playerid));
- mysql_tquery(mysql, query);
- format(string, sizeof(string), "You have been removed from the Administration team by %s %s.", RPARN(playerid), RPN(playerid));
- SendClientMessage(playerb, COLOR_RED, string);
- ClearAdmin(playerid);
- }
- return 1;
- }
- CMD:deleteadmin(playerid, param[])
- {
- if(!IsAuth(playerid, 6) && !IsPlayerAdmin(playerid)) return NoAuth(playerid);
- if(sscanf(param, "s[24]", param)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /deleteadmin [Username]");
- if(!strcmp(RPN(playerid), param, false)) return SendClientMessage(playerid, COLOR_WHITE, "You cannot delete your own admin account, just use /makeadmin.");
- if(RPIDFN(param) != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_WHITE, "This player is connected, use /makeadmin instead.");
- new string[248], query[248], Cache:result;
- mysql_format(mysql, query, sizeof(query), "SELECT `AdminLevel` from `Admins` WHERE `Username`='%e' LIMIT 1", param);
- result = mysql_query(mysql, query);
- if(cache_get_row_count(mysql))
- {
- new admin = cache_get_row_int(0, 0, mysql);
- if(admin > aInfo[playerid][aLevel]) return SendClientMessage(playerid, COLOR_WHITE, "You cannot delete higher level Administrators.");
- format(string, sizeof(string), "%s %s has deleted %s's Admin account from the Admin system.", RPARN(playerid), RPN(playerid), param);
- SendAMessage(1, string);
- Log("logs/makeadmin.log", string);
- mysql_format(mysql, query, sizeof(query), "DELETE FROM `Admins` WHERE `Username`='%e'", param);
- mysql_tquery(mysql, query);
- }
- else SendClientMessage(playerid, COLOR_WHITE, "Username not found in the system.");
- cache_delete(result);
- return 1;
- }
- CMD:recoverpass(playerid, param[])
- {
- if(!IsAuth(playerid, 6)) return NoAuth(playerid);
- new playerb;
- if(sscanf(param, "u]", playerb)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /recoverpass [playerid]");
- if(!IsPlayerConnected(playerb) || (playerb == playerid && !IsPlayerAdmin(playerid))) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(strlen(aInfo[playerb][aPass]) < 4) return SendClientMessage(playerid, COLOR_WHITE, "The Administrator's password is already reseted.");
- new string[128];
- format(aInfo[playerb][aPass], 256, "");
- format(string, sizeof(string), "%s %s has recovered %s's Admin Password.", RPARN(playerid), RPN(playerid), RPN(playerb));
- SendAMessage(1, string);
- format(string, sizeof(string), "%s %s (%s) has reseted %s's Admin Password.", RPARN(playerid), RPN(playerid), RPIP(playerid), RPN(playerb));
- Log("logs/admpass.log", string);
- return 1;
- }
- CMD:admpass(playerid)
- {
- if(!aInfo[playerid][aLevel]) return SendClientMessage(playerid, COLOR_WHITE, "You are not authorized to use this command.");
- if(strlen(aInfo[playerid][aPass]) > 4 && !aInfo[playerid][aLogged]) return SendClientMessage(playerid, COLOR_WHITE, "You must be logged in to change your password, If you can't access it, talk to a Server Owner.");
- ShowPlayerDialog(playerid, DIALOG_PASSWORD, 1, "Admin Password", "Please type your new Admin Password", "Change", "Cancel");
- return 1;
- }
- CMD:alogin(playerid, param[])
- {
- if(!aInfo[playerid][aLevel]) return NoAuth(playerid);
- if(!aInfo[playerid][aPass]) return SendClientMessage(playerid, COLOR_WHITE, "You need to set your password before logging in, type /AdmPass.");
- if(aInfo[playerid][aLogged]) return SendClientMessage(playerid, COLOR_WHITE, "You are already logged into your Admin account.");
- new pw[256];
- if(sscanf(param, "s[128]", param)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ALogin [Password]");
- WP_Hash(pw, 256, param);
- new string[128], log[128];
- if(!strcmp(pw, aInfo[playerid][aPass], false))
- {
- format(string, sizeof(string), "You have logged in as %s.", RPARN(playerid));
- SendClientMessage(playerid, COLOR_RED, string);
- aInfo[playerid][aLogged] = 1;
- AdminChat[playerid] = 1;
- Specing[playerid] = -1;
- format(log, sizeof(log), "%s (%s) has successfully logged into their admin account.", RPN(playerid), RPIP(playerid));
- Log("logs/alogin.log", log);
- format(string, sizeof(string), "Attention: %s %s has logged into his admin account.", RPARN(playerid), RPN(playerid));
- SendAMessage(1, string);
- }
- else
- {
- format(string, sizeof(string), "Warning: %s has entered a wrong admin password.", RPN(playerid));
- SendAMessage(1, string);
- format(log, sizeof(log), "%s (%s) has failed to login into their admin account.", RPN(playerid), RPIP(playerid));
- Log("logs/alogin.log", log);
- }
- return 1;
- }
- CMD:alogout(playerid)
- {
- if(!aInfo[playerid][aLevel]) return NoAuth(playerid);
- if(!aInfo[playerid][aLogged]) return SendClientMessage(playerid, COLOR_WHITE, "You are already logged out from your Admin account.");
- new string[128];
- format(string, sizeof(string), "%s %s has logged out from his Admin account.", RPARN(playerid), RPN(playerid));
- SendAMessage(1, string);
- Log("logs/alogin.log", string);
- aInfo[playerid][aLogged] = 0;
- return 1;
- }
- CMD:autologin(playerid, param[])
- {
- if(!IsAuth(playerid, 1)) return NoAuth(playerid);
- if(aInfo[playerid][aALogin])
- {
- aInfo[playerid][aALogin] = 0;
- SendClientMessage(playerid, COLOR_RED, "You have disabled the Admin Auto-login.");
- }
- else
- {
- aInfo[playerid][aALogin] = 1;
- SendClientMessage(playerid, COLOR_RED, "You have enabled the Admin Auto-login.");
- }
- return 1;
- }
- CMD:admins(playerid)
- {
- new string[128];
- SendClientMessage(playerid, COLOR_REPORT, " ------ Online Administrators ------ ");
- foreach(new i : Player)
- {
- if(aInfo[i][aLevel])
- {
- if(aInfo[i][aLogged]) format(string, sizeof(string), "%s %s - ID %d - [ON DUTY]", RPARN(i), RPN(i), i);
- else format(string, sizeof(string), "%s %s - ID %d - [OFF DUTY]", RPARN(i), RPN(i), i);
- SendClientMessage(playerid, COLOR_RED, string);
- }
- }
- return 1;
- }
- // Teleportation related commands
- CMD:goto(playerid, param[])
- {
- if(!IsAuth(playerid, 1)) return NoAuth(playerid);
- new playerb;
- if(sscanf(param, "u", playerb)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /goto [playerid]");
- if(!IsPlayerConnected(playerb) || playerb == playerid) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- new Float:X, Float:Y, Float:Z, string[80];
- GetPlayerPos(playerb, X, Y, Z);
- SetPlayerPos(playerid, X + 1, Y, Z);
- format(string, sizeof(string), "You have teleported to %s.", RPN(playerb));
- SendClientMessage(playerid, COLOR_RED, string);
- format(string, sizeof(string), "Administrator %s has teleported to you.", RPN(playerid));
- SendClientMessage(playerb, COLOR_RED, string);
- return 1;
- }
- CMD:gethere(playerid, param[])
- {
- if(!IsAuth(playerid, 1)) return NoAuth(playerid);
- new playerb;
- if(sscanf(param, "u", playerb)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gethere [playerid]");
- if(!IsPlayerConnected(playerb) || playerb == playerid) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- new Float:X, Float:Y, Float:Z, string[80];
- GetPlayerPos(playerid, X, Y, Z);
- SetPlayerPos(playerb, X, Y, Z);
- format(string, sizeof(string), "Administrator %s has teleported you to him.", RPN(playerid));
- SendClientMessage(playerb, COLOR_RED, string);
- format(string, sizeof(string), "You have teleported %s to you.", RPN(playerb));
- SendClientMessage(playerid, COLOR_RED, string);
- return 1;
- }
- CMD:setint(playerid, param[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new playerb, int;
- if(sscanf(param, "ui", playerb, int)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setint [playerid] [Interior]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(int < 0) return SendClientMessage(playerid, COLOR_WHITE, "Interior can't be negative.");
- if(IsPlayerInAnyVehicle(playerb)) LinkVehicleToInterior(GetPlayerVehicleID(playerb), int);
- SetPlayerInterior(playerid, int);
- new string[60];
- format(string, sizeof(string), "You have set %s's interior to %d.", RPN(playerb), int);
- SendClientMessage(playerid, COLOR_RED, string);
- format(string, sizeof(string), "%s has your interior to %d.", RPN(playerid), int);
- SendClientMessage(playerb, COLOR_RED, string);
- return 1;
- }
- CMD:setvw(playerid, param[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new playerb, vw;
- if(sscanf(param, "ui", playerb, vw)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setvw [playerid] [Virtual World]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(vw < 0) return SendClientMessage(playerid, COLOR_WHITE, "Virtual Worlds can't be negative.");
- if(IsPlayerInAnyVehicle(playerb)) SetVehicleVirtualWorld(GetPlayerVehicleID(playerb), vw);
- SetPlayerVirtualWorld(playerid, vw);
- new string[60];
- format(string, sizeof(string), "You have set %s's virtual world to %d.", RPN(playerb), vw);
- SendClientMessage(playerid, COLOR_RED, string);
- format(string, sizeof(string), "%s has your virtual world to %d.", RPN(playerid), vw);
- SendClientMessage(playerb, COLOR_RED, string);
- return 1;
- }
- CMD:getall(playerid)
- {
- if(!IsAuth(playerid, 4)) return NoAuth(playerid);
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- foreach(new i : Player)
- {
- if(GetPlayerState(i) == 8 && i != playerid) SetPlayerPos(i, x+i, y, z);
- }
- new string[128];
- format(string, sizeof(string), "AdmCmd: %s %s has teleported everyone to him.", RPARN(playerid), RPN(playerid));
- SendClientMessageToAll(COLOR_RED, string);
- return 1;
- }
- CMD:ptp(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- new playerb, playerc;
- if(sscanf(params, "uu", playerb, playerc)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ptp [playerid] [targetid]");
- if(!IsPlayerConnected(playerb) || !IsPlayerConnected(playerc)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid IDs.");
- if(playerb == playerid) return SendClientMessage(playerid, COLOR_WHITE, "Use /goto instead.");
- if(playerc == playerid) return SendClientMessage(playerid, COLOR_WHITE, "Use /gethere instead.");
- new Float:X, Float:Y, Float:Z, string[128];
- GetPlayerPos(playerc, X, Y ,Z);
- SetPlayerPos(playerb, X, Y, Z);
- format(string, sizeof(string), "You have teleported %s to %s.", RPN(playerb), RPN(playerc));
- SendClientMessage(playerid, COLOR_RED, string);
- format(string, sizeof(string), "Administrator %s has teleported you to %s.", RPN(playerid), RPN(playerc));
- SendClientMessage(playerb, COLOR_RED, string);
- format(string, sizeof(string), "Administrator %s has teleported %s to you.", RPN(playerid), RPN(playerb));
- SendClientMessage(playerc, COLOR_RED, string);
- return 1;
- }
- CMD:gotopos(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- new Float:X, Float:Y, Float:Z, int;
- if(sscanf(params, "fffi", X, Y, Z, int)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gotopos [X] [Y] [Z] [Interior]");
- SetPlayerPos(playerid, X, Y, Z);
- SetPlayerInterior(playerid, int);
- SendClientMessage(playerid, COLOR_RED, "You have been teleported to chosen coordinations.");
- return 1;
- }
- CMD:mark(playerid)
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- aVW[playerid] = GetPlayerVirtualWorld(playerid);
- aInt[playerid] = GetPlayerInterior(playerid);
- GetPlayerPos(playerid, aMark[playerid][0], aMark[playerid][1], aMark[playerid][2]);
- SendClientMessage(playerid, COLOR_WHITE, "You have marked a poistion, type /gotoloc mark to teleport to the position.");
- return 1;
- }
- CMD:gotoloc(playerid, param[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- if(sscanf(param, "s[32]", param))
- {
- SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gotoloc [Location]");
- SendClientMessage(playerid, COLOR_RED, "LOCATIONS: mark | ls | warehouse1 | warehouse2 | lsair | lvair | sfair");
- SendClientMessage(playerid, COLOR_RED, "LOCATIONS: sf | lv | tower | saints | tune1 | tune2 | tune3 | area51");
- return 1;
- }
- if(!strcmp(param, "ls", true))
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid,1515.2551,-1666.3148,14.0469);
- SendClientMessage(playerid, COLOR_WHITE, " You have teleported to Los Santos.");
- return 1;
- }
- else if(!strcmp(param, "lv", true))
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid,1699.2,1435.1, 10.7);
- SendClientMessage(playerid, COLOR_WHITE, " You have teleported to Las Venturas.");
- return 1;
- }
- else if(!strcmp(param, "sf", true))
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid,-1417.0,-295.8,14.1);
- SendClientMessage(playerid, COLOR_WHITE, " You have teleported to San Fierro.");
- return 1;
- }
- else if(!strcmp(param, "gym", true))
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid,2224.8137,-1723.4457,13.5625);
- SendClientMessage(playerid, COLOR_WHITE, " You have teleported to the Gym.");
- return 1;
- }
- else if(!strcmp(param,"area51",true))
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid,202.1886,1881.4122,17.2199);
- SendClientMessage(playerid, COLOR_WHITE, " You have been teleported to Area 51.");
- return 1;
- }
- else if(!strcmp(param, "tower", true))
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid,1543.9886,-1353.7587,329.4735);
- SendClientMessage(playerid, COLOR_WHITE, " You have teleported to the Star Tower.");
- return 1;
- }
- else if(!strcmp(param, "saints", true))
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid,1188.8627,-1330.2386,13.5606);
- SendClientMessage(playerid, COLOR_WHITE, " You have teleported to All Saints Hospital.");
- return 1;
- }
- else if(!strcmp(param, "tune1", true))
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid,2644.9026,-2005.4315,13.3828);
- SendClientMessage(playerid, COLOR_WHITE, " You have teleported to the Lowrider Tuning Shop.");
- return 1;
- }
- else if(!strcmp(param, "tune2", true))
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid,1025.1035,-1039.0695,31.5661);
- SendClientMessage(playerid, COLOR_WHITE, " You have teleported to Los Santos Tuning Shop.");
- return 1;
- }
- else if(!strcmp(param, "tune3", true))
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid,-2702.4583,217.1397,4.1797);
- SendClientMessage(playerid, COLOR_WHITE, " You have teleported to San Fierro Tuning Shop.");
- return 1;
- }
- else if(!strcmp(param, "warehouse1", true))
- {
- SetPlayerInterior(playerid, 18);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid, 1295.4827, -3.2839, 1001.0273);
- SendClientMessage(playerid, COLOR_WHITE, " You have teleported to Warehouse number 1.");
- return 1;
- }
- else if(!strcmp(param, "warehouse2", true))
- {
- SetPlayerInterior(playerid, 1);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid, 1403.9862, -4.2830, 1000.9119);
- SendClientMessage(playerid, COLOR_WHITE, " You have teleported to Warehouse number 2.");
- return 1;
- }
- else if(!strcmp(param, "lvair", true))
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid, 1710.6571, 1606.2566, 10.0079);
- SendClientMessage(playerid, COLOR_WHITE, " You have teleported to Las Venturas Airport.");
- return 1;
- }
- else if(!strcmp(param, "sfair", true))
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid, -1542.4409, -427.0865, 5.8583);
- SendClientMessage(playerid, COLOR_WHITE, " You have teleported to San Fierro Airport.");
- return 1;
- }
- else if(!strcmp(param, "lsair", true))
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid, 1962.2931, -2189.9172, 13.5469);
- SendClientMessage(playerid, COLOR_WHITE, " You have teleported to Los Santos Airport.");
- return 1;
- }
- else if(!strcmp(param, "mark", true))
- {
- if(!aMark[playerid][0] && !aMark[playerid][1] && !aMark[playerid][2]) return SendClientMessage(playerid, COLOR_WHITE, " You have to mark a position before teleporting.");
- SetPlayerInterior(playerid, aInt[playerid]);
- SetPlayerVirtualWorld(playerid, aVW[playerid]);
- SetPlayerPos(playerid, aMark[playerid][0], aMark[playerid][1], aMark[playerid][2]);
- SendClientMessage(playerid, COLOR_WHITE, " You have teleported to your marked position.");
- return 1;
- }
- return 1;
- }
- // Chat related commands
- CMD:a(playerid, param[])
- {
- if(!aInfo[playerid][aLevel]) return NoAuth(playerid);
- if(sscanf(param, "s[128]", param)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /a [Text]");
- new string[180];
- if(!AdminLock || (ACPerm[playerid] || aInfo[playerid][aLevel] > 4))
- {
- format(string, sizeof(string), "%s %s: %s", RPARN(playerid), RPN(playerid), param);
- SendAMessage(1, string);
- Log("logs/achat.log", string);
- return 1;
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "The Admin Chat is locked now.");
- }
- CMD:togadmin(playerid)
- {
- if(!aInfo[playerid][aLevel]) return NoAuth(playerid);
- if(AdminChat[playerid])
- {
- AdminChat[playerid] = 0;
- SendClientMessage(playerid, COLOR_RED, "You have toggled OFF the Admin Chat.");
- }
- else
- {
- AdminChat[playerid] = 1;
- SendClientMessage(playerid, COLOR_RED, "You have toggled ON the Admin Chat.");
- }
- return 1;
- }
- CMD:fakechat(playerid, params[])
- {
- if(!IsAuth(playerid, 5)) return NoAuth(playerid);
- new playerb;
- if(sscanf(params, "us[128]", params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fakechat [playerid] [text]");
- if(!IsPlayerConnected(playerb) || playerid == playerb) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- SendPlayerMessageToAll(playerb, params);
- new log[128];
- format(log, sizeof(log), "%s sent a fake message from %s: %s", RPN(playerid), RPN(playerb), params);
- Log("logs/fakechat.log", log);
- return 1;
- }
- CMD:asay(playerid, param[])
- {
- if(!IsAuth(playerid, 1)) return NoAuth(playerid);
- if(sscanf(param, "s[128]", param)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /asay [Text]");
- new string[128];
- format(string, sizeof(string), "%s %s says: %s", RPARN(playerid), RPN(playerid), param);
- SendClientMessageToAll(COLOR_RED, string);
- return 1;
- }
- CMD:cc(playerid)
- {
- if(!IsAuth(playerid, 1)) return NoAuth(playerid);
- new string[80];
- foreach(new i : Player)
- {
- if(!aInfo[i][aLevel])
- {
- for(new j = 0; j<25; j++) SendClientMessage(i, -1, "");
- }
- }
- format(string, sizeof(string), "%s %s has cleared the chat.", RPARN(playerid), RPN(playerid));
- SendClientMessageToAll(COLOR_RED, string);
- return 1;
- }
- CMD:mute(playerid, params[])
- {
- if(!IsAuth(playerid, 1)) return NoAuth(playerid);
- new playerb, time;
- if(sscanf(params, "uds[128]", playerb, time, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /mute [playerid] [minutes] [reason]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(aInfo[playerb][aLevel] > aInfo[playerid][aLevel]) return SendClientMessage(playerid, COLOR_WHITE, "You cannot mute higher level Administrators.");
- if(!time) return SendClientMessage(playerid, COLOR_WHITE, "Time should be higher than 0.");
- Muted[playerb] = 1;
- MuteTimer[playerb] = SetTimerEx("Mute", time * 60000, false, "i", playerb);
- new string[128];
- format(string, sizeof(string), "AdmCmd: %s %s has muted %s for %d minutes, Reason: %s", RPARN(playerid), RPN(playerid), RPN(playerb), time, params);
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/mute.log", string);
- return 1;
- }
- CMD:unmute(playerid, param[])
- {
- if(!IsAuth(playerid, 1)) return NoAuth(playerid);
- new playerb;
- if(sscanf(param, "u", playerb)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /unmute [playerid]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(!Muted[playerb]) return SendClientMessage(playerid, COLOR_WHITE, "This player is not muted.");
- Muted[playerb] = 0;
- KillTimer(MuteTimer[playerb]);
- new string[80];
- format(string, sizeof(string), "You have been unmuted by %s %s.", RPARN(playerid), RPN(playerid));
- SendClientMessage(playerb, COLOR_RED, string);
- format(string, sizeof(string), "AdmCmd: %s %s has unmuted %s.", RPARN(playerid), RPN(playerid), RPN(playerb));
- SendAMessage(1, string);
- Log("logs/mute.log", string);
- return 1;
- }
- CMD:lockchat(playerid)
- {
- if(!IsAuth(playerid, 4)) return NoAuth(playerid);
- if(!ChatLock)
- {
- ChatLock = 1;
- new string[80];
- format(string, sizeof(string), "%s %s has locked the chat.", RPARN(playerid), RPN(playerid));
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/chat.log", string);
- return 1;
- }
- else
- {
- ChatLock = 0;
- new string[80];
- format(string, sizeof(string), "%s %s has unlocked the chat.", RPARN(playerid), RPN(playerid));
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/chat.log", string);
- return 1;
- }
- }
- CMD:allowchat(playerid, param[])
- {
- if(!IsAuth(playerid, 4)) return NoAuth(playerid);
- if(!ChatLock) return SendClientMessage(playerid, COLOR_WHITE, "The chat is not locked.");
- new playerb;
- if(sscanf(param, "u", playerb)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /allowchat [playerid]");
- if(!IsPlayerConnected(playerid) || playerb == playerid) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(aInfo[playerb][aLevel]) return SendClientMessage(playerid, COLOR_WHITE, "Admins have chat permission by default.");
- if(!CPerm[playerb])
- {
- CPerm[playerb] = 1;
- new string[80];
- format(string, sizeof(string), "%s %s has allowed %s to chat.", RPARN(playerid), RPN(playerid), RPN(playerb));
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/chat.log", string);
- return 1;
- }
- else
- {
- CPerm[playerb] = 0;
- new string[128];
- format(string, sizeof(string), "%s %s has revoked %s's permission to chat.", RPARN(playerid), RPN(playerid), RPN(playerb));
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/chat.log", string);
- return 1;
- }
- }
- CMD:lockadmin(playerid)
- {
- if(!IsAuth(playerid, 5)) return NoAuth(playerid);
- if(!AdminLock)
- {
- AdminLock = 1;
- new string[80];
- format(string, sizeof(string), "%s %s has locked the Admin Chat.", RPARN(playerid), RPN(playerid));
- SendAMessage(1, string);
- Log("logs/achat.log", string);
- return 1;
- }
- else
- {
- AdminLock = 0;
- new string[80];
- format(string, sizeof(string), "%s %s has unlocked the Admin Chat.", RPARN(playerid), RPN(playerid));
- SendAMessage(1, string);
- Log("logs/achat.log", string);
- return 1;
- }
- }
- CMD:allowadmin(playerid, param[])
- {
- if(!IsAuth(playerid, 5)) return NoAuth(playerid);
- if(!AdminLock) return SendClientMessage(playerid, COLOR_WHITE, "The Admin Chat is not locked.");
- new playerb;
- if(sscanf(param, "u", playerb)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /allowadmin [playerid]");
- if(!IsPlayerConnected(playerid) || playerb == playerid) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(aInfo[playerb][aLevel] > 4) return SendClientMessage(playerid, COLOR_WHITE, "This player has an Admin Chat permission by default.");
- if(!ACPerm[playerb])
- {
- ACPerm[playerb] = 1;
- new string[100];
- format(string, sizeof(string), "%s %s has allowed %s to chat in the Admin Chat.", RPARN(playerid), RPN(playerid), RPN(playerb));
- SendAMessage(1, string);
- Log("logs/achat.log", string);
- return 1;
- }
- else
- {
- ACPerm[playerb] = 0;
- new string[128];
- format(string, sizeof(string), "%s %s has revoked %s's permission to chat in the Admin Chat.", RPARN(playerid), RPN(playerid), RPN(playerb));
- SendAMessage(1, string);
- Log("logs/achat.log", string);
- return 1;
- }
- }
- CMD:report(playerid, param[])
- {
- if(aInfo[playerid][aLevel]) return SendClientMessage(playerid, COLOR_WHITE, "Administrators cannot report.");
- if(RMute[playerid]) return SendClientMessage(playerid, COLOR_WHITE, "You are currently muted from sending reports.");
- if(Reported[playerid]) return SendClientMessage(playerid, COLOR_WHITE, "You have to wait 20 seconds between reports.");
- if(sscanf(param, "s[128]", param)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /report [Text]");
- Reported[playerid] = 1;
- ReportTimer[playerid] = SetTimerEx("Report", 20000, false, "i", playerid);
- new string[200];
- format(string, sizeof(string), "Report from %s: %s.", RPN(playerid), param);
- SendAMessage(1, string);
- Log("logs/reports.log", string);
- SendClientMessage(playerid, COLOR_REPORT, "You have sent a report to the admins, an admin will handle it as soon as possible.");
- return 1;
- }
- CMD:rmute(playerid, params[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new playerb, time;
- if(sscanf(params, "uis[80]", playerb, time, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /rmute [playerid] [minutes] [reason]");
- if(!IsPlayerConnected(playerb) || playerb == playerid) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(aInfo[playerb][aLevel]) return SendClientMessage(playerid, COLOR_WHITE, "You cannot mute Administrators from reporting.");
- if(!time) return SendClientMessage(playerid, COLOR_WHITE, "Time should be higher than 0.");
- RMute[playerb] = 1;
- RMuteTimer[playerb] = SetTimerEx("RMuted", time * 60000, false, "i", playerb);
- new string[600];
- format(string, sizeof(string), "%s %s has muted you from sending reports for %d minutes, Reason: %s", RPARN(playerid), RPN(playerid), time, params);
- SendClientMessage(playerb, COLOR_REPORT, string);
- format(string, sizeof(string), "%s %s has muted %s from sending reports for %d minutes, Reason: %s", RPARN(playerid), RPN(playerid), RPN(playerb), time, params);
- SendAMessage(1, string);
- Log("logs/mute.log", string);
- return 1;
- }
- // Player punishment related commands
- CMD:slap(playerid, params[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new playerb;
- if(sscanf(params, "us[128]", playerb, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /slap [playerid] [reason]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(aInfo[playerid][aLevel] < aInfo[playerb][aLevel]) return SendClientMessage(playerid, COLOR_WHITE, "You can't slap higher level Administrators.");
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerb, x, y, z);
- SetPlayerPos(playerb, x, y, z+10);
- new string[128];
- format(string, sizeof(string), "%s %s has slapped %s for: %s", RPARN(playerid), RPN(playerid), RPN(playerb), params);
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/slap.log", string);
- return 1;
- }
- CMD:slapall(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- if(sscanf(params, "s[128]", params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /slapall [reason]");
- new Float:x, Float:y, Float:z;
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i) && i != playerid)
- {
- GetPlayerPos(i, x, y, z);
- SetPlayerPos(i, x, y, z+10);
- }
- }
- new string[128];
- format(string, sizeof(string), "%s %s has slapped everyone for: %s", RPARN(playerid), RPN(playerid), params);
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/slapall.log", string);
- return 1;
- }
- CMD:blow(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- new playerb;
- if(sscanf(params, "us[128]", playerb, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /blow [playerid] [reason]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(aInfo[playerid][aLevel] < aInfo[playerb][aLevel]) return SendClientMessage(playerid, COLOR_WHITE, "You can't blow higher level Administrators.");
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- CreateExplosion(x, y, z, 0, 10);
- new string[128];
- format(string, sizeof(string), "%s %s has blwon you for: %s", RPARN(playerid), RPN(playerid), params);
- SendClientMessage(playerb, COLOR_RED, string);
- format(string, sizeof(string), "%s %s has blown %s for: %s.", RPARN(playerid), RPN(playerid), RPN(playerb), params);
- SendAMessage(1, string);
- Log("logs/blow.log", string);
- return 1;
- }
- CMD:blowall(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- if(sscanf(params, "s[128]", params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /blowall [reason]");
- new Float:x, Float:y, Float:z;
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i) && i != playerid)
- {
- GetPlayerPos(i, x, y, z);
- CreateExplosion(x, y, z, 0, 10);
- }
- }
- new string[128];
- format(string, sizeof(string), "%s %s has blown everyone up for: %s", RPARN(playerid), RPN(playerid), params);
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/blow.log", string);
- return 1;
- }
- CMD:kick(playerid, params[])
- {
- if(!IsAuth(playerid, 1)) return NoAuth(playerid);
- new playerb;
- if(sscanf(params, "us[128]", playerb, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /kick [playerid] [reason]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(aInfo[playerb][aLevel] > aInfo[playerid][aLevel]) return SendClientMessage(playerid, COLOR_WHITE, "You can't kick higher level Administrators.");
- new string[248];
- format(string, sizeof(string), "%s %s has kicked %s out of the server, Reason: %s", RPARN(playerid), RPN(playerid), RPN(playerb), params);
- SendClientMessageToAll(COLOR_RED, string);
- SetTimerEx("DelayedKick", 100, 0, "i", playerb);
- Log("logs/kicks.log", string);
- return 1;
- }
- CMD:kickall(playerid, param[])
- {
- if(!IsAuth(playerid, 4)) return NoAuth(playerid);
- if(sscanf(param, "s[80]", param)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /kickall [reason]");
- new string[128];
- format(string, sizeof(string), "AdmCmd: %s %s has kicked everyone out of the server, Reason: %s", RPARN(playerid), RPN(playerid), param);
- foreach(new i : Player)
- {
- if(i != playerid)
- {
- SendClientMessage(i, COLOR_RED, string);
- SetTimerEx("DelayedKick", 100, 0, "i", i);
- }
- }
- return 1;
- }
- CMD:kill(playerid, params[])
- {
- if(!IsAuth(playerid, 1)) return NoAuth(playerid);
- new playerb;
- if(sscanf(params, "u", playerb)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /kill [playerid]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- SetPlayerHealth(playerb, 0.00);
- new string[80];
- format(string, sizeof(string), "%s %s has killed you.", RPARN(playerid), RPN(playerid));
- SendClientMessage(playerb, COLOR_RED, string);
- format(string, sizeof(string), "%s %s has killed %s.", RPARN(playerid), RPN(playerid), RPN(playerb));
- SendAMessage(1, string);
- Log("logs/kill.log", string);
- return 1;
- }
- CMD:killall(playerid, params[])
- {
- if(!IsAuth(playerid, 5)) return NoAuth(playerid);
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i)) SetPlayerHealth(i, 0.00);
- }
- new string[80];
- format(string, sizeof(string), "%s %s has killed everyone.", RPARN(playerid), RPN(playerid));
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/kill.log", string);
- return 1;
- }
- CMD:jail(playerid, params[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new playerb, time;
- if(sscanf(params, "uds[128]", playerb, time, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /jail [playerid] [minutes] [reason]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(aInfo[playerid][aLevel] < aInfo[playerb][aLevel]) return SendClientMessage(playerid, COLOR_WHITE, "You can't jail higher level Administrators.");
- if(!time) return SendClientMessage(playerid, COLOR_WHITE, "Time should be higher than 0.");
- new string[248], rc;
- format(string, sizeof(string), "%s %s has jailed %s for %d minutes, Reason: %s", RPARN(playerid), RPN(playerid), RPN(playerb), time, params);
- SendClientMessageToAll(COLOR_RED, string);
- rc = random(sizeof(CellPos));
- SetPlayerInterior(playerb, 6);
- SetPlayerPos(playerb, CellPos[rc][0], CellPos[rc][1], CellPos[rc][2]);
- SetPlayerVirtualWorld(playerb, playerid);
- Jailed[playerb] = 1;
- JTimer[playerb] = SetTimerEx("Jail", time * 60000, 0, "i", playerb);
- Log("logs/jails.log", string);
- return 1;
- }
- CMD:release(playerid, params[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new playerb;
- if(sscanf(params, "us[128]", playerb, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /release [playerid] [reason]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(!Jailed[playerb]) return SendClientMessage(playerid, COLOR_WHITE, "This player is not prisoned.");
- SetPlayerInterior(playerb, 0);
- SetPlayerVirtualWorld(playerb, 0);
- SetPlayerPos(playerb, 1515.2551, -1666.3148, 14.0469);
- new string[248];
- format(string, sizeof(string), "%s %s has released %s from the prison, Reason: %s", RPARN(playerid), RPN(playerid), RPN(playerb), params);
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/jails.log", string);
- return 1;
- }
- CMD:ban(playerid, params[])
- {
- if(!IsAuth(playerid, 1)) return NoAuth(playerid);
- new playerb;
- if(sscanf(params, "us[128]", playerb, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ban [playerid] [reason]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(aInfo[playerb][aLevel] && aInfo[playerid][aLevel] < 5) return SendClientMessage(playerid, COLOR_WHITE, "Only Elite Administrators or above are allowed to ban Administrators.");
- if(aInfo[playerid][aLevel] < aInfo[playerb][aLevel]) return SendClientMessage(playerid, COLOR_WHITE, "You can't ban higher level Administrators.");
- new string[248], File:file = fopen("bans.cfg", io_append);
- format(string, sizeof(string), "%s %s has banned %s from the server, Reason: %s", RPARN(playerid), RPN(playerid), RPN(playerb), params);
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/bans.log", string);
- new date[3];
- getdate(date[0], date[1], date[2]);
- format(string, sizeof(string), "%s|%s|%s|%s|%i|%i|%i\r\n", RPN(playerb), RPIP(playerb), RPN(playerid), params, date[2], date[1], date[0]);
- fwrite(file, string);
- fclose(file);
- SetTimerEx("DelayedKick", 100, 0, "i", playerb);
- return 1;
- }
- CMD:banaccount(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- new name[MAX_PLAYER_NAME];
- if(sscanf(params, "s[24]s[128]", name, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /banaccount [Username] [Reason]");
- new File:file = fopen("bans.cfg", io_read), buf[128];
- while(fread(file, buf, sizeof(buf))) if(strfind(buf, name, false) != -1) return SendClientMessage(playerid, COLOR_WHITE, "This username is already banned.");
- fclose(file);
- new Cache:result, query[128];
- mysql_format(mysql, query, sizeof(query), "SELECT `AdminLevel`, `IP` from `Admins` WHERE `Username`='%e'", name);
- result = mysql_query(mysql, query);
- if(cache_get_row_count(mysql))
- {
- new adminlevel, aip[16], string[400];
- adminlevel = cache_get_row_int(0, 0, mysql);
- cache_get_row(0, 1, aip, mysql, 16);
- if(aInfo[playerid][aLevel] < 5) SendClientMessage(playerid, COLOR_WHITE, "This username is registered to an Administrator, You have to be Elite Admin or above to ban him.");
- else if(adminlevel > aInfo[playerid][aLevel])
- {
- format(string ,sizeof(string), "This username is registered as %d level Administrator, you can't ban him.", adminlevel);
- SendClientMessage(playerid, COLOR_WHITE, string);
- }
- else
- {
- format(string, sizeof(string), "%s %s has banned %s, Reason: %s", RPARN(playerid), RPN(playerid), name, params);
- SendAMessage(1, string);
- Log("logs/bans.log", string);
- file = fopen("bans.cfg", io_append);
- new date[3];
- getdate(date[0], date[1], date[2]);
- format(string, sizeof(string), "%s|%s|%s|%i|%i|%i\r\n", name, RPN(playerid), params, date[2], date[1], date[0]);
- fwrite(file, string);
- fclose(file);
- }
- cache_delete(result);
- return 1;
- }
- else
- {
- new string[248];
- format(string, sizeof(string), "%s %s has banned %s, Reason: %s", RPARN(playerid), RPN(playerid), name, params);
- SendAMessage(1, string);
- Log("logs/bans.log", string);
- file = fopen("bans.cfg", io_append);
- new date[3];
- getdate(date[0], date[1], date[2]);
- format(string, sizeof(string), "%s|%s|%s|%i|%i|%i\r\n", name, RPN(playerid), params, date[2], date[1], date[0]);
- fwrite(file, string);
- fclose(file);
- cache_delete(result);
- return 1;
- }
- }
- CMD:banip(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- new ip[16];
- if(sscanf(params, "s[16]s[128]", ip, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /banip [IP] [reason]");
- if(!IsIP(ip)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid IP Address.");
- if(RIPID(ip) != -1)
- {
- new string[248];
- format(string, sizeof(string), "This IP is connected to the server using the name %s (ID: %d), use /ban instead.", RPN(RIPID(ip)), RIPID(ip));
- SendClientMessage(playerid, COLOR_WHITE, string);
- return 1;
- }
- new File:file = fopen("bans.cfg", io_read), buf[128];
- while(fread(file, buf, sizeof(buf))) if(strfind(buf, ip, false) != -1) return SendClientMessage(playerid, COLOR_WHITE, "This IP Address is already banned.");
- fclose(file);
- new Cache:result, query[128];
- mysql_format(mysql, query, sizeof(query), "SELECT `AdminLevel`, `Username` from `Admins` WHERE `IP`='%e'", ip);
- result = mysql_query(mysql, query);
- if(cache_get_row_count(mysql))
- {
- new adminlevel, aname[MAX_PLAYER_NAME], string[400];
- adminlevel = cache_get_row_int(0, 0, mysql);
- cache_get_row(0, 1, aname, mysql, sizeof(aname));
- if(aInfo[playerid][aLevel] < 5) SendClientMessage(playerid, COLOR_WHITE, "This IP is registered to an Administrator, You have to be Elite Admin or above to ban him.");
- else if(adminlevel > aInfo[playerid][aLevel])
- {
- format(string ,sizeof(string), "This IP is registered to %s, who is a %d level Administrator, you can't ban him.", aname, adminlevel);
- SendClientMessage(playerid, COLOR_WHITE, string);
- }
- else
- {
- format(string, sizeof(string), "%s %s has banned IP Address %s (Registered to %s), Reason: %s", RPARN(playerid), RPN(playerid), ip, aname, params);
- SendAMessage(1, string);
- Log("logs/bans.log", string);
- file = fopen("bans.cfg", io_append);
- new date[3];
- getdate(date[0], date[1], date[2]);
- format(string, sizeof(string), "%s|%s|%s|%i|%i|%i\r\n", ip, RPN(playerid), params, date[2], date[1], date[0]);
- fwrite(file, string);
- fclose(file);
- }
- cache_delete(result);
- return 1;
- }
- else
- {
- new string[248], date[3];
- format(string, sizeof(string), "%s %s has banned IP Address %s, Reason: %s", RPARN(playerid), RPN(playerid), ip, params);
- SendAMessage(1, string);
- Log("logs/bans.log", string);
- file = fopen("bans.cfg", io_append);
- getdate(date[0], date[1], date[2]);
- format(string, sizeof(string), "%s|%s|%s|%i|%i|%i\r\n", ip, RPN(playerid), params, date[2], date[1], date[0]);
- fwrite(file, string);
- fclose(file);
- cache_delete(result);
- return 1;
- }
- }
- CMD:unban(playerid, param[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- if(sscanf(param, "s[24]", param)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /unban [Username]");
- new File:file = fopen("bans.cfg", io_read), buf[128], idx = 1;
- while(fread(file, buf))
- {
- if(strfind(buf, param, false) != -1)
- {
- new string[128];
- format(string, sizeof(string), "%s %s has unbanned %s from the server.", RPARN(playerid), RPN(playerid), param);
- SendAMessage(1, string);
- Log("logs/unban.log", string);
- fdeleteline("bans.cfg", idx);
- fclose(file);
- return 1;
- }
- else idx++;
- }
- fclose(file);
- return SendClientMessage(playerid, COLOR_WHITE, "Username is not banned.");
- }
- CMD:unbanip(playerid, param[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- if(sscanf(param, "s[16]", param)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /unbanip [IP]");
- if(!IsIP(param)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid IP Address.");
- new File:file = fopen("bans.cfg", io_read), idx = 1, buf[128];
- while(fread(file, buf))
- {
- if(strfind(buf, param, true) != -1)
- {
- new string[128];
- format(string, sizeof(string), "%s %s has unbanned %s from the server.", RPARN(playerid), RPN(playerid), param);
- SendAMessage(1, string);
- Log("logs/unban.log", string);
- fdeleteline("bans.cfg", idx);
- fclose(file);
- return 1;
- }
- idx++;
- }
- fclose(file);
- return SendClientMessage(playerid, COLOR_WHITE, "IP Address is not banned.");
- }
- CMD:clearbans(playerid)
- {
- if(!IsAuth(playerid, 6)) return NoAuth(playerid);
- new File:file = fopen("bans.cfg", io_write);
- fclose(file);
- file = fopen("bans.cfg");
- fclose(file);
- new string[128];
- format(string, sizeof(string), "AdmCmd: %s %s has cleared the ban list, therefore, everyone has been unbanned.", RPARN(playerid), RPN(playerid));
- Log("unban.log", string);
- SendAMessage(1, string);
- return 1;
- }
- CMD:fine(playerid, params[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new playerb, fine;
- if(sscanf(params, "uis[128]", playerb, fine, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fine [playerid] [amount] [reason]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(fine < 1) return SendClientMessage(playerid, COLOR_WHITE, "Fine amount has to be higher than 0.");
- GivePlayerMoney(playerid, -fine);
- new string[128];
- format(string, sizeof(string), "%s %s has fined %s for $%i, Reason: %s", RPARN(playerid), RPN(playerid), RPN(playerb), fine, params);
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/fine.log", string);
- return 1;
- }
- CMD:pfine(playerid, params[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new playerb, fine;
- if(sscanf(params, "uis[128]", playerb, fine, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /pfine [playerid] [percentage] [reason]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(fine < 1) return SendClientMessage(playerid, COLOR_WHITE, "Fine percentage has to be higher than 0.");
- new money = (GetPlayerMoney(playerid) * fine) / 100;
- GivePlayerMoney(playerid, -money);
- new string[128];
- format(string, sizeof(string), "%s %s has fined %i percent off %s's money, Reason: %s", RPARN(playerid), RPN(playerid), fine, RPN(playerb), params);
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/fine.log", string);
- return 1;
- }
- CMD:warn(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- new playerb;
- if(sscanf(params, "is[128]", playerb, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /warn [playerid] [reason]");
- if(!IsPlayerConnected(playerb) || playerb == playerid) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(aInfo[playerb][aLevel]) return SendClientMessage(playerid, COLOR_WHITE, "Administrators cannot be warned.");
- if(Warns[playerb] == 2)
- {
- new string[128];
- format(string, sizeof(string), "AdmCmd: %s %s has banned %s, Reason: %s (3 Warns)", RPARN(playerid), RPN(playerid), RPN(playerb), params);
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/warns.log", string);
- Log("logs/bans.log", string);
- new date[3];
- getdate(date[0], date[1], date[2]);
- format(params, 128, "%s (3 Warns)", params);
- format(string, sizeof(string), "%s|%s|%s|%s|%i|%i|%i\r\n", RPN(playerb), RPIP(playerb), RPN(playerid), params, date[2], date[1], date[0]);
- new File:file = fopen("bans.cfg", io_append);
- fwrite(file, string);
- fclose(file);
- SetTimerEx("DelayedKick", 100, 0, "i", playerb);
- }
- else
- {
- new string[128];
- Warns[playerb]++;
- format(string, sizeof(string), "%s %s has warned %s, Reason: %s. (%d Warns)", RPARN(playerid), RPN(playerid), RPN(playerb), Warns[playerb]);
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/warns.log", string);
- return 1;
- }
- return 1;
- }
- CMD:unwarn(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- new playerb, warns;
- if(sscanf(params, "iis[128]", playerb, warns, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /unwarn [playerid] [amount] [reason]");
- if(!IsPlayerConnected(playerb) || playerb == playerid) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(!Warns[playerb]) return SendClientMessage(playerid, COLOR_WHITE, "This player is not warned at all.");
- if(!warns) return SendClientMessage(playerid, COLOR_WHITE, "Amount of warns has to be higher than 0.");
- if(Warns[playerb] - warns < 0) return SendClientMessage(playerid, COLOR_WHITE, "Invalid amount.");
- Warns[playerb] -= warns;
- new string[128];
- format(string, sizeof(string), "%s %s has deleted %d warns off %s, Reason: %s.", RPN(playerid), RPN(playerid), warns, RPN(playerb), params);
- SendClientMessageToAll(COLOR_RED, string);
- return 1;
- }
- // Vehicle related commands
- CMD:getveh(playerid, params[])
- {
- if(!IsAuth(playerid, 1)) return NoAuth(playerid);
- new vehicleid;
- if(sscanf(params, "i", vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /getveh [vehicleid]");
- if(!IsValidVehicle(vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid vehicle ID.");
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
- SetVehiclePos(vehicleid, x+1.0, y, z);
- SendClientMessage(playerid, COLOR_RED, "You have teleported the requested vehicle to you.");
- return 1;
- }
- CMD:gotoveh(playerid, params[])
- {
- if(!IsAuth(playerid, 1)) return NoAuth(playerid);
- new vehicleid;
- if(sscanf(params, "i", vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gotoveh [vehicleid]");
- if(!IsValidVehicle(vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid vehicle ID.");
- new Float:x, Float:y, Float:z;
- GetVehiclePos(vehicleid, x, y, z);
- SetPlayerPos(playerid, x+1.0, y, z);
- SendClientMessage(playerid, COLOR_RED, "You have teleported to the requested vehicle.");
- return 1;
- }
- CMD:vehnitro(playerid, params[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new vehicleid;
- if(sscanf(params, "i", vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /vehnitro [vehicleid]");
- if(!IsValidVehicle(vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid vehicle ID.");
- if(IsBike(vehicleid) || IsPlane(vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "You cannot add NOS to this type of vehicle.");
- new component = GetVehicleComponentInSlot(vehicleid, 5);
- if(component != 1010)
- {
- AddVehicleComponent(vehicleid, 1010);
- SendClientMessage(playerid, COLOR_RED, "You have added a 10x NOS canister to the requested vehicle.");
- return 1;
- }
- else
- {
- RemoveVehicleComponent(vehicleid, 1010);
- SendClientMessage(playerid, COLOR_RED, "You have removed the NOS canister from the requested vehicle.");
- return 1;
- }
- }
- CMD:vehhyd(playerid, params[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new vehicleid;
- if(sscanf(params, "i", vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /vehhyd [vehicleid]");
- if(!IsValidVehicle(vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid vehicle ID.");
- if(IsBike(vehicleid) || IsPlane(vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "You cannot add Hydraulics to this type of vehicle.");
- new component = GetVehicleComponentInSlot(vehicleid, 9);
- if(component != 1087)
- {
- AddVehicleComponent(vehicleid, 1087);
- SendClientMessage(playerid, COLOR_RED, "You have added Hydraulics to the requested vehicle.");
- return 1;
- }
- else
- {
- RemoveVehicleComponent(vehicleid, 1087);
- SendClientMessage(playerid, COLOR_RED, "You have removed the Hydraulics from the requested vehicle.");
- return 1;
- }
- }
- CMD:vehcolor(playerid, params[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new vehicleid, color1, color2;
- if(sscanf(params, "iii", vehicleid, color1, color2)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /vehcolor [vehicleid] [color] [color]");
- if(!IsValidVehicle(vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid vehicle ID.");
- if(color1 < 0 || color1 > 255 || color2 < 0 || color2 > 255) return SendClientMessage(playerid, COLOR_WHITE, "Vehicle colors are between 0 to 255.");
- ChangeVehicleColor(vehicleid, color1, color2);
- SendClientMessage(playerid, COLOR_RED, "You have changed the color of the requested vehicle.");
- return 1;
- }
- CMD:vehpj(playerid, params[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new vehicleid, pj;
- if(sscanf(params, "ii", vehicleid, pj))
- {
- SendClientMessage(playerid, COLOR_WHITE, "USAGE: /vehpj [vehicleid] [paintjob]");
- SendClientMessage(playerid, COLOR_WHITE, "To remove a paintjob, type 3 under paintjob.");
- return 1;
- }
- if(!IsValidVehicle(vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid vehicle ID.");
- if(IsBike(vehicleid) || IsPlane(vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "You cannot add a paintjob to this type of vehicle.");
- new model = GetVehicleModel(vehicleid);
- if(model != 483 && model != 534 && model != 535 && model != 536 && model != 558 && model != 559 && model != 560 && model != 561 && model != 562 && model != 565 && model != 567 && model != 575 && model != 576) return SendClientMessage(playerid, COLOR_WHITE, "You cannot add a paintjob to this type of vehicle.");
- if(pj < 0 || pj > 3) return SendClientMessage(playerid, COLOR_WHITE, "Invalid paintjob ID.");
- ChangeVehiclePaintjob(vehicleid, pj);
- SendClientMessage(playerid, COLOR_RED, "You have changed the paintjob of the requested vehicle.");
- return 1;
- }
- CMD:respawnveh(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- if(!strcmp(params, "all", true))
- {
- for(new i = 0, j = GetVehiclePoolSize() + 1; i < j; i++)
- {
- if(IsVehicleEmpty(i)) SetVehicleToRespawn(i);
- }
- new string[128];
- format(string, sizeof(string), "%s %s has respawned the unused vehicles.", RPARN(playerid), RPN(playerid));
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/respawnall.log", string);
- return 1;
- }
- else
- {
- new vehicleid = strval(params);
- if(sscanf(params, "i", vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /respawnveh [vehicleid/all]");
- if(!IsValidVehicle(vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid vehicle ID.");
- if(!IsVehicleEmpty(vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "The vehicle you entered is not empty.");
- SetVehicleToRespawn(vehicleid);
- SendClientMessage(playerid, COLOR_RED, "You have respawned the requested vehicle.");
- return 1;
- }
- }
- CMD:veh(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- new model, color1, color2;
- if(sscanf(params, "iii", model, color1, color2)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /veh [modelid] [color] [color]");
- if(model < 400 || model > 611) return SendClientMessage(playerid, COLOR_WHITE, "Vehicle models are between 400 to 611.");
- if(color1 < 0 || color2 < 0 || color1 > 255 || color2 > 255) return SendClientMessage(playerid, COLOR_WHITE, "Vehicle colors are between 0 to 255.");
- new Float:x, Float:y, Float:z, Float:a;
- GetPlayerPos(playerid, x, y, z);
- GetPlayerFacingAngle(playerid, a);
- for(new i=0; i<MAX_CUSTOM_VEHICLES; i++)
- {
- if(!cVeh[i])
- {
- cVeh[i] = CreateVehicle(model, x, y, z, a, color1, color2, -1);
- new string[128];
- format(string, sizeof(string), "AdmWarn: %s %s has spawned vehicle ID %d using model %d", RPARN(playerid), RPN(playerid), cVeh[i], model);
- SendAMessage(1, string);
- return 1;
- }
- }
- return SendClientMessage(playerid, COLOR_WHITE, "You have reached the max amount of created vehicles.");
- }
- CMD:destroyveh(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- if(!strcmp(params, "all", true))
- {
- for(new i = 0; i<MAX_CUSTOM_VEHICLES; i++)
- {
- if(cVeh[i]) DestroyVehicle(cVeh[i]);
- }
- new string[128];
- format(string, sizeof(string), "AdmCmd: %s %s has destroyed all the created vehicles.", RPARN(playerid), RPN(playerid));
- SendAMessage(1, string);
- return 1;
- }
- else
- {
- new vehicleid;
- if(sscanf(params, "i", vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /destroyveh [vehicleid/all]");
- if(!IsValidVehicle(vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid vehicle ID.");
- for(new i = 0; i<MAX_CUSTOM_VEHICLES; i++)
- {
- if(cVeh[i] == vehicleid)
- {
- DestroyVehicle(vehicleid);
- SendClientMessage(playerid, COLOR_RED, "You have destroyed the requested vehicle.");
- return 1;
- }
- }
- return SendClientMessage(playerid, COLOR_WHITE, "The requested vehicle was not created by an Administrator, and is unable to be destroyed.");
- }
- }
- //Spectation related commands
- CMD:spec(playerid, params[])
- {
- if(!IsAuth(playerid, 1)) return NoAuth(playerid);
- if(!strcmp(params, "off", true))
- {
- if(Specing[playerid] == -1) return SendClientMessage(playerid, COLOR_WHITE, "You are not spectating anyone.");
- TogglePlayerSpectating(playerid, 0);
- SendClientMessage(playerid, COLOR_RED, "You have stopped spectating.");
- Spec[Specing[playerid]] = -1;
- Specing[playerid] = -1;
- return 1;
- }
- else
- {
- new playerb;
- if(sscanf(params, "i", playerb)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /spec [playerid/off]");
- if(!IsPlayerConnected(playerb) || playerb == playerid) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(GetPlayerState(playerb) == 9) return SendClientMessage(playerid, COLOR_WHITE, "This player is currently in Spectating mode.");
- TogglePlayerSpectating(playerid, 1);
- if(IsPlayerInAnyVehicle(playerb)) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(playerb));
- else PlayerSpectatePlayer(playerid, playerb);
- new string[128];
- format(string, sizeof(string), "AdmCmd: %s %s has started to spectate %s.", RPARN(playerid), RPN(playerid), RPN(playerb));
- SendAMessage(1, string);
- Log("logs/spec.log", string);
- Spec[playerb] = playerid;
- Specing[playerid] = playerb;
- return 1;
- }
- }
- // Weaponary related commands
- CMD:disarm(playerid, param[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new playerb;
- if(sscanf(param, "u", param)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /disarm [playerid]");
- if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- ResetPlayerWeapons(playerb);
- new string[80];
- format(string, sizeof(string), "%s %s has reseted your weapons.", RPARN(playerid), RPN(playerid));
- SendClientMessage(playerb, COLOR_RED, string);
- format(string, sizeof(string), "%s %s has reseted %s's weapons.", RPARN(playerid), RPN(playerid), RPN(playerb));
- SendAMessage(1, string);
- Log("logs/disarm.log", string);
- return 1;
- }
- CMD:givegun(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- new playerb, gun, ammo;
- if(sscanf(params, "uii", playerb, gun, ammo))
- {
- SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givegun [playerid] [weaponid] [ammo]");
- SendClientMessage(playerid, COLOR_REPORT, "_______________________________________");
- SendClientMessage(playerid, COLOR_WHITE, "1: Brass Knuckles 2: Golf Club 3: Nite Stick 4: Knife 5: Baseball Bat 6: Shovel 7: Pool Cue 8: Katana 9: Chainsaw");
- SendClientMessage(playerid, COLOR_WHITE, "10: Purple Dildo 11: Small White Vibrator 12: Large White Vibrator 13: Silver Vibrator 14: Flowers 15: Cane 16: Frag Grenade");
- SendClientMessage(playerid, COLOR_WHITE, "17: Tear Gas 18: Molotov Cocktail 19: Vehicle Missile 20: Hydra Flare 21: Jetpack 22: 9mm 23: Silenced 9mm 24: Desert Eagle 25: Shotgun");
- SendClientMessage(playerid, COLOR_WHITE, "26: Sawnoff Shotgun 27: SPAS-12 28: Micro SMG (Mac 10) 29: SMG (MP5) 30: AK-47 31: M4 32: Tec9 33: Rifle");
- SendClientMessage(playerid, COLOR_WHITE, "34: Sniper Rifle 35: Rocket Launcher 36: HS Rocket Launcher 37: Flamethrower 38: Minigun 39: Satchel Charge");
- SendClientMessage(playerid, COLOR_WHITE, "40: Detonator 41: Spraycan 42: Fire Extinguisher 43: Camera 44: Nightvision Goggles 45: Infared Goggles 46: Parachute");
- SendClientMessage(playerid, COLOR_REPORT, "_______________________________________");
- return 1;
- }
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(gun < 1 || gun > 46) return SendClientMessage(playerid, COLOR_WHITE, "Invalid weapon ID.");
- if(!ammo) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ammo amount.");
- GivePlayerWeapon(playerb, gun, ammo);
- new string[80];
- format(string, sizeof(string), "%s %s has given you weapon ID %d with %d bullets.", RPARN(playerid), RPN(playerid), gun, ammo);
- SendClientMessage(playerb, COLOR_RED, string);
- format(string, sizeof(string), "AdmCmd: %s %s has given %s weapon ID %d with %d bullets.", RPARN(playerid), RPN(playerid), RPN(playerb), gun, ammo);
- SendAMessage(1, string);
- Log("logs/givegun.log", string);
- return 1;
- }
- CMD:givegunall(playerid, params[])
- {
- if(!IsAuth(playerid, 4)) return NoAuth(playerid);
- new gun, ammo;
- if(sscanf(params, "ii", gun, ammo))
- {
- SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givegunall [weaponid] [ammo]");
- SendClientMessage(playerid, COLOR_REPORT, "_______________________________________");
- SendClientMessage(playerid, COLOR_WHITE, "1: Brass Knuckles 2: Golf Club 3: Nite Stick 4: Knife 5: Baseball Bat 6: Shovel 7: Pool Cue 8: Katana 9: Chainsaw");
- SendClientMessage(playerid, COLOR_WHITE, "10: Purple Dildo 11: Small White Vibrator 12: Large White Vibrator 13: Silver Vibrator 14: Flowers 15: Cane 16: Frag Grenade");
- SendClientMessage(playerid, COLOR_WHITE, "17: Tear Gas 18: Molotov Cocktail 19: Vehicle Missile 20: Hydra Flare 21: Jetpack 22: 9mm 23: Silenced 9mm 24: Desert Eagle 25: Shotgun");
- SendClientMessage(playerid, COLOR_WHITE, "26: Sawnoff Shotgun 27: SPAS-12 28: Micro SMG (Mac 10) 29: SMG (MP5) 30: AK-47 31: M4 32: Tec9 33: Rifle");
- SendClientMessage(playerid, COLOR_WHITE, "34: Sniper Rifle 35: Rocket Launcher 36: HS Rocket Launcher 37: Flamethrower 38: Minigun 39: Satchel Charge");
- SendClientMessage(playerid, COLOR_WHITE, "40: Detonator 41: Spraycan 42: Fire Extinguisher 43: Camera 44: Nightvision Goggles 45: Infared Goggles 46: Parachute");
- SendClientMessage(playerid, COLOR_REPORT, "_______________________________________");
- return 1;
- }
- if(gun < 1 || gun > 46) return SendClientMessage(playerid, COLOR_WHITE, "Invalid weapon ID.");
- if(!ammo) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ammo amount.");
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i)) GivePlayerWeapon(i, gun, ammo);
- }
- new string[80];
- format(string, sizeof(string), "AdmCmd: %s %s has given everyone weapon ID %d with %d bullets.", RPARN(playerid), RPN(playerid), gun, ammo);
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/givegun.log", string);
- return 1;
- }
- CMD:disarmall(playerid)
- {
- if(!IsAuth(playerid, 4)) return NoAuth(playerid);
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i)) ResetPlayerWeapons(i);
- }
- new string[80];
- format(string, sizeof(string), "AdmCmd: %s %s has disarmed everyone.", RPARN(playerid), RPN(playerid));
- SendClientMessageToAll(COLOR_RED, string);
- return 1;
- }
- CMD:jetpack(playerid, params[])
- {
- if(!IsAuth(playerid, 1)) return NoAuth(playerid);
- new playerb;
- if(sscanf(params, "u", playerb)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /jetpack [playerid]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- SetPlayerSpecialAction(playerb, 2);
- new string[128];
- format(string, sizeof(string), "%s %s has given you a jetpack.", RPARN(playerid), RPN(playerid));
- SendClientMessage(playerb, COLOR_RED, string);
- format(string, sizeof(string), "You have given %s a jetpack.", RPN(playerb));
- SendClientMessage(playerid, COLOR_RED, string);
- return 1;
- }
- CMD:jetpackall(playerid)
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i)) SetPlayerSpecialAction(i, 2);
- }
- new string[128];
- format(string, sizeof(string), "%s %s has given everyone a jetpack.", RPARN(playerid), RPN(playerid));
- SendClientMessageToAll(COLOR_RED, string);
- return 1;
- }
- // Money related commands
- CMD:givemoney(playerid, params[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new playerb, money;
- if(sscanf(params, "ui", playerb, money)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givemoney [playerid] [amount]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(!money) return SendClientMessage(playerid, COLOR_WHITE, "Money amount can't be 0.");
- GivePlayerMoney(playerid, money);
- new string[80];
- format(string, sizeof(string), "AdmCmd: %s %s has given %s $%d", RPARN(playerid), RPN(playerid), RPN(playerb), money);
- SendAMessage(1, string);
- Log("givemoney.log", string);
- format(string, sizeof(string), "AdmCmd: %s %s has given you $%d", RPARN(playerid), RPN(playerid), money);
- SendClientMessage(playerb, COLOR_RED, string);
- return 1;
- }
- CMD:setmoney(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- new playerb, money;
- if(sscanf(params, "ui", playerb, money)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setmoney [playerid] [amount]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- GivePlayerMoney(playerb, -GetPlayerMoney(playerid));
- GivePlayerMoney(playerb, money);
- new string[80];
- format(string, sizeof(string), "%s %s has set your money to $%d.", RPARN(playerid), RPN(playerid), money);
- SendClientMessage(playerb, COLOR_RED, string);
- format(string, sizeof(string), "AdmCmd: %s %s has set %s's money to $%d.", RPARN(playerid), RPN(playerid), RPN(playerb), money);
- SendAMessage(1, string);
- Log("logs/setmoney.log", string);
- return 1;
- }
- CMD:givemoneyall(playerid, params[])
- {
- if(!IsAuth(playerid, 4)) return NoAuth(playerid);
- new money;
- if(sscanf(params, "i", money)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givemoneyall [amount]");
- if(!money) return SendClientMessage(playerid, COLOR_WHITE, "Money amount has to be higher than 0.");
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i)) GivePlayerMoney(i, money);
- }
- new string[80];
- format(string, sizeof(string), "AdmCmd: %s %s has given everyone $%d.", RPARN(playerid), RPN(playerid), money);
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/givemoney.log", string);
- return 1;
- }
- CMD:setmoneyall(playerid, params[])
- {
- if(!IsAuth(playerid, 4)) return NoAuth(playerid);
- new money;
- if(sscanf(params, "i", money)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setmoneyall [amount]");
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i))
- {
- GivePlayerMoney(i, -GetPlayerMoney(i));
- GivePlayerMoney(i, money);
- }
- }
- new string[80];
- format(string, sizeof(string), "AdmCmd: %s %s has set everyone's money to $%d.", RPARN(playerid), RPN(playerid), money);
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/givemoney.log", string);
- return 1;
- }
- // Score related commands
- CMD:setscore(playerid, params[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new playerb, score;
- if(sscanf(params, "ui", playerb, score)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setscore [playerid] [score]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(score < 0) return SendClientMessage(playerid, COLOR_WHITE, "Score can't be negative.");
- SetPlayerScore(playerb, score);
- new string[80];
- format(string, sizeof(string), "AdmCmd: %s %s has set %s's score to %d.", RPARN(playerid), RPN(playerid), RPN(playerb), score);
- SendAMessage(1, string);
- Log("logs/setscore.log", string);
- format(string, sizeof(string), "%s %s has set your score to %d.", RPARN(playerid), RPN(playerid), score);
- SendClientMessage(playerb, COLOR_RED, string);
- return 1;
- }
- // Statistics related commands
- CMD:check(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- new playerb;
- if(sscanf(params, "u", playerb)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /check [playerid]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- new string[128], Float:hp, Float:ap;
- format(string, sizeof(string), "%s's Statistics:", RPN(playerb));
- SendClientMessage(playerid, COLOR_REPORT, string);
- GetPlayerHealth(playerb, hp);
- GetPlayerArmour(playerid, ap);
- format(string, sizeof(string), "Health: {FF0000}%f, {FFFFFF}Armor: {FF0000}%f, {FFFFFF}Ping: {FF0000}%d, {FFFFFF}Admin Level: {FF0000}%d", hp, ap, GetPlayerPing(playerb), aInfo[playerb][aLevel]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- format(string, sizeof(string), "Money: {FF0000}%d, {FFFFFF}Score: {FF0000}%d, {FFFFFF}Current vehicle ID: {FF0000}%d, {FFFFFF}Current vehicle model: {FF0000}%d", GetPlayerMoney(playerb), GetPlayerScore(playerb), GetPlayerVehicleID(playerb), GetVehicleModel(GetPlayerVehicleID(playerb)));
- SendClientMessage(playerid, COLOR_WHITE, string);
- new weapons[13][2];
- for (new i = 0; i < 13; i++)
- {
- GetPlayerWeaponData(playerb, i, weapons[i][0], weapons[i][1]);
- }
- SendClientMessage(playerid, COLOR_REPORT, "Weapon information:");
- format(string, sizeof(string), "Slot 1: %d (Ammo: %d), Slot 2: %d (Ammo: %d), Slot 3: %d (Ammo: %d), Slot 4: %d (Ammo: %d), Slot 5: %d (Ammo: %d), Slot 6: %d (Ammo: %d)", weapons[0][0], weapons[0][1], weapons[1][0], weapons[1][1], weapons[2][0], weapons[2][1], weapons[3][0], weapons[3][1], weapons[4][0], weapons[4][1], weapons[5][0], weapons[5][1]);
- SendClientMessage(playerid, COLOR_RED, string);
- format(string, sizeof(string), "Slot 7: %d (Ammo: %d), Slot 8: %d (Ammo: %d), Slot 9: %d (Ammo: %d), Slot 10: %d (Ammo: %d), Slot 11: %d (Ammo: %d), Slot 12: %d (Ammo: %d), Slot 13: %d (Ammo: %d)", weapons[6][0], weapons[6][1], weapons[7][0], weapons[7][1], weapons[8][0], weapons[8][1], weapons[9][0], weapons[9][1], weapons[10][0], weapons[10][1], weapons[11][0], weapons[11][1], weapons[12][0], weapons[12][1]);
- SendClientMessage(playerid, COLOR_RED, string);
- return 1;
- }
- CMD:setname(playerid, params[])
- {
- if(!IsAuth(playerid, 4)) return NoAuth(playerid);
- new playerb;
- if(sscanf(params, "us[24]", playerb, params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setname [playerid] [name]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(strlen(params) > 24) return SendClientMessage(playerid, COLOR_WHITE, "Player name can't be higher than 24 characters.");
- new string[80];
- format(string, sizeof(string), "AdmCmd: %s %s has set %s's name to %s.", RPARN(playerid), RPN(playerid), RPN(playerb), params);
- SendAMessage(1, string);
- Log("logs/setname.log", string);
- format(string, sizeof(string), "%s %s has set your name to %s.", RPARN(playerid), RPN(playerid), params);
- SendClientMessage(playerb, COLOR_RED, string);
- if(aInfo[playerb][aLevel])
- {
- new query[128];
- mysql_format(mysql, query, sizeof(query), "UPDATE `Admins` SET `Username`='%e' WHERE `Username`='%e' LIMIT 1", params, RPN(playerb));
- mysql_tquery(mysql, query);
- }
- SetPlayerName(playerb, params);
- return 1;
- }
- CMD:checkip(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- new playerb;
- if(sscanf(params, "u", playerb)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /checkip [playerid]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(aInfo[playerid][aLevel] < aInfo[playerb][aLevel]) return SendClientMessage(playerid, COLOR_WHITE, "You can't view the IP Address of a higher level Administrator.");
- new string[128];
- format(string, sizeof(string), "%s's {FFFFFF}IP Address: {FF0000}%s", RPN(playerb), RPIP(playerb));
- SendClientMessage(playerid, COLOR_RED, string);
- return 1;
- }
- CMD:setcolor(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- new playerb, color;
- if(sscanf(params, "ux", playerb, color))
- {
- SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setcolor [playerid] [color]");
- SendClientMessage(playerid, COLOR_WHITE, "Note: Colors has to be in Hex code.");
- }
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- SetPlayerColor(playerb, color);
- new string[128];
- format(string, sizeof(string), "%s %s has changed your color to the color of this message.", RPARN(playerid), RPN(playerid));
- SendClientMessage(playerb, color, string);
- format(string, sizeof(string), "You have changed %s's color to the color of this message.", RPN(playerb));
- SendClientMessage(playerid, color, string);
- return 1;
- }
- CMD:wanted(playerid)
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- SendClientMessage(playerid, COLOR_RED, "----------- Wanted List ----------");
- new string[128];
- foreach(new i : Player)
- {
- if(GetPlayerWantedLevel(i))
- {
- format(string, sizeof(string), "Name: %s | ID: %d | Wanted Level: %d |", RPN(i), i, GetPlayerWantedLevel(i));
- SendClientMessage(playerid, COLOR_RED, string);
- }
- }
- SendClientMessage(playerid, COLOR_RED, "----------------------------------");
- return 1;
- }
- CMD:setwanted(playerid, params[])
- {
- if(!IsAuth(playerid, 3)) return NoAuth(playerid);
- new playerb, level;
- if(sscanf(params, "ui", playerb, level)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setwanted [playerid] [level]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(level < 0 || level > 6) return SendClientMessage(playerid, COLOR_WHITE, "Wanted levels are between 0 to 6");
- if(GetPlayerWantedLevel(playerb) == level) return SendClientMessage(playerid, COLOR_WHITE, "This player already has this wanted level.");
- new string[80];
- SetPlayerWantedLevel(playerb, level);
- format(string, sizeof(string), "%s %s has set your wanted level to %d.", RPARN(playerid), RPN(playerid), level);
- SendClientMessage(playerb, COLOR_REPORT, string);
- format(string, sizeof(string), "%s %s has set %s's wanted level to %d.", RPARN(playerid), RPN(playerid), RPN(playerb), level);
- SendAMessage(1, string);
- Log("logs/wanted.log", string);
- return 1;
- }
- CMD:setskin(playerid, params[])
- {
- if(!IsAuth(playerid, 1)) return NoAuth(playerid);
- new playerb, skin;
- if(sscanf(params, "ui", playerb, skin)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setskin [playerid] [skin]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(skin < 0 || skin > 311) return SendClientMessage(playerid, COLOR_WHITE, "Skins are between 0 to 311");
- if(GetPlayerSkin(playerb) == skin) return SendClientMessage(playerid, COLOR_WHITE, "This player already has this skin.");
- new string[80];
- SetPlayerSkin(playerb, skin);
- format(string, sizeof(string), "%s %s has set your skin to %d.", RPARN(playerid), RPN(playerid), skin);
- SendClientMessage(playerb, COLOR_RED, string);
- format(string, sizeof(string), "You have set %s's skin to %d.", RPN(playerb), skin);
- SendClientMessage(playerid, COLOR_RED, string);
- return 1;
- }
- // Freeze related commands
- CMD:freeze(playerid, params[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new playerb;
- if(sscanf(params, "u", playerb)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /freeze [playerid]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: Invalid ID.");
- new string[80];
- if(!Freeze[playerid])
- {
- Freeze[playerid] = 1;
- TogglePlayerControllable(playerb, 0);
- format(string, sizeof(string), "%s %s has froze you.", RPARN(playerid), RPN(playerid));
- SendClientMessage(playerb, COLOR_RED, string);
- format(string, sizeof(string), "%s %s has froze %s.", RPARN(playerid), RPN(playerid), RPN(playerb));
- SendAMessage(1, string);
- Log("logs/freeze.log", string);
- return 1;
- }
- else
- {
- Freeze[playerid] = 0;
- TogglePlayerControllable(playerb, 1);
- format(string, sizeof(string), "%s %s has unfroze you.", RPARN(playerid), RPN(playerid));
- SendClientMessage(playerb, COLOR_RED, string);
- format(string, sizeof(string), "%s %s has unfroze %s.", RPARN(playerid), RPN(playerid), RPN(playerb));
- SendAMessage(1, string);
- Log("logs/freeze.log", string);
- return 1;
- }
- }
- CMD:freezeall(playerid)
- {
- if(!IsAuth(playerid, 4)) return NoAuth(playerid);
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i) && i != playerid)
- {
- TogglePlayerControllable(i, 0);
- Freeze[i] = 1;
- }
- }
- new string[80];
- format(string, sizeof(string), "%s %s has froze everyone.", RPARN(playerid), RPN(playerid));
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/freezeall.log", string);
- return 1;
- }
- CMD:unfreezeall(playerid)
- {
- if(!IsAuth(playerid, 4)) return NoAuth(playerid);
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i) && i != playerid)
- {
- TogglePlayerControllable(i, 1);
- Freeze[i] = 0;
- }
- }
- new string[80];
- format(string, sizeof(string), "%s %s has unfroze everyone.", RPARN(playerid), RPN(playerid));
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/freezeall.log", string);
- return 1;
- }
- // Administrators Fly related commands
- CMD:fly(playerid)
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new Float:x, Float:y, Float:z;
- if(Fly[playerid] == false)
- {
- GetPlayerPos(playerid, x, y, z);
- SetPlayerPos(playerid, x, y, z+5);
- SetPlayerArmour(playerid, 1000000000.0);
- SetPlayerHealth(playerid, 1000000000.0);
- SetTimerEx("AdminFly", 100, 0, "d", playerid);
- Fly[playerid] = true;
- return 1;
- }
- else
- {
- GetPlayerPos(playerid, x, y, z);
- SetPlayerPos(playerid, x, y, z+0.5);
- ClearAnimations(playerid);
- SetPlayerArmour(playerid, 100.0);
- SetPlayerHealth(playerid, 100.0);
- Fly[playerid] = false;
- return 1;
- }
- }
- // Health and Armor related commands
- CMD:sethp(playerid, params[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new playerb, Float:hp;
- if(sscanf(params, "uf", playerb, hp)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sethp [playerid] [health]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(hp < 0) return SendClientMessage(playerid, COLOR_WHITE, "Health can't be negative.");
- SetPlayerHealth(playerb, hp);
- new string[80];
- format(string, sizeof(string), "%s %s has set your HP to %f.", RPARN(playerid), RPN(playerid), hp);
- SendClientMessage(playerb, COLOR_RED, string);
- format(string, sizeof(string), "%s %s has set %s's HP to %f.", RPARN(playerid), RPN(playerid), RPN(playerb), hp);
- SendAMessage(1, string);
- Log("logs/sethp.log", string);
- return 1;
- }
- CMD:setarmor(playerid, params[])
- {
- if(!IsAuth(playerid, 2)) return NoAuth(playerid);
- new playerb, Float:ap;
- if(sscanf(params, "uf", playerb, ap)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setarmor [playerid] [armor]");
- if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_WHITE, "Invalid ID.");
- if(ap < 0) return SendClientMessage(playerid, COLOR_WHITE, "Armor can't be negative.");
- SetPlayerArmour(playerb, ap);
- new string[80];
- format(string, sizeof(string), "%s %s has set your Armor to %f.", RPARN(playerid), RPN(playerid), ap);
- SendClientMessage(playerb, COLOR_RED, string);
- format(string, sizeof(string), "%s %s has set %s's Armor to %f.", RPARN(playerid), RPN(playerid), RPN(playerb), ap);
- SendAMessage(1, string);
- Log("logs/setarmor.log", string);
- return 1;
- }
- CMD:sethpall(playerid, params[])
- {
- if(!IsAuth(playerid, 4)) return NoAuth(playerid);
- new Float:hp;
- if(sscanf(params, "f", hp)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sethpall [health]");
- if(hp < 0) return SendClientMessage(playerid, COLOR_WHITE, "Health can't be negative.");
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i)) SetPlayerHealth(i, hp);
- }
- new string[80];
- format(string, sizeof(string), "%s %s has set everyone's HP to %f.", RPARN(playerid), RPN(playerid), hp);
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/sethp.log", string);
- return 1;
- }
- CMD:setarmorall(playerid, params[])
- {
- if(!IsAuth(playerid, 4)) return NoAuth(playerid);
- new Float:ap;
- if(sscanf(params, "f", ap)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setarmorall [armor]");
- if(ap < 0) return SendClientMessage(playerid, COLOR_WHITE, "Armor can't be negative.");
- foreach(new i : Player)
- {
- if(IsPlayerConnected(i)) SetPlayerArmour(i, ap);
- }
- new string[80];
- format(string, sizeof(string), "%s %s has set everyone's Armour to %f.", RPARN(playerid), RPN(playerid), ap);
- SendClientMessageToAll(COLOR_RED, string);
- Log("logs/setarmor.log", string);
- return 1;
- }
- // Server related commands
- CMD:setweather(playerid, params[])
- {
- if(!IsAuth(playerid, 5)) return NoAuth(playerid);
- new weather;
- if(sscanf(params, "i", weather)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setweather [weather]");
- if(weather < 0 || weather > 20) return SendClientMessage(playerid, COLOR_WHITE, "Invalid weather ID.");
- SetWeather(weather);
- new string[80];
- format(string, sizeof(string), "%s %s has changed the world's weather to %d.", RPARN(playerid), RPN(playerid), weather);
- SendClientMessageToAll(COLOR_RED, string);
- return 1;
- }
- CMD:settime(playerid, params[])
- {
- if(!IsAuth(playerid, 5)) return NoAuth(playerid);
- new time;
- if(sscanf(params, "i", time)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /settime [hour]");
- if(time < 0 || time > 23) return SendClientMessage(playerid, COLOR_WHITE, "Hour should be between 0 to 23.");
- SetWorldTime(time);
- new string[80];
- format(string, sizeof(string), "%s %s has changed the world's hour to %d.", RPARN(playerid), RPN(playerid), time);
- SendClientMessageToAll(COLOR_RED, string);
- return 1;
- }
- CMD:serverpanel(playerid)
- {
- if(!IsAuth(playerid, 7)) return NoAuth(playerid);
- SendClientMessage(playerid, COLOR_RED, "Be aware, if you don't know how to use a command, better don't use it.");
- ShowPlayerDialog(playerid, DIALOG_SERVER_PANEL, 2, "Server RCON Panel", "Echo a message\nServer Hostname\nRCON Say\nServer Gamemode Text\nExecute a file\nServer Map Name\nServer GMX\n\
- Change Server Gamemode\nClose the server\nServer Gravity\nLoad a Filterscript\nUnload a Filterscript\nReload a Filterscript\nServer Password\nRemove Password\nRCON Password\nServer Language", "Choose", "Close");
- return 1;
- }
- //---------------------------------------
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case DIALOG_PASSWORD:
- {
- if(response)
- {
- if(strlen(inputtext) < 4 || strlen(inputtext) > 128) return SendClientMessage(playerid, COLOR_WHITE, "Admin Password should be between 4 to 128 characters.");
- WP_Hash(aInfo[playerid][aPass], 256, inputtext);
- new log[80];
- if(aInfo[playerid][aLogged]) SendClientMessage(playerid, COLOR_WHITE, "You have changed your Admin Password.");
- else SendClientMessage(playerid, COLOR_WHITE, "You have changed your Admin Password, You may now login using /ALogin to receive admin powers.");
- format(log, sizeof(log), "%s (%s) has changed his admin password.", RPN(playerid), RPIP(playerid));
- Log("logs/admpass.log", log);
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the Admin Password setup dialog.");
- }
- case DIALOG_SERVER_PANEL:
- {
- if(response)
- {
- switch(listitem)
- {
- case 0: ShowPlayerDialog(playerid, DIALOG_SERVER_ECHO, DIALOG_STYLE_INPUT, "RCON Echo", "Please type the message you want to send to the console", "Send", "Close");
- case 1: ShowPlayerDialog(playerid, DIALOG_SERVER_NAME, DIALOG_STYLE_INPUT, "RCON Hostname", "Enter the new server name", "Change", "Close");
- case 2: ShowPlayerDialog(playerid, DIALOG_SERVER_SAY, DIALOG_STYLE_INPUT, "RCON Say", "Type the message", "Send", "Close");
- case 3: ShowPlayerDialog(playerid, DIALOG_SERVER_GMTEXT, DIALOG_STYLE_INPUT, "RCON GameMode Text", "Type in the new GameMode text", "Change", "Close");
- case 4: ShowPlayerDialog(playerid, DIALOG_SERVER_EXEC, DIALOG_STYLE_INPUT, "RCON CFG File execution", "Type in the file name (Use this with care)", "Execute", "Close");
- case 5: ShowPlayerDialog(playerid, DIALOG_SERVER_MAP, DIALOG_STYLE_INPUT, "RCON Map Name", "Enter the new map name", "Change", "Close");
- case 6: SendRconCommand("gmx");
- case 7: ShowPlayerDialog(playerid, DIALOG_SERVER_MODE, DIALOG_STYLE_INPUT, "RCON GameMode Switch", "Enter the new gamemode name (Make sure the AMX file exist in your GM folder)", "Change", "Close");
- case 8: SendRconCommand("exit");
- case 9: ShowPlayerDialog(playerid, DIALOG_SERVER_GRAVITY, DIALOG_STYLE_INPUT, "RCON Gravity", "Enter the new gravity (Use this with care)", "Change", "Close");
- case 10: ShowPlayerDialog(playerid, DIALOG_SERVER_LOADFS, DIALOG_STYLE_INPUT, "RCON Load FS", "Enter the filterscript you want to load", "Load", "Close");
- case 11: ShowPlayerDialog(playerid, DIALOG_SERVER_UNLOADFS, DIALOG_STYLE_INPUT, "RCON Unload FS", "Enter the filterscript you want to unload", "Unload", "Close");
- case 12: ShowPlayerDialog(playerid, DIALOG_SERVER_RELOADFS, DIALOG_STYLE_INPUT, "RCON Reload FS", "Enter the filterscript you want to reload", "Reload", "Close");
- case 13: ShowPlayerDialog(playerid, DIALOG_SERVER_PASS, DIALOG_STYLE_INPUT, "Server Password", "Enter the new server password", "Set", "Close");
- case 14: SendRconCommand("password 0");
- case 15: ShowPlayerDialog(playerid, DIALOG_SERVER_RCONPASS, DIALOG_STYLE_INPUT, "RCON Password", "Enter the new RCON password", "Change", "Close");
- case 16: ShowPlayerDialog(playerid, DIALOG_SERVER_LANG, DIALOG_STYLE_INPUT, "RCON Language", "Enter the new server language", "Change", "Close");
- }
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the server RCON panel.");
- }
- case DIALOG_SERVER_ECHO:
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "Message must contain atleast one character.");
- new cmd[128];
- format(cmd, sizeof(cmd), "echo %s", inputtext);
- SendRconCommand(cmd);
- format(cmd, sizeof(cmd), "%s %s has sent a console message: %s", RPARN(playerid), RPN(playerid), inputtext);
- Log("logs/echo.log", cmd);
- SendClientMessage(playerid, COLOR_RED, "You have sent a message to the server console.");
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the server RCON panel.");
- }
- case DIALOG_SERVER_NAME:
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "Hostname must contain atleast one character.");
- new cmd[128];
- format(cmd, sizeof(cmd), "hostname %s", inputtext);
- SendRconCommand(cmd);
- format(cmd, sizeof(cmd), "%s %s has changed the server name to: %s", RPARN(playerid), RPN(playerid), inputtext);
- Log("logs/hostname.log", cmd);
- SendClientMessage(playerid, COLOR_RED, "You have changed the server hostname.");
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the server RCON panel.");
- }
- case DIALOG_SERVER_SAY:
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "Message must contain atleast one character.");
- new cmd[128];
- format(cmd, sizeof(cmd), "say %s", inputtext);
- SendRconCommand(cmd);
- format(cmd, sizeof(cmd), "%s %s has sent a server RCON message: %s", RPARN(playerid), RPN(playerid), inputtext);
- Log("logs/rconsay.log", cmd);
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the server RCON panel.");
- }
- case DIALOG_SERVER_GMTEXT:
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "GameMode text must contain atleast one character.");
- new cmd[128];
- format(cmd, sizeof(cmd), "gamemodetext %s", inputtext);
- SendRconCommand(cmd);
- format(cmd, sizeof(cmd), "%s %s has changed the GameMode text to: %s", RPARN(playerid), RPN(playerid), inputtext);
- Log("logs/gmtext.log", cmd);
- SendClientMessage(playerid, COLOR_RED, "You have changed the server gamemode text.");
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the server RCON panel.");
- }
- case DIALOG_SERVER_EXEC:
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "File name must contain atleast one character.");
- new cmd[128];
- format(cmd, sizeof(cmd), "%s %s has executed a cfg file: %s", RPARN(playerid), RPN(playerid), inputtext);
- Log("logs/exec.log", cmd);
- format(cmd, sizeof(cmd), "exec %s", inputtext);
- SendRconCommand(cmd);
- SendClientMessage(playerid, COLOR_RED, "You have executed a CFG file.");
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the server RCON panel.");
- }
- case DIALOG_SERVER_MAP:
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "Map name must contain atleast one character.");
- new cmd[128];
- format(cmd, sizeof(cmd), "mapname %s", inputtext);
- SendRconCommand(cmd);
- format(cmd, sizeof(cmd), "%s %s has changed the map name to: %s", RPARN(playerid), RPN(playerid), inputtext);
- Log("logs/mapname.log", cmd);
- SendClientMessage(playerid, COLOR_RED, "You have changed the server map name.");
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the server RCON panel.");
- }
- case DIALOG_SERVER_MODE:
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "Gamemode name must contain atleast one character.");
- new cmd[128];
- format(cmd, sizeof(cmd), "%s %s has changed the server gamemode to: %s", RPARN(playerid), RPN(playerid), inputtext);
- Log("logs/gamemode.log", cmd);
- format(cmd, sizeof(cmd), "changemode %s", inputtext);
- SendRconCommand(cmd);
- SendClientMessage(playerid, COLOR_RED, "You have changed the server's gamemode.");
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the server RCON panel.");
- }
- case DIALOG_SERVER_GRAVITY:
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "Gravity must contain a numerical value.");
- new cmd[128];
- format(cmd, sizeof(cmd), "%s %s has changed the server gravity to: %f", RPARN(playerid), RPN(playerid), floatstr(inputtext));
- Log("logs/gravity.log", cmd);
- format(cmd, sizeof(cmd), "gravity %f", floatstr(inputtext));
- SendRconCommand(cmd);
- SendClientMessage(playerid, COLOR_RED, "You have changed the server's gravity.");
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the server RCON panel.");
- }
- case DIALOG_SERVER_LOADFS:
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "Filterscript name must contain atleast one character.");
- new cmd[128];
- format(cmd, sizeof(cmd), "%s %s has loaded the filterscript: %s", RPARN(playerid), RPN(playerid), inputtext);
- Log("logs/loadfs.log", cmd);
- format(cmd, sizeof(cmd), "loadfs %s", inputtext);
- SendRconCommand(cmd);
- SendClientMessage(playerid, COLOR_RED, "You have loaded a filterscript to the server.");
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the server RCON panel.");
- }
- case DIALOG_SERVER_UNLOADFS:
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "Filterscript name must contain atleast one character.");
- new cmd[128];
- format(cmd, sizeof(cmd), "%s %s has unloaded the filterscript: %s", RPARN(playerid), RPN(playerid), inputtext);
- Log("logs/unloadfs.log", cmd);
- format(cmd, sizeof(cmd), "unloadfs %s", inputtext);
- SendRconCommand(cmd);
- SendClientMessage(playerid, COLOR_RED, "You have unloaded a filterscript from the server.");
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the server RCON panel.");
- }
- case DIALOG_SERVER_RELOADFS:
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "Filterscript name must contain atleast one character.");
- new cmd[128];
- format(cmd, sizeof(cmd), "%s %s has reloaded the filterscript: %s", RPARN(playerid), RPN(playerid), inputtext);
- Log("logs/reloadfs.log", cmd);
- format(cmd, sizeof(cmd), "reloadfs %s", inputtext);
- SendRconCommand(cmd);
- SendClientMessage(playerid, COLOR_RED, "You have reloaded the chosen filterscript.");
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the server RCON panel.");
- }
- case DIALOG_SERVER_PASS:
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "Server password must contain atleast one character.");
- new cmd[128];
- format(cmd, sizeof(cmd), "%s %s has changed the server password to: %s", RPARN(playerid), RPN(playerid), inputtext);
- Log("logs/serverpass.log", cmd);
- format(cmd, sizeof(cmd), "password %s", inputtext);
- SendRconCommand(cmd);
- SendClientMessage(playerid, COLOR_RED, "You have changed the server password.");
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the server RCON panel.");
- }
- case DIALOG_SERVER_RCONPASS:
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "RCON password must contain atleast one character.");
- new cmd[128];
- format(cmd, sizeof(cmd), "%s %s has changed the RCON password to: %s", RPARN(playerid), RPN(playerid), inputtext);
- Log("logs/rconpass.log", cmd);
- format(cmd, sizeof(cmd), "rcon_password %s", inputtext);
- SendRconCommand(cmd);
- SendClientMessage(playerid, COLOR_RED, "You have changed the RCON password.");
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the server RCON panel.");
- }
- case DIALOG_SERVER_LANG:
- {
- if(response)
- {
- if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_WHITE, "Server Language must contain atleast one character.");
- new cmd[128];
- format(cmd, sizeof(cmd), "%s %s has changed the server language to: %s", RPARN(playerid), RPN(playerid), inputtext);
- Log("logs/rconlang.log", cmd);
- format(cmd, sizeof(cmd), "language %s", inputtext);
- SendRconCommand(cmd);
- SendClientMessage(playerid, COLOR_RED, "You have changed the server language.");
- }
- else return SendClientMessage(playerid, COLOR_WHITE, "You have closed the server RCON panel.");
- }
- }
- return 0;
- }
- //-------------------------------- Forwarded Publics & Callbacks
- forward Mute(playerid);
- public Mute(playerid)
- {
- if(Muted[playerid])
- {
- SendClientMessage(playerid, COLOR_RED, "You have been automatically unmuted by the system due to finishing your mute time.");
- Muted[playerid] = 0;
- }
- if(RMute[playerid])
- {
- SendClientMessage(playerid, COLOR_REPORT, "You have been automatically unmuted from reporting due to finishing your mute time.");
- RMute[playerid] = 0;
- }
- return 1;
- }
- forward RMuted(playerid);
- public RMuted(playerid)
- {
- if(RMute[playerid])
- {
- SendClientMessage(playerid, COLOR_REPORT, "You have been automatically unmuted from reporting due to finishing your mute time.");
- RMute[playerid] = 0;
- }
- return 1;
- }
- forward Report(playerid);
- public Report(playerid)
- {
- if(Reported[playerid]) Reported[playerid] = 0;
- return 1;
- }
- forward Jail(playerid);
- public Jail(playerid)
- {
- if(Jailed[playerid])
- {
- Jailed[playerid] = 0;
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerPos(playerid, 1515.2551, -1666.3148, 14.0469);
- SendClientMessage(playerid, COLOR_REPORT, "You have served your time in prison.");
- }
- return 1;
- }
- forward DelayedKick(playerid);
- public DelayedKick(playerid)
- {
- Kick(playerid);
- return 1;
- }
- forward AdminFly(playerid);
- public AdminFly(playerid)
- {
- if(!IsPlayerConnected(playerid))
- return Fly[playerid] = false;
- if(Fly[playerid])
- {
- if(!IsPlayerInAnyVehicle(playerid))
- {
- new
- keys,
- ud,
- lr,
- Float:x[2],
- Float:y[2],
- Float:z;
- GetPlayerKeys(playerid, keys, ud, lr);
- GetPlayerVelocity(playerid, x[0], y[0], z);
- if(ud == KEY_UP)
- {
- GetPlayerCameraPos(playerid, x[0], y[0], z);
- GetPlayerCameraFrontVector(playerid, x[1], y[1], z);
- ApplyAnimation(playerid,"SWIM","SWIM_crawl",6.1,1,1,1,1,0,1);
- SetPlayerToFacePos(playerid, x[0] + x[1], y[0] + y[1]);
- SetPlayerVelocity(playerid, x[1], y[1], z);
- }
- else
- SetPlayerVelocity(playerid, 0.0, 0.0, 0.01);
- }
- SetTimerEx("AdminFly", 100, 0, "d", playerid);
- }
- return 0;
- }
- forward Float:SetPlayerToFacePos(playerid, Float:X, Float:Y);
- public Float:SetPlayerToFacePos(playerid, Float:X, Float:Y)
- {
- new
- Float:pX1,
- Float:pY1,
- Float:pZ1,
- Float:ang;
- if(!IsPlayerConnected(playerid)) return 0.0;
- GetPlayerPos(playerid, pX1, pY1, pZ1);
- if( Y > pY1 ) ang = (-acos((X - pX1) / floatsqroot((X - pX1)*(X - pX1) + (Y - pY1)*(Y - pY1))) - 90.0);
- else if( Y < pY1 && X < pX1 ) ang = (acos((X - pX1) / floatsqroot((X - pX1)*(X - pX1) + (Y - pY1)*(Y - pY1))) - 450.0);
- else if( Y < pY1 ) ang = (acos((X - pX1) / floatsqroot((X - pX1)*(X - pX1) + (Y - pY1)*(Y - pY1))) - 90.0);
- if(X > pX1) ang = (floatabs(floatabs(ang) + 180.0));
- else ang = (floatabs(ang) - 180.0);
- ang += 180.0;
- SetPlayerFacingAngle(playerid, ang);
- return ang;
- }
- //--------------------------------
- public OnPlayerText(playerid, text[])
- {
- if(Muted[playerid])
- {
- SendClientMessage(playerid, COLOR_RED, "You cannot send messages when you are muted.");
- return 0;
- }
- if(ChatLock && !CPerm[playerid] && !aInfo[playerid][aLevel])
- {
- SendClientMessage(playerid, COLOR_RED, "You cannot send messages when the chat is locked.");
- return 0;
- }
- return 1;
- }
- //---------------------------------
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- if(Spec[playerid] != -1) PlayerSpectateVehicle(Spec[playerid], vehicleid);
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- if(Spec[playerid] != -1) PlayerSpectatePlayer(Spec[playerid], playerid);
- return 1;
- }
- //---------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement