All pastes #584142 Raw Edit

Something

public text v1 · immutable
#584142 ·published 2007-06-22 16:52 UTC
rendered paste body
//Credits goes to:
//Cam some of the classes are his
//CodeMaster added the selection screen sounds and the kool Team chat
//Nitroglycerine for tree id :P
//DM Messages by yellowblood
//Necrioss for the wicked car/stats save system and the login/register system and settings file
//[CBK]$$$PiMp Made this
//===============================Include Files==================================
#include <a_samp>
#include <dini>
#include <dudb>
#include <time>
#include <file>
#include <dutils>
#include <sinterior>
#include <float>
//===============================Class Defines==================================
#define TEAM_WORKER 0
#define TEAM_PIMP 1
#define TEAM_GOLFER 2
#define TEAM_TRIAD 3
#define TEAM_ARMY 4
#define TEAM_VALET 5
#define TEAM_MEDIC 6
#define TEAM_FBI 7
#define TEAM_CHICKEN 8
#define TEAM_RICH 9
#define TEAM_PILOT 10
#define TEAM_DANANG 11
//==============================Settings Files==================================
#define FILE_SETTINGS "settings.ini"
#define FILE_TOTALSTAT "totalstat.ini"
#define FILE_BLACKLIST "blacklist.ini"
#define FILE_CARS "cars.ini"
//=============================Max Points/Gangs=================================
#define MAX_POINTS 4
#define MAX_GANGS 1
#define MAX_SCORE 99 //max score for when the round's over
#define MAX_CARS 251
#define CAR_AMOUNT 218
#define PROP_AMOUNT 2
//===============================Checkpoint defines===================================
#define CP_BANK 		0
#define CP_BANK_2 		6
#define CP_BANK_3 		7
#define PROP1 			8
//===========================Character Selection Music==========================
#define SOUND_MUSIC1							1062
#define SOUND_MUSIC2							1068
#define SOUND_MUSIC3							1076
#define SOUND_OFF                    			1184
//=================================Team Colors==================================
#define COLOR_GREEN 0x33AA33AA //SFgrove color
#define COLOR_RED 0xAA3333AA //pimp color
#define COLOR_PINK 0xFF66FFAA //triad color
#define COLOR_BLUE 0x0000BBAA //mechanic color
#define COLOR_LIGHTBLUE 0x33CCFFAA //pilot color
#define COLOR_ORANGE 0xFF9900AA //Swat color
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PURPLE 0x330066AA
#define COLOR_GREY 0xCCCCCAA
#define COLOR_SKIN 0xFFCC99AA
#define COLOR_DARKGREY 0x333333AA
#define COLOR_DARKRED 0x990000AA
#define RED 0xFF0000AA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_BRIGHTRED 0xDC143CAA
#define COLOR_AQUA 0x7CFC00AA
#define COLOR_SYSTEM 0xEFEFF7AA
//==============================Save Player Pos=================================
enum SavePlayerPosEnum
{
    Float:LastX,
    Float:LastY,
    Float:LastZ
}
new SavePlayerPos[MAX_PLAYERS][SavePlayerPosEnum];
//===============================Modified DCMD==================================
#define cmd(%1) if((strcmp(cmdtext,%1,true,strlen(%1))==0)&&(((cmdtext[strlen(%1)]==0)&&(d%1(playerid,"")))||((cmdtext[strlen(%1)]==32)&&(d%1(playerid,cmdtext[strlen(%1)+1]))))) return 1
//================================Admin Stuff===================================
enum pInfo
{
    pAdmin,
    pJailedby,
}
//==================================Defines=====================================
new teamchatcmd[]  = "/t";
new houseid[MAX_PLAYERS];
new cttmp[256];
new tmpname[256];
new ownername[256];
new propmess[256];
new housecost[MAX_PLAYERS];
new propowned[MAX_PLAYERS];
new buyable[MAX_PLAYERS];
new playernameh[MAX_PLAYER_NAME];
new playerhouse[MAX_PLAYERS];
new Count[MAX_PLAYERS];
new cseconds,cstring[40];
new PlayerInfo[MAX_PLAYERS][pInfo];
new moneyed[MAX_PLAYERS];
new ignition[MAX_PLAYERS];
new secure[MAX_PLAYERS];
new admined[MAX_PLAYERS];
new bought[MAX_PLAYERS];
new carowned[MAX_PLAYERS];
new currentvehicle[MAX_PLAYERS];
new carcost[256];
new server[256];
new passenger[MAX_PLAYERS];
new cartemp[MAX_PLAYERS];
new gTeam[MAX_PLAYERS];
new Spawned[MAX_PLAYERS];
new tmpcar[MAX_PLAYERS];
new welcome[MAX_PLAYERS];
new frozen[MAX_PLAYERS];
new speedo[MAX_PLAYERS];
new messaged[MAX_PLAYERS];
new used[MAX_PLAYERS];
new CashScoreOld;
new tmpcar2[MAX_PLAYERS];
new aMessage[MAX_PLAYERS];
new setd[MAX_PLAYERS];
new propactive[MAX_PLAYERS];

new Float:g, Float:h, Float:l;
new Float:t, Float:u, Float:o;
new Float:ta, Float:tb, Float:tc;
//================================Checkpoints===================================
new Float:checkCoords[MAX_POINTS][4] = {
{-36.5483,-57.9948, -17.2655,-49.2967},     	//BANK
{-37.2183,-91.8006, -14.1099,-74.6845},      	//BANK_2
{-34.6621,-31.4095, -2.6782,-25.6232},     		//BANK_3
{2020.2234,998.9155,2036.7882,1016.8185}		//property number 1 area
};

new Float:checkpoints[MAX_POINTS][4] = {
{-22.2549,-55.6575,1003.5469},
{-23.0664,-90.0882,1003.5469},
{-33.9593,-29.0792,1003.5573},
{2026.9135,1007.9958,10.8203,3.0}//property one checkpoint - PROP1
};
//=================================Checkpoint Type==============================
new checkpointType[MAX_POINTS] ={
	CP_BANK,
	CP_BANK_2,
	CP_BANK_3,
	PROP1,
};
//================================More Defines==================================
new playerGang[MAX_PLAYERS];
new gangBank[MAX_GANGS];
new logged[MAX_PLAYERS];
new bank[MAX_PLAYERS];
new PlayerInterior[MAX_PLAYERS];
new carused[MAX_PLAYERS];
new playerCheckpoint[MAX_PLAYERS];
new reset[MAX_PLAYERS];
new ejected[MAX_PLAYERS];
//================================Global Defines================================
new Float:Pos[MAX_PLAYERS][4];
//new tk[MAX_PLAYERS];
//================================Main Info=====================================
				main()
				{
				print("\n--------------------------------------");

				print(" SFTDM Reloaded 0.9.9 By [CBK]$$$PiMp!!!");

				print("--------------------------------------\n");}
//=============================When Gamemode Starts=============================
public OnGameModeInit(playerid)
{
	print("GameModeInit(playerid)");
	SetGameModeText("CBK SFTDM Reloaded 0.9.9");
	ShowNameTags(1);
	ShowPlayerMarkers(1);
	SetWorldTime(12);
	SetTimer("CheckSpeedo", 700, 1);
	SetTimer("SaveData",1000,1);
    SetTimer("Settings",60000,1);
    SetTimer("checkpointUpdate",100, 1);
    SetTimer("ctimer",1000,true);
//==============================ALL GAME TEAMS==================================
	//Classes Note: Some of the Classes are Cams so give Credit to him too
	AddPlayerClass(260,-2062.5583,237.4662,36.2890,268.8936,23,170,25,60,30,360); //Worker
	AddPlayerClass(296,-2653.6443,1388.2767,8.0739,212.8453,26,100,29,360,15,1); //Pimp
	AddPlayerClass(259,-2642.2583,-274.9985,8.3506,135.0036,25,80,32,300,2,1); //Golfer
	AddPlayerClass(294,-2188.8037,609.8431,36.2624,82.8703,32,300,30,390,4,1); //Triad
	AddPlayerClass(287,-1377.4271,466.0897,8.9393,1.0348,26,80,31,300,23,170); // ARMY
	AddPlayerClass(253,-1754.9976,958.5851,25.8386,163.2550,28,300,24,100,4,1); //Valet
	AddPlayerClass(274,-2665.4282,635.6348,16.0054,179.8403,26,100,23,170,9,1); //Medic
	AddPlayerClass(286,-1635.0077,665.8105,8.4054,264.2244,29,360,27,100,3,1); //FBI
	AddPlayerClass(167,-1830.9324,638.9214,31.3054,180.9218,26,200,29,390,9,1); //Chicken
	AddPlayerClass(295,-2664.8037,938.6110,80.7618,180.7716,27,100,24,100,28,400); //Rich
	AddPlayerClass(61,-1358.6774,-243.8737,15.6769,315.6869,22,170,25,60,14,1); // Pilot
	AddPlayerClass(122,-1430.1825,1492.3381,8.0482,91.3221,24,70,27,77,28,300); //Da Nang
//========================ALL GAME VEHICLES AND PICKUPS=========================
//----------------------------------Vehicles------------------------------------
	AddStaticVehicle(415,-2252.8276,2285.2219,4.8202,90.7733,14,1);//CHEETAH sv 1
	AddStaticVehicle(451,-2271.7480,2297.3911,4.8202,270.8565,14,1);//turismo sv 2
	AddStaticVehicle(562,-2252.5969,2290.9824,4.8202,85.6504,14,1);//ELEGY sv 3
	AddStaticVehicle(405,-1304.1517,2528.5356 ,87.6315,181.3323,66,66); //hobo
	AddStaticVehicle(411,-2691.1743,220.3039,4.1797,89.5966,0,10);//infernus trans
	AddStaticVehicle(415,-1985.6321,258.8751,36.1719,270.8373,0,101);//ferrari at car dealer
	//AddStaticVehicle(419,-1266.4242,2525.7771,89.4997,106.5754,66,66); //hobo
	AddStaticVehicle(424,-2236.2820,-1724.1927,480.8605,10.4293,2,0);// BFinjection Cill 424--
	AddStaticVehicle(424,-488.3469,-174.9918,78.2109,175.4913,2,0);// BFinjection FOREST
	AddStaticVehicle(424,-2653.9656,-2418.3093,2.6874,101.4916,2,0); //BF Injection dunes
	AddStaticVehicle(424,-2654.8750,-2413.8379,2.6877,101.4914 ,2,0); //BF Injection dunes
	//AddStaticVehicle(439,-1287.0046,2514.1675,86.7848,179.9851,6,6); //stallion
	//AddStaticVehicle(443,-2145.7261,918.4642,79.8516,266.2144,0,101); //CAR CARRIER
	AddStaticVehicle(444,-2247.1477,-1727.6178,480.2036,38.2774,3,6);//monster Chill 444---
	AddStaticVehicle(444,-557.6980,-177.3288,78.4063,169.0153,3,6);//monster FOREST
	AddStaticVehicle(444,-1321.4635,2513.2258,92.5406,180.9954,65,66);//monster hobo
	AddStaticVehicle(446,-2244.3376,2435.2117,-0.5616,227.1463,14,1);//SPEEDBOAT1 sv 13
	AddStaticVehicle(446,-2218.8831,2405.2954,-0.5339,45.1995,14,1);//DPEEDBOAT2 sv
	AddStaticVehicle(451,-2047.5374,901.2433,53.6883,8.7998,2,101);//turismo crooked
	AddStaticVehicle(451,-1953.6819,259.0149,35.4688,92.4245,106,0); //Turismo
	AddStaticVehicle(451,-345.9050,1515.0657,75.1318,358.8066,5,101); // drif3 1 turismo
	AddStaticVehicle(451,-333.4294,1515.0460,75.1313,1.3186,9,101); // drif3 5 turismo
	//AddStaticVehicle(461,-2079.4136,901.8524,64.1328,1.9898,6,101);//pcj600 at crooked str
	//AddStaticVehicle(461,-473.0953,-175.8979,78.2109,180.0741,6,101);//pcj600 FOREST
 	AddStaticVehicle(468,-2243.3403,-1745.0731,480.1822,11.6067,6,101);//chill sanchez
 	AddStaticVehicle(468,-2244.4622,-1739.6124,479.7912,11.6067,6,101);//chill sanches
 	AddStaticVehicle(468,-2654.0969,-2419.7952,2.5891,106.6930,6,101); //Sanchez dunes
	AddStaticVehicle(468,-2652.5967,-2424.7976,2.5885,106.6923,6,101); //Sanchez dunes
 	AddStaticVehicle(470,-1857.3772,-1616.0371,21.8090,181.0974,6,101);// patriot rock
    AddStaticVehicle(470,-2271.9880,2285.2322,4.8202,276.4501,1,1);//HUMMER sv
	AddStaticVehicle(470, -500.7715,-200.4563,78.4063,18.7517,0,0); //Patriot FOREST
	AddStaticVehicle(471,-2241.2891,-1738.7552,480.0252,19.2248,102,1);//Quad Chill 471--
	AddStaticVehicle(471,-564.0124,-198.6842,78.5869,1.2558,102,1);//Quad FOREST
	AddStaticVehicle(487,-1303.4076,2541.8,93.3047,181.9564,66,117); // hobo MAVERIC
	AddStaticVehicle(506,-339.8088,1514.8138,75.1312,359.8656,7,101); // drif3 3 supergt
	AddStaticVehicle(507,-2736.9631,-294.5043,7.0010,229.3018,0,1); //elegant hotel
	//AddStaticVehicle(518,-1308.3707,2542.2786,87.7422,185.9490,20,0); // hobo
	AddStaticVehicle(520,-2227.4072,2326.7725,7.5469,94.0051,1,1);// HYDRA
	AddStaticVehicle(521,-1969.1692,304.1157,36.1719,79.3382,79,103);//car dealer bike1
	AddStaticVehicle(521,-2136.9282,932.2380,79.8516,1.2085,79,103);//lombardi str bike1
	AddStaticVehicle(521,-2272.1670,2291.3350,4.8202,266.2305,14,1);//900 sv
	AddStaticVehicle(522,-1702.4731,71.8880,9.5940,315.7556,0,1);// nrg1bowl
	AddStaticVehicle(522,-1622.2825,-49.7379,3.5638,47.6917,0,1);// nrg2
	AddStaticVehicle(522,-1533.1570,113.2838,17.3281,130.9336,0,1);// nrg3
	AddStaticVehicle(522,-1585.6379,144.1861,3.7169,39.9833,0,1);// nrg4
	AddStaticVehicle(522,-1739.4352,37.0431,7.1512,272.7602,0,1);// nrg5bowl
	AddStaticVehicle(522,-1986.7144,271.9079,36.1794,268.4854,86,16);//car dealer bike 2  type 30
	//AddStaticVehicle(539,-2237.4849,-1714.5706,480.8717,8.4956,106,101); //hover Chillz1
	//AddStaticVehicle(539,-2236.8608,-1718.7449,480.8733,4.4400,106,101); //hover Chillz2
	//AddStaticVehicle(540,-2750.0332,-296.7870,7.0391,359.7908,0,1); //vincent hotel
	AddStaticVehicle(541,-1950.8169,271.1274,41.0471,270.7263,106,1);//bullet cardealer2
	AddStaticVehicle(541,-2105.4585,893.4119,74.7031,358.1261,0,1);//bullet crooked str
	//AddStaticVehicle(555,-2747.0229,-306.4174,7.0391,51.1989,0,1); //Windsor hotel
	//AddStaticVehicle(557,-1821.7633,-1613.2203,23.0156,194.1226,0,1);// monster2 rock
	AddStaticVehicle(559,-2703.7295,200.9682,4.1797,359.6772,101,6);//car2 trans
	AddStaticVehicle(559,-1989.1759,243.6824,35.1719,272.5235,106,6);//jester cardealer
	AddStaticVehicle(559,-2252.7041,2297.0837,4.8125,85.1043,14,1);//JESTER sv
	AddStaticVehicle(560,-2708.9094,232.6039,4.1797,178.0429,3,6);//car4 trans sultan
	AddStaticVehicle(560,-336.7014,1515.0159,75.1313,1.2439,8,101); // drif3 4 sultan
	AddStaticVehicle(562,-2743.9207,-303.1422,7.0174,44.4726,1,0); //elegy hotel
	AddStaticVehicle(562,-1988.2018,304.3466,36.1794,259.9987,86,16);//car dealer 1
	AddStaticVehicle(562,-2709.1716,212.8635,4.1797,185.5438,0,79);//car1 trans
	AddStaticVehicle(562,-342.8802,1515.2021,75.1318,358.7833,6,101); // drif3 2 elegy
	//AddStaticVehicle(565,-2703.7358,234.0788,4.1797,178.7202,2,79);//car3 trans garage IMPALA
	AddStaticVehicle(567,786.0021,-489.2645,15.2195,356.8713,86,16);//Pimp St car1 garage IMPALA
	//AddStaticVehicle(568,-2235.1560,-1730.3127,480.8531,10.4293,86,121);//bandito Chill Chill 568--
	//AddStaticVehicle(568,-2657.6335,-2400.4102,2.8172,95.5103,86,121); //Bandito dunes
	//AddStaticVehicle(568,-2654.9648,-2415.0906,2.3928,94.0645,102,1); //Bandito dunes
	AddStaticVehicle(575,-2755.2151,-311.1110,7.0391,9.5682,1,0); //broadway  hotel
	//AddStaticVehicle(587,-2068.8235,964.7271,60.9262,191.7439,86,121);//euros
	AddStaticVehicle(411,-1954.7201,1338.7400,6.9150,269.8037,1,121); //Infurnus
	AddStaticVehicle(559,-2272.0962,1355.4470,6.9158,73.5896,86,121); //Jester
	AddStaticVehicle(451,-2511.3452,1209.7589,37.1508,267.9552,77,121); //Turismo
	AddStaticVehicle(522,-2791.1389,981.6252,50.0555,27.0045,4,101); //NRG
	//AddStaticVehicle(474,-2662.1809,630.6546,14.2241,267.8837,0,101); //
	AddStaticVehicle(415,-2433.9585,744.5742,34.7679,79.8409,3,101); //Cheetah
	AddStaticVehicle(567,-2532.9138,358.5529,19.9271,179.0177,128,101); //Impala
	AddStaticVehicle(541,-2494.2144,-16.4806,25.5367,182.2214,0,101); //Bullet
	AddStaticVehicle(451,-2796.0425,-92.2779,6.9580,89.2914,2,101); //Turismo
	AddStaticVehicle(558,-2244.5911,-98.6327,35.0913,1.1431,0,101); //Uranus
	AddStaticVehicle(562,-2502.3477,-601.9897,132.3348,178.8116,0,101); //Elegy
	AddStaticVehicle(559,-2084.1614,61.9760,34.1461,91.3935,6,101); //Jester
	AddStaticVehicle(411,-1942.0991,487.8265,31.7413,91.9006,0,101); //Infurnus
	AddStaticVehicle(415,-1885.4987,826.2090,34.9446,320.0322,5,1); //Cheetah
	AddStaticVehicle(522,-1671.7183,403.9883,6.9516,136.7010,9,1); //NRG
	AddStaticVehicle(562,-1501.4303,920.4661,6.9595,359.7084,2,1); //Elegy
	AddStaticVehicle(444,-1786.3508,1204.7767,24.8960,180.6921,3,1); //
	AddStaticVehicle(470,-2365.2205,1004.9041,50.4741,170.8912,5,1); //Patriot
	//AddStaticVehicle(518,-2249.6162,671.5038,49.0664,1.0118,7,1); // Hobo
	AddStaticVehicle(521,-2413.1394,330.6846,34.7442,148.4232,9,1); //Bike
	AddStaticVehicle(470,-1110.9086,-1637.0076,76.3604,268.1148,6,65); //Patriot
	//AddStaticVehicle(432,-1110.3884,-1621.1957,76.3599,268.1147,6,65); //Rhino
	AddStaticVehicle(415,-1101.1594,-1630.5085,76.3296,90.9229,6,65); //Cheetah
	AddStaticVehicle(468,-1098.0170,-1663.5310,76.0382,349.3529,6,65); //Sanchez
	AddStaticVehicle(405,-1085.8618,-1619.6393,76.0357,182.3734,6,65); //Sentinel
	AddStaticVehicle(411,-1657.6346,1214.0313,7.0241,309.3672,1,55); //Infernus
	AddStaticVehicle(415,-1666.0741,1221.0962,13.4444,250.4340,3,55); //Cheetah
	AddStaticVehicle(451,-1661.1064,1210.1271,13.4547,292.6258,5,55); //Turismo
	AddStaticVehicle(522,-1651.0096,1205.6049,20.9381,253.2666,7,55); //NRG-500
	AddStaticVehicle(522,-1661.2876,1216.6512,20.9128,334.8425,9,55); //NRG-500
	AddStaticVehicle(541,-2019.3654,-96.8552,34.7919,0.0014,13,8); // Bullet
	//AddStaticVehicle(503,-2034.5876,-121.7191,35.0830,269.0618,103,101); // car 2
	//AddStaticVehicle(515,-2495.4114,255.6847,36.1914,269.4685,54,77); // car 3
	AddStaticVehicle(424,-1656.6226,1212.1147,20.9377,294.9032,3,6); // BF Injection
	AddStaticVehicle(424,-1647.1611,1207.6357,20.9726,249.4393,3,6); // BF Injection
	//AddStaticVehicle(434,-2697.4346,1367.5547,16.9650,180.9779,2,2); // car 6
	AddStaticVehicle(451,-2646.7986,1354.7396,6.8783,180.9896,16,16); // Turismo
	AddStaticVehicle(522,-2688.0439,205.9044,3.9158,358.0469,6,25); // NRG-500
	//AddStaticVehicle(556,-2509.8049,1206.3197,37.7969,232.0513,1,1); // Monster! 1
	//AddStaticVehicle(556,-2498.7019,1218.8386,37.8002,320.9645,1,1); // Monster! 2
	AddStaticVehicle(575,-2619.6208,1376.5171,6.7295,63.4406,25,96); // Broadway
	AddStaticVehicle(575,-2644.3035,1331.9238,6.9875,45.0654,1,1); // Broadway
	AddStaticVehicle(411,-2644.5115,1379.5635,6.9651,91.5963,1,1); // Infurnus
	AddStaticVehicle(409,-2621.3679,1337.4874,6.9951,313.7212,1,1); // Pimp car 4
	AddStaticVehicle(409,-2598.8127,1354.3470,6.8914,236.0988,1,1); // pimp car 5
	AddStaticVehicle(507,-2150.3044,658.9729,52.4382,0.1325,7,7); // Elegant
	AddStaticVehicle(507,-2125.4902,657.3282,52.2070,84.1679,7,7); // Elegant
	AddStaticVehicle(507,-2126.2554,649.8426,52.1908,84.1687,7,7); // Elegant
	AddStaticVehicle(507,-2135.8274,633.5853,52.0881,180.0553,7,7); // Elegant
	AddStaticVehicle(522,-2152.8953,640.5824,51.9376,270.5236,7,79); // NRG-500
	AddStaticVehicle(522,-2152.9143,642.6978,51.9376,270.5237,7,79); // NRG-500
	AddStaticVehicle(522,-2152.9333,644.8129,51.9376,270.5237,7,79); // NRG-500
	AddStaticVehicle(541,-2164.6772,660.1553,60.3202,272.1321,2,1); // Bullet
	AddStaticVehicle(487,-1217.4595,-15.7898,14.1763,0.0763,3,29); // Maveric
	AddStaticVehicle(487,-1202.4211,-1.7025,14.3083,0.0763,3,29); // Maveric
	AddStaticVehicle(487,-1170.3536,34.2232,14.3252,0.0911,3,29); // Maveric
	AddStaticVehicle(513,-1466.8154,-519.4036,14.7231,235.8817,30,34); // Stuntplane
	AddStaticVehicle(513,-1429.4215,-504.4780,14.7366,176.0148,55,20); // Stuntplane
	AddStaticVehicle(560,-1951.9344,301.2165,40.9174,178.3483,13,23); //Sultan
	AddStaticVehicle(411,-1957.2834,301.9644,40.9152,180.4329,92,93); //Infernus
	AddStaticVehicle(415,-1945.4662,257.4331,40.9166,359.6798,79,79); //Cheetah
	AddStaticVehicle(429,-1950.9156,257.7579,40.9170,359.8694,1,2); //Banshee
	AddStaticVehicle(475,-1955.9065,257.6106,40.9135,1.0206,3,3);  //Sabre
	AddStaticVehicle(477,-1945.3999,273.2839,35.3427,88.8040,41,9); //Zr350
	AddStaticVehicle(506,-1945.3353,269.3972,35.3407,90.6095,16,1); //Supergt
	AddStaticVehicle(535,-1945.6040,265.0452,35.3413,90.3844,6,6); //Slamvan
	AddStaticVehicle(541,-1945.4299,260.8985,35.3356,89.2809,0,11); //Bullet
	AddStaticVehicle(559,-1945.8987,255.0587,35.3371,89.3658,87,36);  //Jester
	AddStaticVehicle(405,-1955.0566,305.0432,35.3371,90.6156,102,106); // Sentinel
	AddStaticVehicle(411,-1954.1021,299.8945,35.3351,90.2938,32,97); // Infernus
	AddStaticVehicle(415,-1954.1477,294.9549,35.3353,89.7457,2,0); // Cheetah
	AddStaticVehicle(429,-1954.0110,290.7222,35.3387,88.9322,3,1); // Banshee
	AddStaticVehicle(475,-1957.1311,285.7732,35.3396,90.4374,14,3); // Sabre
	AddStaticVehicle(477,-1955.6929,281.8165,35.3370,89.7357,78,5); // Zr350
	AddStaticVehicle(506,-1955.8882,277.1920,35.3350,89.9642,112,73); // Supergt
	AddStaticVehicle(593,-1315.6698,-273.4651,14.6055,3.0874,13,8); // Pilot Dodo plane 1
	AddStaticVehicle(593,-1334.0336,-277.9224,14.6057,0.3802,68,8); // Dodo plane 2
	AddStaticVehicle(593,-1353.0640,-269.7730,14.6404,312.9902,51,1); // Dodo plane 3
	AddStaticVehicle(411,-1388.1222,-245.2673,13.8732,354.8541,112,1); // Infurnus
	AddStaticVehicle(411,-1379.5950,-248.1002,13.8714,323.6971,80,1); // Infurnus
	AddStaticVehicle(430,-1476.9966,692.2034,-0.3320,179.4663,46,26); // Police boat 1
	AddStaticVehicle(490,-1573.8690,706.1183,-5.1148,90.4828,0,0); // FBI Rancher
	AddStaticVehicle(490,-1573.9437,709.7645,-5.1138,91.0168,0,0); // FBI rancher 2
	AddStaticVehicle(490,-1573.8345,713.9033,-5.1146,92.0823,0,0); // FBI Rancher 3
	AddStaticVehicle(490,-1573.9185,718.1544,-5.1135,89.6855,0,0); // FBI Rancher 4
	AddStaticVehicle(523,-1640.4521,694.4510,-5.6718,222.0250,0,0); // Police Bike
	AddStaticVehicle(523,-1637.4004,696.3330,-5.5758,222.7802,0,0); // Police bike 1
	AddStaticVehicle(523,-1642.3473,691.3362,-5.6730,231.3749,0,0); // Police bike 2
	AddStaticVehicle(542,-1354.8975,456.3702,7.0646,46.1662,22,30); // Mechanic Car 0
	//AddStaticVehicle(433,-1360.6459,455.5932,7.0668,44.9871,44,51); // Mechanic Car 1
	//AddStaticVehicle(530,-1369.2474,452.7523,6.9,273.9458,114,1); // Mechanic car 2
	AddStaticVehicle(542,-1383.1249,455.2200,6.9309,3.7461,32,92); // Mechanic car 3
	AddStaticVehicle(542,-1387.7605,455.2076,6.9308,5.4355,113,92); // Mechanic car 4
	AddStaticVehicle(549,-1393.0094,454.6693,6.8854,2.5754,79,39); // Mechanic car 5
	AddStaticVehicle(578,-1407.1599,457.7941,7.8070,0.3760,1,1); // Mechanic car 6
	AddStaticVehicle(592,-1639.4169,-147.6004,15.3440,315.6016,1,1); // Pilot Big ass Plane
	AddStaticVehicle(469,-1434.7238,-951.1201,201.0333,271.6258,1,3); // Secret Chopter
	AddStaticVehicle(476,-1352.5894,-471.7502,14.8888,185.2331,77,87); // Pilot Plane
	AddStaticVehicle(476,-1370.0782,-477.6608,14.8932,200.1253,1,6); // Pilot Plane 2
	AddStaticVehicle(476,-1390.6306,-485.0246,14.9146,227.2599,6,7); // Pilot plane 1
	//AddStaticVehicle(568,-1852.4655,155.1076,16.3347,172.1547,21,1); // Grove Bandito 1
	//AddStaticVehicle(568,-1855.0499,155.4595,16.3143,172.4940,37,0); // Grove Bandito2
	//AddStaticVehicle(568,-1857.6713,155.9091,16.3127,172.0487,2,39); // Grove Bandito 3
	AddStaticVehicle(535,-1861.2426,131.7862,14.8880,306.3639,123,1); // Grove Slamvan 2
	AddStaticVehicle(535,-1861.6567,126.8863,14.8657,309.3829,55,1); // Grove slamvan 1
	//AddStaticVehicle(412,-1851.2207,113.7778,14.9522,1.3342,25,8); // Grove low rider 1
	AddStaticVehicle(567,-1854.9225,113.5595,14.9940,359.7545,93,64); // Impala
	AddStaticVehicle(534,-1835.7059,113.2843,14.8431,0.6596,10,10); // Grove Remington 2
	AddStaticVehicle(534,-1831.7031,113.2726,14.8430,1.1495,62,62); // Grove Remington 1
	AddStaticVehicle(548,-1838.0574,65.3119,45.8808,184.6405,1,1); // Grove Cargobob
	//AddStaticVehicle(601,-1640.2704,666.1199,-5.4811,91.1522,1,1); // S.W.A.T Car
	AddStaticVehicle(427,-1616.5471,675.6236,7.3209,2.4888,0,1); // Enforcer 1
	AddStaticVehicle(427,-1611.4476,675.7996,7.3217,2.6371,0,1); // Enforcer 2
	AddStaticVehicle(597,-1605.5331,673.7916,6.9588,180.0087,0,1); // Police Car 1
	AddStaticVehicle(597,-1593.8374,674.0457,6.9589,1.6845,0,1); // Police car 2
	AddStaticVehicle(597,-1587.3134,651.5364,6.9582,355.2948,0,1); // police car 3
	AddStaticVehicle(597,-1605.0876,651.8231,6.9571,358.2576,0,1); // police car 4
	AddStaticVehicle(415,-1628.0483,650.5803,6.9590,0.1257,62,1); // Police car 5
	AddStaticVehicle(415,-1632.1301,650.8945,6.9607,0.1014,92,1); // Police car 6
	AddStaticVehicle(563,-1457.6823,507.6632,18.9785,268.7628,1,6); // Chopter
	AddStaticVehicle(451,-2128.6519,-261.6277,35.0262,359.4464,46,46); // Turismo
	AddStaticVehicle(451,-2132.4678,-261.5417,35.0280,354.7209,75,75); // Turismo
	AddStaticVehicle(462,-2134.2356,-249.5907,35.2148,89.9389,1,3); // Drug bike 1
	AddStaticVehicle(462,-2134.0610,-246.5149,35.1495,85.4465,10,10); // Drug bike 2
	AddStaticVehicle(463,-2115.6045,-270.6928,34.8605,187.6834,79,79); // drug bike 3
	AddStaticVehicle(463,-2114.1792,-270.6950,34.8558,195.0268,7,7); // Drug bike 4
	AddStaticVehicle(468,-2119.7617,-266.4388,34.9895,268.6905,46,46); // Sanches
	AddStaticVehicle(470,-2100.5608,-250.5921,35.3128,271.4049,43,0); // Patriot
	AddStaticVehicle(470,-2100.3879,-242.1652,35.3134,265.0983,43,0); // Patriot
	AddStaticVehicle(541,-2019.3654,-96.8552,34.7919,0.0014,13,8); // Bullet
	//AddStaticVehicle(503,-2034.5876,-121.7191,35.0830,269.0618,103,101); // Car 2
	AddStaticVehicle(587,-2652.9031,-297.2605,8.0617,315.6009,-1,-1);
	//AddStaticVehicle(491,-2618.9480,1376.7870,7.7322,181.1998,-1,-1);
	//AddStaticVehicle(550,-2645.5964,1376.7522,7.8935,267.8349,-1,-1);
	AddStaticVehicle(405,-2126.2573,650.7344,53.2421,88.8335,-1,-1);
	AddStaticVehicle(522,-2223.2629,1083.2794,80.7819,359.6700,-1,-1);// NRG-500
	//AddStaticVehicle(565,-2517.2996,1229.3512,38.7999,209.3221,-1,-1);
	AddStaticVehicle(534,-1654.1005,1211.9901,14.2380,315.9562,-1,-1);// Remmington
	AddStaticVehicle(477,-1660.4161,1213.3704,8.0209,295.4768,-1,-1);// ZR-350
	AddStaticVehicle(558,-1497.4607,845.8477,7.9671,88.5197,-1,-1);// Uranus
	//AddStaticVehicle(602,-1699.4597,1035.9624,46.0932,91.6588,-1,-1);
	AddStaticVehicle(541,-1786.6871,1206.5266,25.7813,178.8742,-1,-1);
	//AddStaticVehicle(482,-2438.0117,1340.9783,8.7316,86.7979,-1,-1);
	AddStaticVehicle(507,-2166.5498,1251.0760,28.2782,1.6030,-1,-1);// Elegant
	AddStaticVehicle(562,-2636.3838,932.3286,72.5378,187.1212,-1,-1);
	AddStaticVehicle(411,-2464.8860,896.7036,63.6223,0.6326,-1,-1);// Infurnus
	//AddStaticVehicle(400,-2459.9055,786.4501,36.2643,89.8722,-1,-1);
	//AddStaticVehicle(603,-2673.5830,802.1517,51.0693,0.3607,-1,-1);
	AddStaticVehicle(446,-2970.6746,497.2838,1.3557,4.0073,-1,1);// Elegant
	//AddStaticVehicle(439,-2902.7820,342.5712,6.3723,138.7612,-1,-1);
	AddStaticVehicle(477,-1382.4279,455.8060,7.1838,359.9849,-1,-1);// ZR-350
	AddStaticVehicle(549,-1465.0304,455.6730,7.9280,358.9676,-1,-1);
	AddStaticVehicle(519,-1387.8518,-484.0513,15.6341,247.9289,-1,-1);//shamal plane
	AddStaticVehicle(519,-1317.8910,-260.4665,16.4827,288.2876,-1,-1);//shamal plane
	AddStaticVehicle(593,-1362.9397,-183.5522,16.4848,308.6994,-1,-1);//dodo plane
	//AddStaticVehicle(487,-1222.7996,-10.4235,15.1594,45.5780,-1,-1);//maverick chopper
	AddStaticVehicle(475,-1872.5575,-820.7949,32.8273,90.7921,-1,-1);// Sabre
	AddStaticVehicle(506,-1898.3019,-915.5814,33.3947,91.2857,-1,-1);// Super GT
	AddStaticVehicle(451,-2124.4800,-929.0856,32.7397,269.1853,-1,-1);// Turismo
	//AddStaticVehicle(480,-2134.1428,-453.9576,36.1699,95.0875,-1,-1);
	//AddStaticVehicle(533,-2035.6851,170.2529,29.4610,268.9087,-1,-1);
	AddStaticVehicle(470,-2352.0959,-126.8848,35.9374,179.5324,-1,-1);
	//AddStaticVehicle(404,-2180.1277,41.8536,36.1953,269.9865,-1,-1);
	//AddStaticVehicle(580,-2269.4526,69.5823,35.7279,89.6104,-1,-1);
	AddStaticVehicle(415,-2129.2864,787.6249,70.3666,87.1679,-1,-1);
	AddStaticVehicle(542,-2424.9958,740.8871,35.8205,177.6701,-1,-1);
	//AddStaticVehicle(496,-2545.7666,627.5895,15.1684,89.1952,-1,-1);
	//AddStaticVehicle(445,-2498.4822,357.5526,35.7969,58.0823,-1,-1);
	//AddStaticVehicle(555,-2664.9673,268.9968,5.0156,357.6026,-1,-1);
	AddStaticVehicle(522,-2626.5276,-53.6779,5.1144,357.7703,-1,-1);// NRG-500
	AddStaticVehicle(559,-2487.5295,-125.3075,26.5715,90.9363,-1,-1);
	//AddStaticVehicle(579,-2486.0298,51.5018,27.7954,177.2178,-1,-1);
	//AddStaticVehicle(587,-2574.9736,146.5981,5.4279,1.8790,-1,-1);
	//AddStaticVehicle(491,-1741.0009,811.0599,25.5879,270.6703,-1,-1);
	//AddStaticVehicle(550,-1920.7559,875.2713,36.1113,270.0973,-1,-1);
	//AddStaticVehicle(420,-2040.4465,1107.7076,54.4032,89.8491,-1,-1);//car taxi
	AddStaticVehicle(405,-1968.8488,465.6065,36.2766,89.3124,-1,-1);
	//AddStaticVehicle(489,-1825.2035,-0.4858,15.8965,270.0104,-1,-1);
	//AddStaticVehicle(585,-1687.9076,1003.5587,18.2656,91.3972,-1,-1);
	AddStaticVehicle(534,-2782.3508,442.1533,5.5383,57.1401,-1,-1);// Remmington
	AddStaticVehicle(567,-2836.3665,865.6495,44.1470,268.7662,-1,-1);
	AddStaticVehicle(558,-2899.3823,1112.4786,27.3954,268.9744,-1,-1);// Uranus
	//AddStaticVehicle(602,-2618.7363,627.2617,15.6024,179.6464,-1,-1);
	AddStaticVehicle(541,-2151.4924,428.9210,35.1902,176.6156,-1,-1);// Bullet
	//AddStaticVehicle(482,-2641.7395,1333.0645,6.8700,356.7557,-1,-1);
	AddStaticVehicle(507,-2129.8242,288.0418,34.9864,269.9582,-1,-1);// Elegant
	AddStaticVehicle(562,-2664.0950,-259.9579,6.5482,74.4868,-1,-1);
	AddStaticVehicle(597,-1594.2644,672.5858,6.9564,176.7420,-1,-1);//cop car
	AddStaticVehicle(597,-1622.6423,651.3411,6.9558,179.1608,-1,-1);//cop car
	AddStaticVehicle(597,-1584.1769,749.3150,-5.4735,1.1909,-1,-1);//cop car
	AddStaticVehicle(411,-1231.5951,48.1695,13.7616,229.8069,-1,-1);// Infurnus
	//AddStaticVehicle(420,-1425.8613,-294.0004,13.5707,54.8251,-1,-1);//car taxi
	//AddStaticVehicle(400,-2147.9944,-406.9189,35.0502,43.5458,-1,-1);
	AddStaticVehicle(415,-2899.2644,1112.4993,26.5128,270.6545,-1,-1);// Cheetah
	AddStaticVehicle(559,-1852.7903,569.7672,34.9839,223.2814,-1,-1);
	//AddStaticVehicle(493,-1476.2301,691.7451,-0.4462,356.6588,-1,-1);
	//AddStaticVehicle(420,-1393.3545,-336.3529,13.8505,24.0909,-1,-1); // car taxi
	//AddStaticVehicle(602,-2330.9387,558.7618,29.3441,270.7266,-1,-1);
	//AddStaticVehicle(402,-2480.8093,1069.6036,55.6982,180.6722,-1,-1);
	AddStaticVehicle(411,-1954.0840,262.1563,40.7033,60.7457,-1,-1);// Infurnus
	AddStaticVehicle(475,-1722.1432,1345.3258,6.9462,45.2691,-1,-1);// Sabre
	AddStaticVehicle(560,-2796.0449,88.3034,6.8933,91.3375,-1,-1);// Sultan
	//AddStaticVehicle(420,-1384.6299,-375.4851,13.8536,4.7845,-1,-1); //  car taxi
    //AddStaticVehicle(402,-2248.0791,336.6792,34.3907,6.0747,-1,-1);
    AddStaticVehicle(471,-1849.9697,579.5735,34.6755,191.0737,120,114); // Chicken Quadbike
	AddStaticVehicle(471,-1847.2742,616.5053,34.6538,99.5473,74,91); // Chicken Quadbike
	AddStaticVehicle(471,-1886.6931,616.4269,34.6435,106.8854,120,113); // Chicken QuadBike
	AddStaticVehicle(471,-1725.3540,596.9860,24.3769,351.3364,120,117); // Chicken QuadBike
	AddStaticVehicle(446,-1469.0970,1468.1393,-0.9598,283.2957,1,44); // Da Nang Boat
	AddStaticVehicle(446,-1396.2950,1468.5009,-0.3001,249.5674,1,53); // Da Nang Boat
	AddStaticVehicle(452,-1346.2898,1480.2726,0.0728,323.8238,1,22); // Da Nang Boat
	AddStaticVehicle(520,-1615.1797,-314.4653,14.8717,43.2734,0,0); // hydra Airport 1
	AddStaticVehicle(520,-1598.0720,-296.8032,14.8717,42.3004,0,0); // hydra Airport 2
    //-----------------------------------------285/250 CARS ALTOGETHER
    //----------------------218/250 Cars in Use
    //49/50 Car Types in Use

//setup car saving files automatically...MUST BE AFTER VEHICLES HAVE BEEN PLACED!!!!
	for(new i=1;i<CAR_AMOUNT;i++) {
    	if(i == 1) {
 			carcost[i] = 2500000;
		}
		if(i == 2) {
 			carcost[i] = 3500000;
		}
		if(i >= 3) {
 			carcost[i] = 1000000;
		}
		if(i >= 5) {
 			carcost[i] = 400000;
		}
		if(i >= 9) {
 			carcost[i] = 100000;
		}
		if(i >= 14) {
 			carcost[i] = 2000000;
		}
		if(i >= 20) {
 			carcost[i] = 100000;
		}
		if(i >= 22) {
 			carcost[i] = 750000;
		}
		if(i >= 28) {
 			carcost[i] = 450000;
		}
		if(i >= 32) {
 			carcost[i] = 50000;
		}
		format(tmpname,sizeof(tmpname),"%d",i);
		if (!dini_Exists(tmpname)) {
    	    	dini_Create(tmpname);
				dini_Set(tmpname, "owner", "server");
				dini_IntSet(tmpname, "carcost", carcost[i]);
				dini_IntSet(tmpname, "carlock", 0);
				dini_IntSet(tmpname, "bought", 0);
				dini_IntSet(tmpname, "secure", 0);
				dini_IntSet(tmpname, "asecure", 0);
				dini_IntSet(tmpname, "used", 1);
				GetVehiclePos(i,t,u,o);
        		dini_IntSet(tmpname, "sx", floatround(t));
        		dini_IntSet(tmpname, "sy", floatround(u));
        		dini_IntSet(tmpname, "sz", floatround(o));
    	}
	}
	for(new tempa=1;tempa<PROP_AMOUNT;tempa++) {
    	if(tempa == 16 || tempa == 29 || tempa == 30) {
 			housecost[tempa] = 60000;
		}
		if(tempa == 1 || tempa == 21 || tempa == 10) {
 			housecost[tempa] = 80000;
		}
		if(tempa == 23 || tempa == 27) {
 			housecost[tempa] = 70000;
		}
		if(tempa == 2 || tempa == 5 || tempa == 13 || tempa == 20 || tempa == 22) {
 			housecost[tempa] = 110000;
		}
		if(tempa == 11) {
 			housecost[tempa] = 120000;
		}
		if(tempa == 3 || tempa == 4 || tempa == 9) {
 			housecost[tempa] = 160000;
		}
		if(tempa == 7 || tempa == 18 || tempa == 28) {
 			housecost[tempa] = 190000;
		}
		if(tempa == 8 || tempa == 17 || tempa == 24 || tempa == 25 || tempa == 31) {
 			housecost[tempa] = 220000;
		}
		if(tempa == 14 || tempa == 15) {
 			housecost[tempa] = 280000;
		}
		if(tempa == 26 || tempa == 19) {
 			housecost[tempa] = 320000;
		}
		if(tempa == 12) {
 			housecost[tempa] = 350000;
		}
		if(tempa == 6) {
 			housecost[tempa] = 425000;
		}
		format(tmpname,sizeof(tmpname),"PROP%d",tempa);
		if (!dini_Exists(tmpname)) {
    	    	dini_Create(tmpname);
				dini_Set(tmpname, "owner", "server");
				dini_IntSet(tmpname, "housecost", housecost[tempa]);
				dini_IntSet(tmpname, "bought", 0);
				dini_IntSet(tmpname, "idnumber", tempa);
    	}
//-----------------------------------Pickups------------------------------------
		AddStaticPickup(1242, 15, 1198.6222,-2036.7010,69.0078); //Armor WHITE HOSE
		AddStaticPickup(1242, 15, 2037.5424,1955.0793,12.0647); //Armor hotel2
		AddStaticPickup(1242, 15, -1666.2980,1204.7188,7.2546); //Armor car dealer2
		AddStaticPickup(1242, 15, 2216.9341,-1179.4139,25.8906); //Armor motel
		AddStaticPickup(1242, 15, 1582.2346,-2433.3376,13.5547); //Armor airport2
		AddStaticPickup(1242, 15, 915.7377,-1235.0343,17.2109); //Armor MOVIE
		AddStaticPickup(1242, 15, -1111.8021,-1672.5598,76.3672); //Armor HIPPY
		AddStaticPickup(1242, 15, 1296.5054,-786.7410,88.3125); //Armor ADMIN
		AddStaticPickup(1242, 15, -534.7692,-178.1900,78.4047); //armor FOREST
		AddStaticPickup(1242, 15, -2771.5168,-251.6141,7.1875); //armor hotel
		AddStaticPickup(1242, 15, -1321.9531,2504.2705,89.5703); //armor hobo
		AddStaticPickup(1242, 15, -2241.2661,2321.9829,7.5454); //armor secret
		AddStaticPickup(1242, 15, -2720.7385,231.9487,4.3418); //armor at trans
		AddStaticPickup(1242, 15, 2238.8762,2449.3284,11.0372); //armor at security cop
		AddStaticPickup(1242, 15, -1844.8163,-1708.9067,41.1060); //armor at Rock Quarry
		AddStaticPickup(1242, 15, -2230.1113,-1743.3027,480.8695); //armor at chilliad
		AddStaticPickup(1242, 15, 2184.7224,-1203.6058,1049.8330); //armor at lombardi str
		AddStaticPickup(1242, 15, -1954.3491,303.5424,35.4688); //armor at car dealer
		AddStaticPickup(1242, 15, 2537.5513,-1663.5591,15.1492); //armor at grove str back right behind spwn
		AddStaticPickup(1242, 15, 1331.1685,1257.4764,14.2731); //armor at airort
		AddStaticPickup(1242, 15, 2293.2725,1435.4340,38.4735); //armor at driuft
		AddStaticPickup(1242, 15, 2582.8208,-1717.3884,8.0025); //aromr rbed
		AddStaticPickup(1242, 15, 1654.0404,-1658.1034,22.5156); //armor 3towers
		AddStaticPickup(1242, 15, 2332.5977,-1064.6901,1049.0234); //armor pimp
		AddStaticPickup(1242, 15, 688.0721,841.4696,-39.0077); //armor quarry1
		AddStaticPickup(1242, 15, 538.1361,839.2096,-34.6727); //armor quar 2
		AddStaticPickup(1242, 15, 545.5967,919.9224,-34.7484); //armor quar 3
		AddStaticPickup(1242, 15, 623.2344,894.4736,-35.4231); //armor quar 4
		AddStaticPickup(1242, 15, 2746.5503,-2453.7292,13.8623); //Armor military
		AddStaticPickup(370, 15, -2291.5791,2318.0688,15.2117); //SECRET JETPACK
		AddStaticPickup(371, 15, -2240.2351,-1747.3890,480.8622); //chilliad parachute
		AddStaticPickup(657, 2, -2649.4902, 1383.0055, 7.1826); //Kool Spinning tree
		AddStaticPickup(354, 2, -2649.4902, 1383.0055, 7.1826);//Flare in tree
		AddStaticPickup(354, 2, -2649.4902, 1383.0055, 10.5802);//Flare in tree
		AddStaticPickup(354, 2, -2649.4902, 1383.0055, 14.9802);//Flare in tree
		AddStaticPickup(354, 2, -2649.4902, 1383.0055, 13.9802);//Flare in tree
	}
	return 1;
}
//==========================Selection Screen Stuff==============================
public OnPlayerRequestClass(playerid, classid)
//--------------------------Selection Screen Colors-----------------------------
{
	if(classid == 0)
	{
		GameTextForPlayer(playerid, "~r~WORKER", 2000, 5);
		SetPlayerColor(playerid,COLOR_GREEN);
		gTeam[playerid] = TEAM_WORKER;
	}
	else if(classid == 1)
	{
		GameTextForPlayer(playerid, "~r~PIMP", 2000, 5);
		SetPlayerColor(playerid,COLOR_RED);
		gTeam[playerid] = TEAM_PIMP;
	}
	else if(classid == 2)
	{
		GameTextForPlayer(playerid, "~r~GOLFER", 2000, 5);
		SetPlayerColor(playerid,COLOR_YELLOW);
		gTeam[playerid] = TEAM_GOLFER;
	}
	else if(classid == 3)
	{
		GameTextForPlayer(playerid, "~r~TRIAD", 2000, 5);
		SetPlayerColor(playerid,COLOR_PINK);
		gTeam[playerid] = TEAM_TRIAD;
	}
 	else if(classid == 4)
 	{
		GameTextForPlayer(playerid, "~r~ARMY", 2000, 5);
		SetPlayerColor(playerid,COLOR_GREEN);
		gTeam[playerid] = TEAM_ARMY;
	}
	else if(classid == 5)
	{
		GameTextForPlayer(playerid, "~r~VALET", 2000, 5);
		SetPlayerColor(playerid,COLOR_LIGHTBLUE);
		gTeam[playerid] = TEAM_VALET;
	}
 	else if(classid == 6)
	{
		GameTextForPlayer(playerid, "~r~MEDIC", 2000, 5);
		SetPlayerColor(playerid,COLOR_PURPLE);
		gTeam[playerid] = TEAM_MEDIC;
	}
	else if(classid == 7)
	{
		GameTextForPlayer(playerid, "~r~FBI", 2000, 5);
		SetPlayerColor(playerid,COLOR_ORANGE);
		gTeam[playerid] = TEAM_FBI;
	}
	else if(classid == 8)
	{
		GameTextForPlayer(playerid, "~r~CHICKEN", 2000, 5);
		SetPlayerColor(playerid,COLOR_GREY);
		gTeam[playerid] = TEAM_CHICKEN;
	}
	else if(classid == 9)
	{
		GameTextForPlayer(playerid, "~r~RICH", 2000, 5);
	 	SetPlayerColor(playerid,COLOR_SKIN);
	 	gTeam[playerid] = TEAM_RICH;
	}
	else if(classid == 10)
	{
		GameTextForPlayer(playerid, "~r~PILOT", 2000, 5);
		SetPlayerColor(playerid,COLOR_DARKGREY);
		gTeam[playerid] = TEAM_PILOT;
	}
  	else if(classid == 11)
	{
		GameTextForPlayer(playerid, "~r~DA NANG", 2000, 5);
		SetPlayerColor(playerid,COLOR_DARKRED);
		gTeam[playerid] = TEAM_DANANG;
	}
//---------------------Player Selection Screen Locations------------------------
	//-------------------------------Worker
	if(classid == 0)
	{
		SetPlayerInterior(playerid,0);
		SetPlayerPos(playerid, -2109.7576,184.2289,35.1503);
		SetPlayerFacingAngle(playerid,160.3343);
		SetPlayerCameraPos(playerid, -2108.96,175.01,36.31);
		SetPlayerCameraLookAt(playerid, -2109.7576,184.2289,35.1503);
		PlayerPlaySound(playerid,SOUND_MUSIC1,-2109.7576,184.2289,35.1503);
	}
	//-------------------------------Pimp
	else if(classid ==1)
	{
		SetPlayerInterior(playerid,0);
		SetPlayerPos(playerid, -2718.6787,1369.0715,7.1875);
		SetPlayerFacingAngle(playerid,150.9731);
		SetPlayerCameraPos(playerid, -2722.37,1362.35,9.08);
		SetPlayerCameraLookAt(playerid, -2718.6787,1369.0715,7.1875);
		PlayerPlaySound(playerid,SOUND_MUSIC1,-2718.6787,1369.0715,7.1875);
	}
	//-------------------------------Golfer
	else if(classid == 2)
	{
		SetPlayerInterior(playerid,0);
		SetPlayerPos(playerid, -2457.8726,-259.3923,39.6499);
		SetPlayerFacingAngle(playerid,91.5298);
		SetPlayerCameraPos(playerid, -2463.7385,-260.9094,39.5841);
		SetPlayerCameraLookAt(playerid, -2457.8726,-259.3923,39.6499);
		PlayerPlaySound(playerid,SOUND_MUSIC1,-2457.8726,-259.3923,39.6499);
	}
	//-------------------------------Triad
	else if(classid == 3)
	{
		SetPlayerInterior(playerid,0);
		SetPlayerPos(playerid, -2193.5981,641.5383,49.4429);
		SetPlayerFacingAngle(playerid,354.6778);
		SetPlayerCameraPos(playerid, -2194.3101,645.1630,49.4375);
		SetPlayerCameraLookAt(playerid, -2193.5981,641.5383,49.4429);
		PlayerPlaySound(playerid,SOUND_MUSIC1,-2193.5981,641.5383,49.4429);
	}
	//-------------------------------Army
	else if(classid == 4)
	{
		SetPlayerInterior(playerid,0);
		SetPlayerPos(playerid, -1314.7040,445.2622,7.1875);
		SetPlayerFacingAngle(playerid,217.3818);
		SetPlayerCameraPos(playerid, -1314.56,435.76,8.94);
		SetPlayerCameraLookAt(playerid, -1314.7040,445.2622,7.1875);
		PlayerPlaySound(playerid,SOUND_MUSIC1,-1314.7040,445.2622,7.1875);
	}
	//-------------------------------Valet
	else if(classid == 5)
	{
		SetPlayerInterior(playerid,0);
		SetPlayerPos(playerid, -1731.0652,956.3801,24.8828);
		SetPlayerFacingAngle(playerid,358.6085);
		SetPlayerCameraPos(playerid, -1731.92,960.97,26.35);
		SetPlayerCameraLookAt(playerid, -1731.0652,956.3801,24.8828);
		PlayerPlaySound(playerid,SOUND_MUSIC1, -1731.0652,956.3801,24.8828);
	}
	//-------------------------------Medic
	else if(classid == 6)
	{
		SetPlayerInterior(playerid,0);
		SetPlayerPos(playerid, -2593.1321,608.7902,14.4531);
		SetPlayerFacingAngle(playerid,270.5395);
		SetPlayerCameraPos(playerid, -2590.15,608.88,14.89);
		SetPlayerCameraLookAt(playerid, -2593.1321,608.7902,14.4531);
		PlayerPlaySound(playerid,SOUND_MUSIC1, -2593.1321,608.7902,14.4531);
	}
	//-------------------------------FBI
	else if(classid == 7)
	{
		SetPlayerInterior(playerid,0);
		SetPlayerPos(playerid, -1622.7039,673.5800,-4.9063);
		SetPlayerFacingAngle(playerid,150.9650);
		SetPlayerCameraPos(playerid, -1623.80,670.28,-3.78);
		SetPlayerCameraLookAt(playerid, -1622.7039,673.5800,-4.9063);
		PlayerPlaySound(playerid,SOUND_MUSIC1,-1622.7039,673.5800,-4.9063);
	}
	//-----------------------------Chicken
	else if(classid == 8)
	{
		SetPlayerInterior(playerid,9);
		SetPlayerPos(playerid, 369.7185,-4.4895,1001.8147);
		SetPlayerFacingAngle(playerid,180.9218);
		SetPlayerCameraPos(playerid, 369.53,-7.95,1001.86);
		SetPlayerCameraLookAt(playerid, 369.72,-4.49,1001.86);
	}
	//-------------------------------Rich
	else if(classid == 9)
	{
		SetPlayerInterior(playerid,0);
		SetPlayerPos(playerid, -2680.6270,936.2209,79.7031);
		SetPlayerFacingAngle(playerid,2.7078);
		SetPlayerCameraPos(playerid, -2680.65,938.96,80.53);
		SetPlayerCameraLookAt(playerid, -2680.6270,936.2209,79.7031);
		PlayerPlaySound(playerid,SOUND_MUSIC1,-2680.6270,936.2209,79.7031);
	}
	//-------------------------------Pilot
	else if(classid == 10)
	{
		SetPlayerInterior(playerid,0);
		SetPlayerPos(playerid, -1339.0934,-299.9974,14.1484);
		SetPlayerFacingAngle(playerid,173.2872);
		SetPlayerCameraPos(playerid, -1337.09,-306.75,15.64);
		SetPlayerCameraLookAt(playerid, -1339.0934,-299.9974,14.1484);
		PlayerPlaySound(playerid,SOUND_MUSIC1, -1339.0934,-299.9974,14.1484);
	}
	//-------------------------------Da Nang
	else if(classid == 11)
	{
		SetPlayerInterior(playerid,0);
		SetPlayerPos(playerid, -1421.1034,1488.5735,11.8084);
		SetPlayerFacingAngle(playerid,267.8500);
		SetPlayerCameraPos(playerid, -1417.55,1488.98,11.74);
		SetPlayerCameraLookAt(playerid, -1421.1034,1488.5735,11.8084);
		PlayerPlaySound(playerid,SOUND_MUSIC1,-1421.1034,1488.5735,11.8084);
	}
	return 1;
}
//================================Random Functions==============================
public OnGameModeExit()
{
    for(new i=0; i < MAX_CARS; i++) {
        new filename[256];
        format(filename, sizeof(filename), "%d", i);
        if (dini_Exists(filename)) {
			dini_IntSet(filename, "used", 0);
		}
    }
	return 1;
}

public SystemMsg(playerid,msg[])
{
	if ((IsPlayerConnected(playerid))&&(strlen(msg)>0))
	{
		SendClientMessage(playerid,COLOR_SYSTEM,msg);
	}
	return 1;
}

public PlayerName(playerid)
{
	new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid, name, MAX_PLAYER_NAME);
	return name;
}
//==============================On Player Connect===============================
public OnPlayerConnect(playerid)
{
	printf("OnPlayerConnect(%d)", playerid);
	buyable[playerid] = 0;
	bank[playerid]=0;
 	Spawned[playerid] = 0;
 	welcome[playerid] = 1;
 	moneyed[playerid] = 1;
 	setd[playerid] = 0;
    PlayerInterior[playerid] = GetPlayerInterior(playerid);
    server = dini_Get(FILE_SETTINGS, "servername");
    new string[256];
    new playername[MAX_PLAYER_NAME];
	GetPlayerName(playerid, playername, sizeof(playername));
	format(string, sizeof(string), "Welcome %s, to [CBK]$$$PiMp's SFTDM Reloaded with Car Ownership by tAxI", playername);
	SendClientMessage(playerid, COLOR_ORANGE, string);
	SendClientMessage(playerid, COLOR_ORANGE, "Type /Commands to get started");
	GameTextForPlayer(playerid, " ~g~ Welcome to my server ~n~~n~~y~~n~~r~~n~Type /rules or be kicked",10000,1);
	return 1;
}
//============================On Player Exit Vehicle============================
public OnPlayerExitVehicle(playerid)
{
    used[playerid] = 0;
	passenger[playerid] = 0;
	return 1;
}
//=============================On Player Spawn==================================
public OnPlayerSpawn(playerid)
{
	SetPlayerInterior(playerid,0);
	GameTextForPlayer(playerid,"~y~PwN Them All!!!", 3000, 5);
	PlayerPlaySound(playerid,SOUND_OFF,-1421.1034,1488.5735,11.8084);
	Spawned[playerid] = 1;
	if(moneyed[playerid] == 0) {
		GivePlayerMoney(playerid,25000);
	}
	if(welcome[playerid] == 1) {
		SendClientMessage(playerid,COLOR_YELLOW, "You can either register your current player name with '/register [password]'");
		SendClientMessage(playerid,COLOR_YELLOW, "or login using '/login [password]'");
		SendClientMessage(playerid,COLOR_BRIGHTRED, "You will only be given your starting money once you have logged in!");
		welcome[playerid] = 0;
	}
    Spawned[playerid] = 1;
    return 1;
}
//============================Anti-Team kill Script=============================
public OnPlayerDeath(playerid, killerid, reason)
{	new name[MAX_PLAYER_NAME];
	new string[256];
	new deathreason[20];
	GameTextForPlayer(playerid,"~r~OWNED",10000,2);
	GetPlayerName(playerid, name, sizeof(name));
	GetWeaponName(reason, deathreason, 20);
    new pstring[256]; //player message
    
		if (killerid == INVALID_PLAYER_ID) {
			SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);

			if (reason == WEAPON_DROWN) {
			format(string, sizeof(string), "*** %s SANK LIKE A BRICK.", name);
		}
		else {
  			if (strlen(deathreason) > 0) {
				format(string, sizeof(string), "*** %s GOT OWNED. (%s)", name, deathreason);
			}
			else {
		 		format(string, sizeof(string), "*** %s GOT OWNED.", name);
			}
		}
		//SendClientMessageToAll(COLOR_RED, string);
    }
	else {
	new killer[MAX_PLAYER_NAME];
	GetPlayerName(killerid, killer, sizeof(killer));

		if (strlen(deathreason) > 0) {
			format(string, sizeof(string), "*** %s owned %s. (%s)", killer, name, deathreason);
		}
		else {
			format(string, sizeof(string), "*** %s owned %s.", killer, name);
		}
		if(gTeam[playerid] == gTeam[killerid]) {
			new warning[256];
			format(warning, sizeof(warning), "Be careful! You have killed your own teammate!");
			SendClientMessage(killerid, 0xFFFF00AA, warning);
			RemovePlayerFromVehicle(killerid);
			SetPlayerInterior(killerid,6);
			SetPlayerPos(killerid, 265.4426, 79.16441, 1001.039);
			ResetPlayerWeapons(killerid);
			GivePlayerMoney(killerid, -2500);
			SetPlayerScore(killerid, GetPlayerScore(killerid)-1);
		}
		else{
			SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
			GivePlayerMoney(killerid, 5000);
            new kstring[256]; //killer message
			new pname[MAX_PLAYER_NAME];   //player name
			GetPlayerName(playerid, pname, sizeof(pname));
			format(kstring, sizeof(kstring), "~b~Haha Ya 0wned %s",pname);
			GameTextForPlayer(killerid, kstring, 4000, 3);
			new kname[MAX_PLAYER_NAME];   //killername
			GetPlayerName(killerid, kname, sizeof(kname));
			format(pstring, sizeof(pstring), "~r~:( you got 0wned by %s",kname);
			GameTextForPlayer(playerid, pstring, 4000, 3);
		}
			//if(IsPlayerInAnyVehicle(killerid)){
 			//new string2[256];
 			//format(string2, sizeof(string2), "%s had to use his car to kill so he had his weapons removed!",killer);
 			//SendClientMessageToAll(COLOR_RED, string2);
			//ResetPlayerWeapons(killerid);
			SendDeathMessage(killerid,playerid,reason);
		//SendClientMessageToAll(COLOR_RED, string);
	}
 	return 1;
}
//===============================Random Functions===============================
public OnVehicleSpawn(vehicleid)
{
	printf("OnVehicleSpawn(%d)", vehicleid);
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    new filename[256];
	format(filename, sizeof(filename), "%d", vehicleid);
}
//=================================Score Update=================================
public scoreupdate()
{
	new CashScore;
	new name[MAX_PLAYER_NAME];
	//new string[256];
	for(new i=0; i<MAX_PLAYERS; i++)
	{
		if (IsPlayerConnected(i))
		{
			GetPlayerName(i, name, sizeof(name));
   			CashScore = GetPlayerMoney(i);
			SetPlayerScore(i, CashScore);
			if (CashScore > CashScoreOld)
			{
				CashScoreOld = CashScore;
			}
		}
	}
}
//=============================Player save system!==============================
public OnPlayerDisconnect(playerid)
{
	new playername[MAX_PLAYER_NAME];
	new string[256];
	if (dini_Exists(udb_encode(playername)) && logged[playerid] == 1)
	{
		dini_IntSet(udb_encode(playername), "money", GetPlayerMoney(playerid));
		dini_IntSet(udb_encode(playername), "bank", bank[playerid]);
		PlayerInterior[playerid] = GetPlayerInterior(playerid);
		if(PlayerInterior[playerid] == 0)
		{
			new Float:x, Float:y, Float:z;
			new Float:a;
			GetPlayerFacingAngle(playerid,a);
			dini_IntSet(udb_encode(playername), "a", floatround(a));
			GetPlayerPos(playerid,x,y,z);
			dini_IntSet(udb_encode(playername), "x", floatround(x));
			dini_IntSet(udb_encode(playername), "y", floatround(y));
			dini_IntSet(udb_encode(playername), "z", floatround(z));
		}
	}
	format(string, sizeof(string), "--- %s logged out.", playername);
	printf(string);
	logged[playerid] = 0;
	return 1;
}
//===================================Commands===================================
public OnPlayerCommandText(playerid, cmdtext[])
{
	new cmd[256],tmp[256];
	new idx;
	new string[256];
	new playername[MAX_PLAYER_NAME];
	new tmp2[256];
	new moneys[MAX_PLAYERS];
	new giveplayerid;
	new giveplayer[MAX_PLAYER_NAME];
	new sendername[MAX_PLAYER_NAME];
	new playermoney[MAX_PLAYERS];
	new level[MAX_PLAYERS];
	
	cmd = strtok(cmdtext, idx);
//---------------------------------Login System---------------------------------
	if(strcmp(cmd, "/login", true) == 0)
	{
		tmp = dini_Get(FILE_SETTINGS, "register");
		if (strval(tmp) == 0)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Registration is not allowed on this server!");
		    return 1;
		}
		if(Spawned[playerid] == 0)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You must spawn before you can use /login or /register");
		    return 1;
		}
		if(logged[playerid] == 1)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You are already Logged On");
		    return 1;
		}
	    tmp = strtok(cmdtext, idx);

 		GetPlayerName(playerid, playername, sizeof(playername));
	    if(!strlen(tmp))
		SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /login [password]");
		else
		{
			if (dini_Exists(udb_encode(playername)))
			{
				tmp2 = dini_Get(udb_encode(playername), "password");
  				if (udb_hash(tmp) != strval(tmp2)) {
				format(string, sizeof(string), "--- %s (id: %d) typed wrong password: %s.", playername, playerid, tmp);
				printf(string);
  				SendClientMessage(playerid, COLOR_BRIGHTRED, "Wrong password.");
				}
				else
				{
					logged[playerid] = 1;
					format(string, sizeof(string), "--- %s (id: %d) logged in. Password: %s.", playername, playerid, tmp);
					printf(string);
					new tmp4[256];
					new Float:x, Float:y, Float:z;
					new Float:a;
					x = dini_Int(udb_encode(playername), "x");
					y = dini_Int(udb_encode(playername), "y");
					z = dini_Int(udb_encode(playername), "z");
					a = dini_Int(udb_encode(playername), "a");
					carowned[playerid] = dini_Int(udb_encode(playername), "carowned");
					moneys[playerid] = dini_Int(udb_encode(playername), "money");
					if(moneys[playerid] < 10000)
					{
						ResetPlayerMoney(playerid);
						moneys[playerid] = 10000;
					}
     				GivePlayerMoney(playerid, moneys[playerid]);
					tmp4 = dini_Get(udb_encode(playername), "bank");
					PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(playername), "level");
					bank[playerid] = strval(tmp4);
					SetPlayerPos(playerid,x,y,z);
					SetPlayerFacingAngle(playerid,a);
					SendClientMessage(playerid, COLOR_GREEN, "You are now logged in and have been restored to your last known position.");
					SendClientMessage(playerid, COLOR_GREEN, "Money, bank and position will be Auto-Saved periodically and when you exit the game!");
				}
			}
			else
			{
			    format(string, sizeof(string), "%s no such account. Type /register [password] to create an account.", playername);
				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
		}
		return 1;
	}
//------------------------------Registration System-----------------------------
	if(strcmp(cmd, "/register", true) == 0)
	{
	    tmp = dini_Get(FILE_SETTINGS, "register");
		if (strval(tmp) == 0)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Registration is not allowed on this server!");
		    return 1;
		}
		if(Spawned[playerid] == 0)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You must spawn before you can use /login or /register");
		    return 1;
		}
		tmp = dini_Get(FILE_SETTINGS, "maxusers");
		tmp2 = dini_Get(FILE_TOTALSTAT, "users");
		if (strval(tmp2) >= strval(tmp))
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "User limit reached! You cannot register.");
		    return 1;
		}
	    tmp = strtok(cmdtext, idx);

 		GetPlayerName(playerid, playername, sizeof(playername));

        if(20 < strlen(tmp) || strlen(tmp) < 5)
		{
			SendClientMessage(playerid, COLOR_YELLOW, "Password length must be 5-20 symbols.");
			return 1;
		}

	    if(!strlen(tmp))
		SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /register [password]");
		else
		{
			if (!dini_Exists(udb_encode(playername)))
			{
				dini_Create(udb_encode(playername));
				dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
				tmp2 = dini_Get(FILE_SETTINGS, "defaultprotection");
				dini_IntSet(udb_encode(playername), "protection", strval(tmp2));
				new Float:x, Float:y, Float:z;
      			new Float:a;
				GetPlayerFacingAngle(playerid,a);
				dini_IntSet(udb_encode(playername), "a", floatround(a));
 				GetPlayerPos(playerid,x,y,z);
				dini_IntSet(udb_encode(playername), "x", floatround(x));
				dini_IntSet(udb_encode(playername), "y", floatround(y));
				dini_IntSet(udb_encode(playername), "z", floatround(z));
				new playername2[MAX_PLAYER_NAME];
				GetPlayerName(playerid, playername2, MAX_PLAYER_NAME);
				dini_Set(udb_encode(playername), "name", playername2);
    			dini_IntSet(udb_encode(playername), "carowned", 0);
    			dini_IntSet(udb_encode(playername2), "car", 0);
    			dini_IntSet(udb_encode(playername2), "level", 0);
                if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);
                tmp2 = dini_Get(FILE_TOTALSTAT, "users");
				dini_IntSet(FILE_TOTALSTAT, "users", strval(tmp2)+1);
				format(string, sizeof(string), "--- %s (id: %d) created account. Password: %s.", playername, playerid, tmp);
				printf(string);
				format(string, sizeof(string), "Account %s created! You can now login with the password: %s.", playername, tmp);
				SendClientMessage(playerid, COLOR_YELLOW, string);
			}
			else
			{
				format(string, sizeof(string), "%s already registered.", playername,tmp);
				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
		}
		return 1;
	}
//--------------------------------Change Password-------------------------------
	if(strcmp(cmd, "/setpass", true) == 0)
	{
        tmp = dini_Get(FILE_SETTINGS, "register");
		if (strval(tmp) == 0)
		{
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Register are not allowed on this server!");
		    return 1;
		}
	    tmp = strtok(cmdtext, idx);
 		GetPlayerName(playerid, playername, sizeof(playername));
		if(20 < strlen(tmp) || strlen(tmp) < 5)
		{
			SendClientMessage(playerid, COLOR_YELLOW, "Password length must be 5-20 symbols.");
			return 1;
		}

		if(!strlen(tmp))
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /setpass [password]");

		else {
			if (dini_Exists(udb_encode(playername))) {
			    if (logged[playerid] == 1) {
					dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
					format(string, sizeof(string), "--- %s (id: %d) changed his pass to %s.", playername, playerid, tmp);
					printf(string);
					format(string, sizeof(string), "Password changed to %s, remember it.", tmp);
					SendClientMessage(playerid, COLOR_YELLOW, string);
				}
				else SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to change your password.");
			}
			else {
			    format(string, sizeof(string), "%s no such account.", playername);
				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
		}

		return 1;
	}
//---------------------------------Bank System----------------------------------
	if(strcmp(cmd, "/bank", true) == 0) {
	    new gang;
	    if(strcmp(cmd, "/gbank", true) == 0)
	        gang = 1;

	    if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK && getCheckpointType(playerid) != CP_BANK_2 && getCheckpointType(playerid) != CP_BANK_3) {
	        SendClientMessage(playerid, COLOR_LIGHTBLUE, "You must be at a bank area to use this. ATMs are located in convenience stores.");
			return 1;
		}

		if(gang && playerGang[playerid]==0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not in a gang!");
			return 1;
		}

		new tmp8[256];
	    tmp8 = strtok(cmdtext, idx);

	    if(!strlen(tmp8)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /deposit [amount]");
			return 1;
	    }
	    moneys[playerid] = strval(tmp8);

	    if(moneys[playerid] < 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Hey what are you trying to pull here. You don't have the cash!!!");
			return 1;
		}

		if(GetPlayerMoney(playerid) < moneys[playerid]) {
			moneys[playerid] = GetPlayerMoney(playerid);
		}

		GivePlayerMoney(playerid, 0-moneys[playerid]);

		if(gang)
		    gangBank[playerGang[playerid]]+=moneys[playerid];
		else
			bank[playerid]+=moneys[playerid];

		if(gang)
			format(string, sizeof(string), "You have deposited $%d, your gang's balance is $%d.", moneys[playerid], gangBank[playerGang[playerid]]);
		else
			format(string, sizeof(string), "You have deposited $%d, your current balance is $%d.", moneys[playerid], bank[playerid]);

		SendClientMessage(playerid, COLOR_YELLOW, string);

		return 1;
	}
//------------------------------Withdraw from Bank------------------------------
	if(strcmp(cmd, "/withdraw", true) == 0)
	{
	    new gang;
	    if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK && getCheckpointType(playerid) != CP_BANK_2 && getCheckpointType(playerid) != CP_BANK_3)
		{
	        SendClientMessage(playerid, COLOR_LIGHTBLUE, "You must be at a bank area to use this. ATMs are located in convenience stores.");
			return 1;
		}
		if(strcmp(cmd, "/gwithdraw", true) == 0)
		    gang = 1;
		if(gang && playerGang[playerid]==0)
		{
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You are not in a gang!");
			return 1;
		}
	    new tmp9[256];
	    tmp9 = strtok(cmdtext, idx);
	    if(!strlen(tmp9))
		{
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /withdraw [amount]");
			return 1;
	    }
	    moneys[playerid] = strval(tmp9);
	    if(moneys[playerid] < 1)
		{
			SendClientMessage(playerid, COLOR_BRIGHTRED, "Hey what are you trying to pull here. You don't have the cash!!!");
			return 1;
		}
	    if(gang)
		{
			if(moneys[playerid] > gangBank[playerGang[playerid]])
			moneys[playerid] = gangBank[playerGang[playerid]];
	    } else
		{
		    if(moneys[playerid] > bank[playerid])
      		moneys[playerid] = bank[playerid];
     	}
		GivePlayerMoney(playerid, moneys[playerid]);
		if(gang)
		gangBank[playerGang[playerid]] -= moneys[playerid];
		else
		bank[playerid] -= moneys[playerid];
		if(gang)
		format(string, sizeof(string), "You have withdrawn $%d, your gang's balance is $%d.", moneys[playerid], gangBank[playerGang[playerid]]);
		else
		format(string, sizeof(string), "You have withdrawn $%d, your current balance is $%d.", moneys[playerid], bank[playerid]);
		SendClientMessage(playerid, COLOR_YELLOW, string);
		return 1;
   	}
//-----------------------------------Balance------------------------------------
	if(strcmp(cmd, "/balance", true) == 0)
	{
		if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK && getCheckpointType(playerid) != CP_BANK_2 && getCheckpointType(playerid) != CP_BANK_3)
		{
	        SendClientMessage(playerid, COLOR_LIGHTBLUE, "You must be at a bank area to use this. ATMs are located in convenience stores.");
			return 1;
		}
		format(string, sizeof(string), "You have $%d in the bank.", bank[playerid]);
		SendClientMessage(playerid, COLOR_YELLOW, string);
		return 1;
	}
//----------------------------------Give Cash-----------------------------------
	if(strcmp(cmd, "/givecash", true) == 0)
	{
      tmp = strtok(cmdtext, idx);
      if(!strlen(tmp))
	  {
         SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /givecash [playerid] [amount]");
         return 1;
      }
      giveplayerid = strval(tmp);
      tmp = strtok(cmdtext, idx);
      if(!strlen(tmp))
	  {
         SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /givecash [playerid] [amount]");
         return 1;
      }
       moneys[playerid] = strval(tmp);
      printf("givecash_command: %d %d",giveplayerid,moneys[playerid]);
      if (IsPlayerConnected(giveplayerid))
	  {
         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
         GetPlayerName(playerid, sendername, sizeof(sendername));
         playermoney[playerid] = GetPlayerMoney(playerid);
         if (moneys[playerid] > 0 && playermoney[playerid] >= moneys[playerid])
		 {
			GivePlayerMoney(playerid, (0 - moneys[playerid]));
            GivePlayerMoney(giveplayerid, moneys[playerid]);
            format(string, sizeof(string), "You have sent %s (id: %d), $%d.", giveplayer,giveplayerid, moneys[playerid]);
            SendClientMessage(playerid, COLOR_YELLOW, string);
            format(string, sizeof(string), "You have recieved $%d from %s (id: %d).", moneys[playerid], sendername, playerid);
            SendClientMessage(giveplayerid, COLOR_YELLOW, string);
            printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys[playerid], giveplayer, giveplayerid);
         }
         else
		 {
            SendClientMessage(playerid, COLOR_YELLOW, "Invalid transaction amount.");
         }
      }
      else
	  {
            format(string, sizeof(string), "%d is not an active player.", giveplayerid);
            SendClientMessage(playerid, COLOR_YELLOW, string);
         }
      return 1;
   }
//--------------------------------Set Admin-------------------------------------
if(strcmp(cmd, "/asetadmin", 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");
      if(!strlen(tmp)) {
         SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /asetadmin [playerid] [level] -=(0 = no admin/1 = min admin/2 = full admin)=-");
         return 1;
      }
      tmp = strtok(cmdtext, idx);
      if(!strlen(tmp)) {
         SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /asetadmin [playerid] [level] -=(0 = no admin/1 = min admin/2 = full admin)=-");
         return 1;
      }
      if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command!");
			return 1;
		}
      level[playerid] = strval(tmp);
      if(level[playerid] < 0) {
            SendClientMessage(giveplayerid, COLOR_BRIGHTRED, "Invalid Admin Level -=(0 = no admin/1 = min admin/2 = full admin)=-");
            return 1;
      }
      if(level[playerid] > 2) {
            SendClientMessage(giveplayerid, COLOR_BRIGHTRED, "Invalid Admin Level -=(0 = no admin/1 = min admin/2 = full admin)=-");
            return 1;
      }
      if(level[playerid] == PlayerInfo[giveplayerid][pAdmin]) {
            format(string, sizeof(string), "That player already has level %d admin privelages.", level[playerid]);
            SendClientMessage(giveplayerid, COLOR_BRIGHTRED, string);
            return 1;
      }
      if (IsPlayerConnected(giveplayerid)) {
         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
         GetPlayerName(playerid, sendername, sizeof(sendername));
         PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
         if (PlayerInfo[playerid][pAdmin] == 2) {
            dini_IntSet(udb_encode(giveplayer), "level", level[playerid]);
            format(string, sizeof(string), "Admin/Moderator %s (id: %d), gave %s (id: %d) level %d admin powers.",sendername,playerid,giveplayer,giveplayerid,level[playerid]);
            SendClientMessageToAll(COLOR_ORANGE, string);
            format(string, sizeof(string), "You have given %s (id: %d), level %d admin powers.", giveplayer,giveplayerid, level[playerid]);
            SendClientMessage(playerid, COLOR_ORANGE, string);
            format(string, sizeof(string), "You were made a level %d admin by Admin/Moderator %s (id: %d).", level[playerid], sendername, playerid);
            SendClientMessage(giveplayerid, COLOR_ORANGE, string);
         }
         else {
            SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use this command!");
         }
      }
      else {
            format(string, sizeof(string), "%d is not an active player.", giveplayerid);
            SendClientMessage(playerid, COLOR_BRIGHTRED, string);
         }
      return 1;
   }
//-------------------------------Admin Tele-------------------------------------
if(strcmp(cmd, "/atele", 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(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use that command!");
		    return 1;
		}
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /atele [teleportee id] [destination id]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /atele [teleportee id] [destination id]");
			return 1;
		}
 		teleid = strval(tmp);

		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), "Admin/Moderator %s (id: %d) teleported %s (id: %d) to %s (id: %d)", sendername,playerid,giveplayer,giveplayerid,telename,teleid);
			SendClientMessageToAll(COLOR_ORANGE, string);
			format(string, sizeof(string), "You teleported %s (id: %d) to %s (id: %d).", giveplayer,giveplayerid,telename,teleid);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "You have been teleported to %s (id: %d) by Admin/Moderator %s (id: %d).", telename,teleid,sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_ORANGE, string);
		}
		if (!IsPlayerConnected(giveplayerid)) {
			format(string, sizeof(string), "%d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}
		if (!IsPlayerConnected(teleid)) {
			format(string, sizeof(string), "%d is not an active player.", teleid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}

		return 1;
	}
//--------------------------------Admin Ban-------------------------------------
if(strcmp(cmd, "/aban", 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");
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /aban [playerid]");
			return 1;
		}
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 2) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use that command!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pAdmin] > 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You cannot ban a fellow admin or moderator!");
		    return 1;
		}

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) banned %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_BRIGHTRED,string);
			format(string, sizeof(string), "%s (id: %d) has been banned.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_GREEN, string);
			format(string, sizeof(string), "You were banned by Admin/Moderator %s (id: %d).", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_BRIGHTRED, string);
			Ban(giveplayerid);
		}
		else {
			format(string, sizeof(string), "%d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}
		return 1;
	}
//-----------------------------------Count Down---------------------------------
	if(strcmp(cmd, "/count", true) == 0) {
	    new seconds;
		tmp = strtok(cmdtext, idx);
		seconds = strval(tmp);
		if (!seconds)
        	SendClientMessage(playerid, COLOR_BRIGHTRED, "You must enter a duration in seconds.");

    	else if (cseconds)
        	SendClientMessage(playerid, COLOR_BRIGHTRED, "A countdown is already running.");

    	else
    	{
        	format(cstring,40,"You started a countdown of %d seconds.",seconds);
        	SendClientMessage(playerid,COLOR_LIGHTBLUE, cstring);
        	cseconds = seconds+1;
        	Count[playerid] = 1;
    	}
    	return 1;
	}
//--------------------------------Admin Kick------------------------------------
if(strcmp(cmd, "/akick", 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");
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /akick [playerid]");
			return 1;
		}
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use that command!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pAdmin] > 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You cannot kick a fellow admin or moderator!");
		    return 1;
		}

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) kicked %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_BRIGHTRED,string);
			format(string, sizeof(string), "%s (id: %d) has been kicked.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_GREEN, string);
			format(string, sizeof(string), "You were kicked by Admin/Moderator %s (id: %d).", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_BRIGHTRED, string);
			Kick(giveplayerid);
		}
		else {
			format(string, sizeof(string), "%d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}
		return 1;
	}
//--------------------------------Admin Jail------------------------------------
if(strcmp(cmd, "/ajail", 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");
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /ajail [playerid]");
			return 1;
		}
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use that command!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pJailedby] == 1) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "That player is already in jail!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pAdmin] > 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You cannot jail a fellow admin or moderator!");
		    return 1;
		}

		if (IsPlayerConnected(giveplayerid)) {
		    PlayerInfo[giveplayerid][pJailedby] = 1;
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			SetPlayerInterior(giveplayerid,6);
			TogglePlayerControllable(giveplayerid,0);
			SetPlayerPos(giveplayerid,265.1273,77.6823,1001.0391);
			SetPlayerFacingAngle(playerid,271.3259);
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) jailed %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_ORANGE,string);
			format(string, sizeof(string), "%s (id: %d) has been jailed.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "You were jailed by Admin/Moderator %s (id: %d).", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_ORANGE, string);
		}
		else {
			format(string, sizeof(string), "%d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}
		return 1;
	}
//-------------------------------Admin UnJail-----------------------------------
if(strcmp(cmd, "/aunjail", 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");
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /aunjail [playerid]");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use that command!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pJailedby] == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "That player is not in jail!");
		    return 1;
		}
		if (IsPlayerConnected(giveplayerid)) {
  			if(IsPlayerConnected(giveplayerid)) {
  		    	PlayerInfo[giveplayerid][pJailedby] = 0;
  				GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
				GetPlayerName(playerid, sendername, sizeof(sendername));
				SetPlayerInterior(giveplayerid,0);
				TogglePlayerControllable(giveplayerid,1);
				SetPlayerPos(giveplayerid,2283.2024,2424.1245,10.8203);
				format(string, sizeof(string), "Admin/Moderator %s (id: %d) released %s (id: %d) from jail.", sendername,playerid,giveplayer,giveplayerid);
				SendClientMessageToAll(COLOR_ORANGE, string);
				format(string, sizeof(string), "%s (id: %d) has been released from jail.", giveplayer,giveplayerid);
				SendClientMessage(playerid, COLOR_ORANGE, string);
				format(string, sizeof(string), "You were released from jail by Admin/Moderator %s (id: %d).", sendername,playerid);
				SendClientMessage(giveplayerid, COLOR_ORANGE, string);
			}
			else {
				format(string, sizeof(string), "%d is not an active player.", giveplayerid);
				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
	   	}
		return 1;
	}
//-------------------------------Admin Freeze-----------------------------------
if(strcmp(cmd, "/afreeze", 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");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use that command!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pAdmin] > 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You cannot freeze a fellow admin or moderator!");
		    return 1;
		}
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /afreeze [playerid]");
			return 1;
		}

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			TogglePlayerControllable(giveplayerid, 0);
			frozen[playerid] = 1;
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) froze %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_ORANGE, string);
			format(string, sizeof(string), "%s (id: %d) has been frozen.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "You were frozen by Admin/Moderator %s (id: %d).", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_ORANGE, string);
		}
		else {
			format(string, sizeof(string), "%d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}

		return 1;
	}
//------------------------------Admin UnFreeze----------------------------------
if(strcmp(cmd, "/aunfreeze", 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");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use that command!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pAdmin] > 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You cannot freeze a fellow admin or moderator!");
		    return 1;
		}
		if(frozen[playerid] == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "That player has not been frozen!");
		    return 1;
		}
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /aunfreeze [playerid]");
			return 1;
		}

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			TogglePlayerControllable(giveplayerid, 1);
			frozen[playerid] = 0;
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) unfroze %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_ORANGE, string);
			format(string, sizeof(string), "%s (id: %d) has been unfrozen.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "You were unfrozen by Admin/Moderator %s (id: %d).", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_ORANGE, string);
		}
		else {
			format(string, sizeof(string), "%d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}

		return 1;
	}
//----------------------------Admin Give Money----------------------------------
if(strcmp(cmd, "/agivemoney", true) == 0) {
		tmp = strtok(cmdtext, idx);
		giveplayerid = strval(tmp);
		GetPlayerName(playerid, sendername, sizeof(sendername));
        PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use that command!");
		    return 1;
		}
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /agivemoney [playerid] [amount]");
			return 1;
		}
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /agivemoney [playerid] [amount]");
			return 1;
		}
 		moneys[playerid] = strval(tmp);
		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			GetPlayerMoney(playerid);
			GivePlayerMoney(giveplayerid, moneys[playerid]);
			format(string, sizeof(string), "You have given $%d to %s (id: %d).",moneys[playerid],giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "You have been given $%d from Admin/Moderator %s (id: %d).", moneys[playerid], sendername, playerid);
			SendClientMessage(giveplayerid, COLOR_ORANGE, string);
		}
		else {
			format(string, sizeof(string), "%d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}

		return 1;
	}
//------------------------------Admin Disarm------------------------------------
if(strcmp(cmd, "/adisarm", 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");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use that command!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pAdmin] > 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You cannot disarm a fellow admin or moderator!");
		    return 1;
		}
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /adisarm [playerid]");
			return 1;
		}

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			ResetPlayerWeapons(giveplayerid);
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) has disarmed %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_ORANGE, string);
			format(string, sizeof(string), "You have disarmed %s (id: %d).", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) disarmed you.", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_ORANGE, string);
		}
		else {
			format(string, sizeof(string), "%d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}

		return 1;
	}
//------------------------------Admin Announce----------------------------------
if(strcmp(cmd, "/aannounce", 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");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command!");
			return 1;
		}
		PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
		if(PlayerInfo[playerid][pAdmin] == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use that command!");
		    return 1;
		}
 		if (!strlen(tmp))
  		{
  			SendClientMessage(playerid, COLOR_LIGHTBLUE, "Usage: /aannounce [message]");
    		return 1;
      	}
      	if (2 < strlen(tmp) && strlen(tmp) < 31)
   		{
  			format(string, sizeof(string), "~w~%s", tmp);
			GameTextForAll(string, 5000, 3);
			for(new i=0;i<MAX_PLAYERS;i++) {
				if(IsPlayerConnected(i)) {
		    		aMessage[i] = 1;
		    		SetTimer("announcer",5000,0);
				}
			}
		}
 		else
  		{
			if (strlen(tmp) < 2)
			{
 				format(string, sizeof(string), "- %s - is too short!", tmp);
   				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
			if (strlen(tmp) == 2)
			{
            	format(string, sizeof(string), "- %s - is too short!", tmp);
           		SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
			if (strlen(tmp) > 31)
			{
           		format(string, sizeof(string), "- %s - is too long!", tmp);
           		SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
			if (strlen(tmp) == 31)
			{
				format(string, sizeof(string), "- %s - is too long!", tmp);
  				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			}
		}
        return 1;
	}
//------------------------------Admin Murder------------------------------------
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");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use that command!");
		    return 1;
		}
		if(PlayerInfo[giveplayerid][pAdmin] > 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You cannot murder a fellow admin or moderator!");
		    return 1;
		}
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "USAGE: /akill [playerid]");
			return 1;
		}

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			SetPlayerHealth(giveplayerid, -999);
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) murdered %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_ORANGE, string);
			format(string, sizeof(string), "You have murdered %s (id: %d).", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			format(string, sizeof(string), "Admin/Moderator %s (id: %d) murdered you.", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_ORANGE, string);
			return 1;
		}
		else {
			format(string, sizeof(string), "%d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			return 1;
		}

		return 1;
	}
//---------------------------------Buy Car--------------------------------------
	if(strcmp(cmd, "/buycar", true) == 0) {
	    new filename[256];
	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
    	cartemp[playerid] = dini_Int(udb_encode(playername), "carowned");
    	format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		tmp = dini_Get(filename, "owner");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be registered and logged in to purchase a vehicle!");
			return 1;
		}
		if(passenger[playerid] == 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in the drivers' seat to purchase a vehicle!");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid) == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be driving a vehicle to purchase one!");
			return 1;
		}
		if (strcmp(tmp,playername,false) == 0) {
				format(string, sizeof(string), "You already own this car, %s", playername);
				SendClientMessage(playerid, COLOR_BRIGHTRED, string);
				return 1;
			}
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		bought[playerid] = dini_Int(filename, "bought");
		if(cartemp[playerid] == 0 && bought[playerid] == 1) {
			format(string, sizeof(string), "This car is owned by %s, and is not for sale!", tmp);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			return 1;
		}
		if(cartemp[playerid] > 0) {
  			SendClientMessage(playerid, COLOR_BRIGHTRED, "You can only own ONE vehicle at a time! You must sell your other vehicle first!");
     		return 1;
		}
		if(logged[playerid] == 1) {
			new cash[MAX_PLAYERS];
			cash[playerid] = GetPlayerMoney(playerid);
			if(cash[playerid] >= carcost[playerid]) {
			    new stringa[256];
	   	 		format(stringa, sizeof(stringa), "-%d", carcost[playerid]);
				GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
				format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
				dini_Set(filename, "owner", playername);
				dini_Set(udb_encode(playername), "carowned", filename);
				dini_IntSet(filename, "bought", 1);
				dini_Set(udb_encode(playername), "car", "1");
				GivePlayerMoney(playerid, -carcost[playerid]);
				ignition[playerid] = 1;
				new string5[256];
				format(string5, sizeof(string5), "You just bought this vehicle for $%d, drive carefully!", carcost[playerid]);
				SendClientMessage(playerid, COLOR_GREEN, string5);
				return 1;
			}
			if(cash[playerid] < carcost[playerid]) {
			    new string6[256];
				format(string6, sizeof(string6), "You do not have $%d and cannot afford this vehicle!", carcost[playerid]);
				SendClientMessage(playerid, COLOR_BRIGHTRED, string6);
				return 1;
			}
		}
		return 1;
	}
//-----------------------------------Sell Car-----------------------------------
	if(strcmp(cmd, "/sellcar", true) == 0) {
		new var1[256];
		new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
   	    var1 = dini_Get(filename, "owner");
   	    tmp[playerid] = GetPlayerVehicleID(playerid);
   	    if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be registered and logged in to sell a vehicle!");
			return 1;
		}
		if(passenger[playerid] == 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in the drivers' seat of your vehicle to sell it!");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid) == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must in a vehicle in order to sell it!");
			return 1;
		}
   	    if (strcmp(var1,playername,false) == 0) {
   	        GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
   	    	format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
			dini_Set(filename, "owner", "server");
			dini_IntSet(udb_encode(playername), "carowned", 0);
			dini_IntSet(filename, "bought", 0);
			dini_IntSet(filename, "secure", 0);
			dini_IntSet(udb_encode(playername), "car", 0);
			GivePlayerMoney(playerid, carcost[playerid]);
			RemovePlayerFromVehicle(playerid);
			SetVehicleToRespawn(tmp[playerid]);
			format(string, sizeof(string), "You just sold your vehicle for $%d, enjoy the walk!!", carcost[playerid]);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			return 1;
  		}
  		else {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "What are you trying to pull here, you don't own the vehicle!!!");
			return 1;
		}
	}
//-----------------------------------Lock Car-----------------------------------
	if (strcmp(cmdtext, "/lock", true)==0)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			new State=GetPlayerState(playerid);
			if(State!=PLAYER_STATE_DRIVER)
			{
				SendClientMessage(playerid,COLOR_YELLOW,"You need to be in the drivers seat.");
				return 1;
			}
			new i;
			for(i=0;i<MAX_PLAYERS;i++)
			{
				if(i != playerid)
				{
					SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
				}
			}
			SendClientMessage(playerid, COLOR_YELLOW, "Your car is now locked!");
			new Float:pX, Float:pY, Float:pZ;
			GetPlayerPos(playerid,pX,pY,pZ);
			PlayerPlaySound(playerid,1056,pX,pY,pZ);
		}
		else
		{
			SendClientMessage(playerid, COLOR_YELLOW, "You are not in a vehicle.");
		}
		return 1;
	}
//----------------------------------Unlock Car----------------------------------
	if (strcmp(cmdtext, "/unlock", true)==0)
	{
		if(IsPlayerInAnyVehicle(playerid))
		{
			new State=GetPlayerState(playerid);
			if(State!=PLAYER_STATE_DRIVER)
			{
				SendClientMessage(playerid,COLOR_YELLOW, "You need to be in the drivers seat.");
				return 1;
			}
			new i;
			for(i=0;i<MAX_PLAYERS;i++)
			{
				SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 0);
			}
			SendClientMessage(playerid, COLOR_YELLOW, "Your vehicle is now unlocked.");
			new Float:pX, Float:pY, Float:pZ;
			GetPlayerPos(playerid,pX,pY,pZ);
			PlayerPlaySound(playerid,1057,pX,pY,pZ);
		}
		else
		{
			SendClientMessage(playerid, COLOR_YELLOW, "You are not in a vehicle.");
		}
		return 1;
	}
//---------------------------Secure Car [Non Leathal]---------------------------
	if (strcmp(cmdtext, "/securekick", true)==0) {
		new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		new val1[256];
		GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
		val1 = dini_Get(filename, "owner");
		if(IsPlayerInAnyVehicle(playerid)) {
            if (strcmp(val1,playername,false) == 0) {
				dini_IntSet(filename, "secure", 1);
				SendClientMessage(playerid, COLOR_BRIGHTRED, "You have set your vehicle as secure, no other player");
				SendClientMessage(playerid, COLOR_BRIGHTRED, "will be able to use it even when you are offline.");
				return 1;
			}
			else {
				SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not own this vehicle and cannot secure it!");
				return 1;
			}
		}
		else {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "You must be in a vehicle to use this command");
			return 1;
		}
		return 1;
	}
//------------------------Admin Secure Car [Non Leathal]------------------------
	if (strcmp(cmdtext, "/asecurekick", true)==0) {
		new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		if (PlayerInfo[playerid][pAdmin] > 0) {
			if(IsPlayerInAnyVehicle(playerid)) {
				dini_IntSet(filename, "asecure", 1);
				SendClientMessage(playerid, COLOR_AQUA, "You have set this vehicle as secured for admins. Nobody");
				SendClientMessage(playerid, COLOR_AQUA, "except admins will be able to use it even when you are offline.");
				return 1;
			}
			else {
				SendClientMessage(playerid, COLOR_LIGHTBLUE, "You must be in a vehicle to use this command");
				return 1;
			}
		}
		else {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use this command!");
			return 1;
		}
		return 1;
	}
//--------------------------Admin Secure car [Leathal]--------------------------
	if (strcmp(cmdtext, "/asecurekill", true)==0) {
		new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		if(IsPlayerInAnyVehicle(playerid)) {
            if (PlayerInfo[playerid][pAdmin] > 0) {
				dini_IntSet(filename, "asecure", 2);
				SendClientMessage(playerid, COLOR_AQUA, "You have set this vehicle as secured for admins with lethal protection. Nobody");
				SendClientMessage(playerid, COLOR_AQUA, "except admins will be able to use it. If somebody tries they will be instantly killed!");
				return 1;
			}
			else {
				SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use this command!");
				return 1;
			}
		}
		else {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "You must be in a vehicle to use this command");
			return 1;
		}
		return 1;
	}
//---------------------------------Admin Unsecure-------------------------------
	if (strcmp(cmdtext, "/aunsecure", true)==0) {
		new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		if(IsPlayerInAnyVehicle(playerid)) {
            if (PlayerInfo[playerid][pAdmin] > 0) {
				dini_IntSet(filename, "asecure", 0);
				SendClientMessage(playerid, COLOR_AQUA, "You have set this vehicle as unsecured for admins. everybody");
				SendClientMessage(playerid, COLOR_AQUA, "now has access to this vehicle.");
				return 1;
			}
			else {
				SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use this command!");
				return 1;
			}
		}
		else {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "You must be in a vehicle to use this command");
			return 1;
		}
		return 1;
	}
//------------------------------------UnSecure----------------------------------
    if (strcmp(cmdtext, "/unsecure", true)==0) {
        new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		new val1[256];
		GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
		val1 = dini_Get(filename, "owner");
		if(IsPlayerInAnyVehicle(playerid)) {
            if (strcmp(val1,playername,false) == 0) {
				dini_IntSet(filename, "secure", 0);
				SendClientMessage(playerid, COLOR_BRIGHTRED, "You have set your vehicle as unsecure, all other players");
				SendClientMessage(playerid, COLOR_BRIGHTRED, "are now able to use your vehicle!");
				return 1;
			}
			else {
			    SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not own this vehicle and cannot secure it!");
				return 1;
			}
		}
		else {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "You must be in a vehicle to use this command");
			return 1;
		}
		return 1;
	}
//-----------------------------Serure Car [Leathal]-----------------------------
if (strcmp(cmdtext, "/securekill", true)==0) {
		new filename[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		new val1[256];
		GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
		val1 = dini_Get(filename, "owner");
		if(IsPlayerInAnyVehicle(playerid)) {
            if (strcmp(val1,playername,false) == 0) {
				dini_IntSet(filename, "secure", 2);
				SendClientMessage(playerid, COLOR_BRIGHTRED, "You have set your vehicle to kill anyone who attempts to enter it. This will");
				SendClientMessage(playerid, COLOR_BRIGHTRED, "remain active even when you are offline!");
				return 1;
			}
			else {
				SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not own this vehicle and cannot secure it!");
				return 1;
			}
		}
		else {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "You must be in a vehicle to use this command");
			return 1;
		}
		return 1;
	}
//------------------------------Teleport to Bank--------------------------------
	if(strcmp(cmdtext, "/telebank", true) == 0)
	{
		{
			SetPlayerInterior(playerid,6);
			{
				SetPlayerPos(playerid,-27.7789,-54.9291,1003.5469);
			}
			GameTextForPlayer(playerid,"The Bank!",2500,3);
		}
		return 1;
	}
//-------------------------------------Help-------------------------------------
	if(strcmp(cmd, "/help", true) == 0)
	{
		SendClientMessage(playerid, COLOR_LIGHTBLUE, "[CBK]$$$PiMp's SFTDM Reloaded Script and Car Ownership Script - By -=tAxI=-");
		SendClientMessage(playerid, COLOR_YELLOW, "You must register and login before you can play properly:");
		SendClientMessage(playerid, COLOR_YELLOW, "you can use the /register and /login commands once you have spawned.");
		SendClientMessage(playerid, COLOR_YELLOW, "For PROPERTY help please type /prophelp.");
		SendClientMessage(playerid, COLOR_YELLOW, "For BANK commands please type /bankhelp.");
		SendClientMessage(playerid, COLOR_YELLOW, "For TELEPORT commands please type /telehelp");
		SendClientMessage(playerid, COLOR_YELLOW, "For VEHICLE commands, please type /vehiclehelp.");
		SendClientMessage(playerid, COLOR_YELLOW, "For ADMIN commands, please type /adminhelp.");
		SendClientMessage(playerid, COLOR_YELLOW, "For GENERAL commands, please type /commands.");
		SendClientMessage(playerid, COLOR_ORANGE, "All your stats are saved permanently, including your own car!!!");
		return 1;
	}
//---------------------------------Property Help--------------------------------
	if(strcmp(cmd, "/prophelp", true) == 0)
	{
		SendClientMessage(playerid, COLOR_LIGHTBLUE, "---------- Property System Help ----------");
		SendClientMessage(playerid, COLOR_YELLOW, "Properties checkpoints are located around LV (currently only 1 in 4 dragons)!");
		SendClientMessage(playerid, COLOR_YELLOW, "More properties coming soon or you can add your own. Houselock and interiors also coming soon");
		SendClientMessage(playerid, COLOR_YELLOW, "Buy a property (must be in propery checkpoint) - /buyprop");
		SendClientMessage(playerid, COLOR_YELLOW, "Sell a property (must be in propery checkpoint) - /sellprop");
		return 1;
	}
//-----------------------------------Bank Help----------------------------------
	if(strcmp(cmd, "/bankhelp", true) == 0)
	{
		SendClientMessage(playerid, COLOR_LIGHTBLUE, "----------Bank Help----------");
		SendClientMessage(playerid, COLOR_YELLOW, "You must be in a ATM area (located in the 24/7 shops):");
		SendClientMessage(playerid, COLOR_YELLOW, "Teleport to Bank - /telebank");
		SendClientMessage(playerid, COLOR_YELLOW, "Deposit Amount - /bank [amount]");
		SendClientMessage(playerid, COLOR_YELLOW, "Withdraw Amount - /withdraw [amount]");
		SendClientMessage(playerid, COLOR_YELLOW, "Check Balance - /balance");
		SendClientMessage(playerid, COLOR_YELLOW, "Give Cash - /givecash [recipient id] [amount] - sends a specified amount of money to the specified player id");
		SendClientMessage(playerid, COLOR_ORANGE, "Bank will not be reset when you die or reconnect.");
		return 1;
	}
//---------------------------------Vehicle Help---------------------------------
    if(strcmp(cmd, "/vehiclehelp", true) == 0)
	{
		SendClientMessage(playerid, COLOR_LIGHTBLUE, "---------- Vehicle Help ----------");
		SendClientMessage(playerid, COLOR_YELLOW, "You must be in a Car to use these commands (except /callcar obviously):");
		SendClientMessage(playerid, COLOR_YELLOW, "Buy/Sell Vehicle - /buycar or /sellcar");
		SendClientMessage(playerid, COLOR_YELLOW, "Toggle speedometer on/off - /speedo");
		SendClientMessage(playerid, COLOR_YELLOW, "Lock/Unlock Vehicle - /lock or /unlock - Only applys as long as you are in server, and can be used on any vehicle.");
		SendClientMessage(playerid, COLOR_YELLOW, "Activate/Deactivate Vehicle security (NON-LETHAL) - /securekick or /unsecure - Applys to only your owned vehicle even when you are offline.");
		SendClientMessage(playerid, COLOR_YELLOW, "Activate/Deactivate Vehicle security (LETHAL) - /securekill or /unsecure - Applys to only your owned vehicle even when you are offline.");
		SendClientMessage(playerid, COLOR_YELLOW, "Teleport Vehicle To You - /callcar - Applys to only your owned vehicle, will kick out anyone using your vehicle before teleporting it to you.");
		return 1;
	}
//--------------------------------Commands list---------------------------------
	if (strcmp(cmdtext, "/commands", true)==0)
	{
		SendClientMessage(playerid, COLOR_LIGHTBLUE,".:SFTDM Reloaded Commands:.");
		SendClientMessage(playerid, COLOR_YELLOW,"RULES: /rules for rules!!");
		SendClientMessage(playerid, COLOR_YELLOW,"Registration: /Register <PASSWORD> and /login <PASSWORD>");
		SendClientMessage(playerid, COLOR_YELLOW,"HELP: /help");
		SendClientMessage(playerid, COLOR_YELLOW, "You can use the /register and /login commands once you have spawned and /setpass to change your password.");
		SendClientMessage(playerid, COLOR_YELLOW, "To see what admins are online type /admins");
		SendClientMessage(playerid, COLOR_YELLOW, "To start a countdown type /count [time]");
		SendClientMessage(playerid, COLOR_YELLOW, "To slap another player type /slap [player id] [object]");
		SendClientMessage(playerid, COLOR_YELLOW, "Clear Chat - /clear");
		SendClientMessage(playerid, COLOR_YELLOW, "Team Chat - /t [message]");
		return 1;
	}
//---------------------------------Admin Help-----------------------------------
	if(strcmp(cmd, "/adminhelp", true) == 0) {
		SendClientMessage(playerid, COLOR_LIGHTBLUE, "---------- Admin Help ----------");
		SendClientMessage(playerid, COLOR_YELLOW, "There are 2 levels of admin:");
		SendClientMessage(playerid, COLOR_ORANGE, "Level 1 admin help - /ahelp1");
		SendClientMessage(playerid, COLOR_ORANGE, "Level 2 admin help - /ahelp2");
		return 1;
	}
//------------------------------Admin lvl 1 Help--------------------------------
if(strcmp(cmd, "/ahelp1", true) == 0) {
		SendClientMessage(playerid, COLOR_LIGHTBLUE, "---------- Admin Help (level 1) ----------");
		SendClientMessage(playerid, COLOR_YELLOW, "Use Admin Chat - /achat [message]");
		SendClientMessage(playerid, COLOR_YELLOW, "Jail or Unjail a player - /ajail [player id] or /aunjail [player id]");
		SendClientMessage(playerid, COLOR_YELLOW, "Teleport anyone to any other person - /tele [teleportee id] [destination id]");
		SendClientMessage(playerid, COLOR_YELLOW, "Kick a player - /akick [player id]");
		SendClientMessage(playerid, COLOR_YELLOW, "Disarm a player - /adisarm [player id]");
		SendClientMessage(playerid, COLOR_YELLOW, "Murder a player - /akill [player id]");
		SendClientMessage(playerid, COLOR_YELLOW, "Make an announcement - /aannounce [message]");
		SendClientMessage(playerid, COLOR_YELLOW, "Give player money - /agivemoney [player id] [amount]");
		SendClientMessage(playerid, COLOR_YELLOW, "Freeze or Unfreeze a player - /afreeze [player id] or /aunfreeze [player id]");
		SendClientMessage(playerid, COLOR_YELLOW, "Clear Chat for All - /clearall");
		return 1;
	}
//-------------------------------Admin lvl 2 Help-------------------------------
if(strcmp(cmd, "/ahelp2", true) == 0) {
		SendClientMessage(playerid, COLOR_LIGHTBLUE, "---------- Admin Help (level 2) ----------");
		SendClientMessage(playerid, COLOR_YELLOW, "Use Admin Chat - /aachat [message]");
		SendClientMessage(playerid, COLOR_YELLOW, "Jail or Unjail a player - /ajail [player id] or /aunjail [player id]");
		SendClientMessage(playerid, COLOR_YELLOW, "Teleport anyone to any other person - /atele [teleportee id] [destination id]");
		SendClientMessage(playerid, COLOR_YELLOW, "Kick a player - /akick [player id]");
		SendClientMessage(playerid, COLOR_YELLOW, "Ban a player - /aban [player id]");
		SendClientMessage(playerid, COLOR_YELLOW, "Disarm a player - /adisarm [player id]");
		SendClientMessage(playerid, COLOR_YELLOW, "Murder a player - /akill [player id]");
		SendClientMessage(playerid, COLOR_YELLOW, "Make an announcement - /aannounce [message]");
		SendClientMessage(playerid, COLOR_YELLOW, "Give player money - /agivemoney [player id] [amount]");
		SendClientMessage(playerid, COLOR_YELLOW, "Freeze or Unfreeze a player - /afreeze [player id] or /aunfreeze [player id]");
		SendClientMessage(playerid, COLOR_YELLOW, "Set player admin level - /asetadmin [player id] [admin level] :: (0 - no admin/1 - mod/2 - full admin)");
		SendClientMessage(playerid, COLOR_YELLOW, "Clear Chat for All - /clearall");
		return 1;
	}
//--------------------------------Teleport Help---------------------------------
	if (strcmp(cmdtext, "/Telehelp", true)==0)
	{
		SendClientMessage(playerid,COLOR_SYSTEM,".:SFTDM Reloaded Teleports:.");
		SendClientMessage(playerid,COLOR_SYSTEM,"/sp will save your position");
		SendClientMessage(playerid,COLOR_SYSTEM,"/lp will teleport you to the position you saveed");
		SendClientMessage(playerid,COLOR_SYSTEM,"/telebank will teleport you to the bank");
		return 1;
	}
//-----------------------------------Save pos-----------------------------------
	if (strcmp(cmdtext, "/sp", true)==0)
	{
		GetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]); // save x,y and z for this player.
		GetPlayerFacingAngle(playerid,Pos[playerid][3]); // save the facing angle for this player.
		SendClientMessage(playerid,RED,"Position saved!"); // send him a red message.
		return 1;
	}
//-----------------------------------Load pos-----------------------------------
	else if (strcmp(cmdtext, "/lp", true)==0)
	{
		SetPlayerPos(playerid,Pos[playerid][0],Pos[playerid][1],Pos[playerid][2]); // set his saved position x,y and z.
		SetPlayerFacingAngle(playerid,Pos[playerid][3]); // set his saved facing angle.
		SetCameraBehindPlayer(playerid); // set the camera..behind the player (looks better).
		SendClientMessage(playerid,RED,"You teleported!"); // send him a red message.
	   	return 1;
	}
//-------------------------------------Rules------------------------------------
	if (strcmp(cmdtext, "/rules", true)== 0)
	{
		SendClientMessage(playerid, 0x33AA33AA, ".:[SFTDM Reloaded™].:.[Rules and Regulations]:.");
		SendClientMessage(playerid, 0x33AA33AA, "NO CHEATING OR USING HACKS!! Or You will GET BANNED");
		SendClientMessage(playerid, 0x33AA33AA, "No Flaming or Abuse!!!");
		SendClientMessage(playerid, 0x33AA33AA, "No Spawn Killing or Team killing!!");
		SendClientMessage(playerid, 0x33AA33AA, "No Car Jacking!! Respect other peoples rides, Get your Own!!");
		return 1;
	}
//-------------------------------Admin Clear Chat-------------------------------
	if (strcmp(cmdtext, "/clearall", true)==0) {
		if (PlayerInfo[playerid][pAdmin] > 0)
		{
			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, " ");

			return 1;
		}
	}
//-------------------------------Player Clear Chat------------------------------
	if (strcmp(cmdtext, "/clear", true)==0) {
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		SendClientMessage(playerid, COLOR_SYSTEM, " ");
		return 1;
	}
//-----------------------------------Call Car-----------------------------------
	if (strcmp(cmdtext, "/callcar", true)==0) {
     	new filename[256];
     	GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
     	tmpcar[playerid] = dini_Int(udb_encode(playername), "carowned");
     	format(filename, sizeof(filename), "%d", tmpcar[playerid]);
     	carused[playerid] = dini_Int(filename, "used");
	    if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be registered and logged in to call a vehicle to you!");
			return 1;
		}
		if(PlayerInterior[playerid] > 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You must outside to call a vehicle to you!");
			return 1;
		}
		if(tmpcar[playerid] == 0) {
            SendClientMessage(playerid, COLOR_BRIGHTRED, "You must first own a vehicle before you can use this command!");
			return 1;
		}
		for(new i=0; i < MAX_PLAYERS; i++) {
			if (IsPlayerConnected(i) == 1) {
				if (IsPlayerInAnyVehicle(i) == 1) {
					if (GetPlayerVehicleID(i) == tmpcar[playerid]) {
				    	GetPlayerPos(i,g,h,l);
				    	ejected[i] = 1;
				    	tmpcar2[i] = tmpcar[playerid];
					}
				}
			}
		}
		GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
		tmpcar[playerid] = dini_Int(udb_encode(playername), "carowned");
		format(filename, sizeof(filename), "%d", tmpcar[playerid]);
		carused[playerid] = dini_Int(filename, "used");
    	if(carused[playerid] == 1) {
    		new Float:x, Float:y, Float:z, Float:a;
			GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
			GetPlayerPos(playerid,x,y,z);
			GetPlayerFacingAngle(playerid, a);
			x += (3 * floatsin(-a, degrees));
			y += (3 * floatcos(-a, degrees));
			SetVehiclePos(tmpcar[playerid],x,y,z-0.35);
			SetVehicleZAngle(tmpcar[playerid],a+90);
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "Your vehicle has been successfully transported to your location!");
			SendClientMessage(playerid, COLOR_BRIGHTRED, "-=(if your vehicle has not appeared, please type /resetcar)=-");
		}
		if(carused[playerid] == 0) {
			GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
			new Float:a;
			GetVehiclePos(tmpcar[playerid],t,u,o);
			GetPlayerFacingAngle(playerid, a);
			t = dini_Int(filename, "sx");
    		u = dini_Int(filename, "sy");
			o = dini_Int(filename, "sz");
			t += (3 * floatsin(-a, degrees));
			u += (3 * floatcos(-a, degrees));
			SetPlayerPos(playerid,t,u,o+3);
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have been teleported to your vehicle, this has happened because nobody has used your");
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "vehicle since the last gamemode initialization or it has run out of fuel. /callcar will now work");
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "properly unless the server is once again reset before you next log on or the vehicle runs out of fuel.");
		}
		SetTimer("eject", 100, 0);
		return 1;
	}
//---------------------------------Reset Car------------------------------------
 	if (strcmp(cmdtext, "/resetcar", true)==0) {
		new filename[256];
     	GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
     	tmpcar[playerid] = dini_Int(udb_encode(playername), "carowned");
     	format(filename, sizeof(filename), "%d", tmpcar[playerid]);
     	carused[playerid] = dini_Int(filename, "used");
	    if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be registered and logged in to call a vehicle to you!");
			return 1;
		}
		if(tmpcar[playerid] == 0) {
            SendClientMessage(playerid, COLOR_BRIGHTRED, "You must first own a vehicle before you can call it to you!");
			return 1;
		}
		for(new i=0; i < MAX_PLAYERS; i++) {
			if (IsPlayerConnected(i) == 1) {
				if (IsPlayerInAnyVehicle(i) == 1) {
					if (GetPlayerVehicleID(i) == tmpcar[playerid]) {
				    	SendClientMessage(i,COLOR_ORANGE,"This vehicle has been reset by its owner. Enjoy the walk loser!");
					}
				}
			}
		}
		SetVehicleToRespawn(tmpcar[playerid]);
		SetTimer("resetcar",100,0);
		reset[playerid] = 1;
		return 1;
	}
//-------------------------------------Slap-------------------------------------
	if(strcmp(cmd, "/slap", true) == 0)
 		{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_LIGHTBLUE, "Usage: /slap [playerid] [object]");
			return 1;
		}
		giveplayerid = strval(tmp);
		tmp = strtok(cmdtext, idx, strlen(cmdtext));
		if (!strlen(tmp))
		{
  			SendClientMessage(playerid, COLOR_LIGHTBLUE, "Usage: /slap [playerid] [object]");
       		return 1;
    	}
		if (IsPlayerConnected(giveplayerid))
		{
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
 			format(string, sizeof(string), "%s bitch slaps %s across the face with a %s", sendername, giveplayer, tmp);
  			SendClientMessageToAll(COLOR_INDIGO, string);
			for(new i=0; i < MAX_PLAYERS; i++) {
   				new Float:fx, Float:fy, Float:fz;
				GetPlayerPos(i, fx,fy,fz);
				PlayerPlaySound(i, 1190, fx,fy,fz);
    		}
    		return 1;
		}
		else
		{
 			format(string, sizeof(string), "%d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
		}
		return 1;
	}
//---------------------------------Speedometer----------------------------------
	if(strcmp(cmd,"/speedo",true)==0)
	 {
       if(speedo[playerid] == 1) {
			speedo[playerid] = 0;
			SendClientMessage(playerid,COLOR_BRIGHTRED,"Your speedometer is now switched OFF!");
			return 1;
		}
		if(speedo[playerid] == 0) {
			speedo[playerid] = 1;
			SendClientMessage(playerid,COLOR_GREEN,"Your speedometer is now switched ON!");
			return 1;
		}
		return 1;
	}
//----------------------------------Team Chat-----------------------------------
cmd(teamchatcmd);
//---------------------------------Admin Chat-----------------------------------
	if(strcmp(cmd, "/achat", true) == 0)
	{
		GetPlayerName(playerid, sendername, sizeof(sendername));
 		PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(sendername), "level");
		if(logged[playerid] == 0)
		{
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command!");
			return 1;
		}
		if(PlayerInfo[playerid][pAdmin] < 1)
		{
 			SendClientMessage(playerid, COLOR_BRIGHTRED, "You do not have permission to use that command!");
   			return 1;
		}
	 	tmp = strtok(cmdtext, idx, strlen(cmdtext));
	 	if (!strlen(tmp))
  		{
 			SendClientMessage(playerid, COLOR_LIGHTBLUE, "Usage: /achat [message]");
   			return 1;
		}
		for (new i = 0; i <MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i))
           	{
           	    GetPlayerName(playerid, sendername, sizeof(sendername));
           	    PlayerInfo[i][pAdmin] = dini_Int(udb_encode(sendername), "level");
           		if (PlayerInfo[i][pAdmin] > 0)
       			{
               		GetPlayerName(playerid, sendername, 24);
               		format(string, sizeof(string), "Admin Chat (%s): %s", sendername, tmp);
               		SendClientMessage(i, COLOR_AQUA, string); }
               	}
			}
			return 1;
		}
//---------------------------------Admin List-----------------------------------
		if(strcmp(cmd, "/admins", true) == 0)
		{
	        new online;
	        new lColour;
	        SendClientMessage(playerid, COLOR_ORANGE, "Current Admins Online");
	        for (new i = 0; i < MAX_PLAYERS; i++) {
	            online = 0;
	            GetPlayerName(i, sendername, sizeof(sendername));
	 			PlayerInfo[i][pAdmin] = dini_Int(udb_encode(sendername),"level");
	        	if (IsPlayerConnected(i)){
	         		if (PlayerInfo[i][pAdmin] != 0 && logged[i] == 1){
	           			GetPlayerName(i, sendername, sizeof(sendername));
	           			PlayerInfo[i][pAdmin] = dini_Int(udb_encode(sendername),"level");
	              		if (PlayerInfo[i][pAdmin] == 1) {
	                		format(string, sizeof(string), "%s - Server Moderator", sendername);
	                  		lColour = COLOR_AQUA;
	                    }
	                    else if (PlayerInfo[i][pAdmin] == 2) {
	                    	format(string, sizeof(string), "%s - Server Admin", sendername);
	                     	lColour = COLOR_AQUA;
	                    }
	                    online++;
	                    }
	                    if (online == 1) {
	                        SendClientMessage(playerid, lColour, string);
	                	}
	        			if (online == 0) {
	                        SendClientMessage(playerid, COLOR_BRIGHTRED, "There are currently no admins online!");
	                	}
	                	return 1;
					}
			}
	}
//----------------------------------Give Admin----------------------------------
	if(strcmp(cmd, "/agiveadmin", true) == 0)
	{
   	    if(logged[playerid] == 0) {
   	        SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged in to use this command!");
			return 1;
   	    }
   	    if(IsPlayerAdmin(playerid) == 0) {
   	        SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be logged on to the server RCON to use this command!");
   	        SendClientMessage(playerid, COLOR_BRIGHTRED, "Type /rcon login [rcon password] to login to the server rcon!");
   	        SendClientMessage(playerid, COLOR_BRIGHTRED, "After you have given yourself admin, this will no longer be neccessary.");
  			return 1;
   	    }
   	    if(IsPlayerAdmin(playerid) == 1 && logged[playerid] == 1) {
   	        GetPlayerName(playerid, playername, sizeof(playername));
   	        dini_IntSet(udb_encode(playername),"level", 2);
   	        SendClientMessage(playerid,COLOR_ORANGE,"You are now a level 2 administrator (full admin rights) on this server!");
   	        return 1;
   	    }
   	    return 1;
   	}
//---------------------------------Buy Property---------------------------------
if(strcmp(cmd, "/buyprop", true) == 0) {
	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	    ownername = dini_Get(cttmp,"owner");
	    playerhouse[playerid] = dini_Int(udb_encode(playername), "houseowned");
	    houseid[playerid] = dini_Int(cttmp,"idnumber");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be registered and logged in to purchase a property!");
			return 1;
		}
		if(propactive[playerid] == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a property checkpoint in order to buy a property!");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid) == 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be on foot to purchase a property!");
			return 1;
		}
		if(strcmp(ownername,playername,false) == 0) {
				format(propmess, sizeof(propmess), "You already own this property, %s", playername);
				SendClientMessage(playerid, COLOR_YELLOW, propmess);
				return 1;
			}
		if(playerhouse[playerid] > 0) {
  			SendClientMessage(playerid, COLOR_BRIGHTRED, "You can only own ONE property at a time! You must sell your other property first!");
     		return 1;
		}
		if(strcmp(ownername,"server",false) == 0) {
			new cash[MAX_PLAYERS];
			cash[playerid] = GetPlayerMoney(playerid);
			if(cash[playerid] >= housecost[playerid]) {
				GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
				dini_Set(cttmp,"owner", playername);
				dini_IntSet(udb_encode(playername), "houseowned", houseid[playerid]);
				dini_IntSet(cttmp, "bought", 1);
				GivePlayerMoney(playerid, -housecost[playerid]);
				format(propmess, sizeof(propmess), "You just bought this property for $%d. You can sell it using /sellprop. Enjoy your new home!", housecost[playerid]);
				SendClientMessage(playerid, COLOR_GREEN, propmess);
				return 1;
			}
			if(cash[playerid] < housecost[playerid]) {
				format(propmess, sizeof(propmess), "You do not have $%d and cannot afford this property!", housecost[playerid]);
				SendClientMessage(playerid, COLOR_BRIGHTRED, propmess);
				return 1;
			}
		}
		format(propmess, sizeof(propmess), "This property belongs to %s, and cannot be purchased!",ownername);
		SendClientMessage(playerid, COLOR_BRIGHTRED, propmess);
		return 1;
	}
//----------------------------------Sell Property-------------------------------
	if(strcmp(cmd, "/sellprop", true) == 0) {
	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
		ownername = dini_Get(cttmp,"owner");
		if(logged[playerid] == 0) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be registered and logged in to sell a property!");
			return 1;
		}
		if(propactive[playerid] == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be in a property checkpoint in order to buy a property!");
			return 1;
		}
		if(IsPlayerInAnyVehicle(playerid) == 1) {
			SendClientMessage(playerid, COLOR_BRIGHTRED, "You must be on foot to purchase a property!");
			return 1;
		}
		if (strcmp("server",ownername,false) == 0) {
		    SendClientMessage(playerid, COLOR_BRIGHTRED, "Nobody has bought this property yet and you are prohibited from selling it!");
			return 1;
		}
		if (strcmp(playername,ownername,false) == 0) {
			new cash[MAX_PLAYERS];
			cash[playerid] = GetPlayerMoney(playerid);
			GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
			dini_Set(cttmp,"owner", "server");
			dini_IntSet(udb_encode(playername), "houseowned", 0);
			dini_IntSet(cttmp, "bought", 0);
			GivePlayerMoney(playerid, housecost[playerid]);
			format(propmess, sizeof(propmess), "You just sold your property for $%d.", housecost[playerid]);
			SendClientMessage(playerid, COLOR_GREEN, propmess);
			return 1;
		}
		format(propmess, sizeof(propmess), "You do not own this property, %s owns it and only they can sell it!", ownername);
		SendClientMessage(playerid, COLOR_BRIGHTRED, propmess);
		return 1;
	}
	return 0;
}
//====================================Speedo====================================
public CheckSpeedo()
{
	new string[256];
	for(new i=0;i<MAX_PLAYERS;i++)
	{
		if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
		{
			if(speedo[i] == 1 && aMessage[i] == 0 && Count[i] == 0)
			{
		        new Float:x,Float:y,Float:z;
	            new Float:distance,value;
	            GetPlayerPos(i, x, y, z);
	            distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
	            value = floatround(distance * 3600);
	            format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~KpH:~h~~y~%d",floatround(value/1000));
		        GameTextForPlayer(i,string,850,3);
	            SavePlayerPos[i][LastX] = x;
	            SavePlayerPos[i][LastY] = y;
	            SavePlayerPos[i][LastZ] = z;
			}
			return 1;
		}
	}
	return 1;
}
//==================================Count Timer=================================
public ctimer()
{
    if (cseconds)
    {
        format(cstring,6,"~w~%d", cseconds-1);
        GameTextForAll(cstring,1100,4);
        SoundForAll(1056);

        cseconds --;

        if (!cseconds)
        {
            GameTextForAll("~r~GO GO GO !!!",2000,4);
            SoundForAll(1057);
            for (new i = 0; i < MAX_PLAYERS; i ++)
    		{
        		if (IsPlayerConnected(i)) SetTimer("resetcount",2000,0);
   			}
        }
    }
}
//=================================Reset Count==================================
public resetcount()
{
	for (new i = 0; i < MAX_PLAYERS; i ++)
	{
		if (IsPlayerConnected(i)) Count[i] = 0;
	}
}
//==================================Announcer===================================
public announcer()
{
	for(new i=0;i<MAX_PLAYERS;i++) {
		if(IsPlayerConnected(i) && aMessage[i] == 1) {
		    aMessage[i] = 0;
		    return 1;
		}
	}
	return 1;
}
//==================================Team Chat===================================
dteamchatcmd(playerid,params[])
{
    new team;
    team = GetPlayerTeam(playerid);
	new players = GetPlayers();
	new playername[256];
	GetPlayerName(playerid,playername,256);
	new temptext[256];
	new count;
 	for(count = 0;count <= players;count++)
 	{
	    if(IsPlayerConnected(count))
 	    {
	    	if(GetPlayerTeam(count) == team)
 	    	{
				format(temptext,256,"[TEAM]%s: %s",playername,params);
	   	        SendClientMessage(count,COLOR_BLUE,temptext);
			}
		}
	}
	return true;
}
//=================================Count Sound==================================
SoundForAll(sound)
{
    for (new i = 0, j = MAX_PLAYERS; i < j; i ++)
    {
        if (IsPlayerConnected(i)) PlayerPlaySound(i,sound,0.0,0.0,0.0);
    }
}
//=================================Eject Public=================================
public eject(playerid)
{
	for(new i=0; i < MAX_PLAYERS; i++) {
		if (IsPlayerConnected(i) == 1) {
			if (IsPlayerInAnyVehicle(i) == 1) {
				if (GetPlayerVehicleID(i) == tmpcar2[i] && ejected[i] == 1) {
   					RemovePlayerFromVehicle(i);
					SetPlayerPos(i,g,h,l);
					ejected[i] = 0;
					SendClientMessage(i, COLOR_LIGHTBLUE, "The owner of this vehicle has called it and you were ejected. Enjoy the walk loser!!!");
				}
			}
		}
	}
}
//=================================Reset Message================================
public resetmessage()
{
    for(new i=0;i<MAX_PLAYERS;i++) {
		if(IsPlayerConnected(i) && messaged[i] == 1) {
		    messaged[i] = 0;
		    return 1;
		}
	}
	return 1;
}
//===================================Reset Car==================================
public resetcar()
{
   for(new i=0;i<MAX_PLAYERS;i++) {
		if(IsPlayerConnected(i) && reset[i] == 1) {
		    reset[i] = 0;
		    new playername[MAX_PLAYER_NAME];
		    new filename[256];
    		GetPlayerName(i, playername, MAX_PLAYER_NAME);
			tmpcar[i] = dini_Int(udb_encode(playername), "carowned");
			format(filename, sizeof(filename), "%d", tmpcar[i]);
			dini_IntSet(filename, "used", 0);
			carused[i] = dini_Int(filename, "used");
			if(carused[i] == 0) {
				GetPlayerName(i, playername, MAX_PLAYER_NAME);
				new Float:a;
				GetPlayerFacingAngle(i, a);
				t = dini_Int(filename, "sx");
    			u = dini_Int(filename, "sy");
				o = dini_Int(filename, "sz");
				t += (3 * floatsin(-a, degrees));
				u += (3 * floatcos(-a, degrees));
				SetPlayerPos(i,t,u,o+3);
				SendClientMessage(i, COLOR_ORANGE, "Your vehicle has been reset and you have been teleported to it. /callcar will");
				SendClientMessage(i, COLOR_ORANGE, "work properly once you have entered your vehicle. Have a nice day!");
				return 1;
			}
		}
	}
	return 1;
}
//===========================On Player State Change=============================
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    new filename[256];
	if(newstate == PLAYER_STATE_DRIVER) {
	    new string[256];
		format(filename, sizeof(filename), "%d", GetPlayerVehicleID(playerid));
		new val1[256];
		new playername[MAX_PLAYER_NAME];
		GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
		val1 = dini_Get(filename, "owner");
 		secure[playerid] = dini_Int(filename, "secure");
 		admined[playerid] = dini_Int(filename, "asecure");
        if(admined[playerid] == 1) {
            if(PlayerInfo[playerid][pAdmin] > 0) {
				SendClientMessage(playerid,COLOR_AQUA,"This vehicle is currently set for admin use only. It will eject anyone who is not an admin.");
				used[playerid] = 1;
				SetTimer("fuelremain",100,0);
 		    	return 1;
			}
     		GetPlayerPos(playerid,ta,tb,tc);
     		SetPlayerPos(playerid,ta,tb,tc+5);
     		RemovePlayerFromVehicle(playerid);
 			format(string, sizeof(string), "This vehicle has been set to allow admin/moderator control only and you are prohibited from using it.", val1);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			return 1;
		}
		if(admined[playerid] == 2) {
		    if(PlayerInfo[playerid][pAdmin] > 0) {
		        SendClientMessage(playerid,COLOR_AQUA,"This vehicle is currently set for admin use only. It will kill anyone who is not an admin.");
		        used[playerid] = 1;
				SetTimer("fuelremain",100,0);
 		    	return 1;
			}
			RemovePlayerFromVehicle(playerid);
			SetPlayerHealth(playerid, -999);
 			format(string, sizeof(string), "Server administration has set this vehicle to kill anyone who try's to drive it...R.I.P loser!");
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			format(string, sizeof(string), "%s just tried to steal an admin only vehicle and was killed by the security system...R.I.P loser!",playername);
			SendClientMessageToAll(COLOR_AQUA, string);
			return 1;
		}
		if (strcmp(val1,playername,false) == 0) {
		    used[playerid] = 1;
			SetTimer("fuelremain",100,0);
		    return 1;
		}
	 	if(secure[playerid] == 1) {
     		GetPlayerPos(playerid,ta,tb,tc);
     		SetPlayerPos(playerid,ta,tb,tc+5);
     		RemovePlayerFromVehicle(playerid);
 			format(string, sizeof(string), "The owner of this vehicle %s, has secured this vehicle and you are prohibited from using it.", val1);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			return 1;
		}
 		if(secure[playerid] == 2) {
			RemovePlayerFromVehicle(playerid);
			SetPlayerHealth(playerid, -999);
 			format(string, sizeof(string), "The owner of this vehicle %s, has set this vehicle to kill anyone who try's to drive it...R.I.P loser!", val1);
			SendClientMessage(playerid, COLOR_BRIGHTRED, string);
			format(string, sizeof(string), "%s just tried to steal %s's vehicle and was killed by the security system...R.I.P loser!",playername,val1);
			SendClientMessageToAll(COLOR_LIGHTBLUE, string);
			return 1;
		}
		used[playerid] = 1;
		SetTimer("fuelremain",100,0);
	}
	return 1;
}
//=========================On Player Leave Checkpoint=============================
public OnPlayerLeaveCheckpoint(playerid)
{
	switch(getCheckpointType(playerid))
	{
	   	case PROP1:
		   {
			propactive[playerid] = 0;
		}
	}
}
//==================================Settings====================================
public Settings()
{
	if (!dini_Exists(FILE_SETTINGS)) {
		dini_Create(FILE_SETTINGS);
		dini_Set(FILE_SETTINGS, "servername", "server");
		dini_IntSet(FILE_SETTINGS, "moneyscan", 1);
		dini_IntSet(FILE_SETTINGS, "maxmoney", 9000000);
		dini_IntSet(FILE_SETTINGS, "register", 1);
		dini_IntSet(FILE_SETTINGS, "maxusers", 2000);
		dini_IntSet(FILE_SETTINGS, "bank", 1);
		dini_IntSet(FILE_SETTINGS, "manualsaving", 1);
	}
}
//================================Save System===================================
public SaveData()
{
    new playername[MAX_PLAYER_NAME];

    for (new i=0;i<MAX_PLAYERS;i++) {
	    GetPlayerName(i, playername, MAX_PLAYER_NAME);
	    if (dini_Exists(udb_encode(playername)) && logged[i] == 1) {
			dini_IntSet(udb_encode(playername), "money", GetPlayerMoney(i));
       		dini_IntSet(udb_encode(playername), "bank", bank[i]);
       		PlayerInterior[i] = GetPlayerInterior(i);
       		if(PlayerInterior[i] == 0) {
				new Float:x, Float:y, Float:z;
				GetPlayerPos(i,x,y,z);
      			new Float:a;
 				GetPlayerFacingAngle(i,a);
 				dini_IntSet(udb_encode(playername), "a", floatround(a));
				dini_IntSet(udb_encode(playername), "x", floatround(x));
				dini_IntSet(udb_encode(playername), "y", floatround(y));
				dini_IntSet(udb_encode(playername), "z", floatround(z));
			}
		}
	}

    return 1;
}
//=============================On Enter Checkpoint==============================
public OnPlayerEnterCheckpoint(playerid)
{
	switch(getCheckpointType(playerid))
	{
		case CP_BANK:
		{
			SendClientMessage(playerid, COLOR_YELLOW, "You are at an ATM. To store money use '/bank amount', to withdraw");
			SendClientMessage(playerid, COLOR_YELLOW, "money, use '/withdraw amount', and use '/balance' to see your balance.");
		}
		case CP_BANK_2:
		{
			SendClientMessage(playerid, COLOR_YELLOW, "You are at an ATM. To store money use '/bank amount', to withdraw");
			SendClientMessage(playerid, COLOR_YELLOW, "money, use '/withdraw amount', and use '/balance' to see your balance.");
		}

		case CP_BANK_3:
		{
			SendClientMessage(playerid, COLOR_YELLOW, "You are at an ATM. To store money use '/bank amount', to withdraw");
			SendClientMessage(playerid, COLOR_YELLOW, "money, use '/withdraw amount', and use '/balance' to see your balance.");
		}
		case PROP1: {
		format(cttmp, sizeof(cttmp), "%s","PROP1");
		ownername = dini_Get(cttmp,"owner");
 		GetPlayerName(playerid, playernameh, MAX_PLAYER_NAME);
		housecost[playerid] = dini_Int(cttmp,"housecost");
        propowned[playerid] = dini_Int(cttmp,"bought");
        propactive[playerid] = 1;
	  	if(strcmp(ownername,"server",false) == 0)
	   	{
	   	    format(propmess,sizeof(propmess),"This property is currently vacant and can be purchased for $%d by typing /buyprop", housecost[playerid]);
		 	buyable[playerid] = 1;
		 	SendClientMessage(playerid,COLOR_YELLOW,propmess);
		 	return 1;
	   	}
	   	if(strcmp(ownername,playernameh,false) == 0) {
	    	   	format(propmess,sizeof(propmess),"Welcome home %s", ownername);
   		       	buyable[playerid] = 0;
   		       	SendClientMessage(playerid,COLOR_GREEN,propmess);
   		       	return 1;
		}
		else {
               format(propmess,sizeof(propmess),"This property belongs to %s, and is not for sale!", ownername);
               buyable[playerid] = 0;
               SendClientMessage(playerid,COLOR_YELLOW,propmess);
               return 1;
			}
		}
   }
   return 0;
}
//===============================On Enter Vehicle===============================
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	new filename[256];
	format(filename, sizeof(filename), "%d", vehicleid);
	new val1[256];
	new playername[MAX_PLAYER_NAME];
	dini_IntSet(filename, "used", 1);
	GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	val1 = dini_Get(filename, "owner");
 	secure[playerid] = dini_Int(filename, "secure");
	new tmp[256];
	tmp[playerid] = ispassenger;
	passenger[playerid] = ispassenger;
	currentvehicle[playerid] = GetPlayerVehicleID(playerid);
	if(tmp[playerid] == 0 && logged[playerid] == 1) {
		format(filename, sizeof(filename), "%d", vehicleid);
    	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
    	    new tmp1[256], tmp2[256];
    	    tmp1 = dini_Get(filename, "owner");
    	    tmp2 = dini_Get(udb_encode(playername), "name");
    	    if (strcmp(tmp1,tmp2,false) == 0) {
				new string[256];
				carcost[playerid] = dini_Int(filename, "carcost");
				format(string, sizeof(string), "Welcome to your vehicle %s, please drive carefully!", tmp1);
				SendClientMessage(playerid, COLOR_GREEN, string);
				secure[playerid] = dini_Int(filename, "secure");
				if(secure[playerid] == 0) {
				    SendClientMessage(playerid, COLOR_GREEN, "Your vehicle security system is currently deactivated.");
				}
				if(secure[playerid] == 1) {
				    SendClientMessage(playerid, COLOR_GREEN, "Your vehicle security system is currently set to eject intruders.");
				}
				if(secure[playerid] == 2) {
				    SendClientMessage(playerid, COLOR_GREEN, "Your vehicle security system is currently set to kill intruders.");
				}
				ignition[playerid] = 1;
				return 1;
			}
			if (strcmp(tmp1,server,false) == 0) {
			    new string[256];
			    carcost[playerid] = dini_Int(filename, "carcost");
    	        format(string, sizeof(string), "This vehicle is for sale and costs $%d, type /buycar to buy this vehicle.", carcost[playerid]);
    	        SendClientMessage(playerid, COLOR_YELLOW, string);
    	        return 1;
			}
   			else {
    	        new string[256];
    	        carcost[playerid] = dini_Int(filename, "carcost");
    	        format(string, sizeof(string), "This vehicle belongs to %s, and cannot be purchased.", tmp1);
    	        SendClientMessage(playerid, COLOR_BRIGHTRED, string);
    	        return 1;
			}

    }
	return 1;
}
//==============================Checkpoint Update===============================
public checkpointUpdate()
{
	for(new i=0; i<MAX_PLAYERS; i++)
	{
	    if(IsPlayerConnected(i)) {
	        for(new j=0; j < MAX_POINTS; j++) {
	            if(isPlayerInArea(i, checkCoords[j])) {
						if(playerCheckpoint[i]!= j) {
	                    DisablePlayerCheckpoint(i);
						SetPlayerCheckpoint(i, checkpoints[j][0],checkpoints[j][1],checkpoints[j][2],checkpoints[j][3]);
						playerCheckpoint[i] = j;
						if(playerCheckpoint[i]==32) {
							DisablePlayerCheckpoint(i);
							SetPlayerCheckpoint(i, checkpoints[j][0],checkpoints[j][1],checkpoints[j][2],1000);
						}
					}
	            } else {
	            	if(playerCheckpoint[i]==j) {
	            	    DisablePlayerCheckpoint(i);
	            	    playerCheckpoint[i] = 999;
         	    	}
	            }
	        }
		}
	}
}
//===============================Checkpoint Type================================
public getCheckpointType(playerID)
{
	return checkpointType[playerCheckpoint[playerID]];
}
//==============================Is Player in Area===============================
public isPlayerInArea(playerID, Float:data[4])
{
	new Float:X, Float:Y, Float:Z;
	GetPlayerPos(playerID, X, Y, Z);
	if(X >= data[0] && X <= data[2] && Y >= data[1] && Y <= data[3])
	{
		return 1;
	}
	return 0;
}
//====================DM Final Score Message by yellowblood=====================
/*public post_winners(winnerid)
{
	new i;
	//paralize all
	for(i = 0; i < MAX_PLAYERS ; i++)
	if(IsPlayerConnected(i) && !IsPlayerAdmin(i))
	TogglePlayerControllable(i,0);
	new string[256];
	new winners[3];  //3 first players' ids
	winners[0] = winnerid; //first place
	winners[1] = 255;      //second place
	winners[2] = 255;      //third place
	printf("1. %d 2. %d 3. %d", winners[0], winners[1], winners[2]);
	new winames[3][MAX_PLAYER_NAME]; //names of the winners
	GetPlayerName(winners[0], winames[0], MAX_PLAYER_NAME); //winner name
	new x = -100;
	for(i = 0; i < MAX_PLAYERS ; i++) //finding 2nd place.
	{
		if (IsPlayerConnected(i) && GetPlayerScore(i) > x && i != winners[0])
		{
			x = GetPlayerScore(i);
			winners[1] = i;
		}
	}
	if(winners[1] != 255) GetPlayerName(winners[1], winames[1], MAX_PLAYER_NAME); //if found 2nd place, get his name
	else winames[1] = "---";                                      //if not, just write ---
	x = -100;
	for(i = 0; i < MAX_PLAYERS ; i++) //finding 3rd place.
	{
		if (IsPlayerConnected(i) && GetPlayerScore(i) > x && i != winners[0] && i != winners[1])
		{
			x = GetPlayerScore(i);
			winners[2] = i;
		}
	}
	if(winners[2] != 255) GetPlayerName(winners[2], winames[2], MAX_PLAYER_NAME); //if found 3rd place, get his name
	else winames[2] = "---";                                      //if not, just write ---
	format(string, sizeof(string),"~w~1. ~b~%s   ~y~(%d)~n~~w~2. ~b~%s   ~y~(%d)~n~~w~3. ~b~%s   ~y~(%d)~n~", winames[0], GetPlayerScore(winners[0]), winames[1], GetPlayerScore(winners[1]), winames[2],GetPlayerScore(winners[2]));
	GameTextForAll(string,16000,3);
	SetTimer("GameModeExitFunc", 15000, 0);
	return 1;
} */
//=============================Gamemode Exit Stuff==============================
public GameModeExitFunc()
{
	GameModeExit();
	return 1;
}
//=================================Team Chat====================================
public GetPlayers() //By rapidZ
{
	new i;
	new player;
	player = 0;
	for (i=0;i<MAX_PLAYERS;i++){
		if(IsPlayerConnected(i)){
			player++;
		}
	}
	return player;
}