rendered paste body#include <a_samp>
#include <core>
#include <float>
#include <Dini>
#include <dudb>
#include <dutils>
forward PayDay();
forward MedicCheck(playerid);
forward MedicMake(playerid);
forward MedicQuit(playerid);
forward CopCheck(playerid);
forward CopMake(playerid);
forward CopQuit(playerid);
forward FireCheck(playerid);
forward FireMake(playerid);
forward FireQuit(playerid);
forward AgentCheck(playerid);
forward AgentMake(playerid);
forward AgentQuit(playerid);
forward TaxiCheck(playerid);
forward TaxiMake(playerid);
forward TaxiQuit(playerid);
forward PilotCheck(playerid);
forward PilotMake(playerid);
forward PilotQuit(playerid);
fdeleteline(filename[], line[]);
fcreate(filename[]);
new Job[MAX_PLAYERS];
new Jobcp[MAX_PLAYERS];
// Global stuff and defines for our gamemode.
static gTeam[MAX_PLAYERS]; // Tracks the team assignment for each player
new GoDown;
new Door;
new Tor;
new Float:Ang;
new Menu:HelpCall;
new Menu:Police;
new Menu:Medic;
new Menu:Firemen;
new Menu:SWAT;
// Stuff
#define PayDay_Amount 10000
// === [Some configuring] ===
#define JOIN_MESSAGES false
#define Leavemessages false
#define leavemessagecolor COLOR_RED
#define joinmessagecolor COLOR_RED
#define Level1Commands1 ">> /a [text], /clearchat, /kick [id] [reason], /akill [id], /warn [id] [reason], /getid [name]"
#define Level1Commands2 ">> /(un)freeze [id], /playerinfo [id], /asay [msg], /ip [id], /mute [id], /ajail [id] [time], /force [id]"
#define Level2Commands1 ">> /tele [teleportee id] [dest. id], /ban [id], /announce [msg], /giveweapon [id] [weaponid] [ammo]"
#define Level2Commands2 ">> /goto [id], /gethere [id], /eject [id], /sethealth [id] [amt], /setarmour [id] [amt] /healall, /armourall"
#define Level3Commands1 ">> /disarm [id], /disarmall, /explode [id], /time [0-23], /weather [weatherid], /getallhere"
#define Level3Commands2 ">> /setmoney [id] [amount], /jetpack, /setname [id] [name]"
#define Level4Commands1 ">> /setlevel [id] [lvl], /restart, /disarmall, /reloadbans, /reloadlogs, /mapname [name], /servername [name]"
// TEAMS
#define TEAM_GROVE 1
#define TEAM_VAGO 2
#define TEAM_BALLA 3
#define TEAM_AZ 4
#define TEAM_AGENT 5
#define TEAM_ADMIN 6
//COLORS
#define TEAM_GROVE_COLOR 0x33AA33AA
#define TEAM_VAGO_COLOR 0xFFFF00AA
#define TEAM_BALLA_COLOR 0x330066AA
#define TEAM_AZ_COLOR 0xF0F8FFAA
#define TEAM_AGENT_COLOR 0x000000AA
#define TEAM_ADMIN_COLOR 0xB8860BAA
#define COLOR_RED 0xAA3333AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_LIME 0x10F441AA
#define COLOR_MAGENTA 0xFF00FFFF
#define COLOR_NAVY 0x000080AA
#define COLOR_AQUA 0xF0F8FFAA
#define COLOR_CRIMSON 0xDC143CAA
#define COLOR_FLBLUE 0x6495EDAA
#define COLOR_BISQUE 0xFFE4C4AA
#define COLOR_BLACK 0x000000AA
#define COLOR_CHARTREUSE 0x7FFF00AA
#define COLOR_BROWN 0xA52A2AAA
#define COLOR_CORAL 0xFF7F50AA
#define COLOR_GOLD 0xB8860BAA
#define COLOR_GREENYELLOW 0xADFF2FAA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_IVORY 0xFFFF82AA
#define COLOR_LAWNGREEN 0x7CFC00AA
#define COLOR_LIMEGREEN 0x32CD32AA
#define COLOR_MIDNIGHTBLUE 0x191970AA
#define COLOR_MAROON 0x800000AA
#define COLOR_OLIVE 0x808000AA
#define COLOR_ORANGERED 0xFF4500AA
#define COLOR_PINK 0xFFC0CBAA
#define COLOR_SPRINGGREEN 0x00FF7FAA
#define COLOR_TOMATO 0xFF6347AA
#define COLOR_YELLOWGREEN 0x9ACD32AA
#define COLOR_MEDIUMAQUA 0x83BFBFAA
#define COLOR_MEDIUMMAGENTA 0x8B008BAA
#define COLOR_BRIGHTRED 0xDC143CAA
#define COLOR_SYSTEM 0xEFEFF7AA
#define COLOR_PURPLE 0x330066AA
// === [Pragma] ===
#pragma unused ret_memcpy
// === [Forward] ===
forward SetPlayerToTeamColor(playerid);
forward SetupPlayerForClassSelection(playerid);
forward SetPlayerTeamFromClass(playerid,classid);
forward ExitTheGameMode();
forward IsStringAName(string[]);
forward GetPlayerID(string[]);
forward SendMessageToAdmins(color,const string[]);
forward Restart();
forward Unjail(giveplayerid);
// === [Loops] ===
new Mute[MAX_PLAYERS];
new level[MAX_PLAYERS];
new aMessage[MAX_PLAYERS];
new freeze[MAX_PLAYERS];
new WarnedTimes[MAX_PLAYERS];
new logged[MAX_PLAYERS];
// === [Enum] ===
enum pInfo
{
pAdmin,
}
new PlayerInfo[MAX_PLAYERS][pInfo];
//---------------------------------------------------------
main()
{
print("\n----------------------------------");
print(" Pirate Wars By Stephen \n");
print("----------------------------------\n");
}
//---------------------------------------------------------
public OnGameModeInit()
{
SetGameModeText("ExTrEmE Mode");
ShowPlayerMarkers(1);
ShowNameTags(1);
SetWorldTime(19);
SetTimer("PayDay", 600000, 1);
HelpCall = CreateMenu("Help call", 1, 150, 150, 100, 0);
AddMenuItem(HelpCall, 0, "Police");
AddMenuItem(HelpCall, 0, "Medic");
AddMenuItem(HelpCall, 0, "Fireman");
AddMenuItem(HelpCall, 0, "SWAT");
Police = CreateMenu("Police", 1, 150, 150, 100, 0);
AddMenuItem(Police, 0, "Shot");
AddMenuItem(Police, 0, "Murderer");
AddMenuItem(Police, 0, "Robbed");
Medic = CreateMenu("Medic", 1, 150, 150, 100, 0);
AddMenuItem(Medic, 0, "Injured");
AddMenuItem(Medic, 0, "Someone Injured");
AddMenuItem(Medic, 0, "All Injured");
Firemen = CreateMenu("Fireman", 1, 150, 150, 100, 0);
AddMenuItem(Firemen, 0, "Fire");
SWAT = CreateMenu("Swat", 1, 150, 150, 100, 0);
AddMenuItem(SWAT, 0, "Serial killer");
AddMenuItem(SWAT, 0, "Bomber");
Tor = CreateObject(975, 1589.096069, -1638.025269, 14.111814, 0, 0, 0);
AddPlayerClass(105,2492.4685,-1672.2130,13.3359,336.0040,22,999,30,999,28,999); // Grove
AddPlayerClass(107,2501.4856,-1670.0846,13.3560,349.6059,22,999,30,999,28,999); // Grove
AddPlayerClass(106,2488.9343,-1680.6752,13.3348,342.1489,22,999,30,999,28,999); // Grove
AddPlayerClass(108,2217.0159,-1159.5983,25.7266,358.8520,22,999,30,999,28,999); // Vago
AddPlayerClass(109,2216.8130,-1159.5121,25.7266,358.8520,22,999,30,999,28,999); // Vago
AddPlayerClass(110,2216.7961,-1159.5057,25.7266,358.8520,22,999,30,999,28,999); // Vago
AddPlayerClass(104,1827.9546,-1874.6033,13.5541,351.5783,22,999,30,999,28,999); // Balla
AddPlayerClass(103,1827.9546,-1874.6033,13.5541,351.5783,22,999,30,999,28,999); // Balla
AddPlayerClass(102,1828.0516,-1874.6609,13.5546,351.5783,22,999,30,999,28,999); // Balla
AddPlayerClass(114,1711.8724,-1583.4283,13.5464,174.3330,22,999,30,999,28,999); // az
AddPlayerClass(115,1711.8724,-1583.4283,13.5464,174.3330,22,999,30,999,28,999); // az
AddPlayerClass(116,1711.8724,-1583.4283,13.5464,174.3330,22,999,30,999,28,999); // az
AddPlayerClass(165,1546.2742,-1675.2444,13.5620,90.7201,22,999,30,999,28,999); // agent
AddPlayerClass(217,3310.2212,-1934.3905,11.2627,177.8789,22,999,30,999,28,999); // admin
GoDown = CreateObject(969, 2748.394287, -3066.668945, 13.171467, 0.0000, 0.0000, 264.6025); //
Door = CreateObject(17951, 2762.845215, -3094.072754, 16.314705, 0.0000, 0.0000, 357.4217); //
AddStaticVehicle(541,2472.9719,-1695.4534,13.1407,359.8709,58,16); //
AddStaticVehicle(451,2516.4617,-1672.5715,13.6277,66.3001,125,16); //
AddStaticVehicle(451,2228.1079,-1159.3789,25.4983,90.5948,125,16); //
AddStaticVehicle(402,2205.7688,-1168.8456,25.5613,270.2618,90,90); //
AddStaticVehicle(451,2496.7820,-1755.5762,13.1479,0.1185,16,16); //
AddStaticVehicle(522,2452.6362,-1646.5504,13.0330,179.7462,7,79); // nrg
AddStaticVehicle(521,2440.9153,-1642.1984,13.0243,180.1127,75,13); //
AddStaticVehicle(451,2445.0198,-1642.7640,13.1629,177.1884,18,18); //
AddStaticVehicle(522,2510.3201,-1687.0610,13.1304,48.8126,3,8); //
AddStaticVehicle(522,2497.5601,-1647.2935,13.0958,184.5256,6,25); //
AddStaticVehicle(522,2412.6982,-1717.6201,13.2903,175.5787,7,79); // NRG
AddStaticVehicle(562,2416.5205,-1717.3832,13.3938,178.8364,17,1); // elegy
AddStaticVehicle(562,2386.6377,-1927.6265,13.0417,359.9348,17,1); //
AddStaticVehicle(559,2376.9871,-1927.6935,13.0391,179.0084,60,1); //
AddStaticVehicle(550,2396.7603,-1927.5577,13.1728,359.4790,42,42); //
AddStaticVehicle(550,2495.3110,-1995.5430,13.3350,180.0052,42,42); //
AddStaticVehicle(451,2498.2227,-2023.5692,13.2532,1.0388,46,46); //
AddStaticVehicle(451,2228.3743,-1173.6144,25.4264,90.7509,61,61); //
AddStaticVehicle(415,2205.6855,-1161.0160,25.5063,270.4385,25,1); //
AddStaticVehicle(451,2492.1448,-1755.7263,13.2079,2.2831,75,75); //
AddStaticVehicle(562,2501.9771,-1953.4146,13.0846,359.7061,17,1); //
AddStaticVehicle(506,2489.3237,-1952.8988,13.1347,359.4390,7,7); //
AddStaticVehicle(522,2482.9861,-1953.6215,12.9855,358.8712,36,105); //
AddStaticVehicle(522,2381.6836,-2015.0056,14.4043,270.0071,39,106); //
AddStaticVehicle(522,2157.3599,-1797.5707,12.9426,265.2502,39,106); //
AddStaticVehicle(451,2157.8821,-1801.8881,13.0799,268.7621,123,123); //
AddStaticVehicle(426,2095.6030,-1797.9089,13.1282,87.5793,53,53); //
AddStaticVehicle(596,1535.8269,-1679.2466,13.1041,178.9430,0,1); // cap spawn 1
AddStaticVehicle(596,1535.9233,-1666.1522,13.1046,179.3573,0,1); // cap spawn 2
AddStaticVehicle(596,1535.9365,-1672.6100,13.1031,179.5669,0,1); // cop car spawn 3
AddStaticVehicle(596,1601.1667,-1684.0319,5.6110,89.4829,0,1); // cop car spawn 4
AddStaticVehicle(596,1591.7263,-1709.7365,5.6119,0.5003,0,1); // cop car spawn 5
AddStaticVehicle(601,1534.6608,-1644.4474,5.6494,180.6072,1,1); //
AddStaticVehicle(581,1718.1694,-1614.8508,13.1447,357.7049,66,1); //
AddStaticVehicle(581,1725.8605,-1615.0702,13.1426,359.7808,66,1); //
AddStaticVehicle(562,1723.7180,-1611.0464,13.2068,359.1488,113,1); //
AddStaticVehicle(562,1720.1270,-1611.0165,13.2066,359.7910,101,1); //
AddStaticVehicle(411,1715.1553,-1578.2877,13.2739,180.4384,64,1); //
AddStaticVehicle(411,1708.4354,-1578.3151,13.2740,179.6972,64,1); //
AddStaticVehicle(451,2352.3245,-1185.9651,27.7933,180.7841,125,16); // vagos car
AddStaticVehicle(451,1883.1598,-1369.2332,13.2769,268.2514,125,16); // stunter car
AddStaticVehicle(451,1834.7052,-1870.8129,13.0940,0.1619,125,16); // biker car
AddStaticVehicle(451,1699.2855,-2096.5144,13.2532,179.1972,125,16); // los aztacas car
AddStaticVehicle(451,1182.9570,-1315.0782,13.2785,2.0912,125,16); // medic car
AddStaticVehicle(451,258.6558,-1216.5505,75.0166,214.2757,125,16); // rich car
AddStaticVehicle(603,248.0489,-1224.6903,75.1181,217.4466,75,77); // rich car 2
AddStaticVehicle(411,282.6087,-1160.8950,80.6412,224.8127,112,1); // rich car 3
AddStaticVehicle(411,346.8753,-1198.2043,76.2428,37.9072,112,1); // rich car 4
AddStaticVehicle(416,1177.6628,-1307.8398,14.0212,268.6946,1,3); //
AddStaticVehicle(416,1176.8754,-1338.5607,14.0754,270.8475,1,3); //
AddStaticVehicle(562,1282.7782,-1293.6188,13.0299,1.0009,101,1); //
AddStaticVehicle(562,1276.5453,-1293.5393,12.9763,0.8766,36,1); //
AddStaticVehicle(562,1276.1611,-1382.1520,12.8660,179.9357,35,1); //
AddStaticVehicle(562,1282.9939,-1382.0166,13.0165,179.2321,92,1); //
AddStaticVehicle(562,1837.9780,-1871.0184,13.0497,358.8051,92,1); //
AddStaticVehicle(434,1839.9086,-1853.5010,13.3515,178.9397,12,12); //
AddStaticVehicle(463,1836.7212,-1853.2740,12.9300,182.1040,84,84); //
AddStaticVehicle(463,1841.2450,-1871.0826,12.9293,359.9516,84,84); //
AddStaticVehicle(521,1844.4923,-1871.0415,12.9562,359.4178,87,118); //
AddStaticVehicle(539,3011.6128,-1322.4840,1.0471,358.6463,70,86); //
AddStaticVehicle(444,2701.1172,-3060.4377,14.0243,184.7115,32,66); //
AddStaticVehicle(444,2687.9434,-3073.6816,14.0243,180.1827,32,66); //
AddStaticVehicle(522,2719.0269,-3053.0579,13.2187,178.6977,3,3); //
AddStaticVehicle(522,2720.2991,-3052.1753,13.2182,181.3392,3,3); //
AddStaticVehicle(522,2722.0508,-3052.0342,13.2219,179.1486,3,3); //
//Objects for pirateship
CreateObject(1260, 2025.334106, -2770.327881, 13.085209, 0.0000, 351.4056, 103.1324);
CreateObject(8493, 2021.467285, -2924.495605, 19.175880, 0.0000, 0.0000, 265.4620);
CreateObject(8493, 2019.823120, -2946.789551, 19.094521, 0.0000, 0.0000, 265.4620);
CreateObject(2780, 1985.335571, -2942.718750, -2.256461, 0.0000, 0.0000, 0.0000);
CreateObject(2780, 1989.541748, -2921.525391, 1.268366, 0.0000, 0.0000, 0.0000);
CreateObject(1448, 2010.720459, -2940.357422, 6.722838, 0.0000, 0.0000, 354.8434);
CreateObject(1448, 2010.828247, -2939.340088, 6.712166, 0.0000, 0.0000, 354.8434);
CreateObject(1448, 2010.914673, -2938.364746, 6.701493, 0.0000, 0.0000, 354.8434);
CreateObject(1448, 2010.989258, -2937.354248, 6.690820, 0.0000, 0.0000, 354.8434);
CreateObject(1448, 2011.074097, -2936.344482, 6.680145, 0.0000, 0.0000, 354.8434);
CreateObject(1448, 2011.150879, -2935.352783, 6.694472, 0.0000, 0.0000, 354.8434);
CreateObject(1448, 2011.249756, -2934.362793, 6.708798, 0.0000, 0.0000, 354.8434);
CreateObject(1448, 2011.344482, -2933.341064, 6.723124, 0.0000, 0.0000, 354.8434);
CreateObject(1448, 2011.441895, -2932.375977, 6.737450, 0.0000, 0.0000, 354.8434);
CreateObject(1448, 2011.538208, -2931.349121, 6.751775, 0.0000, 0.0000, 354.8434);
CreateObject(1448, 2011.635864, -2930.359619, 6.766101, 0.0000, 0.0000, 354.8434);
CreateObject(1448, 2011.728516, -2929.422119, 6.778321, 0.0000, 0.0000, 354.8434);
CreateObject(1448, 2011.832275, -2928.487305, 6.792646, 0.0000, 0.0000, 354.8434);
CreateObject(3399, 1966.332275, -2767.052246, 2.298753, 0.0000, 0.0000, 0.0000);
CreateObject(10794, 1720.073730, -2857.596924, 10.347992, 0.0000, 325.6225, 0.0000);
CreateObject(10795, 1712.731323, -2857.134277, 16.660732, 359.1406, 324.7631, 359.1406);
CreateObject(10793, 1666.869263, -2857.647949, 8.369761, 0.0000, 34.3775, 180.4817);
CreateObject(1461, 1759.547607, -2873.542725, 49.767151, 0.0000, 13.7510, 176.1846);
CreateObject(2780, 1755.507446, -2883.585449, 81.626389, 0.0000, 0.0000, 0.0000);
CreateObject(1231, 1732.280029, -2846.944336, 80.529747, 47.2690, 146.1043, 0.0000);
CreateObject(2780, 1682.158813, -2872.689941, -9.234709, 0.0000, 0.0000, 0.0000);
CreateObject(2780, 1682.505371, -2874.274414, -8.236647, 0.0000, 0.0000, 0.0000);
CreateObject(900, 1672.470215, -2896.886963, -0.981657, 0.0000, 0.0000, 0.0000);
CreateObject(900, 1689.210571, -2894.097900, -2.787343, 0.0000, 21.4859, 0.0000);
CreateObject(906, 1675.760132, -2903.058350, 1.726799, 0.0000, 0.0000, 0.0000);
CreateObject(16411, 1668.862061, -2904.581299, 3.196027, 0.0000, 0.0000, 0.0000);
CreateObject(17033, 1667.682129, -2889.149170, -0.626896, 0.0000, 0.0000, 350.5462);
CreateObject(850, 1669.319336, -2883.931396, 2.154366, 0.0000, 0.0000, 0.0000);
CreateObject(18259, 2986.088135, -1878.748047, 0.417589, 0.0000, 0.0000, 0.0000);
CreateObject(18001, 2985.735352, -1871.978638, 2.546899, 0.0000, 0.0000, 2.5783);
CreateObject(18001, 2981.141113, -1874.817383, 2.576441, 0.0000, 0.0000, 92.8192);
CreateObject(1504, 2981.134521, -1878.517822, 0.347650, 0.0000, 0.0000, 274.0563);
CreateObject(1504, 2981.072998, -1878.522705, 1.133689, 0.0000, 0.0000, 275.7752);
CreateObject(18001, 2981.506836, -1883.962402, 2.476440, 0.0000, 0.0000, 91.9597);
CreateObject(18001, 2986.001221, -1887.920532, 2.551441, 0.0000, 0.0000, 182.2006);
CreateObject(18001, 2990.573975, -1874.437988, 2.551441, 0.0000, 0.0000, 272.4414);
CreateObject(18001, 2990.944092, -1881.966187, 2.501440, 0.0000, 0.0000, 272.4414);
CreateObject(12842, 2988.522705, -1884.160400, 0.958199, 0.0000, 0.0000, 2.5783);
CreateObject(12842, 2983.777832, -1884.382568, 0.966008, 0.0000, 0.0000, 2.5783);
CreateObject(1670, 2986.553955, -1881.624268, 1.206437, 0.0000, 0.0000, 0.0000);
CreateObject(1670, 2985.206787, -1883.300293, 1.239246, 0.0000, 0.0000, 0.0000);
CreateObject(1670, 2986.644531, -1885.019653, 1.231437, 0.0000, 0.0000, 0.0000);
CreateObject(1670, 2985.472168, -1886.814209, 1.239246, 0.0000, 0.0000, 0.0000);
CreateObject(1977, 2981.703857, -1872.268677, 0.427074, 0.0000, 0.0000, 0.0000);
CreateObject(2217, 2986.680176, -1883.615112, 1.269578, 336.7952, 17.1887, 4.2972);
CreateObject(1895, 2990.638916, -1878.223877, 1.526942, 0.0000, 0.0000, 274.0563);
CreateObject(2188, 2989.995117, -1878.166138, 1.389043, 0.0000, 0.0000, 274.0563);
CreateObject(1545, 2990.589844, -1875.730103, 1.406492, 0.0000, 0.0000, 273.1969);
CreateObject(1551, 2989.868408, -1878.634644, 1.604138, 0.0000, 0.0000, 0.0000);
CreateObject(16151, 2983.822754, -1872.901489, 0.895280, 0.0000, 0.0000, 90.2409);
CreateObject(1486, 2985.358398, -1874.006348, 1.645647, 0.0000, 0.0000, 0.0000);
CreateObject(1840, 2985.971680, -1874.018555, 1.498513, 0.0000, 0.0000, 90.2409);
CreateObject(1723, 2989.880371, -1872.345215, 0.369754, 0.0000, 0.0000, 274.0563);
CreateObject(10794, 1486.932861, -3107.557617, -38.251015, 2.5783, 334.2169, 0.0000);
CreateObject(10795, 1485.793701, -3110.063477, -37.638157, 0.0000, 329.0603, 0.0000);
CreateObject(10794, 1186.197754, -3006.444824, -66.671959, 0.0000, 0.0000, 0.0000);
CreateObject(10795, 1184.656738, -3006.312256, -56.853779, 0.0000, 0.0000, 0.0000);
CreateObject(10793, 1111.660278, -3006.396729, -38.355042, 0.0000, 0.0000, 0.0000);
CreateObject(10794, 1227.219238, -3160.162354, 1.911114, 0.0000, 0.0000, 0.0000);
CreateObject(10795, 1225.990845, -3160.131348, 10.439981, 0.0000, 0.0000, 0.0000);
CreateObject(10793, 1152.884399, -3160.456299, 28.737041, 0.0000, 0.0000, 0.0000);
CreateObject(3996, 2697.718506, -2616.983398, 12.712868, 0.0000, 0.0000, 269.7591);
CreateObject(5147, 2697.880859, -2745.873047, 22.469244, 0.0000, 0.0000, 90.2409);
CreateObject(5147, 2696.167236, -2970.520264, 22.465425, 0.0000, 0.0000, 268.8997);
CreateObject(3330, 2710.451660, -2653.761963, 62.482872, 0.0000, 0.0000, 271.4780);
CreateObject(3330, 2709.734863, -2633.633057, 62.550102, 0.0000, 0.0000, 271.4780);
CreateObject(3330, 2709.149658, -2612.318115, 62.595695, 0.0000, 0.0000, 271.4780);
CreateObject(3330, 2708.387695, -2591.347168, 62.577438, 0.0000, 0.0000, 271.4780);
CreateObject(3330, 2708.077393, -2577.480957, 65.065437, 0.0000, 0.0000, 271.4780);
CreateObject(3330, 2683.967773, -2577.326904, 64.996735, 0.0000, 0.0000, 270.6186);
CreateObject(3330, 2684.172119, -2598.182373, 65.038300, 0.0000, 0.0000, 270.6186);
CreateObject(3330, 2684.437988, -2618.494141, 65.016106, 0.0000, 0.0000, 270.6186);
CreateObject(3330, 2684.873535, -2639.609375, 64.735458, 0.0000, 0.0000, 270.6186);
CreateObject(3330, 2685.073975, -2653.800049, 64.689667, 0.0000, 0.0000, 270.6186);
CreateObject(7073, 2687.813477, -2577.134277, 30.990557, 0.0000, 358.2811, 2.5783);
CreateObject(4867, 2683.168213, -3155.961914, 12.653005, 0.0000, 0.0000, 269.7591);
CreateObject(11490, 2752.671143, -3068.333740, 12.648687, 0.0000, 0.0000, 84.9803);
CreateObject(11491, 2763.689941, -3069.351563, 14.068915, 0.0000, 0.0000, 84.2248);
CreateObject(974, 2759.957520, -3070.475830, 13.559250, 0.0000, 0.0000, 264.6025);
CreateObject(974, 2760.255127, -3067.636230, 13.809265, 0.0000, 0.0000, 85.9437);
CreateObject(1646, 2763.665527, -3074.502930, 14.285665, 0.0000, 0.0000, 265.4620);
CreateObject(1646, 2763.733643, -3073.056396, 14.285665, 0.0000, 0.0000, 265.4620);
CreateObject(1723, 2757.964844, -3064.722412, 14.154547, 0.0000, 0.0000, 354.8434);
CreateObject(1723, 2755.061523, -3064.468506, 14.154547, 0.0000, 0.0000, 354.8434);
CreateObject(1814, 2756.877686, -3067.032959, 14.145408, 0.0000, 0.0000, 355.7028);
CreateObject(1670, 2757.419922, -3066.604004, 14.687299, 0.0000, 0.0000, 0.0000);
CreateObject(1847, 2757.224609, -3073.012695, 14.155046, 0.0000, 0.0000, 175.2211);
CreateObject(1481, 2762.596191, -3064.788086, 14.776359, 0.0000, 0.0000, 355.7028);
CreateObject(1717, 2758.040039, -3066.975342, 14.153698, 0.0000, 0.0000, 133.2127);
CreateObject(1738, 2754.008545, -3072.914063, 14.811131, 0.0000, 0.0000, 356.5623);
CreateObject(1745, 2751.669678, -3071.639160, 14.155286, 0.0000, 0.0000, 85.0842);
CreateObject(1208, 2749.076172, -3063.792725, 14.156500, 0.0000, 0.0000, 265.4620);
CreateObject(936, 2749.291260, -3065.178467, 14.631212, 0.0000, 0.0000, 84.2248);
CreateObject(4002, 2726.564941, -3264.907227, 35.014687, 0.0000, 0.0000, 0.8594);
CreateObject(5168, 2665.568604, -3280.536377, 18.668293, 0.0000, 0.0000, 90.1369);
CreateObject(5189, 2762.492920, -3208.887207, 18.106087, 0.0000, 0.0000, 0.0000);
CreateObject(17563, 2740.562988, -3149.016602, 10.325888, 0.0000, 0.0000, 0.0000);
CreateObject(18569, 2735.594971, -3196.940918, 13.829097, 0.0000, 0.0000, 0.0000);
CreateObject(18609, 2727.119141, -3211.127686, 13.825493, 0.0000, 0.0000, 0.0000);
CreateObject(18567, 2726.222656, -3221.704834, 13.665919, 0.0000, 0.0000, 0.0000);
CreateObject(18367, 2715.517578, -3091.434814, 12.209959, 0.0000, 0.0000, 347.1084);
CreateObject(17565, 2696.789307, -3063.555176, 14.186714, 0.0000, 0.0000, 1.7189);
CreateObject(16304, 2651.524414, -3068.828369, 17.013290, 0.0000, 0.0000, 0.0000);
CreateObject(13648, 2619.675049, -3091.977295, 12.173984, 0.0000, 0.0000, 0.0000);
CreateObject(13641, 2732.760498, -3103.209961, 13.597260, 0.0000, 0.0000, 0.0000);
CreateObject(13636, 2654.047852, -3114.265137, 14.333393, 0.0000, 0.0000, 0.0000);
CreateObject(13604, 2617.862061, -3154.154053, 14.061027, 0.0000, 0.0000, 0.0000);
CreateObject(8375, 2652.574707, -3167.120117, 13.786748, 0.0000, 0.0000, 0.0000);
CreateObject(7980, 2647.795654, -3167.012695, 13.789972, 0.0000, 0.0000, 269.7591);
CreateObject(3664, 2623.583496, -3204.282715, 19.156897, 0.0000, 0.0000, 188.1126);
CreateObject(3269, 2658.948730, -3211.785645, 12.501149, 0.0000, 0.0000, 0.0000);
CreateObject(1634, 2684.274658, -3162.868652, 13.600326, 0.0000, 0.0000, 196.7070);
CreateObject(18259, 2767.645996, -3094.188232, 15.001850, 0.0000, 0.0000, 355.7028);
CreateObject(643, 2759.327637, -3101.797607, 15.458261, 0.0000, 0.0000, 0.0000);
CreateObject(1281, 2753.861328, -3094.639404, 13.403388, 0.0000, 0.0000, 0.0000);
CreateObject(14805, 2769.048096, -3090.571045, 15.799543, 0.0000, 0.0000, 0.0000);
CreateObject(1645, 2760.911133, -3088.771973, 15.269938, 0.0000, 0.0000, 0.0000);
CreateObject(14532, 2769.778564, -3091.209473, 15.095510, 0.0000, 0.0000, 182.0965);
CreateObject(1701, 2767.875488, -3099.830322, 14.906761, 0.0000, 0.0000, 178.6587);
CreateObject(1736, 2767.231934, -3103.050049, 16.976439, 0.0000, 0.0000, 180.3776);
CreateObject(1738, 2768.016602, -3087.673828, 15.642420, 0.0000, 0.0000, 359.1406);
CreateObject(937, 2764.022461, -3087.828857, 15.562501, 0.0000, 0.0000, 358.2811);
CreateObject(2610, 2763.009521, -3102.884277, 15.913248, 0.0000, 0.0000, 178.6588);
CreateObject(2604, 2770.241943, -3102.914063, 15.884663, 0.0000, 0.0000, 175.2211);
CreateObject(1663, 2771.257080, -3101.948730, 15.548002, 0.0000, 0.0000, 19.7670);
CreateObject(1541, 2764.469727, -3103.150879, 15.681026, 0.0000, 0.0000, 358.2811);
CreateObject(2374, 2762.971191, -3097.993896, 16.652763, 0.0000, 0.0000, 85.9437);
CreateObject(2377, 2762.987305, -3097.969238, 15.597727, 0.0000, 0.0000, 85.9437);
CreateObject(5064, 2427.734619, -1660.922974, 13.482821, 0.0000, 0.8594, 359.1406);
// These are random pickups at Grove Street [Mini-gun People Will Go mad on]
AddStaticPickup(1240, 2, 2513.4211,-1650.4452,14.3557); // health
AddStaticPickup(1241, 2, 2524.2302,-1658.7089,15.4935); // adrenalin pill
AddStaticPickup(1242, 2, 2522.8958,-1679.4229,15.4970); // armour
AddStaticPickup(362, 2, 2469.8970,-1646.3499,13.7801); // minigun
AddStaticPickup(346, 2,2032.3872,-2925.1777,9.6681); //
AddStaticPickup(1242, 2,2021.3329,-2925.9045,8.7732); //
AddStaticPickup(361, 2,2006.9421,-2922.9790,7.8868); //
AddStaticPickup(105, 2,1997.2871,-2921.6423,8.9181); //
AddStaticPickup(105, 2,1988.9843,-2922.8948,11.3690); //
AddStaticPickup(361, 2,2009.7667,-2942.8860,7.8055); //
AddStaticPickup(1242, 2,2021.7725,-2945.3730,8.7648); //
AddStaticPickup(346, 2,2029.5665,-2947.1521,9.5867); //
AddStaticPickup(342, 2,1992.7675,-2944.2324,8.8418); //
AddStaticPickup(342, 2,1985.9038,-2943.3577,11.2820); //
}
//---------------------------------------------------------
public OnPlayerConnect(playerid)
{
SetPlayerColor(playerid,0x888888FF);
GameTextForPlayer(playerid,"PWN THEM ALL !",2000,5);
GivePlayerMoney(playerid, 10000);
new pName[MAX_PLAYER_NAME];
new string[48];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "%s has joined the server.", pName);
SendClientMessageToAll(0xAAAAAAAA, string);
SendClientMessage(playerid, COLOR_BLUE, "Welcome to ExTrEmE Server!");
Job[playerid] = 0;
Jobcp[playerid] = 0;
SetPlayerMapIcon(playerid, 1, 953.4695,-911.4966,45.7656, 32, 0);
SetPlayerMapIcon(playerid, 2, 1178.5338,-1323.4142,14.1248, 22, 0);
SetPlayerMapIcon(playerid, 3, 1151.0916,-1218.7781,17.7665, 20, 0);
SetPlayerMapIcon(playerid, 4, 1543.0513,-1675.5679,13.2768, 30, 0);
if(Job[playerid] == 0) {
SendClientMessage(playerid, COLOR_PURPLE, "-----------------------------");
SendClientMessage(playerid, COLOR_PURPLE, "Type /searchjob To Find A Job");
SendClientMessage(playerid, COLOR_PURPLE, "JOB-LINK Connecting Jobs With People");
return 1;
}
return 0;
}
//---------------------------------------------------------
public SetupPlayerForClassSelection(playerid)
{
SetPlayerInterior(playerid,14);
SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
SetPlayerFacingAngle(playerid, 90.0);
SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234);
SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
}
//---------------------------------------------------------
public SetPlayerTeamFromClass(playerid,classid)
{
// Set their team number based on the class they selected.
if(classid == 0 || classid == 1 || classid == 2)
{
gTeam[playerid] = TEAM_GROVE;
}
else if(classid == 3 || classid == 4 || classid == 5)
{
gTeam[playerid] = TEAM_VAGO;
}
else if(classid == 6 || classid == 7 || classid == 8)
{
gTeam[playerid] = TEAM_BALLA;
}
else if(classid == 9 || classid == 10 || classid == 11)
{
gTeam[playerid] = TEAM_AZ;
}
else if(classid == 12)
{
gTeam[playerid] = TEAM_AGENT;
}
else if(classid == 13)
{
gTeam[playerid] = TEAM_ADMIN;
}
}
//---------------------------------------------------------
public SetPlayerToTeamColor(playerid)
{
if(gTeam[playerid] == TEAM_GROVE)
{
SetPlayerColor(playerid,COLOR_GREEN); //
}
else if(gTeam[playerid] == TEAM_VAGO)
{
SetPlayerColor(playerid,COLOR_YELLOW); //
}
else if(gTeam[playerid] == TEAM_BALLA)
{
SetPlayerColor(playerid,COLOR_PURPLE); //
}
else if(gTeam[playerid] == TEAM_AZ)
{
SetPlayerColor(playerid,COLOR_AQUA); //
}
else if(gTeam[playerid] == TEAM_AGENT)
{
SetPlayerColor(playerid,COLOR_BLACK); //
}
else if(gTeam[playerid] == TEAM_ADMIN)
{
SetPlayerColor(playerid,COLOR_GOLD); //
}
}
//---------------------------------------------------------
public OnPlayerRequestClass(playerid, classid)
{
SetupPlayerForClassSelection(playerid);
SetPlayerTeamFromClass(playerid,classid);
if(classid == 0 || classid == 1 || classid == 2)
{
GameTextForPlayer(playerid,"~g~Grove Homies",1000,5);
}
if(classid == 3 || classid == 4 || classid == 5)
{
GameTextForPlayer(playerid,"~g~Vago Homies",1000,5);
}
if(classid == 6 || classid == 7 || classid == 8)
{
GameTextForPlayer(playerid,"~g~Balla Homies",1000,5);
}
if(classid == 9 || classid == 10 || classid == 11)
{
GameTextForPlayer(playerid,"~g~Azteca Homies",1000,5);
}
if(classid == 12)
{
GameTextForPlayer(playerid,"~g~Agent 007",1000,5);
}
if(classid == 13)
{
GameTextForPlayer(playerid,"~r~ADMIN ONLY",1000,5);
}
return 1;
}
//---------------------------------------------------------
public OnPlayerSpawn(playerid)
{
SetPlayerToTeamColor(playerid);
SetPlayerInterior(playerid,0);
if(gTeam[playerid] == TEAM_ADMIN) //If player select AGENT as skin
{
TogglePlayerControllable(playerid, false); //freeze in other words
GameTextForPlayer(playerid, "~r~Login with admin Command please!",8000,5);
}
GameTextForPlayer(playerid, "~r~Why not get a job with /searchjob. Currently one cmd for the Medic only.",8000,5);
new name[256];
new string[256];
switch (GetPlayerSkin(playerid))
{
case 280..284,288:
{
if(CopCheck(playerid))
{
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Welcome Officer %s To The Police Force",name);
SendClientMessageToAll(COLOR_BLUE, string);
Job[playerid] = 1;
}
else{
SendClientMessage(playerid, COLOR_RED, "You Are Not A Registered Police Officer");
ForceClassSelection(playerid);
SetPlayerHealth(playerid, 0);
}
return 1;
}
case 274..276:
{
if(MedicCheck(playerid)){
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Welcome Doctor %s To The Health System",name);
SendClientMessageToAll(COLOR_BLUE, string);
Job[playerid] = 2;
}
else{
SendClientMessage(playerid, COLOR_RED, "You Are Not A Registered Doctor");
ForceClassSelection(playerid);
SetPlayerHealth(playerid, 0);
}
return 1;
}
case 163..166:
{
if(AgentCheck(playerid)){
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Welcome Agent %s To The Secret Service",name);
SendClientMessageToAll(COLOR_BLUE, string);
Job[playerid] = 3;
}
else{
SendClientMessage(playerid, COLOR_RED, "You Are Not A Registered Federal Agent");
ForceClassSelection(playerid);
SetPlayerHealth(playerid, 0);
}
return 1;
}
case 277..279:
{
if(FireCheck(playerid)){
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Welcome Fire-Fighter %s To The Fire Brigade",name);
SendClientMessageToAll(COLOR_BLUE, string);
Job[playerid] = 4;
}
else{
SendClientMessage(playerid, COLOR_RED, "You Are Not A Registered Fire-Fighter");
ForceClassSelection(playerid);
SetPlayerHealth(playerid, 0);
}
return 1;
}
case 253,255:
{
if(TaxiCheck(playerid)){
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Welcome Driver %s To The Transport System",name);
SendClientMessageToAll(COLOR_BLUE, string);
Job[playerid] = 5;
}
else{
SendClientMessage(playerid, COLOR_RED, "You Are Not A Registered Driver");
ForceClassSelection(playerid);
SetPlayerHealth(playerid, 0);
}
return 1;
}
case 61:
{
if(PilotCheck(playerid)){
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Welcome Pilot %s To The Transport System",name);
SendClientMessageToAll(COLOR_BLUE, string);
Job[playerid] = 6;
}
else{
SendClientMessage(playerid, COLOR_RED, "You Are Not A Registered Pilot");
ForceClassSelection(playerid);
SetPlayerHealth(playerid, 0);
}
return 1;
}
}
return 1;
}
//---------------------------------------------------------
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:Current = GetPlayerMenu(playerid);
if(Current == HelpCall)
{
switch(row)
{
case 0: //Police
{
HideMenuForPlayer(HelpCall, playerid);
ShowMenuForPlayer(Police, playerid);
}
case 1: //Medic
{
HideMenuForPlayer(HelpCall, playerid);
ShowMenuForPlayer(Medic, playerid);
}
case 2: //Firemen
{
HideMenuForPlayer(HelpCall, playerid);
ShowMenuForPlayer(Firemen, playerid);
}
case 3: //SWAT
{
HideMenuForPlayer(HelpCall, playerid);
ShowMenuForPlayer(SWAT, playerid);
}
}
}
if(Current == Police)
{
switch(row)
{
case 0: //Shot
{
SendClientMessageToAll(0xAAAAAAAA,"%s Has been shot, send in the police");
}
case 1: //Murderer
{
SendClientMessageToAll(0xAAAAAAAA,"%s Has Seen a murderer, send in the police");
}
case 2: //Robbed
{
SendClientMessageToAll(0xAAAAAAAA,"%s Has been Robbed, send in the police");
}
}
}
if(Current == Medic)
{
switch(row)
{
case 0: //Injured
{
SendClientMessageToAll(0xAAAAAAAA,"%s Has been Injured, send in the medics");
}
case 1: //Someone Injured
{
SendClientMessageToAll(0xAAAAAAAA,"%s friend has been injured, send in the medics");
}
case 2: //All Injured
{
SendClientMessageToAll(0xAAAAAAAA,"%s and people around him has been injured, send in the medics");
}
}
}
if(Current == Firemen)
{
switch(row)
{
case 0: //Fire
{
SendClientMessageToAll(0xAAAAAAAA,"%s Has spotted a fire, send in the firemen");
}
}
}
if(Current == SWAT)
{
switch(row)
{
case 0: //Serial Killer
{
//Do something here
}
case 1: //Bomber
{
//Do something here
}
}
}
return 1;
}
//---------------------------------------------------------
public ExitTheGameMode()
{
GameModeExit();
}
//---------------------------------------------------------
public OnPlayerDeath(playerid, killerid, reason)
{
new PlayerName[24], string[256];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
format(string, sizeof(string), ">> %s got owned <<", PlayerName);
SendClientMessage(playerid, COLOR_RED, string);
GameTextForPlayer(playerid, "~r~OWNED!", 5000, 1);
SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
GivePlayerMoney(killerid,GetPlayerMoney(killerid) + 1000);
return 1;
}
//---------------------------------
public OnPlayerDisconnect(playerid, reason)
{
new pName[MAX_PLAYER_NAME];
new string[56];
GetPlayerName(playerid, pName, sizeof(pName));
switch(reason)
{
case 0: format(string, sizeof(string), "%s has left the server. (Timeout)", pName);
case 1: format(string, sizeof(string), "%s has left the server. (Leaving)", pName);
case 2: format(string, sizeof(string), "%s has left the server. (Kicked)", pName);
}
SendClientMessageToAll(0xAAAAAAAA, string);
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
if (strcmp("/Commands", cmdtext, true)==0)
{
SendClientMessage(playerid, 0xAA3333AA, "ExTrEmE Server Commands");
SendClientMessage(playerid, 0xFFFF00AA, "/admins - Display list of admins");
SendClientMessage(playerid, 0xFFFF00AA, "/clearchat - Clears chat for you");
SendClientMessage(playerid, 0xFFFF00AA, "/login, /register - Registration commands");
SendClientMessage(playerid, 0xFFFF00AA, "/kill - Kills you");
SendClientMessage(playerid, 0xFFFF00AA, "/Stunt to get to stunt zone");
SendClientMessage(playerid, 0xFFFF00AA, "/Me [Text] /Games [For MiniGame list]");
SendClientMessage(playerid, 0xFFFF00AA, "/Commands2 For next List Of commands");
SendClientMessage(playerid, 0xFFFF00AA, "/Rules for Rules, /Credits for credits");
SendClientMessage(playerid, 0x33AA33AA, "/Commands2 For more commands.");
return 1;
}
if (strcmp("/Commands2", cmdtext, true)==0)
{
SendClientMessage(playerid, 0xAA3333AA, "ExTrEmE Server Command list 2");
SendClientMessage(playerid, 0xFFFF00AA, "/Joblist - List of Jobs");
SendClientMessage(playerid, 0xFFFF00AA, "/Dive - 800 feet fall from ur current location");
SendClientMessage(playerid, 0xFFFF00AA, "More commands s00n");
SendClientMessage(playerid, 0x33AA33AA, "/Commands For 1st list of commands.");
return 1;
}
if(strcmp(cmdtext,"/clearchat",true)==0) // Makes the chat window go away :O
{
SendClientMessage(playerid,0xAFAFAFAA," ");
SendClientMessage(playerid,0xAFAFAFAA," ");
SendClientMessage(playerid,0xAFAFAFAA," ");
SendClientMessage(playerid,0xAFAFAFAA," ");
SendClientMessage(playerid,0xAFAFAFAA," ");
SendClientMessage(playerid,0xAFAFAFAA," ");
SendClientMessage(playerid,0xAFAFAFAA," ");
SendClientMessage(playerid,0xAFAFAFAA," ");
SendClientMessage(playerid,0xAFAFAFAA," ");
SendClientMessage(playerid,0xAFAFAFAA," ");
return 1;
}
if (strcmp("/rules", cmdtext, true)==0)
{
SendClientMessage(playerid, 0xAA3333AA, "ExTrEmE Server Rules");
SendClientMessage(playerid, 0xFFFF00AA, "- No Teamkilling");
SendClientMessage(playerid, 0xFFFF00AA, "- Don't be rude or use offensive language");
SendClientMessage(playerid, 0xFFFF00AA, "- No Cheating/Hacking");
SendClientMessage(playerid, 0xFFFF00AA, "- English on Main Chat");
SendClientMessage(playerid, 0xFFFF00AA, "- If you dont obey these rules you will be kicked/banned/warned!");
SendClientMessage(playerid, 0xFFFF00AA, "- This is an RPG~Stunt~TDM~MiniGame Server!!");
return 1;
}
if (strcmp("/credits", cmdtext, true)==0)
{
SendClientMessage(playerid, 0xAA3333AA, "Credits");
SendClientMessage(playerid, 0xFFFF00AA, "Heres credits - Stephen for Making it");
SendClientMessage(playerid, 0xFFFF00AA, "Testers are Me and ryan");
SendClientMessage(playerid, 0xFFFF00AA, "Xtreme Admin - By Xtreme");
SendClientMessage(playerid, 0xFFFF00AA, "--StEpHeN GameMode--");
return 1;
}
if (strcmp(cmdtext, "/open", true)==0)
{
MoveObject(GoDown,2748.394287, -3066.668945, 10.171467, 2.000);
GameTextForPlayer(playerid, "~g~Succesfully opened gate.", 5000, 1);
return 1;
}
if (strcmp(cmdtext, "/close", true)==0)
{
MoveObject(GoDown,2748.394287, -3066.668945, 13.171467, 2.000);
GameTextForPlayer(playerid, "~r~Succesfully closed gate.", 5000, 1);
return 1;
}
if(!strcmp(cmdtext, "/me", true,2))
{
if(!strlen(cmdtext[4])) SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /me [text]");
else
{
new pname[100];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(pname,100,"%s %s", pname, cmdtext[4]);
SendClientMessageToAll(COLOR_GOLD,pname);
print(pname);
}
return true;
}
if (strcmp(cmdtext, "/stunt", true)==0)
{
GameTextForPlayer(playerid, "~g~Welcome To The Stunt Zone.", 5000, 1);
SetPlayerPos(playerid, 2694.2246,-3044.5867,13.7206);
return 1;
}
if (strcmp("/Games", cmdtext, true)==0)
{
SendClientMessage(playerid, 0xAA3333AA, "MiniGames");
SendClientMessage(playerid, 0xFFFF00AA, "First MiniGame is /pirates [Pirate wars]");
SendClientMessage(playerid, 0xFFFF00AA, "Other MiniGame is /HouseDM [DM in a house]");
SendClientMessage(playerid, 0xFFFF00AA, "Have Fun !");
SendClientMessage(playerid, 0xFFFF00AA, "--StEpHeN GameMode--");
return 1;
}
if (strcmp(cmdtext, "/HouseDM", true)==0)
{
GameTextForPlayer(playerid, "~g~Will You Own? Or Will You Get Owned?", 5000, 1);
SetPlayerPos(playerid, 2753.0024,-3068.2170,15.1565);
return 1;
}
if (strcmp(cmdtext, "/Pirates", true)==0)
{
GameTextForPlayer(playerid, "~g~Welcome To The Pirate Wars.", 5000, 1);
SetPlayerPos(playerid, 2008.3656,-2925.7139,7.8868);
return 1;
}
if (strcmp(cmdtext, "/Home", true)==0)
{
MoveObject(Door,2762.845215, -3094.072754, 19.314705, 2.000);
GameTextForPlayer(playerid, "~b~Welcome Home Ryan!", 5000, 1);
return 1;
}
if (strcmp(cmdtext, "/Away", true)==0)
{
MoveObject(Door,2762.845215, -3094.072754, 16.314705, 2.000);
GameTextForPlayer(playerid, "~r~Bye, Bye.", 5000, 1);
return 1;
}
if (strcmp(cmdtext, "/SF", true)==0)
{
GameTextForPlayer(playerid, "~g~Welcome To The SF. If your not admin, your bad!", 5000, 1);
SetPlayerPos(playerid, 2694.2246,-3044.5867,13.7206);
return 1;
}
if(strcmp(cmdtext,"/PGate",true)==0)
{
if(IsPlayerConnected(playerid))
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(X >= 1582.504272 && X <= 1594.216431 && Y >= -1644.001099 && Y <= -1633.375366 && Z >= 11 && Z <= 15)
GameTextForPlayer(playerid, "~r~You have opened the Police carpark gate.", 5000, 1);
MoveObject(Tor, 1596.398315, -1638.025269, 14.111814, 3);
SetTimer("CloseTor",10000,0);
}
return 1;
}
if(strcmp(cmdtext,"/PClose",true)==0)
{
if(IsPlayerConnected(playerid))
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(X >= 1582.504272 && X <= 1594.216431 && Y >= -1644.001099 && Y <= -1633.375366 && Z >= 11 && Z <= 15)
GameTextForPlayer(playerid, "~r~You have Closed the Police carpark gate.", 5000, 1);
MoveObject(Tor, 1589.096069, -1638.025269, 14.111814, 3);
SetTimer("CloseTor",10000,0);
}
return 1;
}
if(strcmp(cmdtext, "/Dive", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
new Float:X, Float:Y, Float:Z;
new VehicleID;
GetPlayerPos(playerid, X, Y, Z);
VehicleID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehicleID, X, Y, Z + 800.00);
SetPlayerFacingAngle(playerid,Ang);
GivePlayerWeapon(playerid,46,1);
}
else
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
SetPlayerPos(playerid, X, Y, Z + 800.00);
SetPlayerFacingAngle(playerid,Ang);
GivePlayerWeapon(playerid,46,1);
GameTextForPlayer(playerid, "~w~Here we go!!",8000,5);
}
return 1;
}
if(!strcmp(cmdtext, "/drwho156", true))
{
if(gTeam[playerid] == TEAM_ADMIN) //If player select Admin as skin.
{
TogglePlayerControllable(playerid, true); //Unfreezes the player
GameTextForPlayer(playerid, "~r~Do /w2 [Weapon Name] if you want more guns. But dont abuse your weapons.",8000,5);
}
return 1;
}
if(!strcmp(cmdtext, "/CallForHelp", true))
{
ShowMenuForPlayer(HelpCall, playerid);
return 1;
}
new tmp[256];
new idx;
if (strcmp("/quitcop", cmdtext, true, 10) == 0)
{
CopQuit(playerid);
SendClientMessage(playerid, COLOR_RED, "You Have Quit The Police Force");
Job[playerid] = 0;
Jobcp[playerid] = 0;
return 1;
}
if (strcmp("/quitagent", cmdtext, true, 10) == 0)
{
AgentQuit(playerid);
SendClientMessage(playerid, COLOR_RED, "You Have Quit The Agent Job");
Job[playerid] = 0;
Jobcp[playerid] = 0;
return 1;
}
if (strcmp("/quitmedic", cmdtext, true, 10) == 0)
{
AgentQuit(playerid);
SendClientMessage(playerid, COLOR_RED, "You Have Quit The Agent Job");
Job[playerid] = 0;
Jobcp[playerid] = 0;
return 1;
}
if (strcmp("/quitfire", cmdtext, true, 10) == 0)
{
AgentQuit(playerid);
SendClientMessage(playerid, COLOR_RED, "You Have Quit The Agent Job");
Job[playerid] = 0;
Jobcp[playerid] = 0;
return 1;
}
if (strcmp("/quittaxi", cmdtext, true, 10) == 0)
{
AgentQuit(playerid);
SendClientMessage(playerid, COLOR_RED, "You Have Quit The Agent Job");
Job[playerid] = 0;
Jobcp[playerid] = 0;
return 1;
}
if (strcmp("/quitpilot", cmdtext, true, 10) == 0)
{
AgentQuit(playerid);
SendClientMessage(playerid, COLOR_RED, "You Have Quit The Agent Job");
Job[playerid] = 0;
Jobcp[playerid] = 0;
return 1;
}
if (strcmp("/searchjob", cmdtext, true, 10) == 0)
{
if(Job[playerid] == 0) {
SendClientMessage(playerid, COLOR_PURPLE, "----------------------------");
SendClientMessage(playerid, COLOR_PURPLE, "Find Your perfect job! ");
SendClientMessage(playerid, COLOR_PURPLE, "----------------------------");
SendClientMessage(playerid, COLOR_PURPLE, "We Can Offer You A Jobs");
SendClientMessage(playerid, COLOR_PURPLE, "For A List of Jobs Avalible");
SendClientMessage(playerid, COLOR_PURPLE, "Please Come To JOB_LINK");
SendClientMessage(playerid, COLOR_PURPLE, "Then Type /joblist");
Jobcp[playerid] = 0;
Job[playerid] = 7;
SetPlayerCheckpoint(playerid,953.4695,-911.4966,45.7656,8.0);
}
return 1;
}
if (strcmp("/joblist", cmdtext, true, 10) == 0)
{
if(Job[playerid] == 7) {
if(Jobcp[playerid] == 1){
SendClientMessage(playerid, COLOR_PURPLE, "----------------------------");
SendClientMessage(playerid, COLOR_PURPLE, "Here Are Some Available Jobs");
SendClientMessage(playerid, COLOR_PURPLE, "----------------------------");
SendClientMessage(playerid, COLOR_PURPLE, "Police /applycop");
SendClientMessage(playerid, COLOR_PURPLE, "Medic /applymedic");
SendClientMessage(playerid, COLOR_PURPLE, "Fire /applyfire");
SendClientMessage(playerid, COLOR_PURPLE, "Agent /applyagent");
SendClientMessage(playerid, COLOR_PURPLE, "Agent /applytaxi");
SendClientMessage(playerid, COLOR_PURPLE, "Agent /applypilot");
}else{
SendClientMessage(playerid, COLOR_RED, "You Must Be At JOB-LINK");
}
}
return 1;
}
if (strcmp(cmdtext, "/applyagent", true)==0)
{
if(Job[playerid] == 7) {
if(Jobcp[playerid] == 1){
AgentMake(playerid);
SendClientMessage(playerid, COLOR_PURPLE, "-------------------------------");
SendClientMessage(playerid, COLOR_PURPLE, "Your Application Was Successful");
SendClientMessage(playerid, COLOR_PURPLE, "Welcome To The Agentcy");
SendClientMessage(playerid, COLOR_PURPLE, "If You Want To Quit Type /agentquit");
Job[playerid] = 3;
}
}
return 1;
}
if (strcmp(cmdtext, "/applycop", true)==0)
{
if(Job[playerid] == 7) {
if(Jobcp[playerid] == 1){
SendClientMessage(playerid, COLOR_PURPLE, "------------------------------");
SendClientMessage(playerid, COLOR_PURPLE, "Your Application Is Successful");
SendClientMessage(playerid, COLOR_PURPLE, "Please Go To The LS-PD");
SendClientMessage(playerid, COLOR_PURPLE, "If You Want To Quit Type /copquit");
Job[playerid] = 1;
}
}
return 1;
}
if (strcmp(cmdtext, "/applyfire", true)==0)
{
if(Job[playerid] == 7) {
if(Jobcp[playerid] == 1){
FireMake(playerid);
SendClientMessage(playerid, COLOR_PURPLE, "-------------------------------");
SendClientMessage(playerid, COLOR_PURPLE, "Your Application Was Successful");
SendClientMessage(playerid, COLOR_PURPLE, "Welcome To The Fire-Brigade");
SendClientMessage(playerid, COLOR_PURPLE, "If You Want To Quit Type /firequit");
Job[playerid] = 4;
}
}
return 1;
}
if (strcmp(cmdtext, "/applymedic", true)==0)
{
if(Job[playerid] == 7) {
if(Jobcp[playerid] == 1){
MedicMake(playerid);
SendClientMessage(playerid, COLOR_PURPLE, "-------------------------------");
SendClientMessage(playerid, COLOR_PURPLE, "Your Application Was Successful");
SendClientMessage(playerid, COLOR_PURPLE, "Welcome To The Health System");
SendClientMessage(playerid, COLOR_PURPLE, "If You Want To Quit Type /medicquit");
Job[playerid] = 2;
}
}
return 1;
}
if (strcmp(cmdtext, "/applytaxi", true)==0)
{
if(Job[playerid] == 7) {
if(Jobcp[playerid] == 1){
MedicMake(playerid);
SendClientMessage(playerid, COLOR_PURPLE, "-------------------------------");
SendClientMessage(playerid, COLOR_PURPLE, "Your Application Was Successful");
SendClientMessage(playerid, COLOR_PURPLE, "Welcome To The Transport System");
SendClientMessage(playerid, COLOR_PURPLE, "If You Want To Quit Type /taxiquit");
Job[playerid] = 5;
}
}
return 1;
}
if (strcmp(cmdtext, "/applypilot", true)==0)
{
if(Job[playerid] == 7) {
if(Jobcp[playerid] == 1){
MedicMake(playerid);
SendClientMessage(playerid, COLOR_PURPLE, "-------------------------------");
SendClientMessage(playerid, COLOR_PURPLE, "Your Application Was Successful");
SendClientMessage(playerid, COLOR_PURPLE, "Welcome To The Transport System");
SendClientMessage(playerid, COLOR_PURPLE, "If You Want To Quit Type /pilotquit");
Job[playerid] = 6;
}
}
return 1;
}
if(strcmp(cmdtext, "/healplayer", true) == 0)
{
new string[256], giveplayerid, sendername[24], giveplayer[24];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /healplayer [id]");
giveplayerid = strval(tmp);
if(Jobcp[playerid] == 2)
{
if(IsPlayerConnected(giveplayerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "Medic %s(%i) Has Healed You!", sendername, playerid);
SendClientMessage(giveplayerid, COLOR_RED, string);
SetPlayerHealth(giveplayerid, 100);
format(string, sizeof(string), "You have healed %s(%i)", giveplayer, giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
else
{
format(string, sizeof(string), "ERROR! %d isn't connected", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else return SendClientMessage(playerid, COLOR_RED, "You must be medic!");
return 1; //Thank Andre for this script
}
// === [Register] ===
if(strcmp(cmd, "/register", true) == 0)
{
new playername[MAX_PLAYER_NAME];
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, playername, sizeof(playername));
if(20 < strlen(tmp) || strlen(tmp) < 4)
{
SendClientMessage(playerid, COLOR_BLUE, "Error! Password has to be longer than 4 & Shorter than 20 symbols!");
return 1;
}
if(!strlen(tmp))
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /register [password] ~ Will make You registered with the server!");
else
{
if (!dini_Exists(udb_encode(playername)))
{
dini_Create(udb_encode(playername));
dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
dini_Set(udb_encode(playername),"pass",tmp);
dini_IntSet(udb_encode(playername), "level", 0);
format(string, sizeof(string), "%s(%i) registered with password \"%s\"", playername, playerid, tmp);
printf(string);
format(string, sizeof(string), "Created account %s with password \"%s\". Please remember Your password!", playername, tmp);
SendClientMessage(playerid, COLOR_PURPLE, string);
SendClientMessage(playerid, COLOR_PURPLE, "Logged in!");
logged[playerid] = 1;
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
else
{
SendClientMessage(playerid, COLOR_RED, "A error has occured while attempting to register with the server!");
format(string, sizeof(string), "Username %s is already registered on this server!", playername,tmp);
SendClientMessage(playerid, COLOR_RED, string);
}
}
return 1;
}
// === [Login] ===
if(strcmp(cmd, "/login", true) == 0)
{
if(logged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_RED, "You already are logged in!");
return 1;
}
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, playername, sizeof(playername));
if(!strlen(tmp))
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /login [password]");
else
{
if(dini_Exists(udb_encode(playername)))
{
tmp2 = dini_Get(udb_encode(playername), "password");
if(udb_hash(tmp) != strval(tmp2))
{
new PlayerName[24];
GetPlayerName(playerid, PlayerName, 30);
format(string, sizeof(string), "Error! You have specified the wrong password for %s", PlayerName);
SendClientMessage(playerid, COLOR_RED, string);
}
else
{
logged[playerid] = 1;
dini_Set(udb_encode(playername),"pass",tmp);
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(playername), "level");
GameTextForPlayer(playerid, "~b~Successfully logged in!",2000,1);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(PlayerInfo[playerid][pAdmin] == 0)
{
new PlayerName[24];
GetPlayerName(playerid, PlayerName, 30);
format(string, sizeof(string), "Logged in as: %s, Regular member", PlayerName);
SendClientMessage(playerid, COLOR_CYAN, string);
}
if(PlayerInfo[playerid][pAdmin] == 1)
{
new PlayerName[24];
GetPlayerName(playerid, PlayerName, 30);
format(string, sizeof(string), "Logged in as: %s, Admin level 1 (moderator)", PlayerName);
SendClientMessage(playerid, COLOR_CYAN, string);
}
if(PlayerInfo[playerid][pAdmin] == 2)
{
new PlayerName[24];
GetPlayerName(playerid, PlayerName, 30);
format(string, sizeof(string), "Logged in as: %s, Admin level 2 (administrator)", PlayerName);
SendClientMessage(playerid, COLOR_CYAN, string);
}
if(PlayerInfo[playerid][pAdmin] == 3)
{
new PlayerName[24];
GetPlayerName(playerid, PlayerName, 30);
format(string, sizeof(string), "Logged in as: %s, Admin level 3 (Head administrator)", PlayerName);
SendClientMessage(playerid, COLOR_CYAN, string);
}
if(PlayerInfo[playerid][pAdmin] == 4)
{
new PlayerName[24];
GetPlayerName(playerid, PlayerName, 30);
format(string, sizeof(string), "Logged in as: %s, Admin level 4 (Server Owner)", PlayerName);
SendClientMessage(playerid, COLOR_CYAN, string);
}
return 1;
}
}
else
{
format(string, sizeof(string), "The account %s, does not exist on this server. Please type /register [password] to create an account.", playername);
SendClientMessage(playerid, COLOR_RED, string);
}
}
return 1;
}
// === [Adminhelp] ===
if(strcmp(cmd, "/xcommands", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /xcommands & succeeded - The player is admin!", PlayerName);
if(PlayerInfo[playerid][pAdmin] == 1)
{
SendClientMessage(playerid, COLOR_RED, ">>-+== Level 1 Admin commands =====================================================================================");
SendClientMessage(playerid, COLOR_YELLOW, Level1Commands1);
SendClientMessage(playerid, COLOR_YELLOW, Level1Commands2);
}
if(PlayerInfo[playerid][pAdmin] == 2)
{
SendClientMessage(playerid, COLOR_RED, ">>-+== Level 2 Admin commands =====================================================================================");
SendClientMessage(playerid, COLOR_YELLOW, Level1Commands1);
SendClientMessage(playerid, COLOR_YELLOW, Level1Commands2);
SendClientMessage(playerid, COLOR_YELLOW, Level2Commands1);
SendClientMessage(playerid, COLOR_YELLOW, Level2Commands2);
}
if(PlayerInfo[playerid][pAdmin] == 3)
{
SendClientMessage(playerid, COLOR_RED, ">>-+== Level 3 Admin commands =====================================================================================");
SendClientMessage(playerid, COLOR_YELLOW, Level1Commands1);
SendClientMessage(playerid, COLOR_YELLOW, Level1Commands2);
SendClientMessage(playerid, COLOR_YELLOW, Level2Commands1);
SendClientMessage(playerid, COLOR_YELLOW, Level2Commands2);
SendClientMessage(playerid, COLOR_YELLOW, Level3Commands1);
SendClientMessage(playerid, COLOR_YELLOW, Level3Commands2);
}
if(PlayerInfo[playerid][pAdmin] == 4)
{
SendClientMessage(playerid, COLOR_RED, ">>-+== Level 4 Admin commands =====================================================================================");
SendClientMessage(playerid, COLOR_YELLOW, Level1Commands1);
SendClientMessage(playerid, COLOR_YELLOW, Level1Commands2);
SendClientMessage(playerid, COLOR_YELLOW, Level2Commands1);
SendClientMessage(playerid, COLOR_YELLOW, Level2Commands2);
SendClientMessage(playerid, COLOR_YELLOW, Level3Commands1);
SendClientMessage(playerid, COLOR_YELLOW, Level3Commands2);
SendClientMessage(playerid, COLOR_YELLOW, Level4Commands1);
}
return 1;
}
else
{
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /adminhelp & FAILED - The player isn't admin", PlayerName);
SendClientMessage(playerid, COLOR_CYAN, "You are not authorized to use this command!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
}
if(strcmp(cmd, "/servername", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_BLUE,"Correct Usage: /servername [new name]");
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 4)
{
format(tmp,sizeof(tmp),"hostname %s",cmdtext[11]);
SendRconCommand(tmp);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "AdmCMD: %s(%i) has changed server name to: %s",sendername, playerid, cmdtext[11]);
SendClientMessageToAll(COLOR_BLUE,string);
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
if(strcmp(cmd, "/mapname", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_BLUE,"Correct Usage: /mapname [new name]");
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 4)
{
format(tmp,sizeof(tmp),"mapname %s",cmdtext[8]);
SendRconCommand(tmp);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "AdmCMD: %s(%i) has changed maps name to: %s",sendername, playerid, cmdtext[8]);
SendClientMessageToAll(COLOR_BLUE,string);
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Explode] ===
if(strcmp(cmd, "/explode", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /explode [playerid]");
return 1;
}
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 3)
{
if(IsPlayerConnected(giveplayerid))
{
format(string, sizeof(string), "AdmCMD: %s was exploded by %s",giveplayer, sendername);
SendClientMessageToAll(COLOR_BLUE, string);
SetPlayerHealth(giveplayerid, 10);
new Float:boomx, Float:boomy, Float:boomz;
GetPlayerPos(giveplayerid,boomx, boomy, boomz);
CreateExplosion(boomx, boomy , boomz, 7, 10);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /explode to explode %s", PlayerName, giveplayer);
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
if(strcmp(cmd, "/setname", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
new tmpp[256];
tmpp = strtok(cmdtext, idx);
if(!strlen(tmpp))
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /setname [playerid] [new nick]");
return 1;
}
giveplayerid = strval(tmpp);
tmp = strtok(cmdtext, idx);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 3)
{
if(IsPlayerConnected(giveplayerid))
{
SetPlayerName(giveplayerid, tmp);
format(string, sizeof(string), "AdmCMD: %s(%i) has changed Your name to %s", sendername, playerid, tmp);
SendClientMessage(giveplayerid, COLOR_BLUE, string);
format(string, sizeof(string), "AdmCMD: You have changed ID %i's name to %s", giveplayerid, tmp);
SendClientMessage(playerid, COLOR_BLUE, string);
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Asay] ===
if(strcmp(cmd, "/asay", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
new length = strlen(cmdtext);
GetPlayerName(playerid, sendername, sizeof(sendername));
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result) && PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /asay [text]");
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
format(string, sizeof(string), "Admin %s: %s", sendername, result);
SendClientMessageToAll(COLOR_BLUE,string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /asay to send the message: %s", PlayerName, result);
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Goto] ===
if(strcmp(cmd, "/goto", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /goto [playerid]");
return 1;
}
new Float:plocx,Float:plocy,Float:plocz;
giveplayerid = strval(tmp);
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
if(IsPlayerConnected(giveplayerid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "AdmCMD: You teleported Yourself to %s(%i)", giveplayer, giveplayerid);
SendClientMessage(playerid, COLOR_BLUE, string);
GetPlayerPos(giveplayerid, plocx, plocy, plocz);
new intid = GetPlayerInterior(giveplayerid);
SetPlayerInterior(playerid,intid);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /goto to go to %s", PlayerName, giveplayer);
if (GetPlayerState(playerid) == 2)
{
new tmpcar = GetPlayerVehicleID(playerid);
SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
}
else
{
SetPlayerPos(playerid,plocx,plocy+2, plocz);
}
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Gethere] ===
if(strcmp(cmd, "/gethere", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /gethere [playerid]");
return 1;
}
new Float:plocx,Float:plocy,Float:plocz;
giveplayerid = strval(tmp);
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
if(IsPlayerConnected(giveplayerid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "AdmCMD: You were teleported to %s(%i)",sendername,playerid);
SendClientMessage(giveplayerid, COLOR_BLUE, string);
format(string, sizeof(string), "AdmCMD: You teleported %s(%i) to Yourself", giveplayer, giveplayerid);
SendClientMessage(playerid, COLOR_BLUE, string);
GetPlayerPos(playerid, plocx, plocy, plocz);
new intid = GetPlayerInterior(playerid);
SetPlayerInterior(giveplayerid,intid);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /gethere to get %s", PlayerName, giveplayer);
if (GetPlayerState(giveplayerid) == 2)
{
new tmpcar = GetPlayerVehicleID(giveplayerid);
SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
}
else
{
SetPlayerPos(giveplayerid,plocx,plocy+2, plocz);
}
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === {Getall] ===
if(strcmp(cmd, "/getallhere", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 3)
{
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(IsPlayerConnected(i))
{
format(string, sizeof(string), "AdmCMD: %s has teleported everyone to himself", sendername);
SendClientMessage(i, COLOR_BLUE, string);
new Float:ix, Float:iy, Float:iz;
GetPlayerPos(playerid, ix, iy, iz);
SetPlayerInterior(i, GetPlayerInterior(playerid));
SetPlayerPos(i, ix, iy, iz+1);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /getallhere to get all", PlayerName);
}
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Time] ===
if(strcmp(cmd, "/time", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /time [0-23]");
return 1;
}
new time;
time = strval(tmp);
GetPlayerName(playerid, sendername, sizeof(sendername));
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 3)
{
if(time > 23)
{
SendClientMessage(playerid, COLOR_RED, "Invalid time! 0 - 23!");
}
else
{
SetWorldTime(time);
format(string, sizeof(string), "AdmCMD: Admin %s set the time to: %d",sendername,time);
SendClientMessageToAll(COLOR_BLUE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /time to set time to: %s", PlayerName, time);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Weather] ===
if(strcmp(cmd, "/weather", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /weather [weather]");
SendClientMessage(playerid, COLOR_BLUE, "Weather IDs: /weatherids");
return 1;
}
new weather;
weather = strval(tmp);
GetPlayerName(playerid, sendername, sizeof(sendername));
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 3)
{
SetWeather(weather);
format(string, sizeof(string), "AdmCMD: Admin %s set the weather to: %d",sendername,weather);
SendClientMessageToAll(COLOR_BLUE, string);
SendClientMessage(playerid, COLOR_BLUE, "See wheater IDs at: /weatherids");
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /weather to set weather to: %s", PlayerName, weather);
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Weatherids] ===
if(strcmp(cmd, "/weatherids", true) == 0 || strcmp(cmd, "/weathers", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
if(PlayerInfo[playerid][pAdmin] >= 3)
{
SendClientMessage(playerid, COLOR_RED, ">>+-=================================== [Weather Ids: ] ================================");
SendClientMessage(playerid, COLOR_YELLOW, ">>| 1 - Blue | 2 - Lighter Blue | 3 - Light (No color) | 4 - Even more lighter");
SendClientMessage(playerid, COLOR_YELLOW, ">>| 5 - Normal Sun | 7 - (My PC = Beeped) | 8 - Rainy | 9 - Foggy | 10 - Standard weather");
SendClientMessage(playerid, COLOR_YELLOW, ">>| 12 - Colourless, with alittle fog | 13 - Less foggy | 15 - Little fog ");
SendClientMessage(playerid, COLOR_YELLOW, ">>| 16 - Rainy | 17 - Hot | 19 - Sandstorm | 20 - Dark | 21 - Some very wierd weather ");
SendClientMessage(playerid, COLOR_YELLOW, ">>| 23 - Atmosphere style (?) | 25 - Abit foggy | 27 - Abit \"White\" | 30 - Thunderstorm ");
SendClientMessage(playerid, COLOR_YELLOW, ">>| 32 - Foggy | 33 - Hot | 35 - City weather | 37 - Warm | 38 - Even more city weather ");
SendClientMessage(playerid, COLOR_YELLOW, ">>| 39 - Industrial weather | 40 - Yellow weather | 42 - Black fog | 43 - Industrial fog ");
SendClientMessage(playerid, COLOR_YELLOW, ">>| 44 & 45 - Some wierd weather. -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- (c) IDs by PaoloP");
SendClientMessage(playerid, COLOR_RED, ">>+-====================================================================================");
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
return 1;
}
if(strcmp(cmd,"/report",true) == 0)
{
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(sendername));
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_BLUE,"Correct Usage: /report [id] [reason]");
return 1;
}
giveplayerid = strval(tmp);
if(IsPlayerConnected(giveplayerid))
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' ')) {
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid,COLOR_WHITE,"SERVER: /report [id] [reason]");
return 1;
}
GetPlayerName(giveplayerid, giveplayer, sizeof(sendername));
format(string,sizeof(string),"AdmReport: Report on %s (id %d) by %s (id %d). [reason: %s]", giveplayer, giveplayerid, sendername, playerid,result);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && PlayerInfo[i][pAdmin] >= 1)
{
SendClientMessage(i,COLOR_RED,string);
}
}
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
return 1;
}
// === [Slap] ===
if(strcmp(cmd, "/slap", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /slap [playerid]");
return 1;
}
new Float:health;
new Float:px, Float:py, Float:pz;
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
GetPlayerHealth(giveplayerid, health);
SetPlayerHealth(giveplayerid, health-5);
GetPlayerPos(giveplayerid, px, py, pz);
SetPlayerPos(giveplayerid, px, py, pz+5);
format(string, sizeof(string), "AdmCMD: %s was slapped by %s",giveplayer, sendername);
SendClientMessageToAll(COLOR_BLUE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /slap to slap %s", PlayerName, giveplayer);
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Reloadbans] ===
if(strcmp(cmd,"/reloadbans",true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] == 4)
{
SendClientMessage(playerid, COLOR_RED, "You have successfully re-loaded bans!");
SendRconCommand("reloadbans");
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Reloadlogs] ===
if(strcmp(cmd,"/reloadlogs",true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] == 4)
{
SendRconCommand("reloadlogs");
SendClientMessage(playerid, COLOR_RED, "You have successfully re-loaded logs!");
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
if(strcmp(cmd,"/loadfs",true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /loadfs [filterscript name]");
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] == 4)
{
format(string,sizeof(string),"loadfs %s",tmp);
SendRconCommand(string);
format(string,sizeof(string),"AdmCMD: If the name You've entered for the FS, %s.amx is loaded",tmp);
SendClientMessage(playerid,COLOR_BLUE,string);
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
if(strcmp(cmd,"/unloadfs",true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /unloadfs [filterscript name]");
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] == 4)
{
format(string,sizeof(string),"unloadfs %s",tmp);
SendRconCommand(string);
format(string,sizeof(string),"AdmCMD: If the name You've entered for the FS, %s.amx is unloaded",tmp);
SendClientMessage(playerid,COLOR_BLUE,string);
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
if(strcmp(cmd,"/changemode",true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /changemode [mode name]");
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] == 4)
{
format(string,sizeof(string),"changemode %s",tmp);
SendRconCommand(string);
format(string,sizeof(string),"AdmCMD: Trying to change mode to %s...",tmp);
SendClientMessage(playerid,COLOR_BLUE,string);
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Giveweapon] ===
if(strcmp(cmd,"/giveweapon",true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
new weaponid;
new giveammo;
tmp = strtok(cmdtext, idx);
if(logged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_BLUE,"Correct Usage: /giveweapon [id] [weaponid] [ammo]");
return 1;
}
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_BLUE,"Correct Usage: /giveweapon [id] [weaponid] [ammo]");
return 1;
}
weaponid = strval(tmp);
if(weaponid < 0 || weaponid > 46)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: Invalid weapon ID.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
giveammo = 100000;
}
giveammo = strval(tmp);
if(giveammo < 0 || giveammo > 100000)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: Invalid ammo.");
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 3)
{
if(IsPlayerConnected(giveplayerid))
{
GivePlayerWeapon(giveplayerid, weaponid, giveammo);
GetPlayerName(playerid, sendername, sizeof(sendername));
new weaponname[20];
GetWeaponName(weaponid, weaponname, sizeof(weaponname));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string,sizeof(string),"AdmCMD: You gave %s \"%s\" with %d ammo",giveplayer, weaponname, giveammo);
SendClientMessage(playerid, COLOR_BLUE, string);
format(string,sizeof(string),"AdmCMD: Admin %s gave you \"%s\" with %d ammo",sendername, weaponname, giveammo);
SendClientMessage(giveplayerid, COLOR_BLUE, string);
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Eject] ===
if(strcmp(cmd,"/eject",true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(sendername));
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_BLUE,"Correct Usage: /eject [playerid]");
return 1;
}
giveplayerid = strval(tmp);
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(sendername));
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
if(IsPlayerConnected(giveplayerid))
{
if(IsPlayerInAnyVehicle(giveplayerid))
{
RemovePlayerFromVehicle(giveplayerid);
format(string, sizeof(string), "Administrator %s has ejected You!", sendername);
SendClientMessage(giveplayerid, COLOR_RED, string);
format(string, sizeof(string), "AdmCMD: %s has been ejected by %s", giveplayer, sendername);
SendClientMessageToAll(COLOR_BLUE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /eject to eject %s", PlayerName, giveplayer);
return 1;
}
else
{
format(string, sizeof(string), "Error! %s isn't in a vehicle!");
SendClientMessage(playerid, COLOR_RED, string);
return 1;
}
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Sethealth] ===
if(strcmp(cmd,"/sethealth",true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
new health;
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer,sizeof(giveplayer));
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_BLUE,"Correct Usage: /sethealth [id] [health]");
return 1;
}
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_BLUE,"Correct Usage: /sethealth [id] [health]");
return 1;
}
health = strval(tmp);
if(health < 0 || health > 100)
{
SendClientMessage(playerid,COLOR_RED,"ERROR: Invalid health.");
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
if(IsPlayerConnected(giveplayerid))
{
SetPlayerHealth(giveplayerid,health);
GetPlayerName(giveplayerid, giveplayer,sizeof(giveplayer));
format(string,sizeof(string),"AdmCMD: You have been set %s 's health to %d",giveplayer, health);
SendClientMessage(playerid,COLOR_RED,string);
format(string,sizeof(string),"AdmCMD: Admin %s set your health to %d",sendername, health);
SendClientMessage(giveplayerid,COLOR_RED,string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /sethealth to set %s's health to: %d", PlayerName, giveplayer, health);
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
if(strcmp(cmd, "/force", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
tmp = strtok(cmdtext, idx);
if (!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREEN, "USAGE: /force [playerid]");
return 1;
}
giveplayerid = strval(tmp);
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
format(string, sizeof(string), "AdmCMD: You have forced %s(%i) to class selection", giveplayer, giveplayerid);
SendClientMessage(playerid, COLOR_BLUE, string);
SetPlayerHealth(giveplayerid, 0.0);
ForceClassSelection(giveplayerid);
format(string, sizeof(string), "AdmCMD: %s(%i) has forced You to class selection", sendername, playerid);
SendClientMessage(giveplayerid, COLOR_BLUE, string);
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
if(strcmp(cmd, "/setarmour", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
new armor;
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer,sizeof(giveplayer));
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_BLUE,"Correct Usage: /setarmour [id] [armor]");
return 1;
}
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_BLUE,"Correct Usage: /setarmour [id] [armor]");
return 1;
}
armor = strval(tmp);
if(armor < 0 || armor > 100)
{
SendClientMessage(playerid,COLOR_RED,"ERROR: Invalid armor.");
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
if(IsPlayerConnected(giveplayerid))
{
SetPlayerArmour(giveplayerid, armor);
GetPlayerName(giveplayerid, giveplayer,sizeof(giveplayer));
format(string,sizeof(string),"AdmCMD: You have been set %s 's armour to %d",giveplayer, armor);
SendClientMessage(playerid,COLOR_RED,string);
format(string,sizeof(string),"AdmCMD: Admin %s set your armour to %d",sendername, armor);
SendClientMessage(giveplayerid,COLOR_RED,string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /setarmor to set %s's armor to: %d", PlayerName, giveplayer, armor);
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
if(strcmp(cmd, "/healall", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(IsPlayerConnected(i))
{
SetPlayerHealth(i, 100);
format(string, sizeof(string), "AdmCMD: %s has healed everyone", sendername);
SendClientMessageToAll(COLOR_BLUE, string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Playerinfo] ===
if(strcmp(cmd, "/playerinfo", true) == 0 || strcmp(cmd, "/stats", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /playerinfo [playerid]");
return 1;
}
giveplayerid = strval(tmp);
if(logged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
new Float:health;
new Float:armour;
new intr = GetPlayerInterior(giveplayerid);
GetPlayerHealth(giveplayerid,health);
GetPlayerArmour(giveplayerid,armour);
new ammo = GetPlayerAmmo(giveplayerid);
new score = GetPlayerScore(giveplayerid);
new skin = GetPlayerSkin(giveplayerid);
new money = GetPlayerMoney(giveplayerid);
new playerip[256];
GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
new ping = GetPlayerPing(giveplayerid);
if(logged[giveplayerid] == 0)
{
format(string, sizeof(string),"Information on player %s (ID: %i)(Player isn't logged in) :",giveplayer, giveplayerid);
SendClientMessage(playerid, COLOR_BLUE, string);
}
else
{
format(string, sizeof(string),"Information on player %s (ID: %i) :",giveplayer, giveplayerid);
SendClientMessage(playerid, COLOR_BLUE, string);
}
format(string, sizeof(string), "Health [%.1f] | Armour [%.1f] | Money [%d] | Interior [%d] | IP [%s]",health, armour, money, intr,playerip);
SendClientMessage(playerid, COLOR_RED,string);
format(string, sizeof(string), "Ammo [%d] | Score[%d] | Skin [%d] | Ping [%d] | Times Warned: %d",ammo, score, skin, ping, WarnedTimes);
SendClientMessage(playerid, COLOR_RED,string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /playerinfo to see information on player %s", PlayerName, giveplayer);
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
if(strcmp(cmd, "/restart", true) == 0 || strcmp(cmd, "/gmx", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] == 4)
{
format(string, sizeof(string), "AdmCMD: %s has restarted the server, please wait");
SendClientMessageToAll(COLOR_RED, string);
SetTimerEx("Restart", 5000, 0, "i", playerid);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /restart to restart the server", PlayerName);
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [IP] ===
if(strcmp(cmd, "/ip", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /ip [playerid]");
return 1;
}
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
new playerip[256];
GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
format(string, sizeof(string),"AdmCMD: Checked IP on %s(%i): %s ",giveplayer, giveplayerid, playerip);
SendClientMessage(playerid, COLOR_BLUE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /ip to check %s's IP", PlayerName, giveplayer);
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Givemoney] ===
if(strcmp(cmd, "/givemoney", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 3)
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /givemoney [playerid] [amount]");
return 1;
}
new money;
giveplayerid = strval(tmp);
if(logged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_RED, "You must be logged in to use this command!");
return 1;
}
tmp = strtok(cmdtext, idx);
money = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 3)
{
GivePlayerMoney(giveplayerid, money);
format(string, sizeof(string), "AdmCMD: You sent %s(%i) $%d", giveplayer,giveplayerid, money);
SendClientMessage(playerid,COLOR_BLUE, string);
format(string, sizeof(string), "AdmCMD: You received $%d from Admin %s", money,sendername);
SendClientMessage(giveplayerid,COLOR_BLUE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /givemoney to give %s $%s", PlayerName, giveplayer, money);
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Setmoney] ===
if(strcmp(cmd, "/setmoney", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 3)
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /setmoney [playerid] [amount]");
return 1;
}
new money;
giveplayerid = strval(tmp);
if(logged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_RED, "You must be logged in to use this command!");
return 1;
}
tmp = strtok(cmdtext, idx);
money = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 3)
{
ResetPlayerMoney(giveplayerid);
GivePlayerMoney(giveplayerid, money);
format(string, sizeof(string), "AdmCMD: You set %s(%i)'s money to $%d", giveplayer,giveplayerid, money);
SendClientMessage(playerid,COLOR_BLUE, string);
format(string, sizeof(string), "AdmCMD: Admin %s has set Your money to %d", sendername, money);
SendClientMessage(giveplayerid,COLOR_BLUE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /setmoney to set %s's money to $%s", PlayerName, giveplayer, money);
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Kick] ===
if(strcmp(cmd,"/kick",true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, sendername, sizeof(sendername));
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_BLUE, "Correct Usage: /kick [id] [reason]");
return 1;
}
giveplayerid = strval(tmp);
giveplayerid = strval(tmp);
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' ')) {
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
result = "No reason";
}
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "AdmCMD: %s was kicked by admin %s for: %s", giveplayer, sendername, result);
SendClientMessageToAll(COLOR_BLUE, string);
Kick(giveplayerid);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /kick to kick %s for: %s", PlayerName, giveplayer, result);
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
if(strcmp(cmd, "/jetpack", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 3)
{
SetPlayerSpecialAction(playerid, 2);
SendClientMessage(playerid, COLOR_BLUE, "AdmCMD: You've created a jetpack!");
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Warn] ===
if(strcmp(cmd, "/warn", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
new str[256];
tmp = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /warn [PlayerID] [Reason]");
return 1;
}
giveplayerid = strval(tmp);
giveplayerid = strval(tmp);
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(WarnedTimes[giveplayerid] == 0)
{
WarnedTimes[giveplayerid]+=1;
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof (sendername));
format(str, sizeof (str), "AdmCMD: %s was warned by %s for: %s [1/3 Warnings]", giveplayer, sendername, cmdtext[8]);
SendClientMessageToAll(COLOR_BLUE, str);
print(str);
return 1;
}
if(WarnedTimes[giveplayerid] == 1)
{
WarnedTimes[giveplayerid]+=1;
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof (sendername));
format(str, sizeof (str), "AdmCMD: %s was warned by %s for: %s [2/3 Warnings]", giveplayer, sendername, cmdtext[8]);
SendClientMessageToAll(COLOR_BLUE, str);
print(str);
return 1;
}
else if(WarnedTimes[giveplayerid] == 2)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof (sendername));
format(str, sizeof (str), "AdmCMD: %s was kicked by %s for: %s [3/3 Warnings]", giveplayer, sendername, cmdtext[8]);
SendClientMessageToAll(COLOR_BLUE, str);
Kick(giveplayerid);
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
}
// === [Freeze] ===
if(strcmp(cmd, "/freeze", true) == 0)
{
tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
giveplayerid = strval(tmp);
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
if(freeze[giveplayerid] == 1)
{
SendClientMessage(playerid, COLOR_RED, "The player is already frozen!");
return 1;
}
else
{
freeze[giveplayerid] = 1;
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
TogglePlayerControllable(giveplayerid, 0);
format(string, sizeof(string), "AdmCMD: %s was frozen by %s.",giveplayer, sendername);
SendClientMessageToAll(COLOR_BLUE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /freeze to freeze %s", PlayerName, giveplayer);
return 1;
}
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_BLUE, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Unfreeze] ===
if(strcmp(cmd, "/unfreeze", true) == 0)
{
tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
giveplayerid = strval(tmp);
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /unfreeze [playerid]");
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
if(freeze[giveplayerid] == 1)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
TogglePlayerControllable(giveplayerid, 1);
freeze[giveplayerid] = 0;
format(string, sizeof(string), "AdmCMD: %s was thawed by %s", giveplayer,sendername);
SendClientMessageToAll(COLOR_BLUE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /unfreeze to unfreeze(thaw) %s", PlayerName, giveplayer);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "This player can't be thawed, he already is!");
return 1;
}
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Setadmin] ===
if(strcmp(cmd, "/setadmin", true) == 0 || strcmp(cmd, "/setlevel", true) == 0)
{
tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
giveplayerid = strval(tmp);
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /setadmin [playerid] [level]");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /setadmin [playerid] [level]");
return 1;
}
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
level[playerid] = strval(tmp);
if(level[playerid] < 0)
{
SendClientMessage(playerid, COLOR_RED, "Invalid Admin Level");
return 1;
}
if(level[playerid] > 4)
{
SendClientMessage(playerid, COLOR_RED, "Invalid Admin Level");
return 1;
}
if(level[playerid] == PlayerInfo[giveplayerid][pAdmin])
{
format(string, sizeof(string), "That player already has level %d admin privileges.", level[playerid]);
SendClientMessage(playerid, COLOR_BLUE, string);
return 1;
}
if(logged[playerid] == 1)
{
if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] >= 3)
{
if(IsPlayerConnected(giveplayerid))
{
if(logged[giveplayerid] == 0)
{
SendClientMessage(playerid, COLOR_RED, "The player You're setting rights to must be logged in!");
return 1;
}
else
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
dini_IntSet(udb_encode(giveplayer), "level", level[playerid]);
format(string, sizeof(string), "You have given %s level %d admin powers.", giveplayer, level[playerid]);
SendClientMessage(playerid, COLOR_BLUE, string);
format(string, sizeof(string), "You were made a level %d admin by %s (id: %d).", level[playerid], sendername, playerid);
SendClientMessage(giveplayerid, COLOR_BLUE, string);
PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /setadmin to set %s ' level to: %d", PlayerName, giveplayer, level[playerid]);
}
}
else
{
format(string, sizeof(string), "%d is not an active player ID number.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
if(strcmp(cmd, "/setmeadmin", true) == 0)
{
if(logged[playerid] == 1)
{
if(IsPlayerAdmin(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
level[playerid] = 4;
level[playerid] = dini_Int(udb_encode(sendername), "level");
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
level[playerid] = PlayerInfo[playerid][pAdmin];
SendClientMessage(playerid, COLOR_RED, "You've set Your level to 4, Server Owner");
SendClientMessage(playerid, COLOR_RED, "Check out /adminhelp for administration commands.");
}
else
{
SendClientMessage(playerid, COLOR_RED, "You have to be RCON admin to set Yourself admin!");
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "You must be logged in!");
}
return 1;
}
// === [Ban] ===
if(strcmp(cmd,"/ban",true) == 0)
{
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /ban [id] [reason]");
return 1;
}
giveplayerid = strval(tmp);
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
if(IsPlayerConnected(giveplayerid))
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' ')) {
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
result = "No reason";
}
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "AdmCMD: %s was banned by admin %s for: %s", giveplayer, sendername, result);
SendClientMessageToAll(COLOR_BLUE, string);
Ban(giveplayerid);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /ban to ban %s for: %s", PlayerName, giveplayer, result);
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Mute] ===
if(strcmp(cmd, "/mute", true) == 0)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
tmp = strtok(cmdtext, idx);
if(IsStringAName(tmp))
{
giveplayerid = GetPlayerID(tmp);
}
else
{
giveplayerid = strval(tmp);
}
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /mute [ID]");
return 1;
}
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
if(Mute[giveplayerid] == 0)
{
Mute[giveplayerid] = 1;
format(string, sizeof(string), "AdmCMD: %s was muted by %s",giveplayer ,sendername);
SendClientMessageToAll(COLOR_BLUE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /mute to mute %s", PlayerName, giveplayer);
}
else
{
Mute[giveplayerid] = 0;
format(string, sizeof(string), "AdmCMD: %s was un-muted by %s",giveplayer ,sendername);
SendClientMessageToAll(COLOR_BLUE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /mute to unmute %s", PlayerName, giveplayer);
}
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Announce] ===
if(strcmp(cmd, "/announce", true) == 0 || strcmp(cmd, "/ann", true) == 0)
{
tmp = strtok(cmdtext, idx, strlen(cmdtext));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
/*if(PlayerInfo[playerid][pAdmin] == 0)
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}*/
if (!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 2)
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /announce [message]");
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
format(string, sizeof(string), "~r~%s", tmp);
GameTextForAll(string, 5000, 3);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /announce", PlayerName);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
aMessage[i] = 1;
SetTimer("announcer",5000,0);
}
}
}
else
{
if(PlayerInfo[playerid][pAdmin] == 1)
{
SendClientMessage(playerid, COLOR_RED, "You are administrator level 1. Level 2 rights are required to execute /announce");
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [Akill] ===
if(strcmp(cmd, "/akill", true) == 0)
{
tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
giveplayerid = strval(tmp);
if(PlayerInfo[playerid][pAdmin] < 1)
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /akill [playerid]");
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
SetPlayerHealth(giveplayerid, -999);
format(string, sizeof(string), "AdmCMD: You have murdered %s.", giveplayer);
SendClientMessage(playerid, COLOR_BLUE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /akill to kill %s", PlayerName, giveplayer);
return 1;
}
else
{
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
}
// === [Admins] ===
if(!strcmp(cmdtext, "/admins", true))
{
SendClientMessage(playerid, COLOR_BLUE, "Checking for administrators online...");
new count=0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(logged[i] == 1)
{
if(PlayerInfo[i][pAdmin] >= 1)
{
new str[256];
new pname[24];
GetPlayerName(i, pname, 24);
format(str, 256, "Administrator %s [Level %d] ", pname, PlayerInfo[i][pAdmin]);
SendClientMessage(playerid, COLOR_RED, str);
count++;
}
}
}
}
if(count == 0)
{
SendClientMessage(playerid, COLOR_RED, "There aren't any administrators online on the server!");
}
return 1;
}
// === [Tele] ===
if(strcmp(cmd, "/tele", true) == 0)
{
new telename[MAX_PLAYER_NAME];
new teleid;
new Float:pX, Float:pY, Float:pZ;
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_BLUE, "USAGE: /tele [teleportee id] [destination id]");
return 1;
}
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_BLUE, "USAGE: /tele [teleportee id] [destination id]");
return 1;
}
teleid = strval(tmp);
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
if(IsPlayerConnected(giveplayerid) && IsPlayerConnected(teleid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(teleid, telename, sizeof(telename));
GetPlayerPos(teleid, pX,pY,pZ);
SetPlayerPos(giveplayerid, pX,pY,pZ);
format(string, sizeof(string), "AdmCMD: You teleported %s to %s.", giveplayer,telename);
SendClientMessage(playerid, COLOR_BLUE, string);
format(string, sizeof(string), "AdmCMD: You have been teleported to %s by Admin %s.", telename,sendername);
SendClientMessage(giveplayerid, COLOR_BLUE, string);
new PlayerName[24];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /tele to tele %s to %s", PlayerName, giveplayer, telename);
return 1;
}
else
{
if(!IsPlayerConnected(giveplayerid))
{
format(string, sizeof(string), "ID:%d is not an active player ID number.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
if(!IsPlayerConnected(teleid))
{
format(string, sizeof(string), "ID:%d is not an active player ID number.", teleid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [A] ===
if(strcmp(cmd, "/a", true) == 0 || strcmp(cmd, "/admin", true) == 0 || strcmp(cmd, "/achat", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GREY, "USAGE: /a [text] [admin chat]");
return 1;
}
if(logged[playerid] == 1)
{
if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] >= 1)
{
format(string, sizeof(string), "(( Admin Chat %s: %s ))", sendername, result);
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pAdmin] >= 1)
{
SendClientMessage(i,COLOR_BLUE, string);
}
}
}
printf(string);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "You aren't able to use administration chat!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
}
// === [Clearchat] ===
if(strcmp(cmdtext, "/clearchat", true) == 0)
{
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessageToAll(COLOR_SYSTEM, " ");
SendClientMessageToAll(COLOR_SYSTEM, " ");
SendClientMessageToAll(COLOR_SYSTEM, " ");
SendClientMessageToAll(COLOR_SYSTEM, " ");
SendClientMessageToAll(COLOR_SYSTEM, " ");
SendClientMessageToAll(COLOR_SYSTEM, " ");
SendClientMessageToAll(COLOR_SYSTEM, " ");
SendClientMessageToAll(COLOR_SYSTEM, " ");
SendClientMessageToAll(COLOR_SYSTEM, " ");
SendClientMessageToAll(COLOR_SYSTEM, " ");
SendClientMessageToAll(COLOR_SYSTEM, " ");
SendClientMessageToAll(COLOR_SYSTEM, " ");
SendClientMessageToAll(COLOR_SYSTEM, " ");
SendClientMessageToAll(COLOR_SYSTEM, " ");
SendClientMessageToAll(COLOR_SYSTEM, " ");
SendClientMessageToAll(COLOR_SYSTEM, " ");
GameTextForAll("Chat cleared!", 1000,1);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /clearchat", PlayerName);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
}
// === [Disarm] ===
if(strcmp(cmd, "/disarm", true) == 0)
{
tmp = strtok(cmdtext, idx);
giveplayerid = strval(tmp);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
PlayerInfo[giveplayerid][pAdmin] = dini_Int(udb_encode(giveplayer), "level");
giveplayerid = strval(tmp);
if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_BLUE, "USAGE: /disarm [playerid]");
return 1;
}
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 3)
{
if(IsPlayerConnected(giveplayerid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
ResetPlayerWeapons(giveplayerid);
format(string, sizeof(string), "AdmCMD: Admin %s has disarmed %s.", sendername,giveplayer);
SendClientMessageToAll(COLOR_BLUE, string);
format(string, sizeof(string), "AdmCMD: Admin %s disarmed you.", sendername);
SendClientMessage(giveplayerid, COLOR_BLUE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /disarm to disarm %s", PlayerName, giveplayer);
}
else
{
format(string, sizeof(string), "%d is not an active player ID number.", giveplayerid);
SendClientMessage(playerid, COLOR_RED, string);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
// === [disarmall] ===
if(strcmp(cmd, "/disarmall", true) == 0)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 3)
{
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(IsPlayerConnected(i))
{
ResetPlayerWeapons(i);
format(string, sizeof(string), "AdmCMD: Admin %s has disarmed everyone.", sendername);
SendClientMessage(i, COLOR_BLUE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, 30);
printf("[Command] %s has used /disarmall to disarm everyone", PlayerName);
}
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
if(strcmp(cmd, "/healall", true) == 0)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
SetPlayerHealth(i, 100);
format(string, sizeof(string), "AdmCMD: Admin %s has healed everyone.", sendername);
SendClientMessage(i, COLOR_BLUE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
printf("[Command] %s has used /healall to heal everyone", PlayerName);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
if(strcmp(cmd, "/armourall", true) == 0)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 2)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
SetPlayerArmour(i, 100);
format(string, sizeof(string), "AdmCMD: Admin %s has armoured everyone.", sendername);
SendClientMessage(i, COLOR_BLUE, string);
new PlayerName[30];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
printf("[Command] %s has used /armourall to armour everyone.", PlayerName);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
if(strcmp(cmd, "/ajail", true) == 0)
{
new tmpp[256];
tmp = strtok(cmdtext, idx);
tmpp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_BLUE, "Correct Usage: /ajail [playerid] [seconds]");
return 1;
}
giveplayerid = strval(tmp);
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
new Second = strval(tmpp);
if(logged[playerid] == 1)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
format(string, sizeof(string), "AdmCMD: You've jailed %s(%i)", giveplayer, giveplayerid);
SendClientMessage(playerid, COLOR_BLUE, string);
format(string, sizeof(string), "AdmCMD: %s(%i) has jailed you for %d seconds", sendername, playerid, Second);
SendClientMessage(playerid, COLOR_BLUE, string);
format(string, sizeof(string), "~g~Jailed by ~r~%s", sendername);
GameTextForPlayer(giveplayerid, string, 1000, 1);
SetPlayerInterior(giveplayerid, 3);
SetPlayerPos(giveplayerid, 197.6661,173.8179,1003.0234);
SetPlayerArmour(giveplayerid, 0);
TogglePlayerControllable(giveplayerid, 0);
ResetPlayerWeapons(giveplayerid);
SetTimerEx("Unjail", Second*1000, 0, "i", giveplayerid);
}
else
{
SendClientMessage(playerid, COLOR_RED, "You do not have permission to use that command!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You Must be logged in to use this command!");
}
return 1;
}
return 0;
}
public IsStringAName(string[])
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) == 1)
{
new testname[MAX_PLAYER_NAME];
GetPlayerName(i, testname, sizeof(testname));
if(strcmp(testname, string, true, strlen(string)) == 0)
{
return 1;
}
}
}
return 0;
}
public GetPlayerID(string[])
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) == 1)
{
new testname[MAX_PLAYER_NAME];
GetPlayerName(i, testname, sizeof(testname));
if(strcmp(testname, string, true, strlen(string)) == 0)
{
return i;
}
}
}
return INVALID_PLAYER_ID;
}
public SendMessageToAdmins(color,const string[])
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) == 1)
{
if (IsPlayerAdmin(i) || PlayerInfo[i][pAdmin] >= 1)
{
SendClientMessage(i, color, string);
}
}
}
return 1;
}
public Restart()
{
SendRconCommand("gmx");
}
public Unjail(giveplayerid)
{
//new tmpp[256];
new giveplayer[MAX_PLAYER_NAME];
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
SetPlayerInterior(giveplayerid,0);
SetPlayerPos(giveplayerid,1546.2803,-1675.6632,13.5620);
TogglePlayerControllable(giveplayerid,1);
GameTextForPlayer(giveplayerid, "unjailed", 1000,1);
}
return 0;
}
//------------------------------------------------------------------------------
public PayDay()
{
new string[256];
for(new i=0; i<MAX_PLAYERS; i++)
GivePlayerMoney(i,PayDay_Amount);
format(string, sizeof(string),"~w~Heres ~y~Your Pay ~n~ ~n~ ~b~%d $",PayDay_Amount);
GameTextForAll(string, 1000, 1);
}
//------------------------------------------------------------------------------
public OnPlayerEnterCheckpoint(playerid)
{
if(Jobcp[playerid] == 0) { Jobcp[playerid] = 1; DisablePlayerCheckpoint(playerid);
}
return 1;
}
//------------------------------------------------------------------------------
public MedicCheck(playerid)
{
new playername2[MAX_PLAYER_NAME];
new storedmedicname[64];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Medic.cfg", io_read);
if (file)
{
new valtmp[MAX_PLAYER_NAME];
while (fread(file, valtmp) > 0)
{
//printf("%s",valtmp);
strmid(storedmedicname, valtmp, 0, strlen(playername2), 255);
if ((strcmp(storedmedicname, playername2, true, strlen(playername2)) == 0) && (strlen(playername2) == strlen(storedmedicname)))
{
fclose(file);
return 1;
}
}
}
fclose(file);
return 0;
}
public MedicMake(playerid)
{
new playername2[MAX_PLAYER_NAME];
new string[255];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Medic.cfg", io_append);
format(string,sizeof(string),"%s",playername2);
fwrite(file,string);
fclose(file);
return 1;
}
public MedicQuit(playerid)
{
new playername2[MAX_PLAYER_NAME];
new string[255];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Medic.cfg", io_append);
format(string,sizeof(string),"%s",playername2);
fdeleteline("Medic.cfg", string);
fclose(file);
return 1;
}
public FireCheck(playerid)
{
new playername2[MAX_PLAYER_NAME];
new storedfirename[64];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Fire.cfg", io_read);
if (file)
{
new valtmp[MAX_PLAYER_NAME];
while (fread(file, valtmp) > 0)
{
//printf("%s",valtmp);
strmid(storedfirename, valtmp, 0, strlen(playername2), 255);
if ((strcmp(storedfirename, playername2, true, strlen(playername2)) == 0) && (strlen(playername2) == strlen(storedfirename)))
{
fclose(file);
return 1;
}
}
}
fclose(file);
return 0;
}
public FireMake(playerid)
{
new playername2[MAX_PLAYER_NAME];
new string[255];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Fire.cfg", io_append);
format(string,sizeof(string),"%s",playername2);
fwrite(file,string);
fclose(file);
return 1;
}
public FireQuit(playerid)
{
new playername2[MAX_PLAYER_NAME];
new string[255];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Fire.cfg", io_append);
format(string,sizeof(string),"%s",playername2);
fdeleteline("Fire.cfg", string);
fclose(file);
return 1;
}
public CopCheck(playerid)
{
new playername2[MAX_PLAYER_NAME];
new storedcopname[64];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Cop.cfg", io_read);
if (file)
{
new valtmp[MAX_PLAYER_NAME];
while (fread(file, valtmp) > 0)
{
//printf("%s",valtmp);
strmid(storedcopname, valtmp, 0, strlen(playername2), 255);
if ((strcmp(storedcopname, playername2, true, strlen(playername2)) == 0) && (strlen(playername2) == strlen(storedcopname)))
{
fclose(file);
return 1;
}
}
}
fclose(file);
return 0;
}
public CopMake(playerid)
{
new playername2[MAX_PLAYER_NAME];
new string[255];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Cop.cfg", io_append);
format(string,sizeof(string),"%s",playername2);
fwrite(file,string);
fclose(file);
return 1;
}
public CopQuit(playerid)
{
new playername2[MAX_PLAYER_NAME];
new string[255];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Cop.cfg", io_append);
format(string,sizeof(string),"%s",playername2);
fdeleteline("Cop.cfg", string);
fclose(file);
return 1;
}
public AgentCheck(playerid)
{
new playername2[MAX_PLAYER_NAME];
new storedagentname[64];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Agent.cfg", io_read);
if (file)
{
new valtmp[MAX_PLAYER_NAME];
while (fread(file, valtmp) > 0)
{
//printf("%s",valtmp);
strmid(storedagentname, valtmp, 0, strlen(playername2), 255);
if ((strcmp(storedagentname, playername2, true, strlen(playername2)) == 0) && (strlen(playername2) == strlen(storedagentname)))
{
fclose(file);
return 1;
}
}
}
fclose(file);
return 0;
}
public AgentMake(playerid)
{
new playername2[MAX_PLAYER_NAME];
new string[255];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Agent.cfg", io_append);
format(string,sizeof(string),"%s",playername2);
fwrite(file,string);
fclose(file);
return 1;
}
public AgentQuit(playerid)
{
new playername2[MAX_PLAYER_NAME];
new string[255];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Agent.cfg", io_append);
format(string,sizeof(string),"%s",playername2);
fdeleteline("Agent.cfg", string);
fclose(file);
return 1;
}
public PilotCheck(playerid)
{
new playername2[MAX_PLAYER_NAME];
new storedagentname[64];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Pilot.cfg", io_read);
if (file)
{
new valtmp[MAX_PLAYER_NAME];
while (fread(file, valtmp) > 0)
{
//printf("%s",valtmp);
strmid(storedagentname, valtmp, 0, strlen(playername2), 255);
if ((strcmp(storedagentname, playername2, true, strlen(playername2)) == 0) && (strlen(playername2) == strlen(storedagentname)))
{
fclose(file);
return 1;
}
}
}
fclose(file);
return 0;
}
public PilotMake(playerid)
{
new playername2[MAX_PLAYER_NAME];
new string[255];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Pilot.cfg", io_append);
format(string,sizeof(string),"%s",playername2);
fwrite(file,string);
fclose(file);
return 1;
}
public PilotQuit(playerid)
{
new playername2[MAX_PLAYER_NAME];
new string[255];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Pilot.cfg", io_append);
format(string,sizeof(string),"%s",playername2);
fdeleteline("Pilot.cfg", string);
fclose(file);
return 1;
}
public TaxiCheck(playerid)
{
new playername2[MAX_PLAYER_NAME];
new storedagentname[64];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Taxi.cfg", io_read);
if (file)
{
new valtmp[MAX_PLAYER_NAME];
while (fread(file, valtmp) > 0)
{
//printf("%s",valtmp);
strmid(storedagentname, valtmp, 0, strlen(playername2), 255);
if ((strcmp(storedagentname, playername2, true, strlen(playername2)) == 0) && (strlen(playername2) == strlen(storedagentname)))
{
fclose(file);
return 1;
}
}
}
fclose(file);
return 0;
}
public TaxiMake(playerid)
{
new playername2[MAX_PLAYER_NAME];
new string[255];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Taxi.cfg", io_append);
format(string,sizeof(string),"%s",playername2);
fwrite(file,string);
fclose(file);
return 1;
}
public TaxiQuit(playerid)
{
new playername2[MAX_PLAYER_NAME];
new string[255];
GetPlayerName(playerid, playername2, sizeof(playername2));
new File: file = fopen("Taxi.cfg", io_append);
format(string,sizeof(string),"%s",playername2);
fdeleteline("Taxi.cfg", string);
fclose(file);
return 1;
}
public fdeleteline(filename[], line[]){
if(fexist(filename)){
new temp[256];
new File:fhandle = fopen(filename,io_read);
fread(fhandle,temp,sizeof(temp),false);
if(strfind(temp,line,true)==-1){return 0;}
else{
fclose(fhandle);
fremove(filename);
for(new i=0;i<strlen(temp);i++){
new templine[256];
strmid(templine,temp,i,i+strlen(line));
if(strcmp(templine, line, true) == 0){
strdel(temp,i,i+strlen(line));
fcreate(filename);
fhandle = fopen(filename,io_write);
fwrite(fhandle,temp);
fclose(fhandle);
return 1;
}
}
}
}
return 0;
}
public fcreate(filename[]) {
if (fexist(filename)){return false;}
new File:fhandle = fopen(filename,io_write);
fclose(fhandle);
return true;
}
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
new string[256];
new playername[MAX_PLAYER_NAME];
new recievername[MAX_PLAYER_NAME];
GetPlayerName(recieverid, recievername, sizeof(recievername));
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "AdmPM: PM from %s to %s: %s", playername, recievername, text);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && PlayerInfo[i][pAdmin] >= 1 && i != playerid && i != recieverid)
{
SendClientMessage(i, COLOR_CYAN, string);
}
}
return 1;
}
// === [OnPlayerText] ===
public OnPlayerText(playerid,text[])
{
if(Mute[playerid] == 1)
{
SendClientMessage(playerid, COLOR_RED, "You can not talk while muted!");
return 0;
}
if(Mute[playerid] == 0)
{
if(strfind(text, "Hack", true) == 0)
{
SendClientMessageToAll(COLOR_RED, "Use /report [id] [reason] to report a abusive player!");
}
if(strfind(text, "noob", true) == 0)
{
SendClientMessageToAll(COLOR_RED, "Don't flame please!");
}
return 1;
}
return 0;
}