Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To 'Michael Palmer':
- *
- * codename: vehiclesystem.pwn; author: Lorenc; Complete: 10/16/2011;
- * email: zeelorenc@hotmail.com; SA-MP Username: Lorenc_
- *
- * Thanks for purchasing this script, your greatly appriecated, Lorenc.
- *
- */
- #include <a_samp>
- #include <foreach>
- #include <sscanf2>
- #include <zcmd>
- #include <YSI/y_va>
- /* ** Configuration ** */
- #undef MAX_PLAYERS
- #define MAX_PLAYERS (52) //Change to how big your server slots are!
- #define FILE_VERSION "0.3c"
- #define SERVER_NAME "Los Santos Freeroam (0.3c) "
- #define SERVER_SITE "lsservers.co.cc"
- #define DB_FILE "admin.db"
- /* ** Functions/Macros ** */
- #define IsHigherAdminLevel(%1,%2) (gPlayerData[(%1)][E_ADMIN_LEVEL]>gPlayerData[(%2)][E_ADMIN_LEVEL])
- #define function%1(%2) forward%1(%2); public%1(%2)
- /* ** Dialogs ** */
- #define DIALOG_TITLE "{FFFFFF}"#SERVER_NAME""
- #define DIALOG_NULL (0xFF)
- #define DIALOG_REGISTER (1001)
- #define DIALOG_LOGIN (1002)
- #define DIALOG_TELES (1003)
- #define DIALOG_TELES_LV (1004)
- #define DIALOG_TELES_LS (1005)
- #define DIALOG_TELES_SF (1006)
- #define REGISTER_MSG "{FFFFFF}Welcome to "#SERVER_NAME", Welcome You Are Currently Not Registered!\nEnter your password and register in the server!"
- #define LOGIN_MSG "{FFFFFF}Welcome to "#SERVER_NAME", Welcome You Are Currently Registered\nEnter your password and log on to the server!"
- /* ** Colours ** */
- #define COL_GREEN "{6EF83C}"
- #define COL_RED "{F81414}"
- #define COL_BLUE "{00C0FF}"
- #define COL_LGREEN "{C9FFAB}"
- #define COL_LRED "{FFA1A1}"
- #define COL_GOLD "{FFDC2E}"
- #define COL_GREY "{C0C0C0}"
- #define COL_PINK "{FF0770}"
- #define COLOR_GREEN 0x00CC00FF
- #define COLOR_RED 0xFF0000FF
- #define COLOR_YELLOW 0xFFFF00FF
- #define COLOR_ORANGE 0xEE9911FF
- #define COLOR_BLUE 0x60CED4FF
- /* ** Player Data ** */
- enum PLAYER_DATA
- {
- bool: E_LOGGED, E_ADMIN_LEVEL, E_VIP_LEVEL,
- E_KILLS, E_DEATHS, bool: E_CAGED,
- E_CAGE[4],
- E_BAN_BY[24], E_BAN_REASON[60],
- }
- enum SERVER_DATA
- {
- bool: E_SERVER_LOCKED, E_COUNTDOWN_TICK, E_COUNTDOWN_TIMER,
- bool: E_GOTOLOC_BLOCKED,
- }
- new
- gPlayerData [MAX_PLAYERS][PLAYER_DATA],
- gServerData [SERVER_DATA],
- DB: Database,
- szName [MAX_PLAYER_NAME],
- szIP [16]
- ;
- static const vNames[212][] =
- {
- {"Landstalker"}, {"Bravura"}, {"Buffalo"}, {"Linerunner"}, {"Perrenial"}, {"Sentinel"}, {"Dumper"},
- {"Firetruck"}, {"Trashmaster"}, {"Stretch"}, {"Manana"}, {"Infernus"}, {"Voodoo"}, {"Pony"}, {"Mule"},
- {"Cheetah"}, {"Ambulance"}, {"Leviathan"}, {"Moonbeam"}, {"Esperanto"}, {"Taxi"}, {"Washington"},
- {"Bobcat"}, {"Mr Whoopee"}, {"BF Injection"}, {"Hunter"}, {"Premier"}, {"Enforcer"}, {"Securicar"},
- {"Banshee"}, {"Predator"}, {"Bus"},{"Rhino"}, {"Barracks"}, {"Hotknife"}, {"Trailer 1"}, {"Previon"},
- {"Coach"}, {"Cabbie"}, {"Stallion"}, {"Rumpo"}, {"RC Bandit"}, {"Romero"}, {"Packer"}, {"Monster"},
- {"Admiral"}, {"Squalo"}, {"Seasparrow"}, {"Pizzaboy"}, {"Tram"}, {"Trailer 2"}, {"Turismo"},
- {"Speeder"}, {"Reefer"}, {"Tropic"}, {"Flatbed"}, {"Yankee"}, {"Caddy"}, {"Solair"}, {"Berkley's RC Van"},
- {"Skimmer"}, {"PCJ-6_0_0"}, {"Faggio"}, {"Freeway"}, {"RC Baron"}, {"RC Raider"}, {"Glendale"}, {"Oceanic"},
- {"Sanchez"}, {"Sparrow"}, {"Patriot"}, {"Quad"}, {"Coastguard"}, {"Dinghy"}, {"Hermes"}, {"Sabre"},
- {"Rustler"}, {"ZR-3_5_0"}, {"Walton"}, {"Regina"}, {"Comet"},{"BMX"}, {"Burrito"}, {"Camper"}, {"Marquis"},
- {"Baggage"}, {"Dozer"}, {"Maverick"}, {"News Chopper"}, {"Rancher"}, {"FBI Rancher"}, {"Virgo"}, {"Greenwood"},
- {"Jetmax"}, {"Hotring"}, {"Sandking"}, {"Blista Compact"}, {"Police Maverick"},{"Boxville"}, {"Benson"},
- {"Mesa"}, {"RC Goblin"}, {"Hotring Racer A"}, {"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},
- {"Super GT"}, {"Elegant"}, {"Journey"}, {"Bike"}, {"Mountain Bike"}, {"Beagle"}, {"Cropdust"}, {"Stunt"},
- {"Tanker"}, {"Roadtrain"}, {"Nebula"}, {"Majestic"}, {"Buccaneer"}, {"Shamal"}, {"Hydra"}, {"FCR-900"},
- {"NRG-500"}, {"HPV1000"}, {"Cement Truck"}, {"Tow Truck"}, {"Fortune"}, {"Cadrona"}, {"FBI Truck"},
- {"Willard"}, {"Forklift"}, {"Tractor"}, {"Combine"}, {"Feltzer"}, {"Remington"}, {"Slamvan"},
- {"Blade"}, {"Freight"}, {"Streak"}, {"Vortex"}, {"Vincent"}, {"Bullet"}, {"Clover"}, {"Sadler"},
- {"Firetruck LA"}, {"Hustler"}, {"Intruder"}, {"Primo"}, {"Cargobob"}, {"Tampa"}, {"Sunrise"}, {"Merit"},
- {"Utility"}, {"Nevada"}, {"Yosemite"}, {"Windsor"}, {"Monster A"}, {"Monster B"}, {"Uranus"}, {"Jester"},
- {"Sultan"}, {"Stratum"}, {"Elegy"}, {"Raindance"}, {"RC Tiger"}, {"Flash"}, {"Tahoma"}, {"Savanna"},
- {"Bandito"}, {"Freight Flat"}, {"Streak Carriage"}, {"Kart"}, {"Mower"}, {"Duneride"}, {"Sweeper"},
- {"Broadway"}, {"Tornado"}, {"AT-400"}, {"DFT-30"}, {"Huntley"}, {"Stafford"}, {"BF-400"}, {"Newsvan"},
- {"Tug"}, {"Trailer 3"}, {"Emperor"}, {"Wayfarer"}, {"Euros"}, {"Hotdog"}, {"Club"}, {"Freight Carriage"},
- {"Trailer 3"}, {"Andromada"}, {"Dodo"}, {"RC Cam"}, {"Launch"}, {"Police Car LSPD"},{"Police Car SFPD"},
- {"Police _LVPD"}, {"Police Ranger"}, {"Picador"}, {"SWAT. Van"}, {"Alpha"}, {"Phoenix"}, {"Glendale"},
- {"Sadler"}, {"Luggage Trailer A"}, {"Luggage Trailer B"}, {"Stair Trailer"},{"Boxville"}, {"Farm Plow"},
- {"Utility Trailer"}
- };
- public OnFilterScriptInit()
- {
- print("\nLorenc's admin filterscript!\n");
- if(GetMaxPlayers() > MAX_PLAYERS)
- print("ADMIN SCRIPT: Please redefine \"MAX_PLAYERS\" to what your server slots are!"), gServerData[E_SERVER_LOCKED] = true;
- Database = db_open(DB_FILE);
- db_query(Database, "CREATE TABLE IF NOT EXISTS `USERS` (NAME, PASSWORD, IP, ADMINLEVEL, VIP, LASTLOGIN, KILLS, DEATHS, SCORE)");
- db_query(Database, "CREATE TABLE IF NOT EXISTS `BANS` (NAME, IP, BANBY, REASON)");
- db_query(Database, "CREATE TABLE IF NOT EXISTS `IPBANS` (IP)");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new
- Query[ 150 ],
- DBResult: Result,
- name[ MAX_PLAYER_NAME ]
- ;
- gPlayerData[playerid][E_ADMIN_LEVEL] = 0;
- gPlayerData[playerid][E_LOGGED] = false;
- if(gServerData[E_SERVER_LOCKED] == true)
- {
- SendClientMessage(playerid, -1, ""COL_GREEN"[NOTE]{FFFFFF} The server has been locked, you cannot visit at this time!");
- Kick(playerid);
- }
- if(IsPlayerBanned(playerid))
- return ShowPlayerBan(playerid);
- if(IsIPBanned(ReturnPlayerIP(playerid)))
- return SendClientMessage(playerid, COLOR_YELLOW, "You Are Currently Banned From This Server!, Visit "#SERVER_SITE""), Kick(playerid);
- GetPlayerName(playerid, name, sizeof(name));
- format(Query, sizeof(Query), "SELECT NAME FROM USERS WHERE NAME = '%s'", DB_Escape(name));
- Result = db_query(Database, Query);
- if(db_num_rows(Result))
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, DIALOG_TITLE, LOGIN_MSG, "Login", "Quit");
- else
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, DIALOG_TITLE, REGISTER_MSG, "Register", "Quit");
- db_free_result(Result);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new
- Query[ 200 ],
- name[ MAX_PLAYER_NAME ]
- ;
- GetPlayerName(playerid, name, sizeof(name));
- DestroyPlayerCage(playerid);
- if(gPlayerData[playerid][E_LOGGED] == true)
- {
- format(Query,sizeof(Query),"UPDATE `USERS` SET ADMINLEVEL = %d, VIP = %d, LASTLOGIN = '%s', KILLS = %d, DEATHS = %d, SCORE = %d WHERE `NAME` = '%s'",
- gPlayerData[playerid][E_ADMIN_LEVEL],
- gPlayerData[playerid][E_VIP_LEVEL],
- getDate(),
- gPlayerData[playerid][E_KILLS],
- gPlayerData[playerid][E_DEATHS],
- GetPlayerScore(playerid),
- DB_Escape(name));
- db_query(Database, Query);
- gPlayerData[playerid][E_LOGGED] = false;
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- new string[150];
- if(GetPVarInt(playerid, "admin_Muted") == 1)
- {
- SendError(playerid, "You cannot talk, you're muted!");
- return 0;
- }
- if(text[0] == '@')
- {
- if(gPlayerData[playerid][E_ADMIN_LEVEL] > 0)
- {
- format(string, sizeof(string), "{05FEF8}<Admin Chat> %s(%d):{FFFFFF} %s", ReturnPlayerName(playerid), playerid, text[1]);
- SendClientMessageToAdmins(-1, string);
- return 0;
- }
- }
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- /*
- COMMANDS
- - REGULAR:
- - LEVEL 1:
- - /carpark
- - /flame
- - /adminduty
- - LEVEL 2:
- - /kick
- - /spec
- - /ann
- - /countdown
- - /warn
- - /gotoloc
- - /goto
- - /get
- - /(un)mute
- - LEVEL 3:
- - /asay
- - /burn
- - /ban
- - /banip
- - /rban
- - /explode
- - /(un)cage
- - /aweaps
- - /god
- - /mammo
- - /v
- - /acar
- - /aplane
- - /abike
- - /aboat
- - /aheli
- - LEVEL 4:
- - /makevip
- - /drift
- - /lockserver
- - /blockteleports
- - /muteall
- - /kickall
- - RCON - CONSOLE:
- - /makeadmin
- */
- public OnPlayerCommandPerformed(playerid, cmdtext[], success)
- {
- if(success == 0) return SendClientMessage(playerid, -1, "[SERVER] Error with command, please use /commands");
- return 1;
- }
- /* Regular Commands */
- CMD:acmds(playerid, params[])
- {
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 1) return 0;
- SendClientMessage(playerid, -1, ""COL_BLUE".: Admin Commands :.");
- SendClientMessage(playerid, -1, ""COL_PINK"LEVEL 1:{FFFFFF} /acmds, /carpark, /flame, /adminduty");
- SendClientMessage(playerid, -1, ""COL_PINK"LEVEL 2:{FFFFFF} /kick, /spec, /ann, /countdown, /warn, /gotoloc, /goto, /get, /(un)mute");
- SendClientMessage(playerid, -1, ""COL_PINK"LEVEL 3:{FFFFFF} /asay, /burn, /ban, /banip, /rban, /explode, /(un)cage, /aweaps, /god, /mammo");
- SendClientMessage(playerid, -1, ""COL_PINK"LEVEL 3:{FFFFFF} /v, /acar, /aplane, /abike, /aboat, /aheli");
- SendClientMessage(playerid, -1, ""COL_PINK"LEVEL 4:{FFFFFF} /makevip, /drift, /lockserver, /blockteleports, /muteall, /kickall");
- SendClientMessage(playerid, -1, ""COL_PINK"RCON CONSOLE:{FFFFFF} /makeadmin");
- return 1;
- }
- CMD:admins(playerid, params[])
- {
- new
- string[128],
- count,
- iname[MAX_PLAYER_NAME]
- ;
- SendClientMessage(playerid, -1, ""COL_BLUE".: Online Admins :.");
- foreach(Player, i)
- {
- if(!IsPlayerConnected(i)) continue;
- if(gPlayerData[i][E_ADMIN_LEVEL] >= 1 && GetPVarInt(i, "admin_notHidden") == 1)
- {
- GetPlayerName(i, iname, sizeof(iname));
- format(string, sizeof(string), ""COL_PINK"Name:{FFFFFF} %s(%i) Level: %s", iname, i, GetAdminRank(gPlayerData[i][E_ADMIN_LEVEL]));
- SendClientMessage(playerid, -1, string);
- count++;
- }
- }
- if(count == 0) return SendClientMessage(playerid, COLOR_BLUE, "No administrators are online");
- return 1;
- }
- CMD:report(playerid, params[])
- {
- new msg[64], string[128];
- if(sscanf(params, "s[64]", msg)) SendUsage(playerid, "/report [msg]");
- else if(gPlayerData[playerid][E_ADMIN_LEVEL] > 0) SendError(playerid, "You cannot use this because you're a admin!");
- else
- {
- format(string, sizeof(string), ""COL_GREEN"[REPORT]{FFFFFF} "COL_GOLD"%s:{FFFFFF} %s", ReturnPlayerName(playerid), msg);
- SendClientMessageToAdmins(-1, string);
- }
- return 1;
- }
- /* LEVEL 1 */
- CMD:adminduty(playerid, params[])
- {
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 1) return 0;
- if(GetPVarInt(playerid, "admin_notHidden") == 0)
- {
- SetPVarInt(playerid, "admin_notHidden", 1);
- SetPlayerSkin(playerid, 294);
- GivePlayerWeapon(playerid, 38, 0xFFFF);
- GivePlayerWeapon(playerid, 9, 1);
- GivePlayerWeapon(playerid, 39, 0xFFFF);
- GivePlayerWeapon(playerid, 40, 1);
- GivePlayerWeapon(playerid, 31, 0xFFFF);
- GivePlayerWeapon(playerid, 27, 0xFFFF);
- GivePlayerWeapon(playerid, 24, 0xFFFF);
- SendClientMessage(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have been given Admin Duty equipment!");
- }
- else
- {
- SetPVarInt(playerid, "admin_notHidden", 0);
- SendClientMessage(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You're now not on admin duty.");
- }
- return 1;
- }
- CMD:flame(playerid, params[])
- {
- new
- pID
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 1) return 0;
- else if(sscanf(params, "u", pID)) SendUsage(playerid, "/flame [PLAYER_ID]");
- else if(pID == playerid) SendError(playerid, "You cannot apply this command to yourself.");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else
- {
- SendClientMessage(pID, COLOR_RED, ".: Flaming :.");
- SendClientMessage(pID, COLOR_YELLOW, "Don't Flame Other Players Read /rules");
- SendClientMessageFormatted(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have notified %s(%d) about flaming!", ReturnPlayerName(pID), pID);
- }
- return 1;
- }
- CMD:carpark(playerid, params[])
- {
- new
- pID
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 1) return 0;
- else if(sscanf(params, "u", pID)) SendUsage(playerid, "/carpark [PLAYER_ID]");
- else if(pID == playerid) SendError(playerid, "You cannot apply this command to yourself.");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else
- {
- SendClientMessage(pID, COLOR_RED, ".: Car parking :.");
- SendClientMessage(pID, COLOR_YELLOW, "Don't Carpark Other Players Read /rules!");
- SendClientMessageFormatted(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have notified %s(%d) about car parking!", ReturnPlayerName(pID), pID);
- }
- return 1;
- }
- /* LEVEL 2 */
- CMD:mute(playerid, params[])
- {
- new
- pID,
- reason[70]
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 2) return 0;
- else if(sscanf(params, "uS(No reason)[70]", pID, reason)) SendUsage(playerid, "/kick [PLAYER_ID] [REASON]");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else if(pID == playerid) SendError(playerid, "You cannot kick yourself.");
- else if(IsHigherAdminLevel(pID, playerid)) SendError(playerid, "This player has a greater admin level then yours!");
- else if(GetPVarInt(pID, "admin_Muted") == 1) SendError(playerid, "This person is muted!");
- else
- {
- SendClientMessageFormattedToAll(COLOR_YELLOW, ""COL_GREY"[SERVER]{FFFFFF} %s(%d) has been muted by %s(%d) [Reason: %s]", ReturnPlayerName(pID), pID, ReturnPlayerName(playerid), playerid, reason);
- SetPVarInt(pID, "admin_Muted", 1);
- }
- return 1;
- }
- CMD:unmute(playerid, params[])
- {
- new
- pID,
- reason[70]
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 2) return 0;
- else if(sscanf(params, "uS(No reason)[70]", pID, reason)) SendUsage(playerid, "/kick [PLAYER_ID] [REASON]");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else if(pID == playerid) SendError(playerid, "You cannot kick yourself.");
- else if(IsHigherAdminLevel(pID, playerid)) SendError(playerid, "This player has a greater admin level then yours!");
- else if(GetPVarInt(pID, "admin_Muted") != 1) SendError(playerid, "This person is not muted!");
- else
- {
- SendClientMessageFormattedToAll(COLOR_YELLOW, ""COL_GREY"[SERVER]{FFFFFF} %s(%d) has been un-muted by %s(%d) [Reason: %s]", ReturnPlayerName(pID), pID, ReturnPlayerName(playerid), playerid, reason);
- SetPVarInt(pID, "admin_Muted", 0);
- }
- return 1;
- }
- CMD:get(playerid, params[])
- {
- new
- pID,
- Float: X,
- Float: Y,
- Float: Z
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 2) return 0;
- else if(sscanf(params, "u", pID)) SendUsage(playerid, "/get [PLAYER_ID]");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else if(pID == playerid) SendError(playerid, "You cannot bring yourself.");
- else
- {
- SendClientMessageFormatted(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have brang %s(%d) to your current location!", ReturnPlayerName(pID), pID);
- SendClientMessageFormatted(pID, -1, ""COL_PINK"[ADMIN]{FFFFFF} %s(%d) has teleported you to his location!", ReturnPlayerName(playerid), playerid);
- GetPlayerPos(playerid, X, Y, Z);
- SetPlayerPos(pID, X, Y + 2, Z);
- }
- return 1;
- }
- CMD:goto(playerid, params[])
- {
- new
- pID,
- Float: X,
- Float: Y,
- Float: Z
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 2) return 0;
- else if(sscanf(params, "u", pID)) SendUsage(playerid, "/goto [PLAYER_ID]");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else if(pID == playerid) SendError(playerid, "You cannot go to yourself.");
- else
- {
- SendClientMessageFormatted(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have went to %s(%d)'s location!", ReturnPlayerName(pID), pID);
- SendClientMessageFormatted(pID, -1, ""COL_PINK"[ADMIN]{FFFFFF} %s(%d) has teleported to your location!", ReturnPlayerName(playerid), playerid);
- GetPlayerPos(pID, X, Y, Z);
- SetPlayerPos(playerid, X, Y + 2, Z);
- }
- return 1;
- }
- CMD:gotoloc(playerid, params[])
- {
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 2) return 0;
- else if(gServerData[E_GOTOLOC_BLOCKED] == true) SendError(playerid, "The server owned has blocked the usage of this!");
- else ShowPlayerDialog(playerid, DIALOG_TELES, DIALOG_STYLE_LIST, ""#DIALOG_TITLE" - Teles", "Las Venturas\nLos Santos\nSan Fierro", "Select", "Cancel");
- return 1;
- }
- CMD:warn(playerid, params[])
- {
- new
- pID,
- reason[70]
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 2) return 0;
- else if(sscanf(params, "uS(No reason)[70]", pID, reason)) SendUsage(playerid, "/warn [PLAYER_ID] [REASON]");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else if(pID == playerid) SendError(playerid, "You cannot warn yourself.");
- else if(IsHigherAdminLevel(pID, playerid)) SendError(playerid, "This player has a greater admin level then yours!");
- else
- {
- SetPVarInt(pID, "admin_Warns", GetPVarInt(pID, "admin_Warns") + 1);
- if(GetPVarInt(pID, "Warned") == 3)
- {
- SendClientMessageFormattedToAll(COLOR_YELLOW, "%s(%d) has been kicked from the server. [Reason: 3/3 Excessive warnings]", ReturnPlayerName(pID), pID);
- Kick(pID);
- }
- else SendClientMessageFormattedToAll(COLOR_YELLOW, ""COL_GREY"[SERVER]{FFFFFF} %s(%d) has been warned by %s(%d) [Reason: %s][%d/3]", ReturnPlayerName(pID), pID, ReturnPlayerName(playerid), playerid, reason, GetPVarInt(pID, "admin_Warns"));
- }
- return 1;
- }
- CMD:countdown(playerid, params[])
- {
- new
- ticks
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 2) return 0;
- else if(sscanf(params, "D(5)", ticks)) SendUsage(playerid, "/countdown [SECONDS]");
- else if(ticks > 20 || ticks < 1) SendError(playerid, "Please specify a time between 1 - 20 seconds.");
- else
- {
- SendClientMessageFormattedToAll(COLOR_YELLOW, ""COL_GREY"[SERVER]{FFFFFF} %s(%d) has started a countdown! [%d second countdown] ", ReturnPlayerName(playerid), playerid, ticks);
- KillTimer(gServerData[E_COUNTDOWN_TIMER]);
- gServerData[E_COUNTDOWN_TICK] = ticks;
- gServerData[E_COUNTDOWN_TIMER] = SetTimer("admin_CountDown", 960, 1);
- }
- return 1;
- }
- function admin_CountDown()
- {
- static
- string[6]
- ;
- gServerData[E_COUNTDOWN_TICK]--;
- if(gServerData[E_COUNTDOWN_TICK] < 0) return KillTimer(gServerData[E_COUNTDOWN_TIMER]);
- foreach(Player, i)
- {
- if(gServerData[E_COUNTDOWN_TICK] != 0) PlayerPlaySound(i, 1137, 0.0, 0.0, 5.0);
- else PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
- }
- format(string, sizeof(string), "~w~%d", gServerData[E_COUNTDOWN_TICK]);
- GameTextForAll(string, 1100, 3);
- return 1;
- }
- CMD:ann(playerid, params[])
- {
- new
- string[128],
- msg[60]
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 2) return 0;
- else if(sscanf(params, "s[60]", msg)) SendUsage(playerid, "/ann [MESSAGE]");
- else
- {
- strreplacechar(msg, '~', ']');
- format(string, sizeof(string), "~w~%s", msg);
- GameTextForAll(string, 6000, 3);
- }
- return 1;
- }
- CMD:kick(playerid, params[])
- {
- new
- pID,
- reason[70]
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 2) return 0;
- else if(sscanf(params, "uS(No reason)[70]", pID, reason)) SendUsage(playerid, "/kick [PLAYER_ID] [REASON]");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else if(pID == playerid) SendError(playerid, "You cannot kick yourself.");
- else if(IsHigherAdminLevel(pID, playerid)) SendError(playerid, "This player has a greater admin level then yours!");
- else
- {
- SendClientMessageFormattedToAll(COLOR_YELLOW, ""COL_GREY"[SERVER]{FFFFFF} %s(%d) has been kicked from the server by %s(%d) [Reason: %s]", ReturnPlayerName(pID), pID, ReturnPlayerName(playerid), playerid, reason);
- Kick(pID);
- }
- return 1;
- }
- CMD:spec(playerid, params[])
- {
- new
- pID
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 2) return 0;
- else if(sscanf(params, "u", pID))
- {
- if(GetPVarInt(playerid, "Spectating") == 1)
- {
- SetPVarInt(playerid, "Specing", 0);
- TogglePlayerSpectating(playerid, 0);
- SendClientMessage(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have stopped spectating!");
- }
- else SendUsage(playerid, "/spec [PLAYER_ID](No parameter = stop spec)");
- }
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else if(pID == playerid) SendError(playerid, "You cannot spectate yourself.");
- else
- {
- SetPVarInt(playerid, "Spectating", 1);
- SendClientMessageFormatted(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You are now spectating %s(%d)!", ReturnPlayerName(pID), pID);
- TogglePlayerSpectating(playerid, 1);
- if(IsPlayerInAnyVehicle(pID)) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(pID));
- else PlayerSpectatePlayer(playerid, pID);
- }
- return 1;
- }
- /* LEVEL 3 */
- CMD:aboat(playerid, params[])
- {
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- CreateVehicleForPlayer(playerid, 493, 0, 0);
- SendClientMessage(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have created a admin boat.");
- return 1;
- }
- CMD:aheli(playerid, params[])
- {
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- CreateVehicleForPlayer(playerid, 487, 0, 0);
- SendClientMessage(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have created a admin helicopter.");
- return 1;
- }
- CMD:abike(playerid, params[])
- {
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- CreateVehicleForPlayer(playerid, 522, 0, 0);
- SendClientMessage(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have created a admin bike.");
- return 1;
- }
- CMD:aplane(playerid, params[])
- {
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- CreateVehicleForPlayer(playerid, 513, 0, 0);
- SendClientMessage(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have created a admin plane.");
- return 1;
- }
- CMD:acar(playerid, params[])
- {
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- CreateVehicleForPlayer(playerid, 415, 0, 0);
- SendClientMessage(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have created a admin car.");
- return 1;
- }
- CMD:v(playerid, params[])
- {
- new
- vName[ 24 ],
- vCar,
- Float: X,
- Float: Y,
- Float: Z
- ;
- GetPlayerPos(playerid, X, Y, Z);
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- else if(sscanf(params, "s[24]", vName)) SendUsage(playerid, "/v [VEHICLE_NAME]");
- else
- {
- vCar = CreateVehicle(GetVehicleModelFromName(vName), X, Y, Z, 0, -1, -1, -1);
- PutPlayerInVehicle(playerid, vCar, 0);
- SendClientMessage(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have created a car!");
- }
- return 1;
- }
- CMD:god(playerid, params[])
- {
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- SetPVarInt(playerid, "admin_God", GetPVarInt(playerid, "admin_God") == 1 ? 0 : 1);
- SetPlayerHealth(playerid, GetPVarInt(playerid, "admin_God") == 0 ? 100 : 0xFFFF);
- SendClientMessageFormatted(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have %s god mode.", GetPVarInt(playerid, "admin_God") == 1 ? ("toggled") : ("un-toggled"));
- return 1;
- }
- CMD:mammo(playerid, params[]) return cmd_aweaps(playerid, params);
- CMD:aweaps(playerid, params[])
- {
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- GivePlayerWeapon(playerid, 38, 0xFFFF);
- GivePlayerWeapon(playerid, 9, 1);
- GivePlayerWeapon(playerid, 39, 0xFFFF);
- GivePlayerWeapon(playerid, 40, 1);
- GivePlayerWeapon(playerid, 31, 0xFFFF);
- GivePlayerWeapon(playerid, 27, 0xFFFF);
- GivePlayerWeapon(playerid, 24, 0xFFFF);
- SendClientMessage(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have been given admin weapons!");
- return 1;
- }
- CMD:cage(playerid, params[])
- {
- new
- pID
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- else if(sscanf(params, "u", pID)) SendUsage(playerid, "/cage [PLAYER_ID]");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else if(pID == playerid) SendError(playerid, "You cannot cage yourself.");
- else if(IsHigherAdminLevel(pID, playerid)) SendError(playerid, "This player has a greater admin level then yours!");
- else if(gPlayerData[playerid][E_CAGED] == true) SendError(playerid, "This player is already caged!");
- else
- {
- CagePlayer(playerid);
- SendClientMessageFormatted(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have caged %s(%d)!", ReturnPlayerName(pID), pID);
- SendClientMessageFormatted(pID, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have been caged by %s(%d)!", ReturnPlayerName(playerid), playerid);
- }
- return 1;
- }
- CMD:uncage(playerid, params[])
- {
- new
- pID
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- else if(sscanf(params, "u", pID)) SendUsage(playerid, "/uncage [PLAYER_ID]");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else if(pID == playerid) SendError(playerid, "You cannot uncage yourself.");
- else if(IsHigherAdminLevel(pID, playerid)) SendError(playerid, "This player has a greater admin level then yours!");
- else if(gPlayerData[playerid][E_CAGED] == false) SendError(playerid, "This player is not caged!");
- else
- {
- DestroyPlayerCage(playerid);
- SendClientMessageFormatted(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have uncaged %s(%d)!", ReturnPlayerName(pID), pID);
- SendClientMessageFormatted(pID, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have been uncaged by %s(%d)!", ReturnPlayerName(playerid), playerid);
- }
- return 1;
- }
- CMD:explode(playerid, params[])
- {
- new
- pID
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- else if(sscanf(params, "u", pID)) SendUsage(playerid, "/explode [PLAYER_ID]");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else if(IsHigherAdminLevel(pID, playerid)) SendError(playerid, "This player has a greater admin level then yours!");
- else
- {
- new Float: X, Float: Y, Float: Z;
- GetPlayerPos(pID, X, Y, Z);
- SendClientMessageFormatted(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have exploded %s(%d)!", ReturnPlayerName(pID), pID);
- CreateExplosion(X, Y, Z, 12, 10.0);
- }
- return 1;
- }
- CMD:rban(playerid, params[])
- {
- new
- reason[40],
- pID
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- else if(sscanf(params, "uS(No Reason)[40]", pID, reason)) SendUsage(playerid, "/rban [PLAYER_ID] [REASON]");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else if(pID == playerid) SendError(playerid, "You cannot ban yourself.");
- else if(IsHigherAdminLevel(pID, playerid)) SendError(playerid, "This player has a greater admin level then yours!");
- else
- {
- SendClientMessageFormattedToAll(COLOR_YELLOW, ""COL_GREY"[SERVER]{FFFFFF} %s(%d) has been range banned from the server by %s(%d) [Reason: %s]", ReturnPlayerName(pID), pID, ReturnPlayerName(playerid), playerid, reason);
- Ban(pID);
- }
- return 1;
- }
- CMD:ban(playerid, params[])
- {
- new
- reason[40],
- pID
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- else if(sscanf(params, "uS(No Reason)[40]", pID, reason)) SendUsage(playerid, "/ban [PLAYER_ID] [REASON]");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else if(pID == playerid) SendError(playerid, "You cannot ban yourself.");
- else if(IsHigherAdminLevel(pID, playerid)) SendError(playerid, "This player has a greater admin level then yours!");
- else
- {
- SendClientMessageFormattedToAll(COLOR_YELLOW, ""COL_GREY"[SERVER]{FFFFFF} %s(%d) has been banned from the server by %s(%d) [Reason: %s]", ReturnPlayerName(pID), pID, ReturnPlayerName(playerid), playerid, reason);
- AdvanceBan(playerid, pID, reason);
- }
- return 1;
- }
- CMD:banip(playerid, params[])
- {
- new
- IP[16]
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- else if(sscanf(params, "s[16]", IP)) SendUsage(playerid, "/banip [IP]");
- else
- {
- SendClientMessageFormattedToAll(COLOR_YELLOW, ""COL_GREY"[SERVER]{FFFFFF} IP %s has been banned from the server by %s(%d)", IP, ReturnPlayerName(playerid), playerid);
- BanIPAddress(IP);
- }
- return 1;
- }
- CMD:asay(playerid, params[])
- {
- new string[100];
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- else if(sscanf(params, "s[100]", string)) SendUsage(playerid, "/asay [TEXT]");
- else
- {
- SendClientMessageToAll(-1, string);
- }
- return 1;
- }
- CMD:burn(playerid, params[])
- {
- new
- pID
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 3) return 0;
- else if(sscanf(params, "u", pID)) SendUsage(playerid, "/burn [PLAYER_ID]");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else if(IsHigherAdminLevel(pID, playerid)) SendError(playerid, "This player has a greater admin level then yours!");
- else
- {
- new Float: X, Float: Y, Float: Z;
- GetPlayerPos(pID, X, Y, Z);
- CreateExplosion(X, Y, Z + 3, 1, 10);
- SendClientMessageFormatted(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have burned %s(%d)!", ReturnPlayerName(pID), pID);
- }
- return 1;
- }
- /* LEVEL 4 */
- CMD:unlockserver(playerid, params[])
- {
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 4) return 0;
- gServerData[E_SERVER_LOCKED] = false;
- return 1;
- }
- CMD:lockserver(playerid, params[])
- {
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 4) return 0;
- gServerData[E_SERVER_LOCKED] = true;
- return 1;
- }
- CMD:blockteleports(playerid, params[])
- {
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 4) return 0;
- gServerData[E_GOTOLOC_BLOCKED] = gServerData[E_GOTOLOC_BLOCKED] == true ? false : true;
- SendClientMessageFormattedToAll(COLOR_YELLOW, ""COL_GREY"[SERVER]{FFFFFF} %s(%d) %s teleporting for admins.", ReturnPlayerName(playerid), playerid, gServerData[E_GOTOLOC_BLOCKED] == false ? ("enabled") : ("disabled"));
- return 1;
- }
- CMD:unmuteall(playerid, params[])
- {
- new Message[24];
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 4) return 0;
- else if(sscanf(params, "S(No Reason)[24]", Message)) SendUsage(playerid, "/unmuteall [MESSAGE]");
- else
- {
- SendClientMessage(playerid, COLOR_YELLOW, "You have un-muted all players in the server!");
- SendClientMessageFormattedToAll(COLOR_YELLOW, "Everyone has been un-muted in the server! [Reason: %s]", Message);
- for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
- {
- if(gPlayerData[i][E_ADMIN_LEVEL] > 0) continue;
- SetPVarInt(i, "admin_Muted", 0);
- }
- }
- return 1;
- }
- CMD:muteall(playerid, params[])
- {
- new Message[24], string[128];
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 4) return 0;
- else if(sscanf(params, "S(No Reason)[24]", Message)) SendUsage(playerid, "/muteall [MESSAGE]");
- else
- {
- SendClientMessage(playerid, COLOR_YELLOW, "You have muted all players in the server [ex. Admins]");
- SendClientMessageFormattedToAll(COLOR_YELLOW, string, "Everyone has been muted in the server! [Reason: %s]", Message);
- for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
- {
- if(gPlayerData[i][E_ADMIN_LEVEL] > 0) continue;
- SetPVarInt(i, "admin_Muted", 1);
- }
- }
- return 1;
- }
- CMD:kickall(playerid, params[])
- {
- new Message[24], string[128];
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 4) return 0;
- else if(sscanf(params, "S(No Reason)[24]", Message)) SendUsage(playerid, "/kickall [MESSAGE]");
- else
- {
- SendClientMessage(playerid, COLOR_YELLOW, "You have kicked all players from the server [ex. Admins]");
- SendClientMessageFormattedToAll(COLOR_YELLOW, string, "Everyone has been kicked from the server! [Reason: %s]", Message);
- for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
- {
- if(gPlayerData[i][E_ADMIN_LEVEL] > 0) continue;
- Kick(i);
- }
- }
- return 1;
- }
- CMD:drift(playerid, params[])
- {
- new
- driftid
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 4) return 0;
- else if(sscanf(params, "d", driftid)) SendUsage(playerid, "/drift [0 - 2]");
- else if(driftid > 2) SendError(playerid, "Specify a drift between 0 and 2");
- else
- {
- switch(driftid)
- {
- case 0: SetPlayerPos(playerid, -358.1943, 1531.2909, 75.1698);
- case 1: SetPlayerPos(playerid, 2265.3010, 1399.5085, 42.8203);
- case 2: SetPlayerPos(playerid, -2489.8352, -616.3492, 132.5658);
- }
- }
- return 1;
- }
- CMD:makevip(playerid, params[])
- {
- new
- pID,
- level
- ;
- if(gPlayerData[playerid][E_ADMIN_LEVEL] < 4) return 0;
- else if(sscanf(params, "ud", pID, level)) SendUsage(playerid, "/makevip [PLAYER_ID] [VIP_LEVEL]");
- else if(level > 2) SendError(playerid, "Specify a vip level between 0 and 2!");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else if(!gPlayerData[playerid][E_LOGGED]) SendError(playerid, "This player is not logged in!");
- else
- {
- SendClientMessageFormatted(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have set %s(%d)'s VIP level to %d [%s]!", ReturnPlayerName(pID), pID, level, GetVIPRank(level));
- SendClientMessageFormatted(pID, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have been set VIP level %d [%s] by %s(%d)!", level, GetVIPRank(level), ReturnPlayerName(playerid), playerid);
- gPlayerData[pID][E_VIP_LEVEL] = level;
- }
- return 1;
- }
- /* RCON - CONSOLE */
- CMD:makeadmin(playerid, params[])
- {
- new
- pID,
- level
- ;
- if(!IsPlayerAdmin(playerid)) return 0;
- else if(sscanf(params, "ud", pID, level)) SendUsage(playerid, "/makeadmin [PLAYER_ID] [ADMIN_LEVEL]");
- else if(level > 4) SendError(playerid, "Specify a admin level between 0 and 4!");
- else if(!IsPlayerConnected(pID)) SendError(playerid, "This player is not connected!");
- else if(!gPlayerData[playerid][E_LOGGED]) SendError(playerid, "This player is not logged in!");
- else
- {
- SendClientMessageFormatted(playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have set %s(%d)'s admin level to %d [%s]!", ReturnPlayerName(pID), pID, level, GetAdminRank(level));
- SendClientMessageFormatted(pID, -1, ""COL_PINK"[ADMIN]{FFFFFF} You have been set admin level %d [%s] by %s(%d)!", level, GetAdminRank(level), ReturnPlayerName(playerid), playerid);
- gPlayerData[pID][E_ADMIN_LEVEL] = level;
- }
- return 1;
- }
- /*
- END OF COMMANDS
- */
- stock GetVIPRank(level)
- {
- new rank[24];
- switch(level)
- {
- case 0: rank = "Normal Player";
- case 1: rank = "Basic VIP";
- case 2: rank = "High VIP";
- }
- return rank;
- }
- stock GetAdminRank(level)
- {
- new rank[24];
- switch(level)
- {
- case 0: rank = "Normal Player";
- case 1: rank = "VIP Moderator";
- case 2: rank = "Moderator";
- case 3: rank = "Administrator";
- case 4: rank = "Server Owner";
- }
- return rank;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new
- Query[ 256 ],
- DBResult: Result,
- name[ MAX_PLAYER_NAME ],
- ip[ 16 ]
- ;
- GetPlayerName(playerid, name, sizeof(name));
- GetPlayerIp(playerid, ip, sizeof(ip));
- if(dialogid == DIALOG_LOGIN)
- {
- if(response)
- {
- format(Query, sizeof(Query), "SELECT * FROM `USERS` WHERE NAME = '%s' AND PASSWORD = '%s'", DB_Escape(name), DB_Escape(inputtext));
- Result = db_query(Database, Query);
- if(db_num_rows(Result))
- {
- new Field[ 20 ];
- db_get_field_assoc(Result, "ADMINLEVEL", Field, 30);
- gPlayerData[playerid][E_ADMIN_LEVEL] = strval(Field);
- db_get_field_assoc(Result, "VIP", Field, 30);
- gPlayerData[playerid][E_VIP_LEVEL] = strval(Field);
- db_get_field_assoc(Result, "KILLS", Field, 30);
- gPlayerData[playerid][E_KILLS] = strval(Field);
- db_get_field_assoc(Result, "DEATHS", Field, 30);
- gPlayerData[playerid][E_DEATHS] = strval(Field);
- db_get_field_assoc(Result, "SCORE", Field, 30);
- SetPlayerScore(playerid, strval(Field));
- gPlayerData[playerid][E_LOGGED] = true;
- SendClientMessage(playerid, -1, ""COL_GREEN"[LOGGED]{FFFFFF} You have successfully logged in!");
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, DIALOG_TITLE, LOGIN_MSG, "Login", "Leave");
- SendClientMessage(playerid, -1, ""COL_RED"[ERROR]{FFFFFF} You have entered a wrong password, if this account isn't yours, we'd advise you relog with a new nickname.");
- }
- db_free_result(Result);
- }
- else return Kick(playerid);
- }
- if(dialogid == DIALOG_REGISTER)
- {
- if(response)
- {
- if(strlen(inputtext) > 24 || strlen(inputtext) < 3)
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, DIALOG_TITLE, REGISTER_MSG, "Register", "Leave");
- SendClientMessage(playerid, -1, ""COL_RED"[ERROR]{FFFFFF} Your password must contain at least 3 characters and not exceed 24.");
- }
- else
- {
- format(Query, sizeof(Query), "INSERT INTO `USERS` (NAME, PASSWORD, IP, ADMINLEVEL, VIP, LASTLOGIN, KILLS, DEATHS, SCORE) VALUES('%s','%s','%s', 0, 0, '%s', 0, 0, 0)",
- DB_Escape(name), DB_Escape(inputtext), DB_Escape(ip), getDate());
- db_query(Database, Query);
- gPlayerData[playerid][E_LOGGED] = true;
- SetPlayerScore(playerid, 0);
- SendClientMessage(playerid, -1, ""COL_GREEN"[REGISTERED]{FFFFFF} You have successfully registered into our database!");
- }
- }
- else return Kick(playerid);
- }
- if((dialogid == DIALOG_TELES) && response)
- {
- switch(listitem)
- {
- case 0: ShowPlayerDialog(playerid, DIALOG_TELES_LV, DIALOG_STYLE_LIST, ""#DIALOG_TITLE" - Teles - LV", "Four Dragons Casino\nAutobahn\nBayside\nAirport\nLVPD", "Select", "Back");
- case 1: ShowPlayerDialog(playerid, DIALOG_TELES_LS, DIALOG_STYLE_LIST, ""#DIALOG_TITLE" - Teles - LS", "Groove Street\nRichman\nAirport\nMulholland\nPalmonio Creek\nMontgomery\nBlueberry\nLSPD", "Select", "Back");
- case 2: ShowPlayerDialog(playerid, DIALOG_TELES_SF, DIALOG_STYLE_LIST, ""#DIALOG_TITLE" - Teles - SF", "Jizzys\nWang cars\nSFPD", "Select", "Back");
- }
- }
- if(dialogid == DIALOG_TELES_SF)
- {
- if(response)
- {
- //Jizzys\nWang cars\nSFPD
- switch(listitem)
- {
- case 0: SetPlayerPos(playerid, -2614.1187, 1419.3098, 7.1500);
- case 1: SetPlayerPos(playerid, -1986.0498, 302.6044, 35.1719);
- case 2: SetPlayerPos(playerid, -1596.0472, 721.7451, 10.2534);
- }
- }
- else ShowPlayerDialog(playerid, DIALOG_TELES, DIALOG_STYLE_LIST, ""#DIALOG_TITLE" - Teles", "Las Venturas\nLos Santos\nSan Fierro", "Select", "Cancel");
- }
- if(dialogid == DIALOG_TELES_LV)
- {
- if(response)
- {
- //Four Dragons Casino\nAutobahn\nBayside\nAirport\nLVPD
- switch(listitem)
- {
- case 0: SetPlayerPos(playerid, 2027.5721, 1008.2877, 10.8203);
- case 1: SetPlayerPos(playerid, 2146.1252, 1426.8373, 13.0214);
- case 2: SetPlayerPos(playerid, -670.6358, 2306.0559, 135.2990);
- case 3: SetPlayerPos(playerid, 1679.3361, 1448.6248, 10.7744);
- case 4: SetPlayerPos(playerid, 2287.0313, 2431.0276, 10.8203);
- }
- }
- else ShowPlayerDialog(playerid, DIALOG_TELES, DIALOG_STYLE_LIST, ""#DIALOG_TITLE" - Teles", "Las Venturas\nLos Santos\nSan Fierro", "Select", "Cancel");
- }
- if(dialogid == DIALOG_TELES_LS)
- {
- if(response)
- {
- //Groove Street\nRichman\nAirport\nMulholland\nPalmonio Creek\nMontgomery\nBlueberry\nLSPD
- switch(listitem)
- {
- case 0: SetPlayerPos(playerid, 2474.8001, -1670.0190, 13.5001);
- case 1: SetPlayerPos(playerid, 679.0143, -1070.0120, 49.0000);
- case 2: SetPlayerPos(playerid, 1979.0213, -2241.0, 13.0002);
- case 3: SetPlayerPos(playerid, 1240.0000, -744.0, 95.0101);
- case 4: SetPlayerPos(playerid, 2269.6877, -75.0973, 26.7724);
- case 5: SetPlayerPos(playerid, 1242.2875, 328.5506, 19.7555);
- case 6: SetPlayerPos(playerid, 198.4328, -252.1696, 1.5781);
- case 7: SetPlayerPos(playerid, 1539.3021, -1670.0192, 14.0123);
- }
- }
- else ShowPlayerDialog(playerid, DIALOG_TELES, DIALOG_STYLE_LIST, ""#DIALOG_TITLE" - Teles", "Las Venturas\nLos Santos\nSan Fierro", "Select", "Cancel");
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- //Functions
- stock getDate()
- {
- static
- strDate[12],
- Year, Month, Day
- ;
- getdate(Year, Month, Day);
- format(strDate, sizeof(strDate), "%d/%d/%d", Month, Day, Year);
- return strDate;
- }
- stock DB_Escape(text[])
- {
- new
- ret[80 * 2],
- ch,
- i,
- j;
- while ((ch = text[i++]) && j < sizeof (ret))
- {
- if (ch == '\'')
- {
- if (j < sizeof (ret) - 2)
- {
- ret[j++] = '\'';
- ret[j++] = '\'';
- }
- }
- else if (j < sizeof (ret))
- {
- ret[j++] = ch;
- }
- else
- {
- j++;
- }
- }
- ret[sizeof (ret) - 1] = '\0';
- return ret;
- }
- stock SendError(playerid, text[])
- {
- new
- out[128]
- ;
- format(out, sizeof(out), ""COL_RED"[ERROR]{FFFFFF} %s", text);
- SendClientMessage(playerid, -1, out);
- }
- stock SendUsage(playerid, text[])
- {
- new
- out[128]
- ;
- format(out, sizeof(out), "{FF7000}[USAGE]{FFFFFF} %s", text);
- SendClientMessage(playerid, -1, out);
- }
- stock SendClientMessageFormatted(playerid, colour, format[], va_args<>)
- {
- new
- out[128]
- ;
- va_format(out, sizeof(out), format, va_start<3>);
- SendClientMessage(playerid, colour, out);
- }
- stock SendClientMessageFormattedToAll(colour, format[], va_args<>)
- {
- new
- out[128]
- ;
- va_format(out, sizeof(out), format, va_start<2>);
- SendClientMessageToAll(colour, out);
- }
- stock ReturnPlayerName(playerid)
- {
- GetPlayerName(playerid, szName, sizeof(szName));
- return szName;
- }
- stock strreplacechar(string[], oldchar, newchar)
- {
- new matches;
- if(ispacked(string)) {
- if(newchar == '\0') {
- for(new i; string{i} != '\0'; i++) {
- if(string{i} == oldchar) {
- strdel(string, i, i + 1);
- matches++;
- }
- }
- } else {
- for(new i; string{i} != '\0'; i++) {
- if(string{i} == oldchar) {
- string{i} = newchar;
- matches++;
- }
- }
- }
- } else {
- if(newchar == '\0') {
- for(new i; string[i] != '\0'; i++) {
- if(string[i] == oldchar) {
- strdel(string, i, i + 1);
- matches++;
- }
- }
- } else {
- for(new i; string[i] != '\0'; i++) {
- if(string[i] == oldchar) {
- string[i] = newchar;
- matches++;
- }
- }
- }
- }
- return matches;
- }
- AdvanceBan(bannerid, playerid, reason[])
- {
- new Query[256], DBResult:Result;
- format(Query, sizeof(Query), "SELECT * FROM `BANS` WHERE `NAME` = '%s'", ReturnPlayerName(playerid));
- Result = db_query(Database, Query);
- if(db_num_rows(Result)) return 0;
- else
- {
- if(playerid != INVALID_PLAYER_ID)
- {
- format( Query, sizeof(Query), "INSERT INTO `BANS` (NAME, IP, BANBY, REASON) VALUES('%s','%s','%s','%s')",
- DB_Escape(ReturnPlayerName(playerid)), DB_Escape(ReturnPlayerIP(playerid)), DB_Escape(ReturnPlayerName(bannerid)), DB_Escape(reason));
- db_query(Database, Query);
- Kick(playerid);
- }
- else return 0;
- }
- db_free_result(Result);
- return 1;
- }
- BanIPAddress(IP[])
- {
- new Query[256], DBResult:Result;
- format(Query, sizeof(Query), "SELECT * FROM `IPBANS` WHERE IP = '%s'", IP);
- Result = db_query(Database, Query);
- if(db_num_rows(Result)) return 0;
- else
- {
- format( Query, sizeof(Query), "INSERT INTO `IPBANS` (IP) VALUES('%s')", DB_Escape(IP));
- db_query(Database, Query);
- }
- db_free_result(Result);
- return 1;
- }
- IsPlayerBanned(playerid)
- {
- new Query[128], DBResult:Result;
- format(Query, sizeof(Query), "SELECT * FROM BANS WHERE NAME = '%s' OR IP = '%s'", ReturnPlayerName(playerid), ReturnPlayerIP(playerid));
- Result = db_query(Database, Query);
- if(db_num_rows(Result)) return true;
- return false;
- }
- IsIPBanned(IP[])
- {
- new Query[128], DBResult:Result;
- format(Query, sizeof(Query), "SELECT * FROM IPBANS WHERE IP = '%s'", IP);
- Result = db_query(Database, Query);
- if(db_num_rows(Result)) return true;
- return false;
- }
- ShowPlayerBan(playerid)
- {
- new Query[128], DBResult:Result, string[300];
- format(Query, sizeof(Query), "SELECT * FROM `BANS` WHERE NAME = '%s' OR IP = '%s'", ReturnPlayerName(playerid), ReturnPlayerIP(playerid));
- Result = db_query(Database, Query);
- if(db_num_rows(Result))
- {
- new Field[20];
- db_get_field_assoc(Result, "BANBY", Field, sizeof(Field));
- format(gPlayerData[playerid][E_BAN_BY], MAX_PLAYER_NAME, "%s", Field);
- db_get_field_assoc(Result, "REASON", Field, sizeof(Field));
- format(gPlayerData[playerid][E_BAN_REASON], 60, "%s", Field);
- format(string, sizeof(string), "{FFFFFF}You have been banned!\n"COL_RED"Reason:{FFFFFF} %s\n"COL_RED"Ban by:{FFFFFF} %s\nIf you feel wrongfully banned, please do create\na ban appeal on our forums.\n"#SERVER_SITE"", gPlayerData[playerid][E_BAN_REASON], gPlayerData[playerid][E_BAN_BY]);
- ShowPlayerDialog(playerid, DIALOG_NULL, DIALOG_STYLE_MSGBOX, ""#SERVER_NAME" - Banned", string, "OK", "");
- Kick(playerid);
- }
- return 1;
- }
- stock ReturnPlayerIP(playerid)
- {
- GetPlayerIp(playerid, szIP, sizeof(szIP));
- return szIP;
- }
- stock CagePlayer(playerid)
- {
- if(!IsPlayerConnected(playerid)) return 0;
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- gPlayerData[playerid][E_CAGE][0] = CreateObject(985, X, Y+4, Z, 0.0, 0.0, 0.0);
- gPlayerData[playerid][E_CAGE][1] = CreateObject(985, X+4, Y, Z, 0.0, 0.0, 90.0);
- gPlayerData[playerid][E_CAGE][2] = CreateObject(985, X-4, Y, Z, 0.0, 0.0, 270.0);
- gPlayerData[playerid][E_CAGE][3] = CreateObject(985, X, Y-4, Z, 0.0, 0.0, 180.0);
- gPlayerData[playerid][E_CAGED] = true;
- return 1;
- }
- stock DestroyPlayerCage(playerid)
- {
- if(!IsPlayerConnected(playerid)) return 0;
- for(new i; i < 4; i++)
- {
- DestroyObject(gPlayerData[playerid][E_CAGE][i]);
- gPlayerData[playerid][E_CAGE][i] = INVALID_OBJECT_ID;
- }
- gPlayerData[playerid][E_CAGED] = false;
- return 1;
- }
- stock GetVehicleModelFromName(vName[])
- {
- for (new i = 400; i <= 611; i++)
- if(strfind(vNames[i - 400], vName, true) != -1)
- return i;
- return -1;
- }
- stock GVN(modelid,name[],namesize)
- {
- if(modelid < 400 || modelid > 611) return 0;
- modelid -= 400;
- for(new i = 0, len = strlen(vNames[modelid]); i < len && i < namesize; i++)
- {
- name[i] = vNames[modelid][i];
- }
- return 1;
- }
- stock GetVehicleName(modelid)
- {
- new name[64];
- GVN(modelid, name, sizeof(name));
- return name;
- }
- stock CreateVehicleForPlayer(playerid, model, color = 0, color2 = 0)
- {
- new
- vCar,
- Float: X,
- Float: Y,
- Float: Z
- ;
- GetPlayerPos(playerid, X, Y, Z);
- vCar = CreateVehicle(model, X, Y, Z, 0, color, color2, -1);
- PutPlayerInVehicle(playerid, vCar, 0);
- }
- stock SendClientMessageToAdmins(color, Text[])
- {
- foreach(Player, i)
- {
- if(gPlayerData[i][E_ADMIN_LEVEL] > 0) {
- SendClientMessage(i, color, Text);
- }
- }
- return 1;
- }
Add Comment
Please, Sign In to add comment