All pastes #820950 Raw Edit

Something

public text v1 · immutable
·published 2007-12-17 20:57 UTC
rendered paste body
#include <a_samp>
#include <core>
#include <float>
#include <file>
#include <dudb>
#include <dini>
#include <players>

#define VERSION "1.1"
#define GAMEMODETEXT "SHRPG v1.1"

#define FILE_SETTINGS "settings.ini"
#define FILE_TOTALSTAT "totalstat.ini"
#define FILE_BLACKLIST "blacklist.ini"
#define FILE_TEAMPASS "teampass.ini"

#define DIR_PLAYERS "players/"

#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA

#define INACTIVE_PLAYER_ID 255

#define NUMVALUES 4

#define TEAM_CIVILIANS      0
#define TEAM_POLICE         1
#define TEAM_MILITARY       2
#define TEAM_RESCUE         3
#define TEAM_GROVE          4
#define TEAM_BALLAS         5
#define TEAM_AZTECAS        6
#define TEAM_VAGOS          7
//#define TEAM_DA_NANG_BOYS 8
//#define TEAM_RIFA         9
#define TEAM_TRAIDS         10
#define TEAM_BIKERS         11
#define TEAM_MAFIA          12
#define TEAM_WHORES         13

#define TEAM_CIVILIANS_COLOR 0xFFFFFFAA //White
#define TEAM_POLICE_COLOR 0x0080FFAA //MediumBlue
#define TEAM_MILITARY_COLOR 0x9ACD32AA //YellowGreen
#define TEAM_RESCUE_COLOR 0x0000BBAA //Blue
#define TEAM_GROVE_COLOR 0x00FF00AA //Green
#define TEAM_BALLAS_COLOR 0x8B008BAA //Purple
#define TEAM_AZTECAS_COLOR 0x46BBAAAA //Turquoise
#define TEAM_VAGOS_COLOR 0xFFFF00AA //Yellow
#define TEAM_TRAIDS_COLOR 0xAA3333AA //Red
#define TEAM_BIKERS_COLOR 0xFF9900AA //Orange
#define TEAM_MAFIA_COLOR 0xB8860BAA //Gold
#define TEAM_WHORES_COLOR 0xFF66FFAA //Pink

#define CARS 284

#define MAX_JAILTIME		10 //minutes
#define MAX_TICKET			1000
#define MAX_CARS			290
#define MAX_COUNTDOWN_SEC	999

#define CP_BANK 		0
#define CP_BANK_2       1
#define CP_BANK_3       2
#define CP_AMMU         3
#define CP_AMMU_2       4
#define CP_DRAGON       5
#define CP_SEXSHOP      6
#define CP_BAR          7
#define CP_CALIGULA     8
#define CP_ZIP          9
#define CP_BINCO        10
#define CP_TATOO        11
#define CP_BOTIQUE      12
#define CP_JIZZY        13
#define CP_PIZZA        14
#define CP_VICTIM       15
#define CP_STRIPCLUB    16
#define CP_WANGCARS     17
#define CP_EMERALD      18
#define CP_VISAGE       19
#define CP_SUBURBAN     20
#define CP_PROLAPS      21
#define CP_BURGER       22
#define CP_CLUCKIN      23
#define CP_CLUB         24
#define CP_DS           25
#define CP_ZOMBO        26
#define CP_LS_AIR       27
#define CP_SF_AIR       28
#define CP_LV_AIR       29

#define P_DRAGON    0
#define P_SEXSHOP   1
#define P_BAR       2
#define P_CALIGULA  3
#define P_ZIP       4
#define P_BINCO     5
#define P_TATOO     6
#define P_BOTIQUE   7
#define P_JIZZY     8
#define P_PIZZA     9
#define P_VICTIM    10
#define P_STRIPCLUB	11
#define P_WANGCARS	12
#define P_EMERALD	13
#define P_VISAGE	14
#define P_SUBURBAN	15
#define P_PROLAPS	16
#define P_BURGER	17
#define P_CLUCKIN	18
#define P_CLUB		19
#define P_DS		20
#define P_ZOMBO		21

#define P_OFFSET    5

forward MoneyScoreUpdate();
forward SetPlayerRandomSpawn(playerid);
forward SetupPlayerForClassSelection(playerid);
forward SendPlayerFormattedText(playerid, const str[], define);
forward public SendAllFormattedText(playerid, const str[], define);

static gTeam[MAX_PLAYERS];

new CashScoreOld;
new iSpawnSet[MAX_PLAYERS];
new bank[MAX_PLAYERS];
new bounty[MAX_PLAYERS];
new playerCheckpoint[MAX_PLAYERS];
new worldTime;
new god[MAX_PLAYERS];
new payment[MAX_PLAYERS];
new query[MAX_PLAYERS];
new jailed[MAX_PLAYERS];
new jailbreak[MAX_PLAYERS];
new jailtime[MAX_PLAYERS];
new muted[MAX_PLAYERS];
new logged[MAX_PLAYERS];
new logintimeout[MAX_PLAYERS];
new gPlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];
new killsinarow[MAX_PLAYERS];
new adminlevel[MAX_PLAYERS];
new leader[MAX_PLAYERS]; //POLICE = 1, FEDERAL = 2, MILITARY = 3, RESCUE = 4, GROVE = 5, BALLAS = 6, AZTECAS = 7, VAGOS = 8, DA_NANG_BOYS 9, RIFA = 10, TRAIDS = 11, BIKERS = 12, MAFIA = 13, WHORES = 14
new wrongpasses[MAX_PLAYERS];
new lockedskin[MAX_PLAYERS];
new respect[MAX_PLAYERS];
new payrate[MAX_PLAYERS];
new spawned[MAX_PLAYERS];
new idle[MAX_PLAYERS];
new dlpoints[MAX_PLAYERS];
new wantedlevel[MAX_PLAYERS];
new raped[MAX_PLAYERS];
new cuffed[MAX_PLAYERS];
new cuffedtimeout[MAX_PLAYERS];
new servermessage[MAX_PLAYERS];
new bankrobber[MAX_PLAYERS];
new bankrobberytime[MAX_PLAYERS];
new carbomb[MAX_PLAYERS];
new frozen[MAX_PLAYERS];
new disarm[MAX_PLAYERS];

new IgnorePlayerlist[MAX_PLAYERS][MAX_PLAYERS];

new Float:X250[MAX_PLAYERS];
new Float:Y250[MAX_PLAYERS];
new Float:Z250[MAX_PLAYERS];

new doorlock[255];

new Float:idlepos[MAX_PLAYERS][3];

new countdownseconds = 0;

new Float:gLSCopPlayerSpawns[2][3] = {
{1579.9010, -1636.5945, 13.5587},
{1525.2365, -1678.0016, 5.8906}
};

new Float:gLVCopPlayerSpawns[2][3] = {
{2297.1064, 2452.0115, 10.8203},
{2297.0452, 2468.6743, 10.8203}
};

new Float:gSFCopPlayerSpawns[2][3] = {
{-1635.0077, 665.8105, 7.1875},
{-1636.9252, 662.2247, 7.1875}
};

new Float:gBCCopPlayerSpawns[2][3] = {
{631.0117, -571.6066, 16.3359},
{611.0682, -583.5173, 18.2127}
};

new Float:gHPCopPlayerSpawns[6][3] = {
{1579.9010, -1636.5945, 13.5587},
{1525.2365, -1678.0016, 5.8906},
{2297.1064, 2452.0115, 10.8203},
{2297.0452, 2468.6743, 10.8203},
{-1635.0077, 665.8105, 7.1875},
{-1636.9252, 662.2247, 7.1875}
};

new Float:gFederalPlayerSpawns[3][3] = {
{2487.7427, 2397.3074, 10.8203},
{918.9784, -1037.3120, 31.8984},
{-2456.1265, 503.9335, 30.0781}
};

new Float:gMilitaryPlayerSpawns[2][3] = {
{-1522.0662, 481.2508, 7.1875},
{-1433.7557, 494.6561, 3.0391}
};

new Float:gParamedicPlayerSpawns[3][3] = {
{2041.4088, -1408.4176, 17.1641},
{1584.8757, 1796.7544, 10.8203},
{-2695.5466, 640.1466, 14.4531}
};

new Float:gFiremanPlayerSpawns[2][3] = {
{1756.9967, 2081.5715, 10.8203},
{-2026.9327, 67.1141, 28.6916}
};

new Float:gGrovePlayerSpawns[2][3] = {
{2490.7896, -1679.3658, 13.3358},
{2490.7896, -1679.3658, 13.3358}
};

new Float:gBallasPlayerSpawns[2][3] = {
{2154.4307, -1618.2050, 13.8021},
{2154.4307, -1618.2050, 13.8021}
};

new Float:gAztecasPlayerSpawns[2][3] = {
{1814.1346, -1867.9672, 13.5704},
{1814.1101, -1872.8441, 13.5704}
};

//new Float:gDaNangBoysPlayerSpawns[2][3] = {
//{}
//{}
//};

//new Float:gRifaPlayerSpawns[2][3] = {
//{},
//{}
//};

new Float:gTraidsPlayerSpawns[2][3] = {
{2032.1013, 1003.9085, 10.8203},
{2032.1448, 1013.1022, 10.8203}
};

new Float:gBikerPlayerSpawns[2][3] = {
{681.5939, -473.3502, 16.5363},
{687.2123, -445.6450, 16.3359}
};

new Float:gMafiaPlayerSpawns[2][3] = {
{2181.7180, 1690.1067, 11.0661},
{2180.7651, 1667.2122, 11.0594}
};

new Float:gWhorePlayerSpawns[3][3] = {
{2421.5430, -1222.2128, 25.3698},
{2543.1499, 1022.0600, 10.8203},
{-2625.3311, 1411.0123, 7.0938}
};

new Float:gCivilianPlayerSpawns[76][3] = {
{2805.0862,-1180.9579,25.4536},
{2530.4785,-1063.5999,69.5695},
{-2275.2280,42.3125,35.3125},
{2042.9279,-1013.6509,39.7422},
{1497.0605,-689.1375,95.1092},
{829.4501,-858.8712,70.1248},
{699.3003,-1059.2599,49.4217},
{299.0901,-1155.5858,80.9099},
{315.2544,-1772.5730,4.6776},
{-2062.5583,237.4662,35.7149},
{333.3540,-1519.2587,35.8672},
{763.0789,-1564.3256,13.5536},
{986.0850,-1095.0150,27.6041},
{1109.6948,-972.4279,42.7656},
{-2123.6570,-425.2528,35.5313},
{1438.9014,-927.2687,39.6406},
{1656.6252,-1076.3080,23.8984},
{1956.1605,-1116.0430,27.8305},
{-2653.6443,1388.2767,7.1301},
{2224.1555,-1240.3496,25.1478},
{2338.8757,-1289.3113,27.9766},
{-2838.1958,880.8605,44.0547},
{2436.4819,-1303.6724,24.6679},
{2450.9358,-1493.6650,24.0000},
{-2319.8889,578.0090,31.2498},
{2519.8420,-1678.7356,14.8524},
{2507.6228,-2019.1085,13.5469},
{-2642.2583,-274.9985,7.5393},
{1957.7228,-2183.6519,13.5469},
{1857.9117,-2042.3588,13.5469},
{-1771.3396,1205.8127,25.1250},
{1734.1467,-2099.2144,13.8666},
{2511.4326,-2589.3069,13.6443},
{2785.9890,-2417.7148,13.6341},
{2261.2937,-1930.7488,12.8935},
{2105.2878,-1913.1111,13.3828},
{-2157.2119,649.5484,52.3672},
{-2478.9902,1141.1311,55.7266},
{1833.2399,-1681.1813,13.4816},
{1665.9006,-1559.9375,13.5469},
{1125.5248,-1372.0935,13.9844},
{-2652.8887,1347.5245,7.1592},
{1289.0425,-1134.7928,23.8281},
{2842.1575,-1335.5879,14.7421},
{2767.4480,-1610.6735,10.9219},
{2753.1375,-1308.9150,53.0938},
{2789.2317,-2494.3286,13.6485},
{1958.3783,1343.1572,15.3746},
{2199.6531,1393.3678,10.8203},
{2483.5977,1222.0825,10.8203},
{2637.2712,1129.2743,11.1797},
{2000.0106,1521.1111,17.0625},
{2024.8190,1917.9425,12.3386},
{-2569.5093,894.0370,64.9844},
{2261.9048,2035.9547,10.8203},
{2262.0986,2398.6572,10.8203},
{-2442.7913,752.1005,35.1786},
{2244.2566,2523.7280,10.8203},
{2335.3228,2786.4478,10.8203},
{-1754.9976,958.5851,24.8828},
{2150.0186,2734.2297,11.1763},
{2158.0811,2797.5488,10.8203},
{1969.8301,2722.8564,10.8203},
{-2790.7754,69.6904,7.2020},
{1652.0555,2709.4072,10.8265},
{1564.0052,2756.9463,10.8203},
{1271.5452,2554.0227,10.8203},
{1441.5894,2567.9099,10.8203},
{-2665.4282,635.6348,14.4531},
{1480.6473,2213.5718,11.0234},
{1400.5906,2225.6960,11.0234},
{-1939.9021,-858.7451,32.0234},
{1598.8419,2221.5676,11.0625},
{1318.7759,1251.3580,10.8203},
{-1660.7620,1207.0634,21.1563},
{1558.0731,1007.8292,10.8125}
};

new gRandomCarSpawns[21] = {
	400,
	411,
	415,
	421,
	429,
	451,
	461,
	463,
	477,
	482,
	489,
	507,
	535,
	536,
	554,
	558,
	560,
	567,
	587,
	517,
	603
};

new gRandomSemiSpawns[3] = {
	403,
	514,
	515
};

new gRandomBankLoot[8] = {
	0,
	100,
	0,
	1000,
	0,
	10000,
	0,
	100000,
};

new gRandomWeather[46] = {
	0,
	1,
	2,
	3,
	4,
	5,
	6,
	7,
	8,
	9,
	10,
	11,
	12,
	13,
	14,
	15,
	16,
	17,
	18,
	19,
	20,
	21,
	22,
	23,
	24,
	25,
	26,
	27,
	28,
	29,
	30,
	31,
	32,
	33,
	34,
	35,
	36,
	37,
	38,
	39,
	40,
	41,
	42,
	43,
	44,
	45
};

#define MAX_WEATHER 46

new weatherNames[MAX_WEATHER][64] = {
	"different versions of blue skies/clouds",
	"different versions of blue skies/clouds",
	"different versions of blue skies/clouds",
	"different versions of blue skies/clouds",
	"different versions of blue skies/clouds",
	"different versions of blue skies/clouds",
	"different versions of blue skies/clouds",
	"different versions of blue skies/clouds",
	"stormy",
	"cloudy and foggy",
	"clear blue sky",
	"scorching hot (Los Santos heat waves)",
	"very dull, colorless, hazy",
	"very dull, colorless, hazy",
	"very dull, colorless, hazy",
	"very dull, colorless, hazy",
	"dull, cloudy, rainy",
	"scorching hot",
	"scorching hot",
	"sandstorm",
	"foggy/greenish",
	"very dark, gradiented skyline, purple",
	"very dark, gradiented skyline, green",
	"variations of pale orange",
	"variations of pale orange",
	"variations of pale orange",
	"variations of pale orange",
	"variations of fresh blue",
	"variations of fresh blue",
	"variations of fresh blue",
	"variations of dark, cloudy, teal",
	"variations of dark, cloudy, teal",
	"variations of dark, cloudy, teal",
	"dark, cloudy, brown",
	"blue/purple, regular",
	"dull brown",
	"bright, foggy, orange",
	"bright, foggy, orange",
	"bright, foggy, orange",
	"extremely bright",
	"blue/purple cloudy",
	"blue/purple cloudy",
	"blue/purple cloudy",
	"dark toxic clouds",
	"black/white sky",
	"black/purple sky"
};

#define MAX_POINTS 30

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
{284.0546,-86.4384, 302.9315,-56.6674},     	//AMMUNATION
{285.5186,-40.8558, 299.3870,-30.2428},     	//AMMUNATION_2
{1925.1511,968.2358, 2019.0715,1067.4276},  	//DRAGON
{-115.9544,-24.2706, -99.1631,-7.1391},     	//SEXSHOP
{487.6558,-88.5900, 512.0635, -67.7503},    	//BAR
{2216.7971,1638.0493, 2255.2097,1714.0806}, 	//CALIGULA
{144.9131,-96.0927, 177.4128,-70.7923},    		//ZIP
{201.4462,-112.4556, 218.5237,-95.1238},    	//BINCO
{-204.7623,-44.0326, -200.2330,-39.8128},   	//TATOO
{416.7485,-84.4242, 422.6890,-74.0611},			//BOTIQUE
{-2676.0637,1398.3545,-2642.4065,1421.6180},	//JIZZY
{369.0025,-131.6332,378.1711,-116.3600}, 		//PIZZA
{201.9053,-11.7524,225.9064,-4.1778},     		//VICTIM
{1201.1422,-16.6343,1223.4420,12.6656},     	//STRIPCLUB
{-1996.0801,253.4684,-1942.0564,310.0717},  	//WANG CARS
{2099.1985,2328.5200,2179.1382,2405.8721},  	//EMERALD ISLE
{1998.3783,1875.9679,2066.3425,1957.0034},  	//THE VISAGE
{199.4294,-46.8185,209.5469,-34.0015},  		//SUBURBAN
{198.8601,-137.9890,214.9677,-128.5504},  		//PRO LAPS
{363.5299,-73.9080,381.7558,-57.7846},  		//BURGER SHOT
{364.8330,-10.3823,380.1563,-6.4998},  			//CLUCKIN' BELL
{478.4092,-22.1267,498.3633,-7.5962},  			//CLUB
{198.9507,-166.7670,210.7806,-156.2189},  		//DIDIER SACHS
{-1986.7450,640.8196,-1918.7468,712.6972},  	//ZOMBOTECH
{1406.4838,-2372.7078,1836.9307,-2205.9673},	//LS_AIRPORT
{-1720.8835,-692.9379,-1229.0609,-244.2898},    //SF_AIRPORT
{1631.2246,1319.9592,1815.6743,1549.8381}		//LV_AIRPORT
};

new Float:checkpoints[MAX_POINTS][4] = {
{-22.2549,-55.6575,1003.5469,5.0},
{-23.0664,-90.0882,1003.5469,5.0},
{-33.9593,-29.0792,1003.5573,5.0},
{291.0004,-84.5168,1001.5156,5.0},
{291.1157,-39.9011,1001.5156,5.0},
{1989.0619,1005.5241,994.4688,5.0},
{-103.5525,-22.4661,1000.7188,5.0},
{501.4927,-75.4323,998.7578,5.0},
{2235.5408,1679.0402,1008.3594,5.0},
{161.1875,-79.9915,1001.8047,5.0},
{207.5640,-97.8188,1005.2578,5.0},
{-203.4864,-41.2045,1002.2734,5.0},
{418.5547,-80.1667,1001.8047,5.0},
{-2649.101,1409.747,906.2734,5.0},
{376.0949,-125.8507,1001.5,5.0},
{218.443,-8.778273,1001.211,5.0},
{1212.3918,-10.9459,1000.9219,5.0},
{-1957.5327,300.2131,35.4688,5.0},
{2127.5940,2370.4255,10.8203,5.0},
{2022.5179,1916.6848,12.3397,5.0},
{203.6803,-40.7557,1001.8047,5.0},
{206.9941,-133.5536,1002.8672,5.0},
{367.5272,-67.4198,1001.5078,5.0},
{371.3292,-8.9039,1001.8516,5.0},
{487.3790,-14.7161,1000.6797,5.0},
{204.3967,-161.7745,1000.5234,5.0},
{-1950.9393,674.2313,46.5625,5.0},
{1685.4951,-2333.1021,13.5469,5.0},
{-1423.1083,-289.5751,14.1484,5.0},
{1677.3966,1447.7908,10.7758,5.0}
};

new checkpointType[MAX_POINTS] = {
	CP_BANK,
	CP_BANK_2,
	CP_BANK_3,
	CP_AMMU,
	CP_AMMU_2,
	CP_DRAGON,
	CP_SEXSHOP,
	CP_BAR,
	CP_CALIGULA,
	CP_ZIP,
	CP_BINCO,
	CP_TATOO,
	CP_BOTIQUE,
	CP_JIZZY,
	CP_PIZZA,
	CP_VICTIM,
	CP_STRIPCLUB,
	CP_WANGCARS,
	CP_EMERALD,
	CP_VISAGE,
	CP_SUBURBAN,
	CP_PROLAPS,
	CP_BURGER,
	CP_CLUCKIN,
	CP_CLUB,
	CP_DS,
	CP_ZOMBO,
	CP_LS_AIR,
	CP_SF_AIR,
	CP_LV_AIR
};

#define MAX_PROPERTIES 22

new propertyNames[MAX_PROPERTIES][32] = {
	"Four Dragons Casino",
	"Sex Shop",
	"Bar",
	"Caligula Casino",
	"Zip Shop",
	"Binco Shop",
	"Tatoo Parlor",
	"Botique",
	"Jizzy's Club",
	"The Well Stacked Pizza",
	"Victim Shop",
	"Strip Club",
	"Wang Cars",
	"Emerald Isle",
	"The Visage",
	"Sub Urban",
	"Pro Laps",
	"Burger Shot",
	"Cluckin' Bell",
	"Club",
	"Didier Sachs",
	"Zombotech Corp."
};

new propertyValues[MAX_PROPERTIES] = {
	150000,
	50000,
	40000,
	200000,
	30000,
	30000,
	20000,
	40000,
	150000,
	30000,
	30000,
	60000,
	40000,
	120000,
	200000,
	30000,
	30000,
	40000,
	20000,
	100000,
	250000,
	80000
};

new propertyEarnings[MAX_PROPERTIES] = {
	7500,
	2500,
	2000,
	10000,
	1500,
	1500,
	1000,
	2000,
	7500,
	1500,
	1500,
	3000,
	2000,
	6000,
	10000,
	1500,
	1500,
	2000,
	1000,
	5000,
	12500,
	4000
};

new propertyOwner[MAX_PROPERTIES] = {999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999,999};

new weaponNamesMelee[4][32] = {
	"Knife",
	"Baseball Bat",
	"Katana",
	"Chainsaw"
};

new weaponIDsMelee[4] = {
	4,      //Knife
	5,      //Baseball
	8,      //Katana
	9       //Chainsaw
};

new weaponCostMelee[4] = {
	1500,
	2000,
	3000,
	5000
};

new weaponNamesPistols[3][32] = {
	"Pistol",
	"Silenced Pistol",
	"Desert Eagle"
};

new weaponIDsPistols[3] = {
	22,     //Pistol
	23,     //Silenced
	24      //DE
};

new weaponCostPistols[3] = {
	20,
	30,
	60
};

new weaponNamesShotguns[3][32] = {
	"Shotgun",
	"Sawn-off",
	"Combat Shotgun"
};

new weaponIDsShotguns[3] = {
	25,     //Shotgun
	26,     //Sawnoff
	27      //Combat shotgun
};

new weaponCostShotguns[3] = {
	70,
	120,
	150
};

new weaponNamesSMGs[3][32] = {
	"Tec9",
	"Micro Uzi",
	"MP5"
};

new weaponIDsSMGs[3] = {
	32,     //Tec9
	28,     //Micro Uzi
	29      //MP5
};

new weaponCostSMGs[3] = {
	50,
	80,
	150
};

new weaponNamesRifles[2][32] = {
	"AK47",
	"M4"
};

new weaponIDsRifles[2] = {
	30,     //AK47
	31		//M4
};

new weaponCostRifles[2] = {
	250,
	300
};

new gActivePlayers[MAX_PLAYERS];
new gLastGaveCash[MAX_PLAYERS];

#define RANKS_RESPECT 12

new RankRespectNames[RANKS_RESPECT][32] = {
	"Very Very Bad Guy",
	"Sinister Asshole",
	"Sith",
	"Darksider",
	"Thief",
	"Unknown",
	"Famous",
	"Lightsider",
	"Jedi",
	"Respectable Guy",
	"Godfather",
	"MADEMAN"
};

new RankRespect[RANKS_RESPECT] = {
	-100,
	-50,
	-25,
	-10,
	-5,
	0,
	10,
	25,
	50,
	100,
	250,
	1000
};

#define RANKS_KILLS 12

new RankKillNames[RANKS_KILLS][32] = {
	"Civilian",
	"Pickpocket",
	"Criminal",
	"Murderer",
	"Buster",
	"Gangsta",
	"OG",
	"Maniac",
	"Hitman",
	"Terrorist",
	"Monster",
	"GODOFGTA"
};

new RankKills[RANKS_KILLS] = {
	0,
	2,
	10,
	25,
	50,
	100,
	250,
	500,
	1000,
	2500,
	5000,
	10000
};

#define RANKS_KILLSIAR 12

new RankKillIARNames[RANKS_KILLSIAR][32] = {
	"Pacific",
	"Double-killer",
	"Mega-killer",
	"Ultra-killer",
	"Ludicrous-killer",
	"Worth Ten",
	"Damned",
	"Cheated Death",
	"Serial Killer",
	"Army",
	"Holy Shit",
	"BLASTBOY"
};

new RankKillsIAR[RANKS_KILLSIAR] = {
	0,
	2,
	4,
	6,
	8,
	10,
	12,
	14,
	16,
	18,
	20,
	25
};

#define RANKS_DEATHS 12

new RankDeathNames[RANKS_DEATHS][32] = {
	"Virgin",
	"Victim",
	"Target",
	"Crackhead",
	"Bitch",
	"Undead",
	"Meat",
	"Frag",
	"Sieve",
	"Fucked Up",
	"Ghost",
	"LIVELONG"
};

new RankDeaths[RANKS_DEATHS] = {
	0,
	2,
	10,
	25,
	50,
	100,
	250,
	500,
	1000,
	2500,
	5000,
	10000
};

#define RANKS_SUICIDES 12

new RankSuicideNames[RANKS_SUICIDES][32] = {
	"Intelligent",
	"Bad Lucker",
	"Self-killer",
	"Crazy",
	"Shithead",
	"Psycho",
	"Life-hater",
	"Kamikazee",
	"Freefaller",
	"Nutter",
	"Headless",
	"YAKUZADEATH"
};

new RankSuicides[RANKS_SUICIDES] = {
	0,
	2,
	10,
	25,
	50,
	100,
	250,
	500,
	1000,
	2500,
	5000,
	10000
};

#define RANKS_MONEY 12

new RankMoneyNames[RANKS_MONEY][32] = {
	"Looser",
	"Bad Player",
	"Casino Beginner",
	"Poor Man",
	"Shithead",
	"Businessman",
	"Rich Guy",
	"Lucker",
	"Millioneer",
	"Big Boss",
	"Oligarch",
	"IAMDAVEJ"
};

new RankMoneys[RANKS_MONEY] = {
	-1000000,
	-100000,
	-10000,
	0,
	10000,
	100000,
	1000000,
	5000000,
	10000000,
	50000000,
	100000000,
	1000000000
};

#define RANKS_BOUNTY 8

new RankBountyNames[RANKS_BOUNTY][32] = {
	"Not Needed",
	"Ordered",
	"Low Interest",
	"Big Interest",
	"Wanted",
	"Main Target",
	"Most Wanted",
	"DESIRES"
};

new RankBounty[RANKS_BOUNTY] = {
	0,
	10000,
	50000,
	100000,
	500000,
	1000000,
	5000000,
	10000000
};

enum zoneinfo {
	zone_name[27],
    Float:zone_minx,
    Float:zone_miny,
    Float:zone_minz,
    Float:zone_maxx,
    Float:zone_maxy,
    Float:zone_maxz
}
new Float:zones[][zoneinfo] = {
	{ "'The Big Ear'",                -410.00,  1403.30,    -3.00,  -137.90,  1681.20,   200.00},
	{ "Aldea Malvada",               -1372.10,  2498.50,     0.00, -1277.50,  2615.30,   200.00},
	{ "Angel Pine",                  -2324.90, -2584.20,    -6.10, -1964.20, -2212.10,   200.00},
	{ "Arco del Oeste",               -901.10,  2221.80,     0.00,  -592.00,  2571.90,   200.00},
	{ "Avispa Country Club",         -2646.40,  -355.40,     0.00, -2270.00,  -222.50,   200.00},
	{ "Avispa Country Club",         -2831.80,  -430.20,    -6.10, -2646.40,  -222.50,   200.00},
	{ "Avispa Country Club",         -2361.50,  -417.10,     0.00, -2270.00,  -355.40,   200.00},
	{ "Avispa Country Club",         -2667.80,  -302.10,   -28.80, -2646.40,  -262.30,    71.10},
	{ "Avispa Country Club",         -2470.00,  -355.40,     0.00, -2270.00,  -318.40,    46.10},
	{ "Avispa Country Club",         -2550.00,  -355.40,     0.00, -2470.00,  -318.40,    39.70},
	{ "Back o Beyond",               -1166.90, -2641.10,     0.00,  -321.70, -1856.00,   200.00},
	{ "Battery Point",               -2741.00,  1268.40,    -4.50, -2533.00,  1490.40,   200.00},
	{ "Bayside",                     -2741.00,  2175.10,     0.00, -2353.10,  2722.70,   200.00},
	{ "Bayside Marina",              -2353.10,  2275.70,     0.00, -2153.10,  2475.70,   200.00},
	{ "Beacon Hill",                  -399.60, -1075.50,    -1.40,  -319.00,  -977.50,   198.50},
	{ "Blackfield",                    964.30,  1203.20,   -89.00,  1197.30,  1403.20,   110.90},
	{ "Blackfield",                    964.30,  1403.20,   -89.00,  1197.30,  1726.20,   110.90},
	{ "Blackfield Chapel",            1375.60,   596.30,   -89.00,  1558.00,   823.20,   110.90},
	{ "Blackfield Chapel",            1325.60,   596.30,   -89.00,  1375.60,   795.00,   110.90},
	{ "Blackfield Intersection",      1197.30,  1044.60,   -89.00,  1277.00,  1163.30,   110.90},
	{ "Blackfield Intersection",      1166.50,   795.00,   -89.00,  1375.60,  1044.60,   110.90},
	{ "Blackfield Intersection",      1277.00,  1044.60,   -89.00,  1315.30,  1087.60,   110.90},
	{ "Blackfield Intersection",      1375.60,   823.20,   -89.00,  1457.30,   919.40,   110.90},
	{ "Blueberry",                     104.50,  -220.10,     2.30,   349.60,   152.20,   200.00},
	{ "Blueberry",                      19.60,  -404.10,     3.80,   349.60,  -220.10,   200.00},
	{ "Blueberry Acres",              -319.60,  -220.10,     0.00,   104.50,   293.30,   200.00},
	{ "Caligula's Palace",            2087.30,  1543.20,   -89.00,  2437.30,  1703.20,   110.90},
	{ "Caligula's Palace",            2137.40,  1703.20,   -89.00,  2437.30,  1783.20,   110.90},
	{ "Calton Heights",              -2274.10,   744.10,    -6.10, -1982.30,  1358.90,   200.00},
	{ "Chinatown",                   -2274.10,   578.30,    -7.60, -2078.60,   744.10,   200.00},
	{ "City Hall",                   -2867.80,   277.40,    -9.10, -2593.40,   458.40,   200.00},
	{ "Come-A-Lot",                   2087.30,   943.20,   -89.00,  2623.10,  1203.20,   110.90},
	{ "Commerce",                     1323.90, -1842.20,   -89.00,  1701.90, -1722.20,   110.90},
	{ "Commerce",                     1323.90, -1722.20,   -89.00,  1440.90, -1577.50,   110.90},
	{ "Commerce",                     1370.80, -1577.50,   -89.00,  1463.90, -1384.90,   110.90},
	{ "Commerce",                     1463.90, -1577.50,   -89.00,  1667.90, -1430.80,   110.90},
	{ "Commerce",                     1583.50, -1722.20,   -89.00,  1758.90, -1577.50,   110.90},
	{ "Commerce",                     1667.90, -1577.50,   -89.00,  1812.60, -1430.80,   110.90},
	{ "Conference Center",            1046.10, -1804.20,   -89.00,  1323.90, -1722.20,   110.90},
	{ "Conference Center",            1073.20, -1842.20,   -89.00,  1323.90, -1804.20,   110.90},
	{ "Cranberry Station",           -2007.80,    56.30,     0.00, -1922.00,   224.70,   100.00},
	{ "Creek",                        2749.90,  1937.20,   -89.00,  2921.60,  2669.70,   110.90},
	{ "Dillimore",                     580.70,  -674.80,    -9.50,   861.00,  -404.70,   200.00},
	{ "Doherty",                     -2270.00,  -324.10,    -0.00, -1794.90,  -222.50,   200.00},
	{ "Doherty",                     -2173.00,  -222.50,    -0.00, -1794.90,   265.20,   200.00},
	{ "Downtown",                    -1982.30,   744.10,    -6.10, -1871.70,  1274.20,   200.00},
	{ "Downtown",                    -1871.70,  1176.40,    -4.50, -1620.30,  1274.20,   200.00},
	{ "Downtown",                    -1700.00,   744.20,    -6.10, -1580.00,  1176.50,   200.00},
	{ "Downtown",                    -1580.00,   744.20,    -6.10, -1499.80,  1025.90,   200.00},
	{ "Downtown",                    -2078.60,   578.30,    -7.60, -1499.80,   744.20,   200.00},
	{ "Downtown",                    -1993.20,   265.20,    -9.10, -1794.90,   578.30,   200.00},
	{ "Downtown Los Santos",          1463.90, -1430.80,   -89.00,  1724.70, -1290.80,   110.90},
	{ "Downtown Los Santos",          1724.70, -1430.80,   -89.00,  1812.60, -1250.90,   110.90},
	{ "Downtown Los Santos",          1463.90, -1290.80,   -89.00,  1724.70, -1150.80,   110.90},
	{ "Downtown Los Santos",          1370.80, -1384.90,   -89.00,  1463.90, -1170.80,   110.90},
	{ "Downtown Los Santos",          1724.70, -1250.90,   -89.00,  1812.60, -1150.80,   110.90},
	{ "Downtown Los Santos",          1370.80, -1170.80,   -89.00,  1463.90, -1130.80,   110.90},
	{ "Downtown Los Santos",          1378.30, -1130.80,   -89.00,  1463.90, -1026.30,   110.90},
	{ "Downtown Los Santos",          1391.00, -1026.30,   -89.00,  1463.90,  -926.90,   110.90},
	{ "Downtown Los Santos",          1507.50, -1385.20,   110.90,  1582.50, -1325.30,   335.90},
	{ "East Beach",                   2632.80, -1852.80,   -89.00,  2959.30, -1668.10,   110.90},
	{ "East Beach",                   2632.80, -1668.10,   -89.00,  2747.70, -1393.40,   110.90},
	{ "East Beach",                   2747.70, -1668.10,   -89.00,  2959.30, -1498.60,   110.90},
	{ "East Beach",                   2747.70, -1498.60,   -89.00,  2959.30, -1120.00,   110.90},
	{ "East Los Santos",              2421.00, -1628.50,   -89.00,  2632.80, -1454.30,   110.90},
	{ "East Los Santos",              2222.50, -1628.50,   -89.00,  2421.00, -1494.00,   110.90},
	{ "East Los Santos",              2266.20, -1494.00,   -89.00,  2381.60, -1372.00,   110.90},
	{ "East Los Santos",              2381.60, -1494.00,   -89.00,  2421.00, -1454.30,   110.90},
	{ "East Los Santos",              2281.40, -1372.00,   -89.00,  2381.60, -1135.00,   110.90},
	{ "East Los Santos",              2381.60, -1454.30,   -89.00,  2462.10, -1135.00,   110.90},
	{ "East Los Santos",              2462.10, -1454.30,   -89.00,  2581.70, -1135.00,   110.90},
	{ "Easter Basin",                -1794.90,   249.90,    -9.10, -1242.90,   578.30,   200.00},
	{ "Easter Basin",                -1794.90,   -50.00,    -0.00, -1499.80,   249.90,   200.00},
	{ "Easter Bay Airport",          -1499.80,   -50.00,    -0.00, -1242.90,   249.90,   200.00},
	{ "Easter Bay Airport",          -1794.90,  -730.10,    -3.00, -1213.90,   -50.00,   200.00},
	{ "Easter Bay Airport",          -1213.90,  -730.10,     0.00, -1132.80,   -50.00,   200.00},
	{ "Easter Bay Airport",          -1242.90,   -50.00,     0.00, -1213.90,   578.30,   200.00},
	{ "Easter Bay Airport",          -1213.90,   -50.00,    -4.50,  -947.90,   578.30,   200.00},
	{ "Easter Bay Airport",          -1315.40,  -405.30,    15.40, -1264.40,  -209.50,    25.40},
	{ "Easter Bay Airport",          -1354.30,  -287.30,    15.40, -1315.40,  -209.50,    25.40},
	{ "Easter Bay Airport",          -1490.30,  -209.50,    15.40, -1264.40,  -148.30,    25.40},
	{ "Easter Bay Chemicals",        -1132.80,  -768.00,     0.00,  -956.40,  -578.10,   200.00},
	{ "Easter Bay Chemicals",        -1132.80,  -787.30,     0.00,  -956.40,  -768.00,   200.00},
	{ "El Castillo del Diablo",       -464.50,  2217.60,     0.00,  -208.50,  2580.30,   200.00},
	{ "El Castillo del Diablo",       -208.50,  2123.00,    -7.60,   114.00,  2337.10,   200.00},
	{ "El Castillo del Diablo",       -208.50,  2337.10,     0.00,     8.40,  2487.10,   200.00},
	{ "El Corona",                    1812.60, -2179.20,   -89.00,  1970.60, -1852.80,   110.90},
	{ "El Corona",                    1692.60, -2179.20,   -89.00,  1812.60, -1842.20,   110.90},
	{ "El Quebrados",                -1645.20,  2498.50,     0.00, -1372.10,  2777.80,   200.00},
	{ "Esplanade East",              -1620.30,  1176.50,    -4.50, -1580.00,  1274.20,   200.00},
	{ "Esplanade East",              -1580.00,  1025.90,    -6.10, -1499.80,  1274.20,   200.00},
	{ "Esplanade East",              -1499.80,   578.30,   -79.60, -1339.80,  1274.20,    20.30},
	{ "Esplanade North",             -2533.00,  1358.90,    -4.50, -1996.60,  1501.20,   200.00},
	{ "Esplanade North",             -1996.60,  1358.90,    -4.50, -1524.20,  1592.50,   200.00},
	{ "Esplanade North",             -1982.30,  1274.20,    -4.50, -1524.20,  1358.90,   200.00},
	{ "Fallen Tree",                  -792.20,  -698.50,    -5.30,  -452.40,  -380.00,   200.00},
	{ "Fallow Bridge",                 434.30,   366.50,     0.00,   603.00,   555.60,   200.00},
	{ "Fern Ridge",                    508.10,  -139.20,     0.00,  1306.60,   119.50,   200.00},
	{ "Financial",                   -1871.70,   744.10,    -6.10, -1701.30,  1176.40,   300.00},
	{ "Fisher's Lagoon",              1916.90,  -233.30,  -100.00,  2131.70,    13.80,   200.00},
	{ "Flint Intersection",           -187.70, -1596.70,   -89.00,    17.00, -1276.60,   110.90},
	{ "Flint Range",                  -594.10, -1648.50,     0.00,  -187.70, -1276.60,   200.00},
	{ "Fort Carson",                  -376.20,   826.30,    -3.00,   123.70,  1220.40,   200.00},
	{ "Foster Valley",               -2270.00,  -430.20,    -0.00, -2178.60,  -324.10,   200.00},
	{ "Foster Valley",               -2178.60,  -599.80,    -0.00, -1794.90,  -324.10,   200.00},
	{ "Foster Valley",               -2178.60, -1115.50,     0.00, -1794.90,  -599.80,   200.00},
	{ "Foster Valley",               -2178.60, -1250.90,     0.00, -1794.90, -1115.50,   200.00},
	{ "Frederick Bridge",             2759.20,   296.50,     0.00,  2774.20,   594.70,   200.00},
	{ "Gant Bridge",                 -2741.40,  1659.60,    -6.10, -2616.40,  2175.10,   200.00},
	{ "Gant Bridge",                 -2741.00,  1490.40,    -6.10, -2616.40,  1659.60,   200.00},
	{ "Ganton",                       2222.50, -1852.80,   -89.00,  2632.80, -1722.30,   110.90},
	{ "Ganton",                       2222.50, -1722.30,   -89.00,  2632.80, -1628.50,   110.90},
	{ "Garcia",                      -2411.20,  -222.50,    -0.00, -2173.00,   265.20,   200.00},
	{ "Garcia",                      -2395.10,  -222.50,    -5.30, -2354.00,  -204.70,   200.00},
	{ "Garver Bridge",               -1339.80,   828.10,   -89.00, -1213.90,  1057.00,   110.90},
	{ "Garver Bridge",               -1213.90,   950.00,   -89.00, -1087.90,  1178.90,   110.90},
	{ "Garver Bridge",               -1499.80,   696.40,  -179.60, -1339.80,   925.30,    20.30},
	{ "Glen Park",                    1812.60, -1449.60,   -89.00,  1996.90, -1350.70,   110.90},
	{ "Glen Park",                    1812.60, -1100.80,   -89.00,  1994.30,  -973.30,   110.90},
	{ "Glen Park",                    1812.60, -1350.70,   -89.00,  2056.80, -1100.80,   110.90},
	{ "Green Palms",                   176.50,  1305.40,    -3.00,   338.60,  1520.70,   200.00},
	{ "Greenglass College",            964.30,  1044.60,   -89.00,  1197.30,  1203.20,   110.90},
	{ "Greenglass College",            964.30,   930.80,   -89.00,  1166.50,  1044.60,   110.90},
	{ "Hampton Barns",                 603.00,   264.30,     0.00,   761.90,   366.50,   200.00},
	{ "Hankypanky Point",             2576.90,    62.10,     0.00,  2759.20,   385.50,   200.00},
	{ "Harry Gold Parkway",           1777.30,   863.20,   -89.00,  1817.30,  2342.80,   110.90},
	{ "Hashbury",                    -2593.40,  -222.50,    -0.00, -2411.20,    54.70,   200.00},
	{ "Hilltop Farm",                  967.30,  -450.30,    -3.00,  1176.70,  -217.90,   200.00},
	{ "Hunter Quarry",                 337.20,   710.80,  -115.20,   860.50,  1031.70,   203.70},
	{ "Idlewood",                     1812.60, -1852.80,   -89.00,  1971.60, -1742.30,   110.90},
	{ "Idlewood",                     1812.60, -1742.30,   -89.00,  1951.60, -1602.30,   110.90},
	{ "Idlewood",                     1951.60, -1742.30,   -89.00,  2124.60, -1602.30,   110.90},
	{ "Idlewood",                     1812.60, -1602.30,   -89.00,  2124.60, -1449.60,   110.90},
	{ "Idlewood",                     2124.60, -1742.30,   -89.00,  2222.50, -1494.00,   110.90},
	{ "Idlewood",                     1971.60, -1852.80,   -89.00,  2222.50, -1742.30,   110.90},
	{ "Jefferson",                    1996.90, -1449.60,   -89.00,  2056.80, -1350.70,   110.90},
	{ "Jefferson",                    2124.60, -1494.00,   -89.00,  2266.20, -1449.60,   110.90},
	{ "Jefferson",                    2056.80, -1372.00,   -89.00,  2281.40, -1210.70,   110.90},
	{ "Jefferson",                    2056.80, -1210.70,   -89.00,  2185.30, -1126.30,   110.90},
	{ "Jefferson",                    2185.30, -1210.70,   -89.00,  2281.40, -1154.50,   110.90},
	{ "Jefferson",                    2056.80, -1449.60,   -89.00,  2266.20, -1372.00,   110.90},
	{ "Julius Thruway East",          2623.10,   943.20,   -89.00,  2749.90,  1055.90,   110.90},
	{ "Julius Thruway East",          2685.10,  1055.90,   -89.00,  2749.90,  2626.50,   110.90},
	{ "Julius Thruway East",          2536.40,  2442.50,   -89.00,  2685.10,  2542.50,   110.90},
	{ "Julius Thruway East",          2625.10,  2202.70,   -89.00,  2685.10,  2442.50,   110.90},
	{ "Julius Thruway North",         2498.20,  2542.50,   -89.00,  2685.10,  2626.50,   110.90},
	{ "Julius Thruway North",         2237.40,  2542.50,   -89.00,  2498.20,  2663.10,   110.90},
	{ "Julius Thruway North",         2121.40,  2508.20,   -89.00,  2237.40,  2663.10,   110.90},
	{ "Julius Thruway North",         1938.80,  2508.20,   -89.00,  2121.40,  2624.20,   110.90},
	{ "Julius Thruway North",         1534.50,  2433.20,   -89.00,  1848.40,  2583.20,   110.90},
	{ "Julius Thruway North",         1848.40,  2478.40,   -89.00,  1938.80,  2553.40,   110.90},
	{ "Julius Thruway North",         1704.50,  2342.80,   -89.00,  1848.40,  2433.20,   110.90},
	{ "Julius Thruway North",         1377.30,  2433.20,   -89.00,  1534.50,  2507.20,   110.90},
	{ "Julius Thruway South",         1457.30,   823.20,   -89.00,  2377.30,   863.20,   110.90},
	{ "Julius Thruway South",         2377.30,   788.80,   -89.00,  2537.30,   897.90,   110.90},
	{ "Julius Thruway West",          1197.30,  1163.30,   -89.00,  1236.60,  2243.20,   110.90},
	{ "Julius Thruway West",          1236.60,  2142.80,   -89.00,  1297.40,  2243.20,   110.90},
	{ "Juniper Hill",                -2533.00,   578.30,    -7.60, -2274.10,   968.30,   200.00},
	{ "Juniper Hollow",              -2533.00,   968.30,    -6.10, -2274.10,  1358.90,   200.00},
	{ "K.A.C.C. Military Fuels",      2498.20,  2626.50,   -89.00,  2749.90,  2861.50,   110.90},
	{ "Kincaid Bridge",              -1339.80,   599.20,   -89.00, -1213.90,   828.10,   110.90},
	{ "Kincaid Bridge",              -1213.90,   721.10,   -89.00, -1087.90,   950.00,   110.90},
	{ "Kincaid Bridge",              -1087.90,   855.30,   -89.00,  -961.90,   986.20,   110.90},
	{ "King's",                      -2329.30,   458.40,    -7.60, -1993.20,   578.30,   200.00},
	{ "King's",                      -2411.20,   265.20,    -9.10, -1993.20,   373.50,   200.00},
	{ "King's",                      -2253.50,   373.50,    -9.10, -1993.20,   458.40,   200.00},
	{ "LVA Freight Depot",            1457.30,   863.20,   -89.00,  1777.40,  1143.20,   110.90},
	{ "LVA Freight Depot",            1375.60,   919.40,   -89.00,  1457.30,  1203.20,   110.90},
	{ "LVA Freight Depot",            1277.00,  1087.60,   -89.00,  1375.60,  1203.20,   110.90},
	{ "LVA Freight Depot",            1315.30,  1044.60,   -89.00,  1375.60,  1087.60,   110.90},
	{ "LVA Freight Depot",            1236.60,  1163.40,   -89.00,  1277.00,  1203.20,   110.90},
	{ "Las Barrancas",                -926.10,  1398.70,    -3.00,  -719.20,  1634.60,   200.00},
	{ "Las Brujas",                   -365.10,  2123.00,    -3.00,  -208.50,  2217.60,   200.00},
	{ "Las Colinas",                  1994.30, -1100.80,   -89.00,  2056.80,  -920.80,   110.90},
	{ "Las Colinas",                  2056.80, -1126.30,   -89.00,  2126.80,  -920.80,   110.90},
	{ "Las Colinas",                  2185.30, -1154.50,   -89.00,  2281.40,  -934.40,   110.90},
	{ "Las Colinas",                  2126.80, -1126.30,   -89.00,  2185.30,  -934.40,   110.90},
	{ "Las Colinas",                  2747.70, -1120.00,   -89.00,  2959.30,  -945.00,   110.90},
	{ "Las Colinas",                  2632.70, -1135.00,   -89.00,  2747.70,  -945.00,   110.90},
	{ "Las Colinas",                  2281.40, -1135.00,   -89.00,  2632.70,  -945.00,   110.90},
	{ "Las Payasadas",                -354.30,  2580.30,     2.00,  -133.60,  2816.80,   200.00},
	{ "Las Venturas Airport",         1236.60,  1203.20,   -89.00,  1457.30,  1883.10,   110.90},
	{ "Las Venturas Airport",         1457.30,  1203.20,   -89.00,  1777.30,  1883.10,   110.90},
	{ "Las Venturas Airport",         1457.30,  1143.20,   -89.00,  1777.40,  1203.20,   110.90},
	{ "Las Venturas Airport",         1515.80,  1586.40,   -12.50,  1729.90,  1714.50,    87.50},
	{ "Last Dime Motel",              1823.00,   596.30,   -89.00,  1997.20,   823.20,   110.90},
	{ "Leafy Hollow",                -1166.90, -1856.00,     0.00,  -815.60, -1602.00,   200.00},
	{ "Lil' Probe Inn",                -90.20,  1286.80,    -3.00,   153.80,  1554.10,   200.00},
	{ "Linden Side",                  2749.90,   943.20,   -89.00,  2923.30,  1198.90,   110.90},
	{ "Linden Station",               2749.90,  1198.90,   -89.00,  2923.30,  1548.90,   110.90},
	{ "Linden Station",               2811.20,  1229.50,   -39.50,  2861.20,  1407.50,    60.40},
	{ "Little Mexico",                1701.90, -1842.20,   -89.00,  1812.60, -1722.20,   110.90},
	{ "Little Mexico",                1758.90, -1722.20,   -89.00,  1812.60, -1577.50,   110.90},
	{ "Los Flores",                   2581.70, -1454.30,   -89.00,  2632.80, -1393.40,   110.90},
	{ "Los Flores",                   2581.70, -1393.40,   -89.00,  2747.70, -1135.00,   110.90},
	{ "Los Santos International",     1249.60, -2394.30,   -89.00,  1852.00, -2179.20,   110.90},
	{ "Los Santos International",     1852.00, -2394.30,   -89.00,  2089.00, -2179.20,   110.90},
	{ "Los Santos International",     1382.70, -2730.80,   -89.00,  2201.80, -2394.30,   110.90},
	{ "Los Santos International",     1974.60, -2394.30,   -39.00,  2089.00, -2256.50,    60.90},
	{ "Los Santos International",     1400.90, -2669.20,   -39.00,  2189.80, -2597.20,    60.90},
	{ "Los Santos International",     2051.60, -2597.20,   -39.00,  2152.40, -2394.30,    60.90},
	{ "Marina",                        647.70, -1804.20,   -89.00,   851.40, -1577.50,   110.90},
	{ "Marina",                        647.70, -1577.50,   -89.00,   807.90, -1416.20,   110.90},
	{ "Marina",                        807.90, -1577.50,   -89.00,   926.90, -1416.20,   110.90},
	{ "Market",                        787.40, -1416.20,   -89.00,  1072.60, -1310.20,   110.90},
	{ "Market",                        952.60, -1310.20,   -89.00,  1072.60, -1130.80,   110.90},
	{ "Market",                       1072.60, -1416.20,   -89.00,  1370.80, -1130.80,   110.90},
	{ "Market",                        926.90, -1577.50,   -89.00,  1370.80, -1416.20,   110.90},
	{ "Market Station",                787.40, -1410.90,   -34.10,   866.00, -1310.20,    65.80},
	{ "Martin Bridge",                -222.10,   293.30,     0.00,  -122.10,   476.40,   200.00},
	{ "Missionary Hill",             -2994.40,  -811.20,     0.00, -2178.60,  -430.20,   200.00},
	{ "Montgomery",                   1119.50,   119.50,    -3.00,  1451.40,   493.30,   200.00},
	{ "Montgomery",                   1451.40,   347.40,    -6.10,  1582.40,   420.80,   200.00},
	{ "Montgomery Intersection",      1546.60,   208.10,     0.00,  1745.80,   347.40,   200.00},
	{ "Montgomery Intersection",      1582.40,   347.40,     0.00,  1664.60,   401.70,   200.00},
	{ "Mulholland",                   1414.00,  -768.00,   -89.00,  1667.60,  -452.40,   110.90},
	{ "Mulholland",                   1281.10,  -452.40,   -89.00,  1641.10,  -290.90,   110.90},
	{ "Mulholland",                   1269.10,  -768.00,   -89.00,  1414.00,  -452.40,   110.90},
	{ "Mulholland",                   1357.00,  -926.90,   -89.00,  1463.90,  -768.00,   110.90},
	{ "Mulholland",                   1318.10,  -910.10,   -89.00,  1357.00,  -768.00,   110.90},
	{ "Mulholland",                   1169.10,  -910.10,   -89.00,  1318.10,  -768.00,   110.90},
	{ "Mulholland",                    768.60,  -954.60,   -89.00,   952.60,  -860.60,   110.90},
	{ "Mulholland",                    687.80,  -860.60,   -89.00,   911.80,  -768.00,   110.90},
	{ "Mulholland",                    737.50,  -768.00,   -89.00,  1142.20,  -674.80,   110.90},
	{ "Mulholland",                   1096.40,  -910.10,   -89.00,  1169.10,  -768.00,   110.90},
	{ "Mulholland",                    952.60,  -937.10,   -89.00,  1096.40,  -860.60,   110.90},
	{ "Mulholland",                    911.80,  -860.60,   -89.00,  1096.40,  -768.00,   110.90},
	{ "Mulholland",                    861.00,  -674.80,   -89.00,  1156.50,  -600.80,   110.90},
	{ "Mulholland Intersection",      1463.90, -1150.80,   -89.00,  1812.60,  -768.00,   110.90},
	{ "North Rock",                   2285.30,  -768.00,     0.00,  2770.50,  -269.70,   200.00},
	{ "Ocean Docks",                  2373.70, -2697.00,   -89.00,  2809.20, -2330.40,   110.90},
	{ "Ocean Docks",                  2201.80, -2418.30,   -89.00,  2324.00, -2095.00,   110.90},
	{ "Ocean Docks",                  2324.00, -2302.30,   -89.00,  2703.50, -2145.10,   110.90},
	{ "Ocean Docks",                  2089.00, -2394.30,   -89.00,  2201.80, -2235.80,   110.90},
	{ "Ocean Docks",                  2201.80, -2730.80,   -89.00,  2324.00, -2418.30,   110.90},
	{ "Ocean Docks",                  2703.50, -2302.30,   -89.00,  2959.30, -2126.90,   110.90},
	{ "Ocean Docks",                  2324.00, -2145.10,   -89.00,  2703.50, -2059.20,   110.90},
	{ "Ocean Flats",                 -2994.40,   277.40,    -9.10, -2867.80,   458.40,   200.00},
	{ "Ocean Flats",                 -2994.40,  -222.50,    -0.00, -2593.40,   277.40,   200.00},
	{ "Ocean Flats",                 -2994.40,  -430.20,    -0.00, -2831.80,  -222.50,   200.00},
	{ "Octane Springs",                338.60,  1228.50,     0.00,   664.30,  1655.00,   200.00},
	{ "Old Venturas Strip",           2162.30,  2012.10,   -89.00,  2685.10,  2202.70,   110.90},
	{ "Palisades",                   -2994.40,   458.40,    -6.10, -2741.00,  1339.60,   200.00},
	{ "Palomino Creek",               2160.20,  -149.00,     0.00,  2576.90,   228.30,   200.00},
	{ "Paradiso",                    -2741.00,   793.40,    -6.10, -2533.00,  1268.40,   200.00},
	{ "Pershing Square",              1440.90, -1722.20,   -89.00,  1583.50, -1577.50,   110.90},
	{ "Pilgrim",                      2437.30,  1383.20,   -89.00,  2624.40,  1783.20,   110.90},
	{ "Pilgrim",                      2624.40,  1383.20,   -89.00,  2685.10,  1783.20,   110.90},
	{ "Pilson Intersection",          1098.30,  2243.20,   -89.00,  1377.30,  2507.20,   110.90},
	{ "Pirates in Men's Pants",       1817.30,  1469.20,   -89.00,  2027.40,  1703.20,   110.90},
	{ "Playa del Seville",            2703.50, -2126.90,   -89.00,  2959.30, -1852.80,   110.90},
	{ "Prickle Pine",                 1534.50,  2583.20,   -89.00,  1848.40,  2863.20,   110.90},
	{ "Prickle Pine",                 1117.40,  2507.20,   -89.00,  1534.50,  2723.20,   110.90},
	{ "Prickle Pine",                 1848.40,  2553.40,   -89.00,  1938.80,  2863.20,   110.90},
	{ "Prickle Pine",                 1938.80,  2624.20,   -89.00,  2121.40,  2861.50,   110.90},
	{ "Queens",                      -2533.00,   458.40,     0.00, -2329.30,   578.30,   200.00},
	{ "Queens",                      -2593.40,    54.70,     0.00, -2411.20,   458.40,   200.00},
	{ "Queens",                      -2411.20,   373.50,     0.00, -2253.50,   458.40,   200.00},
	{ "Randolph Industrial Estate",   1558.00,   596.30,   -89.00,  1823.00,   823.20,   110.90},
	{ "Redsands East",                1817.30,  2011.80,   -89.00,  2106.70,  2202.70,   110.90},
	{ "Redsands East",                1817.30,  2202.70,   -89.00,  2011.90,  2342.80,   110.90},
	{ "Redsands East",                1848.40,  2342.80,   -89.00,  2011.90,  2478.40,   110.90},
	{ "Redsands West",                1236.60,  1883.10,   -89.00,  1777.30,  2142.80,   110.90},
	{ "Redsands West",                1297.40,  2142.80,   -89.00,  1777.30,  2243.20,   110.90},
	{ "Redsands West",                1377.30,  2243.20,   -89.00,  1704.50,  2433.20,   110.90},
	{ "Redsands West",                1704.50,  2243.20,   -89.00,  1777.30,  2342.80,   110.90},
	{ "Regular Tom",                  -405.70,  1712.80,    -3.00,  -276.70,  1892.70,   200.00},
	{ "Richman",                       647.50, -1118.20,   -89.00,   787.40,  -954.60,   110.90},
	{ "Richman",                       647.50,  -954.60,   -89.00,   768.60,  -860.60,   110.90},
	{ "Richman",                       225.10, -1369.60,   -89.00,   334.50, -1292.00,   110.90},
	{ "Richman",                       225.10, -1292.00,   -89.00,   466.20, -1235.00,   110.90},
	{ "Richman",                        72.60, -1404.90,   -89.00,   225.10, -1235.00,   110.90},
	{ "Richman",                        72.60, -1235.00,   -89.00,   321.30, -1008.10,   110.90},
	{ "Richman",                       321.30, -1235.00,   -89.00,   647.50, -1044.00,   110.90},
	{ "Richman",                       321.30, -1044.00,   -89.00,   647.50,  -860.60,   110.90},
	{ "Richman",                       321.30,  -860.60,   -89.00,   687.80,  -768.00,   110.90},
	{ "Richman",                       321.30,  -768.00,   -89.00,   700.70,  -674.80,   110.90},
	{ "Robada Intersection",         -1119.00,  1178.90,   -89.00,  -862.00,  1351.40,   110.90},
	{ "Roca Escalante",               2237.40,  2202.70,   -89.00,  2536.40,  2542.50,   110.90},
	{ "Roca Escalante",               2536.40,  2202.70,   -89.00,  2625.10,  2442.50,   110.90},
	{ "Rockshore East",               2537.30,   676.50,   -89.00,  2902.30,   943.20,   110.90},
	{ "Rockshore West",               1997.20,   596.30,   -89.00,  2377.30,   823.20,   110.90},
	{ "Rockshore West",               2377.30,   596.30,   -89.00,  2537.30,   788.80,   110.90},
	{ "Rodeo",                          72.60, -1684.60,   -89.00,   225.10, -1544.10,   110.90},
	{ "Rodeo",                          72.60, -1544.10,   -89.00,   225.10, -1404.90,   110.90},
	{ "Rodeo",                         225.10, -1684.60,   -89.00,   312.80, -1501.90,   110.90},
	{ "Rodeo",                         225.10, -1501.90,   -89.00,   334.50, -1369.60,   110.90},
	{ "Rodeo",                         334.50, -1501.90,   -89.00,   422.60, -1406.00,   110.90},
	{ "Rodeo",                         312.80, -1684.60,   -89.00,   422.60, -1501.90,   110.90},
	{ "Rodeo",                         422.60, -1684.60,   -89.00,   558.00, -1570.20,   110.90},
	{ "Rodeo",                         558.00, -1684.60,   -89.00,   647.50, -1384.90,   110.90},
	{ "Rodeo",                         466.20, -1570.20,   -89.00,   558.00, -1385.00,   110.90},
	{ "Rodeo",                         422.60, -1570.20,   -89.00,   466.20, -1406.00,   110.90},
	{ "Rodeo",                         466.20, -1385.00,   -89.00,   647.50, -1235.00,   110.90},
	{ "Rodeo",                         334.50, -1406.00,   -89.00,   466.20, -1292.00,   110.90},
	{ "Royal Casino",                 2087.30,  1383.20,   -89.00,  2437.30,  1543.20,   110.90},
	{ "San Andreas Sound",            2450.30,   385.50,  -100.00,  2759.20,   562.30,   200.00},
	{ "Santa Flora",                 -2741.00,   458.40,    -7.60, -2533.00,   793.40,   200.00},
	{ "Santa Maria Beach",             342.60, -2173.20,   -89.00,   647.70, -1684.60,   110.90},
	{ "Santa Maria Beach",              72.60, -2173.20,   -89.00,   342.60, -1684.60,   110.90},
	{ "Shady Cabin",                 -1632.80, -2263.40,    -3.00, -1601.30, -2231.70,   200.00},
	{ "Shady Creeks",                -1820.60, -2643.60,    -8.00, -1226.70, -1771.60,   200.00},
	{ "Shady Creeks",                -2030.10, -2174.80,    -6.10, -1820.60, -1771.60,   200.00},
	{ "Sobell Rail Yards",            2749.90,  1548.90,   -89.00,  2923.30,  1937.20,   110.90},
	{ "Spinybed",                     2121.40,  2663.10,   -89.00,  2498.20,  2861.50,   110.90},
	{ "Starfish Casino",              2437.30,  1783.20,   -89.00,  2685.10,  2012.10,   110.90},
	{ "Starfish Casino",              2437.30,  1858.10,   -39.00,  2495.00,  1970.80,    60.90},
	{ "Starfish Casino",              2162.30,  1883.20,   -89.00,  2437.30,  2012.10,   110.90},
	{ "Temple",                       1252.30, -1130.80,   -89.00,  1378.30, -1026.30,   110.90},
	{ "Temple",                       1252.30, -1026.30,   -89.00,  1391.00,  -926.90,   110.90},
	{ "Temple",                       1252.30,  -926.90,   -89.00,  1357.00,  -910.10,   110.90},
	{ "Temple",                        952.60, -1130.80,   -89.00,  1096.40,  -937.10,   110.90},
	{ "Temple",                       1096.40, -1130.80,   -89.00,  1252.30, -1026.30,   110.90},
	{ "Temple",                       1096.40, -1026.30,   -89.00,  1252.30,  -910.10,   110.90},
	{ "The Camel's Toe",              2087.30,  1203.20,   -89.00,  2640.40,  1383.20,   110.90},
	{ "The Clown's Pocket",           2162.30,  1783.20,   -89.00,  2437.30,  1883.20,   110.90},
	{ "The Emerald Isle",             2011.90,  2202.70,   -89.00,  2237.40,  2508.20,   110.90},
	{ "The Farm",                    -1209.60, -1317.10,   114.90,  -908.10,  -787.30,   251.90},
	{ "The Four Dragons Casino",      1817.30,   863.20,   -89.00,  2027.30,  1083.20,   110.90},
	{ "The High Roller",              1817.30,  1283.20,   -89.00,  2027.30,  1469.20,   110.90},
	{ "The Mako Span",                1664.60,   401.70,     0.00,  1785.10,   567.20,   200.00},
	{ "The Panopticon",               -947.90,  -304.30,    -1.10,  -319.60,   327.00,   200.00},
	{ "The Pink Swan",                1817.30,  1083.20,   -89.00,  2027.30,  1283.20,   110.90},
	{ "The Sherman Dam",              -968.70,  1929.40,    -3.00,  -481.10,  2155.20,   200.00},
	{ "The Strip",                    2027.40,   863.20,   -89.00,  2087.30,  1703.20,   110.90},
	{ "The Strip",                    2106.70,  1863.20,   -89.00,  2162.30,  2202.70,   110.90},
	{ "The Strip",                    2027.40,  1783.20,   -89.00,  2162.30,  1863.20,   110.90},
	{ "The Strip",                    2027.40,  1703.20,   -89.00,  2137.40,  1783.20,   110.90},
	{ "The Visage",                   1817.30,  1863.20,   -89.00,  2106.70,  2011.80,   110.90},
	{ "The Visage",                   1817.30,  1703.20,   -89.00,  2027.40,  1863.20,   110.90},
	{ "Unity Station",                1692.60, -1971.80,   -20.40,  1812.60, -1932.80,    79.50},
	{ "Valle Ocultado",               -936.60,  2611.40,     2.00,  -715.90,  2847.90,   200.00},
	{ "Verdant Bluffs",                930.20, -2488.40,   -89.00,  1249.60, -2006.70,   110.90},
	{ "Verdant Bluffs",               1073.20, -2006.70,   -89.00,  1249.60, -1842.20,   110.90},
	{ "Verdant Bluffs",               1249.60, -2179.20,   -89.00,  1692.60, -1842.20,   110.90},
	{ "Verdant Meadows",                37.00,  2337.10,    -3.00,   435.90,  2677.90,   200.00},
	{ "Verona Beach",                  647.70, -2173.20,   -89.00,   930.20, -1804.20,   110.90},
	{ "Verona Beach",                  930.20, -2006.70,   -89.00,  1073.20, -1804.20,   110.90},
	{ "Verona Beach",                  851.40, -1804.20,   -89.00,  1046.10, -1577.50,   110.90},
	{ "Verona Beach",                 1161.50, -1722.20,   -89.00,  1323.90, -1577.50,   110.90},
	{ "Verona Beach",                 1046.10, -1722.20,   -89.00,  1161.50, -1577.50,   110.90},
	{ "Vinewood",                      787.40, -1310.20,   -89.00,   952.60, -1130.80,   110.90},
	{ "Vinewood",                      787.40, -1130.80,   -89.00,   952.60,  -954.60,   110.90},
	{ "Vinewood",                      647.50, -1227.20,   -89.00,   787.40, -1118.20,   110.90},
	{ "Vinewood",                      647.70, -1416.20,   -89.00,   787.40, -1227.20,   110.90},
	{ "Whitewood Estates",             883.30,  1726.20,   -89.00,  1098.30,  2507.20,   110.90},
	{ "Whitewood Estates",            1098.30,  1726.20,   -89.00,  1197.30,  2243.20,   110.90},
	{ "Willowfield",                  1970.60, -2179.20,   -89.00,  2089.00, -1852.80,   110.90},
	{ "Willowfield",                  2089.00, -2235.80,   -89.00,  2201.80, -1989.90,   110.90},
	{ "Willowfield",                  2089.00, -1989.90,   -89.00,  2324.00, -1852.80,   110.90},
	{ "Willowfield",                  2201.80, -2095.00,   -89.00,  2324.00, -1989.90,   110.90},
	{ "Willowfield",                  2541.70, -1941.40,   -89.00,  2703.50, -1852.80,   110.90},
	{ "Willowfield",                  2324.00, -2059.20,   -89.00,  2541.70, -1852.80,   110.90},
	{ "Willowfield",                  2541.70, -2059.20,   -89.00,  2703.50, -1941.40,   110.90},
	{ "Yellow Bell Station",          1377.40,  2600.40,   -21.90,  1492.40,  2687.30,    78.00},
	// Main Zones
	{ "Los Santos",                     44.60, -2892.90,  -242.90,  2997.00,  -768.00,   900.00},
	{ "Las Venturas",                  869.40,   596.30,  -242.90,  2997.00,  2993.80,   900.00},
	{ "Bone County",                  -480.50,   596.30,  -242.90,   869.40,  2993.80,   900.00},
	{ "Tierra Robada",               -2997.40,  1659.60,  -242.90,  -480.50,  2993.80,   900.00},
	{ "Tierra Robada",               -1213.90,   596.30,  -242.90,  -480.50,  1659.60,   900.00},
	{ "San Fierro",                  -2997.40, -1115.50,  -242.90, -1213.90,  1659.60,   900.00},
	{ "Red County",                  -1213.90,  -768.00,  -242.90,  2997.00,   596.30,   900.00},
	{ "Flint County",                -1213.90, -2892.90,  -242.90,    44.60,  -768.00,   900.00},
	{ "Whetstone",                   -2997.40, -2892.90,  -242.90, -1213.90, -1115.50,   900.00}
};

enum SavePlayerPosEnum
{
    Float:LastX,
    Float:LastY,
    Float:LastZ
}

//new SavePlayerPos[MAX_PLAYERS][SavePlayerPosEnum];

new player_zone[MAX_PLAYERS];

main()
{
		print("\n----------------------------------------------------------");
		print("   Running SA:MP STREET HOODLUMS RPG");
		print("   By PacMan Email: love_machine68@yahoo.com");
		print("----------------------------------------------------------\n");
}

PlayerFile(playernick[])
{
	new tmp[MAX_STRING];
	format(tmp, sizeof(tmp), "%s%s.player", DIR_PLAYERS,EncodeNick(playernick));
	return tmp;
}

EncodeNick(playernick[])
{
	new tmp[MAX_STRING];

	set(tmp, strlower(playernick));

	tmp = strreplace("_", "_00", tmp);
	tmp = strreplace(";", "_01", tmp);
	tmp = strreplace("!", "_02", tmp);
	tmp = strreplace("/", "_03", tmp);
	tmp = strreplace("\\", "_04", tmp);
	tmp = strreplace("[", "_05", tmp);
	tmp = strreplace("]", "_06", tmp);
	tmp = strreplace("?", "_07", tmp);
	tmp = strreplace(".", "_08", tmp);
	tmp = strreplace("*", "_09", tmp);
	tmp = strreplace("<", "_10", tmp);
	tmp = strreplace(">", "_11", tmp);
	tmp = strreplace("{", "_12", tmp);
	tmp = strreplace("}", "_13", tmp);
	tmp = strreplace(" ", "_14", tmp);
	tmp = strreplace("\"", "_15", tmp);
	tmp = strreplace(":", "_16", tmp);
	tmp = strreplace("|", "_17", tmp);
	tmp = strreplace("=", "_18", tmp);

	return tmp;
}

public MoneyScoreUpdate()
{
	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 = bank[i] + GetPlayerMoney(i);
			SetPlayerScore(i, CashScore);
			if (CashScore > CashScoreOld)
			{
				CashScoreOld = CashScore;
				//format(string, sizeof(string), "$$$ %s is now in the lead $$$", name);
				//SendClientMessageToAll(COLOR_YELLOW, string);
			}
		}
	}
}

public ServerMessages()
{
	for(new i=0; i < MAX_PLAYERS; i++) {
	if(IsPlayerConnected(i)) {
		if(servermessage[i] == 0) {
			SendClientMessage(i, COLOR_GREY, "* Check out our new forum at http://shrpg.smfforfree3.com/.");
			servermessage[i]++;
			return 1;
		}
		if(servermessage[i] == 1) {
			SendClientMessage(i, COLOR_GREY, "* To be a cop, gang member or mafia please apply at the forum: http://shrpg.smfforfree3.com/.");
			servermessage[i]++;
			return 1;
		}
		if(servermessage[i] == 2) {
			SendClientMessage(i, COLOR_GREY, "* This is not a Deathmatch server, read the rules or get ban! For rule type /rules.");
			servermessage[i]++;
			return 1;
		}
		if(servermessage[i] == 3) {
			SendClientMessage(i, COLOR_GREY, "* Use /help to get the list of available commands.");
			servermessage[i]++;
			return 1;
		}
		if(servermessage[i] == 4) {
			SendClientMessage(i, COLOR_GREY, "* Use /telladmin to report a disruptive player.");
			servermessage[i] = 0;
			return 1;
			}
		}
	}
	return 1;
}

public ResetPlayerArrays(playerid)
{
	new string[MAX_STRING];
    new playername[MAX_PLAYER_NAME];

    logged[playerid] = 0;
    payrate[playerid] = 0;
    servermessage[playerid] = 0;
    spawned[playerid] = 0;
    respect[playerid] = 0;
	adminlevel[playerid] = 0;
	dlpoints[playerid] = 0;
	wantedlevel[playerid] = 0;
	jailed[playerid] = 0;
	jailtime[playerid] = 0;
	jailbreak[playerid] = 0;
	bank[playerid] = 0;
	bounty[playerid] = 0;
	god[playerid] = 0;
	doorlock[playerid] = 0;
	muted[playerid] = 0;
	raped[playerid] = 0;
	cuffed[playerid] = 0;
	bankrobber[playerid] = 0;
	bankrobberytime[playerid] = 0;
	carbomb[playerid] = 0;
	idle[playerid] = 0;
	wrongpasses[playerid] = 0;
	lockedskin[playerid] = 0;
	disarm[playerid] = 0;
	leader[playerid] = 0;
	
	query[playerid] = 255;

	TogglePlayerControllable(playerid,1);

    for(new l=0; l<MAX_PLAYERS; l++){
        IgnorePlayerlist[playerid][l] = 0;
    }

 	GetPlayerName(playerid, playername, sizeof(playername));
	format(string, sizeof(string), "--- %s (id: %d) resetted all arrays.", playername, playerid);
	printf(string);

	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	if(gTeam[playerid] != TEAM_POLICE && newstate == PLAYER_STATE_DRIVER && (GetPlayerVehicleID(playerid) >= 1 && GetPlayerVehicleID(playerid) <= 39)) {
		RemovePlayerFromVehicle(playerid);
		SendClientMessage(playerid, COLOR_RED, "* This is a Police vehicle. You are not authorized to use it!");
	}
	if(gTeam[playerid] != TEAM_MILITARY && newstate == PLAYER_STATE_DRIVER && (GetPlayerVehicleID(playerid) >= 40 && GetPlayerVehicleID(playerid) <= 69)) {
		RemovePlayerFromVehicle(playerid);
		SendClientMessage(playerid, COLOR_RED, "* This is a Military vehicle. You are not authorized to use it!");
	}
	if(gTeam[playerid] != TEAM_RESCUE && newstate == PLAYER_STATE_DRIVER && (GetPlayerVehicleID(playerid) >= 70 && GetPlayerVehicleID(playerid) <= 80)) {
		RemovePlayerFromVehicle(playerid);
		SendClientMessage(playerid, COLOR_RED, "* This is a Rescue vehicle. You are not authorized to use it!");
	}
	if(!IsPlayerAdmin(playerid) && adminlevel[playerid] == 0 && newstate == PLAYER_STATE_DRIVER && (GetPlayerVehicleID(playerid) >= 81 && GetPlayerVehicleID(playerid) <= 83)) {
		RemovePlayerFromVehicle(playerid);
		SendClientMessage(playerid, COLOR_RED, "* This is an Amdin vehicle. You are not authorized to use it!");
	}
	if(gTeam[playerid] != TEAM_TRAIDS && newstate == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == 84) {
		RemovePlayerFromVehicle(playerid);
		SendClientMessage(playerid, COLOR_RED, "* This is a Traids vehicle. You are not authorized to use it!");
	}
	if(gTeam[playerid] != TEAM_MAFIA && newstate == PLAYER_STATE_DRIVER && (GetPlayerVehicleID(playerid) >= 85 && GetPlayerVehicleID(playerid) <= 88)) {
		RemovePlayerFromVehicle(playerid);
		SendClientMessage(playerid, COLOR_RED, "* This is a Mafia vehicle. You are not authorized to use it!");
	}
	if(dlpoints[playerid] >= 15 && newstate == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) <= CARS) {
		RemovePlayerFromVehicle(playerid);
		SendClientMessage(playerid, COLOR_RED, "* You don't have a valid driver license!");
	}

}

public DLPointsUpdate()
{
	new string[MAX_STRING];
    new playername[MAX_PLAYER_NAME];
	new moneys;

	for(new i=0; i < MAX_PLAYERS; i++) {
		if(IsPlayerConnected(i) && spawned[i] == 1) {
        if(dlpoints[i] > 0) {
  		    GetPlayerName(i, playername, MAX_PLAYER_NAME);
  		    
			moneys = dlpoints[i] - 1;
			
			dlpoints[i] = moneys;
			dini_IntSet(PlayerFile(playername), "dlpoints", moneys);
			format(string,sizeof(string),"* You have %d DL points left.", moneys);
			SendClientMessage(i, COLOR_GREY, string);
		}
		else {
			dini_IntSet(PlayerFile(playername), "dlpoints", 0);
			dlpoints[i] = 0;
			SendClientMessage(i,COLOR_GREY, "* You have a clean driver license.");
        	}
    	}
	}
}

public GotRaped()
{
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
        if (IsPlayerConnected(i) && raped[i] == 1)
        {
		new Float:health;
		GetPlayerHealth(i, health);
		SetPlayerHealth(i, health - 20);
    	}
	}
}

public BankRobbery()
{
	new string[MAX_STRING];
    new playername[MAX_PLAYER_NAME];
	new moneys;
	new loot;
	
    for(new i=0; i < MAX_PLAYERS; i++) {
        if(IsPlayerConnected(i) && bankrobber[i] == 1) {
        if(bankrobberytime[i] > 0) {
        
            moneys = bankrobberytime[i] - 1;

            bankrobberytime[i] = moneys;
			format(string,sizeof(string),"* You have %d minutes left on the run.", moneys);
			SendClientMessage(i, COLOR_GREY, string);
		}
		else {
			loot = gRandomBankLoot[random(sizeof(gRandomBankLoot))];
			
			GivePlayerMoney(i, loot);
			bankrobber[i] = 0;
		    GetPlayerName(i, playername, MAX_PLAYER_NAME);
			format(string, sizeof(string), "--- %s robbed the bank for $%d.", playername,i,loot);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) got away with the bank loot of $%d.", playername,i,loot);
			SendClientMessageToAll(COLOR_GREY, string);
			}
		}
	}
}

public JailUpdate()
{
	new string[MAX_STRING];
    new playername[MAX_PLAYER_NAME];
    new moneys;

    for(new i=0; i < MAX_PLAYERS; i++) {
        if(IsPlayerConnected(i) && jailed[i] == 1 && spawned[i] == 1) {
        if(jailtime[i] > 0) {
		    GetPlayerName(i, playername, MAX_PLAYER_NAME);
		    
			moneys = jailtime[i] - 1;
			
			jailtime[i] = moneys;
			dini_IntSet(PlayerFile(playername), "jailtime", moneys);
			format(string,sizeof(string),"* You have %d minutes left in jail.", moneys);
			SendClientMessage(i, COLOR_GREY, string);
		}
		else {
		    GetPlayerName(i, playername, MAX_PLAYER_NAME);
			dini_IntSet(PlayerFile(playername), "jailed", 0);
			dini_IntSet(PlayerFile(playername), "jailtime", 0);
			cuffed[i] = 0;
			KillTimer(cuffedtimeout[i]);
			TogglePlayerControllable(i, 1);
			SetPlayerInterior(i, 0);
			SetPlayerPos(i, 1552.4499, -1674.9899, 16.1953);
			jailed[i] = 0;
			format(string, sizeof(string), "--- %s (id: %d) been released from jail.", playername,i);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) been released from jail.", playername,i);
			SendClientMessageToAll(COLOR_GREY, string);
        	}
    	}
	}
}

public JailCheck()
{
    new tmp[MAX_STRING];
    
	for(new i=0; i < MAX_PLAYERS; i++) {
		if(IsPlayerConnected(i)) {
			GetPlayerPos(i,X250[i],Y250[i],Z250[i]);
			if(jailed[i] == 1 && spawned[i] == 1 && Z250[i] <= 900) {
			SendClientMessage(i, COLOR_RED,"* Get back in jail or get ban!");
			jailbreak[i]++;
			}
			if(jailbreak[i] > 5) {

			tmp = dini_Get(FILE_SETTINGS, "jailbreak");
			if (strval(tmp) == 1) KickMsg(i, "AntiCheat", "Possible cheat to break out of jail.");
			if (strval(tmp) == 2) BanMsg(i, "AntiCheat", "Possible cheat to break out of jail.");
			}
	    }
	}
}

public UncuffCheck()
{
	new string[MAX_STRING];
	new playername[MAX_PLAYER_NAME];

	for(new i=0; i < MAX_PLAYERS; i++) {
		if(IsPlayerConnected(i)) {
		if(cuffed[i] == 1 && jailed[i] == 0) {
			cuffed[i] = 0;
			TogglePlayerControllable(i,1);
			GetPlayerName(i, playername, MAX_PLAYER_NAME);
			format(string, sizeof(string), "* Suspect %s (id: %d) managed to get uncuff and is on the run.", playername,i);
			SendClientMessageToAll(COLOR_GREY, string);
			KillTimer(cuffedtimeout[i]);
			}
		}
	}
}

public WantedLevelCheck()
{
	for(new i=0; i < MAX_PLAYERS; i++) {
	    if(IsPlayerConnected(i)) {
		if(wantedlevel[i] >= 10) {
	        wantedlevel[i] = 10;
		}
		if(wantedlevel[i] <= 0) {
			wantedlevel[i] = 0;
			}
	    }
    }
}

public WeaponsCheck()
{
	for(new i=0; i < MAX_PLAYERS; i++) {
		if(IsPlayerConnected(i)) {
		if(respect[i] <= 2 || disarm[i] == 1 || jailed[i] == 1) {
			ResetPlayerWeapons(i);
			}
		}
	}
}

public RespectUpdate()
{
	new string[MAX_STRING];
	new playername[MAX_PLAYER_NAME];
	new moneys;

	for(new i=0; i<MAX_PLAYERS; i++) {
		if(IsPlayerConnected(i)) {
		if(jailed[i] == 0) {
		    GetPlayerName(i, playername, MAX_PLAYER_NAME);

			moneys = respect[i] + 1;
			
	  		respect[i] = moneys;
			dini_IntSet(PlayerFile(playername), "respect", moneys);
			format(string,sizeof(string),"~b~Respect ~n~ ~n~ ~w~%d", moneys);
	  		GameTextForPlayer(i, string, 700, 1);
			}
		}
    }
}

public PayDay()
{
	for(new i=0; i < MAX_PLAYERS; i++) {
	if(payrate[i] == 0 && jailed[i] == 0) {
		GameTextForPlayer(i, "~w~PayDay ~n~ ~n~ ~g~$500", 700, 1);
		GivePlayerMoney(i, 500);
	}
	if(payrate[i] == 1 && jailed[i] == 0) {
		GameTextForPlayer(i, "~w~PayDay ~n~ ~n~ ~g~$1000", 700, 1);
		GivePlayerMoney(i, 1000);
	}
	if(payrate[i] == 2 && jailed[i] == 0) {
		GameTextForPlayer(i, "~w~PayDay ~n~ ~n~ ~g~$1500", 700, 1);
		GivePlayerMoney(i, 1500);
	}
	if(payrate[i] == 3 && jailed[i] == 0) {
		GameTextForPlayer(i, "~w~PayDay ~n~ ~n~ ~g~$1750", 700, 1);
		GivePlayerMoney(i, 1750);
	}
	if(payrate[i] == 4 && jailed[i] == 0) {
		GameTextForPlayer(i, "~w~PayDay ~n~ ~n~ ~g~$2000", 700, 1);
		GivePlayerMoney(i, 2000);
	}
	if(payrate[i] == 5 && jailed[i] == 0) {
		GameTextForPlayer(i, "~w~PayDay ~n~ ~n~ ~g~$3000", 700, 1);
		GivePlayerMoney(i, 3000);
	}
	if(payrate[i] == 6 && jailed[i] == 0) {
		GameTextForPlayer(i, "~w~PayDay ~n~ ~n~ ~g~$4000", 700, 1);
		GivePlayerMoney(i, 4000);
	}
	if(jailed[i] == 1) {
		GameTextForPlayer(i, "~w~PayDay ~n~ ~n~ ~g~$30", 700, 1);
		GivePlayerMoney(i, 30);
		}
	}
}

public TaxDay()
{
	new string[MAX_STRING];
	new moneys;
	new tax;

	for(new i=0; i<MAX_PLAYERS; i++) {
		if(IsPlayerConnected(i) && jailed[i] == 0) {
		if(GetPlayerMoney(i)>1) {
			moneys = bank[i] + GetPlayerMoney(i);
			tax = floatround(moneys/20);
			GivePlayerMoney(i, - tax);
			format(string,sizeof(string),"~w~Tax Day ~n~ ~n~ ~r~ - $%d", tax);
	  		GameTextForPlayer(i, string, 700, 1);
	  		}
		if(GetPlayerMoney(i)<1) {
			moneys = bank[i] + GetPlayerMoney(i);
			tax = floatround(moneys/20);
			bank[i] -= tax;
			format(string,sizeof(string),"~w~Tax Day ~n~ ~n~ ~r~ - $%d", tax);
	  		GameTextForPlayer(i, string, 700, 1);
			}
		}
    }
}

public CountDown()
{
	new string[MAX_STRING];
   	new minutes, seconds;

	if(countdownseconds > 0) {
	    countdownseconds--;
		if(countdownseconds == 0) {
			for(new i=0; i<MAX_PLAYERS; i++) {
			    if(IsPlayerConnected(i)) {
					PlayerPlaySound(i,1057,X250[i],Y250[i],Z250[i]);
				}
			}
        	GameTextForAll("~w~GO",3000,4);
		} else {
   			minutes=floatround((countdownseconds/60),floatround_tozero);
   			seconds=countdownseconds - (minutes * 60);
			for(new i=0; i<MAX_PLAYERS; i++) {
			    if(IsPlayerConnected(i)) {
					PlayerPlaySound(i,1056,X250[i],Y250[i],Z250[i]);
				}
			}
			if(seconds > 9){
				format(string, sizeof(string), "~w~%d:%d", minutes,seconds);
			} else {
				format(string, sizeof(string), "~w~%d:0%d", minutes,seconds);
			}
			GameTextForAll(string,3000,4);
		}
	}
	return 1;
}

IsPlayerInZone(playerid, zoneid) {
	if(zoneid == -1) return 0;
	if(X250[playerid] >= zones[zoneid][zone_minx] && X250[playerid] < zones[zoneid][zone_maxx]
	&& Y250[playerid] >= zones[zoneid][zone_miny] && Y250[playerid] < zones[zoneid][zone_maxy]
	&& Z250[playerid] >= zones[zoneid][zone_minz] && Z250[playerid] < zones[zoneid][zone_maxz]) return 1;
	return 0;
}

public ZonesCheck()
{
	new player_zone_before;
	for (new playerid=0;playerid<MAX_PLAYERS;playerid++){
		player_zone_before = player_zone[playerid];
		player_zone[playerid] = -1;

	for(new k=0; k<sizeof(zones);k++) {
	if(IsPlayerInZone(playerid,k) && player_zone[playerid] == -1) {
		player_zone[playerid] = k;
		}
	}
	if(player_zone[playerid] == -1){
		player_zone[playerid] = player_zone_before;
		}
	}
}

public Float:GetDistanceBetweenPlayers(p1,p2)
{
	new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
	if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){
	return -1.00;
}
	GetPlayerPos(p1,x1,y1,z1);
	GetPlayerPos(p2,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}

public getCheckpointType(playerid)
{
	return checkpointType[playerCheckpoint[playerid]];
}

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;
}

public IsPlayerAt(playerid, Float:x1, Float:y1, Float:x2, Float:y2)
{
    new Float:x, Float:y, Float:z;
    
	if (IsPlayerConnected(playerid)) {
		GetPlayerPos(playerid, x, y, z);
		if(x >= x1 && x <= x2 && y >= y1 && y <= y2) return 1;
	}
	
	return 0;
}

public TimeUpdate() {
	new string[MAX_STRING];
    new tmp[MAX_STRING];

	tmp = dini_Get(FILE_SETTINGS, "timeupdate");
	if (strval(tmp) == 0) return 0;

	worldTime++;
	worldTime %= 24;
	SetWorldTime(worldTime);
	
	format(string, sizeof(string), "~w~Its now ~r~%d:00~w~.", worldTime);
	GameTextForAll(string, 3000, 5);
	return 1;
}

public RandomWeather()
 {
   SetWeather(gRandomWeather[random(sizeof(gRandomWeather))]);
   return 1;
 }


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], 2);
						playerCheckpoint[i] = j;
					}
	            } else {
	            	if(playerCheckpoint[i]==j) {
	            	    DisablePlayerCheckpoint(i);
	            	    playerCheckpoint[i] = 999;
         	    	}
	            }
	        }
		}
	}
}

public PropertyScoreUpdate()
{
	new owners[MAX_PROPERTIES];
	new payments[MAX_PROPERTIES];
	
	for(new i=0; i < MAX_PROPERTIES; i++)
	    owners[i]=999;

	for(new i=0; i < MAX_PROPERTIES; i++)
	{
		if(propertyOwner[i] < 999) {
		
			for(new j=0; j < MAX_PROPERTIES; j++) {
			    if(owners[j]==propertyOwner[i]) {
			        payments[j]+=propertyEarnings[i];
			        j = MAX_PROPERTIES;
			    } else if (owners[j]==999) {
					owners[j]=propertyOwner[i];
					payments[j]+=propertyEarnings[i];
			        j = MAX_PROPERTIES;
				}
			}

		}
	}

	for(new i=0; i < MAX_PROPERTIES; i++) {
		if(owners[i] < 999 && IsPlayerConnected(owners[i])) {
			new string[MAX_STRING];

			StatGivePlayerMoney(owners[i], payments[i]);
			
			format(string, sizeof(string), "* You earned $%d from your properties.", payments[i]);
			SendClientMessage(owners[i], COLOR_GREEN, string);
		}
	}
}

public KickMsg(playerid, kickername[], reason[])
{
	new string[MAX_STRING];
	new ipstring[MAX_STRING];
	new tmp[MAX_STRING];
	new playername[MAX_PLAYER_NAME];
	GetPlayerName(playerid, playername, sizeof(playername));
	GetPlayerIp(playerid, ipstring, sizeof(ipstring));
	format(string, sizeof(string), "*** %s <#%d - %s> kicked by %s. Reason: %s ***", playername, playerid, ipstring, kickername, reason);
	printf(string);
	format(string, sizeof(string), "*** %s (id: %d) kicked by %s. Reason: %s ***", playername, playerid, kickername, reason);
	SendClientMessageToAll(COLOR_GREY, string);
	Kick(playerid);
	tmp = dini_Get(FILE_TOTALSTAT, "kicks");
	dini_IntSet(FILE_TOTALSTAT, "kicks", strval(tmp)+1);
	
	return 1;
}

public BanMsg(playerid, kickername[], reason[])
{
	new string[MAX_STRING];
	new ipstring[MAX_STRING];
	new tmp[MAX_STRING];
	new playername[MAX_PLAYER_NAME];
	GetPlayerName(playerid, playername, sizeof(playername));
	GetPlayerIp(playerid, ipstring, sizeof(ipstring));
	format(string, sizeof(string), "*** %s <#%d - %s> banned by %s. Reason: %s ***", playername, playerid, ipstring, kickername, reason);
	printf(string);
	format(string, sizeof(string), "*** %s (id: %d) banned by %s. Reason: %s ***", playername, playerid, kickername, reason);
	SendClientMessageToAll(COLOR_GREY, string);
	SendClientMessage(playerid, COLOR_GREY, "* File a ban appeal at http://shrpg.smfforfree3.com/.");
	Ban(playerid);
	tmp = dini_Get(FILE_TOTALSTAT, "bans");
	dini_IntSet(FILE_TOTALSTAT, "bans", strval(tmp)+1);
	
	return 1;
}

public MoneyScan() {
    new playername[MAX_PLAYER_NAME];
    new string[MAX_STRING];
   	new ipstring[MAX_STRING];
    new moneys;
    new tmp[MAX_STRING];
    
    tmp = dini_Get(FILE_SETTINGS, "moneyscan");
	if (strval(tmp) == 0) return 0;

    for(new i=0; i<MAX_PLAYERS; i++)
	{
		if (IsPlayerConnected(i) && !IsPlayerAdmin(i) && adminlevel[i] == 0)
		{
		    GetPlayerName(i, playername, sizeof(playername));
	    	GetPlayerIp(i, ipstring, sizeof(ipstring));
		    moneys = GetPlayerMoney(i);
		    
		    tmp = dini_Get(FILE_SETTINGS, "maxmoney");
			if (moneys > strval(tmp)) {
			    GivePlayerMoney(i, -moneys);
				format(string, sizeof(string), "--- %s <#%d - %s> possible money cheat: $%d.", playername, i, ipstring, moneys);
		  		printf(string);
		  		format(string, sizeof(string), "* %s (id: %d) scanner detected possible money cheat: $%d!!!", playername, i, moneys);
				SendClientMessageToAll(COLOR_RED, string);
				tmp = dini_Get(FILE_SETTINGS, "onmoneycheat");
				if (strval(tmp) == 1) KickMsg(i, "AntiCheat", "Possible money cheat!");
				if (strval(tmp) == 2) BanMsg(i, "AntiCheat", "Possible money cheat!");
			}
		}
	}
	return 1;
}

public HealthScan()
{
	new playername[MAX_PLAYER_NAME];
    new string[MAX_STRING];
   	new ipstring[MAX_STRING];
    new Float:hp;
    new tmp[MAX_STRING];
    
    tmp = dini_Get(FILE_SETTINGS, "healthscan");
	if (strval(tmp) == 0) return 0;

    for(new i=0; i<MAX_PLAYERS; i++)
	{
		if (IsPlayerConnected(i) && !IsPlayerAdmin(i) && adminlevel[i] == 0)
		{
		    GetPlayerName(i, playername, sizeof(playername));
	    	GetPlayerIp(i, ipstring, sizeof(ipstring));
		    GetPlayerHealth(i, hp);

            tmp = dini_Get(FILE_SETTINGS, "maxhealth");
	        if (GetPlayerState(i) != PLAYER_STATE_NONE && GetPlayerState(i) != PLAYER_STATE_WASTED && !god[i]) {
			if (hp > floatstr(tmp)) {
				format(string, sizeof(string), "--- %s <#%d - %s> possible health cheat.", playername, i, ipstring);
		  		printf(string);
		  		format(string, sizeof(string), "* %s (id: %d) scanner detected possible health cheat!!!", playername, i);
				SendClientMessageToAll(COLOR_RED, string);
				tmp = dini_Get(FILE_SETTINGS, "onhealthcheat");
				if (strval(tmp) == 1) KickMsg(i, "AntiCheat", "Possible health cheat!");
				if (strval(tmp) == 2) BanMsg(i, "AntiCheat", "Possible health cheat!");
				}
			}
		}
	}
	return 1;
}

public IdleCheck()
{
    new Float:x,Float:y,Float:z;
    new string[MAX_STRING];

    for (new i=0;i<MAX_PLAYERS;i++)
        if (IsPlayerConnected(i)) {
            GetPlayerPos(i, x, y, z);
            if(x == idlepos[i][0] && y == idlepos[i][1] && z == idlepos[i][2] && !frozen[i]) {
                idle[i]++;
                if (idle[i] == 5) {
                    format(string, sizeof(string), "* You have been idle for %d minutes, please move to a new area.", idle[i]);
                    SendClientMessage(i, COLOR_RED, string);
					SendClientMessage(i, COLOR_RED, "* If you won't move in next 1 minute you will be kicked!");
					GameTextForPlayer(i, "~r~Do not ~b~idle~r~!", 3000, 5);
                }
                if (idle[i] > 5) {
                    idle[i] = 0;
					KickMsg(i, "Protection", "Idle");
				}
			}
            else idle[i] = 0;

            idlepos[i][0] = x;
            idlepos[i][1] = y;
            idlepos[i][2] = z;
   		}
}

public VehicleDriver(vehicleid)
{
	for (new i=0;i<MAX_PLAYERS;i++) {
		if (IsPlayerConnected(i) && GetPlayerVehicleID(i) == vehicleid && GetPlayerState(i) == 2)  return i;
	}
	
	return -1;
}

public UnlockCars()
{
	for (new c=1;c<MAX_CARS;c++)
		if(VehicleDriver(c) == -1)
			for (new i=0;i<MAX_PLAYERS;i++)	SetVehicleParamsForPlayer(c, i, 0, 0);

	return 1;
}

public RespawnCars()
{
	for (new c=1;c<MAX_CARS;c++) {
		if(VehicleDriver(c) == -1){
			SetVehicleToRespawn(c);
		}
	}
	return 1;
}

public TaxiCheck()
{
	new driver;
	new drivername[MAX_PLAYER_NAME];
	new playername[MAX_PLAYER_NAME];
	new string[MAX_STRING];
	
    for (new c=1;c<254;c++) {
        driver = VehicleDriver(c);
		if(driver != -1) {
			for (new i=0;i<MAX_PLAYERS;i++) {
				if (GetPlayerVehicleID(i) == c && GetPlayerState(i) == PLAYER_STATE_PASSENGER && payment[driver] != 0) {
                    GetPlayerName(driver, drivername, sizeof(drivername));
				    GetPlayerName(i, playername, sizeof(playername));
				    if (GetPlayerMoney(i) > payment[driver]) {
				    	StatGivePlayerMoney(driver, payment[driver]);
				    	StatGivePlayerMoney(i, -payment[driver]);
				    	
				    	format(string, sizeof(string), "--- %s (id: %d) pays $%d to %s (id: %d) for his driver service.", playername,i,payment[driver],drivername,driver);
						printf(string);
						format(string, sizeof(string), "* You pay $%d to %s (id: %d) for his driver service.", payment[driver],drivername,driver);
                    	SendClientMessage(i, COLOR_YELLOW, string);
                    	format(string, sizeof(string), "* You receive $%d from %s (id: %d) for your driver service.", payment[driver],playername,i);
                    	SendClientMessage(driver, COLOR_GREEN, string);
					}
					else {
						RemovePlayerFromVehicle(i);
					    format(string, sizeof(string), "--- %s (id: %d) don't have $%d to pay %s (id: %d) for his driver service. Ejected from vehicle.", playername,i,payment[driver],drivername,driver);
						printf(string);
						format(string, sizeof(string), "* You don't have $%d to pay %s (id: %d) driver service.", payment[driver],drivername,driver);
                    	SendClientMessage(i, COLOR_RED, string);
					}
				}
			}
		}
 	}

	return 1;
}

public SaveData()
{
    new playername[MAX_PLAYER_NAME];
    new Float:x, Float:y, Float:z;
    
    for (new i=0;i<MAX_PLAYERS;i++) {
	    GetPlayerName(i, playername, MAX_PLAYER_NAME);
	    if (dini_Exists(PlayerFile(playername)) && logged[i] == 1) {
			dini_IntSet(PlayerFile(playername), "respect", respect[i]);
			dini_IntSet(PlayerFile(playername), "money", GetPlayerMoney(i));
       		dini_IntSet(PlayerFile(playername), "bank", bank[i]);
      		dini_IntSet(PlayerFile(playername), "bounty", bounty[i]);
      		if (GetPlayerState(i) != PLAYER_STATE_NONE && GetPlayerState(i) != PLAYER_STATE_WASTED) {
				GetPlayerPos(i, x,y,z);
       			dini_FloatSet(PlayerFile(playername), "x", x);
       			dini_FloatSet(PlayerFile(playername), "y", y);
       			dini_FloatSet(PlayerFile(playername), "z", z);
			}
			dini_IntSet(PlayerFile(playername), "killsinarow", killsinarow[i]);
      		SendClientMessage(i, COLOR_GREEN, "* Your progress saved.");
		}
	}

    return 1;
}

public StatGivePlayerMoney(playerid, amount)
{
	new tmp[MAX_STRING];
	if (IsPlayerConnected(playerid)) {
	    tmp = dini_Get(FILE_SETTINGS, "maxmoney");
		if (GetPlayerMoney(playerid)+amount <= strval(tmp)) {
		    GivePlayerMoney(playerid, amount);
		    if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);
			if (amount > 0) {
                tmp = dini_Get(FILE_TOTALSTAT, "moneyreceived");
				dini_IntSet(FILE_TOTALSTAT, "moneyreceived", strval(tmp)+amount);
			}
			else {
			    tmp = dini_Get(FILE_TOTALSTAT, "moneylost");
				dini_IntSet(FILE_TOTALSTAT, "moneylost", strval(tmp)-amount);
			}
		}
		else {
		    SendClientMessage(playerid, COLOR_RED, "* WARNING! Your money at maximum and you cannot receive more money!");
		    SendClientMessage(playerid, COLOR_RED, "* Store money in bank or send them to be able to get more.");
		    return 0;
		}
	}
	return 1;
}

public SettingsExistsCheck()
{
	if (!dini_Exists(FILE_SETTINGS)) {
		dini_Create(FILE_SETTINGS);
		dini_IntSet(FILE_SETTINGS, "spawnmoney", 0);
		dini_IntSet(FILE_SETTINGS, "timeupdate", 1);
		dini_IntSet(FILE_SETTINGS, "healthscan", 1);
		dini_FloatSet(FILE_SETTINGS, "maxhealth", 100.0);
		dini_IntSet(FILE_SETTINGS, "onhealthcheat", 2);
		dini_IntSet(FILE_SETTINGS, "moneyscan", 1);
		dini_IntSet(FILE_SETTINGS, "maxmoney", 9000000);
		dini_IntSet(FILE_SETTINGS, "onmoneycheat", 2);
		dini_Set(FILE_SETTINGS, "forbiddenweapons", "1,35,36,37,38");
		dini_IntSet(FILE_SETTINGS, "onweaponcheat", 2);
		dini_IntSet(FILE_SETTINGS, "blacklist", 1);
		dini_IntSet(FILE_SETTINGS, "positionsave", 1);
		dini_IntSet(FILE_SETTINGS, "register", 1);
		dini_IntSet(FILE_SETTINGS, "maxusers", 2000);
		dini_IntSet(FILE_SETTINGS, "logintimeout", 20000);
		dini_IntSet(FILE_SETTINGS, "locking", 1);
		dini_IntSet(FILE_SETTINGS, "bank", 1);
		dini_IntSet(FILE_SETTINGS, "send", 1);
		dini_IntSet(FILE_SETTINGS, "transact", 1);
		dini_IntSet(FILE_SETTINGS, "bounty", 1);
		dini_IntSet(FILE_SETTINGS, "properties", 1);
		dini_IntSet(FILE_SETTINGS, "spawnweapons", 1);
		dini_IntSet(FILE_SETTINGS, "skydive", 1);
		dini_IntSet(FILE_SETTINGS, "parachute", 1);
		dini_IntSet(FILE_SETTINGS, "driverservice", 1);
		dini_IntSet(FILE_SETTINGS, "manualsaving", 1);
		dini_IntSet(FILE_SETTINGS, "jailbreak", 2);
		dini_IntSet(FILE_SETTINGS, "teampass", 1);
		dini_IntSet(FILE_SETTINGS, "kill", 1);
	}
}

public TeamPassExistsCheck()
{
	if (!dini_Exists(FILE_TEAMPASS)) {
		dini_Create(FILE_TEAMPASS);
		dini_IntSet(FILE_TEAMPASS, "police", 152568461);
		dini_IntSet(FILE_TEAMPASS, "federal", 152568461);
		dini_IntSet(FILE_TEAMPASS, "military", 152568461);
		dini_IntSet(FILE_TEAMPASS, "rescue", 152568461);
		dini_IntSet(FILE_TEAMPASS, "grove", 152568461);
		dini_IntSet(FILE_TEAMPASS, "ballas", 152568461);
		dini_IntSet(FILE_TEAMPASS, "aztecas", 152568461);
		dini_IntSet(FILE_TEAMPASS, "vagos", 152568461);
		dini_IntSet(FILE_TEAMPASS, "da_nang_boys", 152568461);
		dini_IntSet(FILE_TEAMPASS, "rifa", 152568461);
		dini_IntSet(FILE_TEAMPASS, "traids", 152568461);
		dini_IntSet(FILE_TEAMPASS, "bikers", 152568461);
		dini_IntSet(FILE_TEAMPASS, "mafia", 152568461);
		dini_IntSet(FILE_TEAMPASS, "whores", 152568461);
	}
}

public LoginTimeout()
{
    for (new i=0;i<MAX_PLAYERS;i++)
 		if (logged[i] == 0 && GetPlayerState(i) != PLAYER_STATE_NONE) KickMsg(i, "Protection", "Login timeout!");
}

public GetPlayerId(playername[])
{
	if (IsNumeric(playername))
		if (IsPlayerConnected(strval(playername))) return strval(playername);
	else
		for (new i=0;i<MAX_PLAYERS;i++)
			if ((IsPlayerConnected(i)) && (strcmp(playername, gPlayerName[i], true) == 0)) return i;
	return INVALID_PLAYER_ID;
}

public OnPlayerConnect(playerid)
{
	new playername[MAX_PLAYER_NAME];
	new string[MAX_STRING];
	new tmp[MAX_STRING];
	new idx;

	SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive
	
	SetPlayerMapIcon(playerid, 0, 2204.9468, 1986.2877, 16.7380, 52, 0); //lv - bank
	SetPlayerMapIcon(playerid, 1, 2247.6616, 2401.3616, 11.2500, 52, 0); //lv - bank
	SetPlayerMapIcon(playerid, 2, 1352.3300, -1755.7100, 13.3530, 52, 0); //ls - bank
	SetPlayerMapIcon(playerid, 3, 1831.5400, -1843.3800, 13.5781, 52, 0); //ls - bank
	SetPlayerMapIcon(playerid, 4, 998.3287, -919.9222, 42.1797,52, 0); //ls - money
	SetPlayerMapIcon(playerid, 5, -1560.6300, -2734.9800, 48.7435, 52, 0); //whetstone
	SetPlayerMapIcon(playerid, 6, 1552.4467,-1674.9873,16.1953, 30, 0); //ls police
	SetPlayerMapIcon(playerid, 7, 2286.9600,2429.1101,10.8203, 30, 0); //lv police
	SetPlayerMapIcon(playerid, 8, -1605.8595,712.1788,13.8672, 30, 0); //sf police
	SetPlayerMapIcon(playerid, 9, 631.0117, -571.6066, 16.3359, 30, 0); //bc police
	SetPlayerMapIcon(playerid, 10, 1177.2609, -1323.7274, 14.0619, 22, 0); //ls all saints hospital
	SetPlayerMapIcon(playerid, 11, 2034.1733, -1401.6748, 17.2948, 22, 0); //ls hospital
	SetPlayerMapIcon(playerid, 12, 1584.0454, 1768.9932, 10.8203, 22, 0); //lv hospital
	SetPlayerMapIcon(playerid, 13, -2664.3606, 637.9362, 14.4531, 22, 0); //sf hospital
	SetPlayerMapIcon(playerid, 14, -2025.9674, 79.7542 ,28.2839, 20, 0); //lv fire
	SetPlayerMapIcon(playerid, 15, 1724.1538, 2112.7991, 12.2920, 20, 0); //sf fire
	SetPlayerMapIcon(playerid, 16, 2490.7896, -1679.3658, 13.3358, 62, 0); //gove
	SetPlayerMapIcon(playerid, 17, 2154.4307, -1618.2050, 13.8021, 59, 0); //ballas
	SetPlayerMapIcon(playerid, 18, 1814.1346, -1867.9672, 13.5704, 58, 0); //aztecas
	SetPlayerMapIcon(playerid, 19, 2193.9199, 1676.4200, 12.3672, 25, 0); //mafia
	SetPlayerMapIcon(playerid, 20, 2022.4900, 1007.0100, 10.8203, 43, 0); //traids
	
	GetPlayerName(playerid, playername, sizeof(playername));
	GameTextForPlayer(playerid,"~w~SA-MP: ~r~Street Hoodlums ~b~RPG",5000,5);
	format(string, sizeof(string), "* Welcome %s, to Street Hoodlums RPG! For help type /help.", playername);
	SendClientMessage(playerid, COLOR_GREEN, string);
	SendClientMessage(playerid, COLOR_GREEN, "* Forum: http://shrpg.smfhost.com/");
	SendClientMessage(playerid, COLOR_RED, "* This is not a Deathmatch server, read the rules or get ban! For rule type /rules.");
	gActivePlayers[playerid]++;
	gLastGaveCash[playerid] = GetTickCount();

	playerCheckpoint[playerid] = 999;
	
	tmp = dini_Get(FILE_SETTINGS, "blacklist");
	if (strval(tmp) == 1) {
		tmp = dini_Get(FILE_BLACKLIST, playername);
		if (strval(strtok(tmp, idx, ',')) == 1) KickMsg(playerid, "Blacklist", strtok(tmp, idx, ','));
		idx = 0;
		if (strval(strtok(tmp, idx, ',')) == 2) BanMsg(playerid, "Blacklist", strtok(tmp, idx, ','));
	}

    if (dini_Exists(PlayerFile(playername))) {
		SendClientMessage(playerid, COLOR_RED, "* This nick is registered! If you are owner, log in using /login command.");
		tmp = dini_Get(PlayerFile(playername), "respect");
		if (strval(tmp) != 0) respect[playerid] = strval(tmp);
		tmp = dini_Get(PlayerFile(playername), "money");
		if (strval(tmp) != 0) StatGivePlayerMoney(playerid, strval(tmp));
		tmp = dini_Get(PlayerFile(playername), "bank");
		if (strval(tmp) != 0) bank[playerid] = strval(tmp);
		tmp = dini_Get(PlayerFile(playername), "bounty");
		if (strval(tmp) != 0) bounty[playerid] = strval(tmp);
		tmp = dini_Get(PlayerFile(playername), "killsinarow");
		if (strval(tmp) != 0) killsinarow[playerid] = strval(tmp);
		tmp = dini_Get(PlayerFile(playername), "jailed");
		if (strval(tmp) == 1) jailed[playerid] = 1;
		tmp = dini_Get(PlayerFile(playername), "muted");
		if (strval(tmp) == 1) muted[playerid] = 1;
		tmp = dini_Get(PlayerFile(playername), "dlpoints");
		if (strval(tmp) != 0) dlpoints[playerid] = strval(tmp);
    }
    else {
        SendClientMessage(playerid, COLOR_YELLOW, "* In order to save your info (money, frags, etc) you need to /register.");
        SendClientMessage(playerid, COLOR_YELLOW, "* After successful registration identify yourself using /login.");
		SendClientMessage(playerid, COLOR_ORANGE, "* NOTE: Registration required on this server.");
	}

	format(string, sizeof(string), "* %s (id: %d) has connected to the server.", playername,playerid);
	SendClientMessageToAll(COLOR_GREY, string);

	return 1;
}

public OnPlayerDisconnect(playerid)
{
	new playername[MAX_PLAYER_NAME];
	new string[MAX_STRING];
	new Float:x, Float:y, Float:z;
	
	gActivePlayers[playerid]--;

    for(new l=0; l<MAX_PLAYERS; l++){
        IgnorePlayerlist[l][playerid] = 0;
    }
	for(new i=0; i < MAX_PROPERTIES; i++) {
		if(propertyOwner[i] == playerid) {
		    propertyOwner[i] = 999;
		    StatGivePlayerMoney(playerid, propertyValues[i]);
  		}
	}

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

	if (dini_Exists(PlayerFile(playername)) && logged[playerid] == 1) {
		dini_IntSet(PlayerFile(playername), "money", GetPlayerMoney(playerid));
       	dini_IntSet(PlayerFile(playername), "bank", bank[playerid]);
      	dini_IntSet(PlayerFile(playername), "bounty", bounty[playerid]);
      	if (GetPlayerState(playerid) != PLAYER_STATE_NONE && GetPlayerState(playerid) != PLAYER_STATE_WASTED) {
			GetPlayerPos(playerid, x,y,z);
       		dini_FloatSet(udb_encode(playername), "x", x);
       		dini_FloatSet(udb_encode(playername), "y", y);
       		dini_FloatSet(udb_encode(playername), "z", z);
		}
		dini_IntSet(PlayerFile(playername), "killsinarow", killsinarow[playerid]);
		
		format(string, sizeof(string), "--- %s (id: %d) logged out.", playername,playerid);
		printf(string);
	}
	
	ResetPlayerArrays(playerid);
	KillTimer(logintimeout[playerid]);

	format(string, sizeof(string), "* %s (id: %d) has disconnected from the server.", playername,playerid);
	SendClientMessageToAll(COLOR_GREY, string);
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	new string[MAX_STRING];
	new playermoney;
	new sendername[MAX_PLAYER_NAME];
	new giveplayer[MAX_PLAYER_NAME];
	new cmd[MAX_STRING];
	new giveplayerid, moneys, idx, weaponid;
	new tmp[MAX_STRING], tmp2[MAX_STRING];
	new playername[MAX_PLAYER_NAME];
	new vehicleid;
	new playerstate = GetPlayerState(playerid);
   	new dancestyle;
	
	cmd = strtok(cmdtext, idx);
	
	if(strcmp(cmd, "/help", true) == 0) {
		SendClientMessage(playerid, COLOR_YELLOW,"* ACCOUNT: /register /setpass /login /sv /stats /teampass");
		SendClientMessage(playerid, COLOR_YELLOW,"* CHAT: /pm /tpm /me /query /(un)ignore");
		SendClientMessage(playerid, COLOR_YELLOW,"* CAR: /mydl /(un)lock /close /open /eject");
		SendClientMessage(playerid, COLOR_YELLOW,"* FLY: /flyls, /flylv, /flysf");
		SendClientMessage(playerid, COLOR_YELLOW,"* MONEY: /bank /get /balance /send /transact /setpay /getpay /bondout");
		SendClientMessage(playerid, COLOR_YELLOW,"* WEAPONS: /bw(melee,pistol,shotgun,smg,rifle) /weaplist");
		SendClientMessage(playerid, COLOR_YELLOW,"* PROPERTY: /buy /proplist /prop");
        SendClientMessage(playerid, COLOR_YELLOW,"* BOUNTY: /hitman /bounty");
		SendClientMessage(playerid, COLOR_YELLOW,"* OTHER: /rules /admins /telladmin /myloction /locate /police /wantedlevel /jaillist /showlicense");
		SendClientMessage(playerid, COLOR_YELLOW,"* OTHER: /actions /stickup /rob /rape /911 /fbi /medic /taxi /para /skydive /kill /totalstats /credits");
		
		return 1;
	}
	
	if(strcmp(cmd, "/actions", true) == 0) {
		SendClientMessage(playerid, COLOR_YELLOW,"* /dance [1,2,3] /strip [a,b,c,d,e,f,g]");
		SendClientMessage(playerid, COLOR_YELLOW,"* /surrender  = Hands Up /drunk = Walk like a drunk man /bomb = Planting a bomb animation /arrest = Police arrest with gun");
		SendClientMessage(playerid, COLOR_YELLOW,"* /lay = Lay Down /cover = Take cover /crack = Dying of crack /piss = Start to piss /smoke = Start to smoke");
		SendClientMessage(playerid, COLOR_YELLOW,"* /sit = Sitting down /fucku = Fuck You /deal = Deal like a drugs dealer /death = Death crawling");
		SendClientMessage(playerid, COLOR_YELLOW,"* /slapass = Slap someone's ass /wave = wave to somebody /coplook = Look for robbers /vomit = Puke");
		SendClientMessage(playerid, COLOR_YELLOW,"* /eat = Eat a burger /robshop = Rob the place /laugh = Laugh /lookout = Lookout for cops");
		SendClientMessage(playerid, COLOR_YELLOW,"* /fsmoking = Smoke like a female /slapped = Get slapped on the *** /coparrest = Arrest someone /arrested = You getting arrested");
		SendClientMessage(playerid, COLOR_YELLOW,"* /injured = You are injured /balls = Scratching your balls /cpr = Give cardiopulmonary resuscitation");
		
		return 1;
	}

	if(strcmp(cmd, "/adminhelp", true) == 0) {
		if(adminlevel[playerid] == 1) {
		SendClientMessage(playerid, COLOR_YELLOW,"* CHAT: @ [message] /say");
		SendClientMessage(playerid, COLOR_YELLOW,"* MONEY: /getmoney /getbank /getrespect");
		SendClientMessage(playerid, COLOR_YELLOW,"* WEAPONS: /(dis)arm /adminweapons");
		SendClientMessage(playerid, COLOR_YELLOW,"* TELEPORT: /locs /tp /tpto /adminhouse");
		SendClientMessage(playerid, COLOR_YELLOW,"* PLAYER: /setpayrate /(un)jail /jailtime /(un)suspect /(un)mute /(un)freeze /heal /god /(s)murder /slap");
		SendClientMessage(playerid, COLOR_YELLOW,"* OTHER: /resetcars");
		}
		if(adminlevel[playerid] == 2) {
		SendClientMessage(playerid, COLOR_YELLOW,"* CHAT: @ [message] /say");
		SendClientMessage(playerid, COLOR_YELLOW,"* MONEY: /getmoney /getbank /getrespect");
		SendClientMessage(playerid, COLOR_YELLOW,"* WEAPONS: /giveweapon /(dis)arm /adminweapons");
		SendClientMessage(playerid, COLOR_YELLOW,"* TELEPORT: /locs /tp /tpto /adminhouse");
		SendClientMessage(playerid, COLOR_YELLOW,"* PLAYER: /setpayrate /(give,take)dl /(un)jail /jailtime /(un)suspect /(un)mute /(un)freeze /heal /god /(s)murder /slap");
        SendClientMessage(playerid, COLOR_YELLOW,"* CONTROL: /kick");
		SendClientMessage(playerid, COLOR_YELLOW,"* OTHER: /resetcars /(stop)countdown /settime /setweather");
		}
		if(adminlevel[playerid] == 3) {
		SendClientMessage(playerid, COLOR_YELLOW,"* CHAT: @ [message] /say");
		SendClientMessage(playerid, COLOR_YELLOW,"* MONEY: /(give,set,get)money /(set,get)bank /setbounty /(set,get)respect");
		SendClientMessage(playerid, COLOR_YELLOW,"* WEAPONS: /giveweapon /(dis)arm /adminweapons");
		SendClientMessage(playerid, COLOR_YELLOW,"* TELEPORT: /locs /tp /tpto /adminhouse");
		SendClientMessage(playerid, COLOR_YELLOW,"* PLAYER: /setpayrate /(un)jail /jailtime /(un)suspect /(un)mute /(un)freeze /heal /god /(s)murder /slap");
        SendClientMessage(playerid, COLOR_YELLOW,"* CONTROL: /kick /ban /black(add,del)");
        SendClientMessage(playerid, COLOR_YELLOW,"* OTHER: /resetcars /(stop)countdown /settime /setweather");
		}
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] == 4) {
		SendClientMessage(playerid, COLOR_YELLOW,"* ACCOUNT: /deluser /svall /setuser(str,int,float) /getuser");
		SendClientMessage(playerid, COLOR_YELLOW,"* CHAT: @ [message] /say");
		SendClientMessage(playerid, COLOR_YELLOW,"* MONEY: /(give,set,give)money /(set,get)bank /setbounty /(set,get)respect");
		SendClientMessage(playerid, COLOR_YELLOW,"* WEAPONS: /giveweapon /(dis)arm /adminweapons");
		SendClientMessage(playerid, COLOR_YELLOW,"* TELEPORT: /locs /tp /tpto /adminhouse");
		SendClientMessage(playerid, COLOR_YELLOW,"* PLAYER: /setadmin /setleader /resetteampass /setpayrate");
		SendClientMessage(playerid, COLOR_YELLOW,"* PLAYER:  /(un)jail /jailtime /(un)suspect /(un)mute /(un)freeze /heal /god /(s)murder /slap");
        SendClientMessage(playerid, COLOR_YELLOW,"* CONTROL: /kick /ban /black(add,del)");
        SendClientMessage(playerid, COLOR_YELLOW,"* OTHER: /resetcars /respectall /payall /taxall /(stop)countdown /settime /setweather /gmx");
		}
		return 1;
	}

	if(strcmp(cmd, "/leaderhelp", true) == 0) {
		if(leader[playerid] == 1) {
		SendClientMessage(playerid, COLOR_YELLOW,"* PLAYER: /setteampass /setpayrate");
		}
		return 1;
	}

	if(strcmp(cmd, "/policehelp", true) == 0) {
		if(gTeam[playerid] == TEAM_POLICE) {
		SendClientMessage(playerid, COLOR_YELLOW,"* MONEY: /ticket");
		SendClientMessage(playerid, COLOR_YELLOW,"* WEAPONS: /(dis)arm");
		SendClientMessage(playerid, COLOR_YELLOW,"* TELEPORT: /bcpd /lspd /lspdroof /lvpd /sfpd /lsfbi /lvfbi /sffbi");
		SendClientMessage(playerid, COLOR_YELLOW,"* PLAYER: /(un)cuff /(un)jail /(un)suspect /dlpoint /wanted");
		SendClientMessage(playerid, COLOR_YELLOW,"* SKIN: /swatskin");
		SendClientMessage(playerid, COLOR_YELLOW,"* RADIO: /pra [message] /backup");
		}
		return 1;
	}

	if(strcmp(cmd, "/militaryhelp", true) == 0) {
		if(gTeam[playerid] == TEAM_MILITARY) {
		SendClientMessage(playerid, COLOR_YELLOW,"* WEAPONS: /(dis)arm");
		SendClientMessage(playerid, COLOR_YELLOW,"* TELEPORT: /naval /area69");
		SendClientMessage(playerid, COLOR_YELLOW,"* PLAYER: /(un)cuff /trespass");
		SendClientMessage(playerid, COLOR_YELLOW,"* RADIO: /mra [message]");
		}
		return 1;
	}

	if(strcmp(cmd, "/rescuehelp", true) == 0) {
		if(gTeam[playerid] == TEAM_RESCUE) {
		SendClientMessage(playerid, COLOR_YELLOW,"* TELEPORT: /lsh /lvh /sfh /lvfd /sffd");
		SendClientMessage(playerid, COLOR_YELLOW,"* PLAYER: /heal");
		SendClientMessage(playerid, COLOR_YELLOW,"* RADIO: /rra [message]");
		}
		return 1;
	}

	if(strcmp(cmd, "/rules", true) == 0) {
		SendClientMessage(playerid, COLOR_YELLOW,"* No killing without reason(s), No deathmatching, No spamming.");
		SendClientMessage(playerid, COLOR_YELLOW,"* No hacking, cheating, trainer use or use of the s0beit modification under any circumstances.");
		SendClientMessage(playerid, COLOR_YELLOW,"* No carjacking, auto theft, or stealing. Don't ram other cars.");
		SendClientMessage(playerid, COLOR_YELLOW,"* No harassment or immaturity.");
		SendClientMessage(playerid, COLOR_YELLOW,"* No ambushing spawning spots.");
		SendClientMessage(playerid, COLOR_YELLOW,"* Drive on the right side (->).");
		SendClientMessage(playerid, COLOR_YELLOW,"* All players must listen and obey admins and official police.");
		SendClientMessage(playerid, COLOR_YELLOW,"* When an officer tells you to pull over, you DO IT!");
		
		return 1;
	}

	if (strcmp(cmd, "/credits", true) == 0) {
        SendClientMessage(playerid, COLOR_GREY,"* Credits:");
		format(string, sizeof(string), "* SHRPG v%s. Major features developed by Khaos.", VERSION);
		SendClientMessage(playerid, COLOR_GREY, string);
		SendClientMessage(playerid, COLOR_GREY,"* It was based on LVDMod by Sintax, which also was based on default LVDM by Jax,");
		SendClientMessage(playerid, COLOR_GREY,"* which also based on Freeroam v.2.3d by ProRaiL.");
		SendClientMessage(playerid, COLOR_GREY,"* DINI and DUTILS made by DracoBlue.");
		SendClientMessage(playerid, COLOR_GREY,"* Thanks to everyone who used/using this gamemode,");
        SendClientMessage(playerid, COLOR_GREY,"* reporting about bugs, giving new ideas and all...");
        SendClientMessage(playerid, COLOR_GREY,"* Special thanks goes to flippi for hosting the gamemode on his server!");
        
		return 1;
	}

	if(strcmp(cmd, "/register", true) == 0) {
	    tmp = dini_Get(FILE_SETTINGS, "register");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Register are not allowed on this server!");
		    return 1;
		}
		tmp = dini_Get(FILE_SETTINGS, "maxusers");
		tmp2 = dini_Get(FILE_TOTALSTAT, "users");
		if (strval(tmp2) >= strval(tmp)) {
		    SendClientMessage(playerid, COLOR_RED, "* 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_WHITE, "* USAGE: /register [password]");

		else {
			if (!dini_Exists(udb_encode(playername))) {
				new tmp3[MAX_STRING];
				new month, day, year;
				getdate(year,month,day);
			
				dini_Create(PlayerFile(playername));
				format(tmp2, sizeof(tmp2), "%d/%d/%d", month,day,year);
				dini_Set(PlayerFile(playername), "registered", tmp2);
				dini_IntSet(PlayerFile(playername), "password", udb_hash(tmp));
				dini_Set(PlayerFile(playername), "x", "x");
   				dini_Set(PlayerFile(playername), "y", "y");
    			dini_Set(PlayerFile(playername), "z", "z");
    			
                if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);
                tmp3 = dini_Get(FILE_TOTALSTAT, "users");
				dini_IntSet(FILE_TOTALSTAT, "users", strval(tmp3)+1);
				format(string, sizeof(string), "--- %s (id: %d) created account. Password: %s.", playername, playerid, tmp);
				printf(string);
				format(string, sizeof(string), "* Account named %s created! You can login with password %s.", playername, tmp);
				SendClientMessage(playerid, COLOR_GREEN, string);
				logged[playerid] = 1;
			}
			else {
				format(string, sizeof(string), "* %s already registered.", playername,tmp);
				SendClientMessage(playerid, COLOR_RED, string);
			}
		}

		return 1;
	}

	if(strcmp(cmd, "/setpass", true) == 0) {
        tmp = dini_Get(FILE_SETTINGS, "register");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* 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_WHITE, "* USAGE: /setpass [password]");

		else {
			if (dini_Exists(PlayerFile(playername))) {
			    if (logged[playerid] == 1) {
					dini_IntSet(PlayerFile(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_GREEN, string);
				}
				else SendClientMessage(playerid, COLOR_RED, "* You must be logged in to change your password.");
			}
			else {
			    format(string, sizeof(string), "* %s no such account.", playername);
				SendClientMessage(playerid, COLOR_RED, string);
			}
		}

		return 1;
	}

	if(strcmp(cmd, "/login", true) == 0) {
	    tmp = dini_Get(FILE_SETTINGS, "register");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Register are not allowed on this server!");
		    return 1;
		}

	    tmp = strtok(cmdtext, idx);

 		GetPlayerName(playerid, playername, sizeof(playername));
	    if(!strlen(tmp))
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /login [password]");

		else {
			if (dini_Exists(PlayerFile(playername))) {
		    	if (logged[playerid] == 1) {
		    	    format(string, sizeof(string), "--- %s already logged.", playername);
					printf(string);
					SendClientMessage(playerid, COLOR_YELLOW, "* You already logged.");
				}
				else {
					tmp2 = dini_Get(PlayerFile(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_RED, "* Wrong password.");
	    				wrongpasses[playerid]++;
			    		if (wrongpasses[playerid] >= 3) KickMsg(playerid, "Protection", "Too many invalid passwords!");
					}
					else {
					    new day, month, year;
						getdate(year,month,day);

						logged[playerid] = 1;
						KillTimer(logintimeout[playerid]);

						format(tmp2, sizeof(tmp2), "%d/%d/%d", month,day,year);
						dini_Set(PlayerFile(playername), "lastlogged", tmp2);
						format(string, sizeof(string), "--- %s (id: %d) logged in. Password: %s.", playername, playerid, tmp);
						printf(string);
						SendClientMessage(playerid, COLOR_GREEN, "* You are logged in!");
						tmp = dini_Get(PlayerFile(playername), "adminlevel");
						if (strval(tmp) != 0) adminlevel[playerid] = strval(tmp);
						tmp = dini_Get(PlayerFile(playername), "payrate");
						if (strval(tmp) != 0) payrate[playerid] = strval(tmp);
						tmp = dini_Get(PlayerFile(playername), "leader");
						if (strval(tmp) != 0) leader[playerid] = strval(tmp);
						}
						if(adminlevel[playerid] >= 1) {
						format(string, sizeof(string), "* You are setted as an admin level %d. For admin commands type /adminhelp",adminlevel[playerid]);
						SendClientMessage(playerid, COLOR_GREEN, string);
						format(string, sizeof(string), "--- %s (id: %d) setted as an admin level %d.", playername, playerid, adminlevel[playerid]);
						printf(string);
						}
						if(leader[playerid] >= 1) {
						format(string, sizeof(string), "* You are setted as a Team Leader. For Leader commands type /leaderhelp");
						SendClientMessage(playerid, COLOR_GREEN, string);
						format(string, sizeof(string), "--- %s (id: %d) setted as a Team Leader.", playername, playerid, adminlevel[playerid]);
						printf(string);
					}
				}
			}
			else {
			    format(string, sizeof(string), "* %s no such account.", playername);
				SendClientMessage(playerid, COLOR_RED, string);
			}
		}

		return 1;
	}

	if(strcmp(cmd, "/teampass", true) == 0) {
		tmp = dini_Get(FILE_SETTINGS, "teampass");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Team password is not allowed on this server!");
		    return 1;
		}
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /teampass [password]");
			return 1;
		}
 		
		GetPlayerName(playerid, playername, sizeof(playername));
		dini_IntSet(PlayerFile(playername), "teampass", udb_hash(tmp));
		format(string, sizeof(string), "--- %s (id: %d) enter Team password: %s.", playername, playerid, tmp);
		printf(string);
		format(string, sizeof(string), "* You enter Team password: %s.", tmp);
		SendClientMessage(playerid, COLOR_GREEN, string);
		return 1;
	}

	if(strcmp(cmd, "/setteampass", true) == 0) {
		tmp = dini_Get(FILE_SETTINGS, "teampass");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Team password is not allowed on this server!");
		    return 1;
		}
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setteampass [new password]");
			return 1;
		}

		if(leader[playerid] == 0) {
			SendClientMessage(playerid, COLOR_RED, "* Only Team Leaders can use this command!");
		    return 1;
		}
 		
		GetPlayerName(playerid, playername, sizeof(playername));
		if(leader[playerid] == 1) {
			dini_IntSet(FILE_TEAMPASS, "police", udb_hash(tmp));
			dini_IntSet(PlayerFile(playername), "teampass", udb_hash(tmp));
			format(string, sizeof(string), "--- %s (id: %d) setted Police Team password: %s.", playername, playerid, tmp);
			printf(string);
			format(string, sizeof(string), "* You've setted Police Team password: %s.", tmp);
			SendClientMessage(playerid, COLOR_GREEN, string);
		}
		if(leader[playerid] == 2) {
			dini_IntSet(FILE_TEAMPASS, "federal", udb_hash(tmp));
			dini_IntSet(PlayerFile(playername), "teampass", udb_hash(tmp));
			format(string, sizeof(string), "--- %s (id: %d) setted Federal Team password: %s.", playername, playerid, tmp);
			printf(string);
			format(string, sizeof(string), "* You've setted Federal Team password: %s.", tmp);
			SendClientMessage(playerid, COLOR_GREEN, string);
		}
		if(leader[playerid] == 3) {
			dini_IntSet(FILE_TEAMPASS, "military", udb_hash(tmp));
			dini_IntSet(PlayerFile(playername), "teampass", udb_hash(tmp));
			format(string, sizeof(string), "--- %s (id: %d) setted Military password: %s.", playername, playerid, tmp);
			printf(string);
			format(string, sizeof(string), "* You've setted Military Team password: %s.", tmp);
			SendClientMessage(playerid, COLOR_GREEN, string);
		}
		if(leader[playerid] == 4) {
			dini_IntSet(FILE_TEAMPASS, "rescue", udb_hash(tmp));
			dini_IntSet(PlayerFile(playername), "teampass", udb_hash(tmp));
			format(string, sizeof(string), "--- %s (id: %d) setted Rescue Team password: %s.", playername, playerid, tmp);
			printf(string);
			format(string, sizeof(string), "* You've setted Rescue Team password: %s.", tmp);
			SendClientMessage(playerid, COLOR_GREEN, string);
		}
		if(leader[playerid] == 5) {
			dini_IntSet(FILE_TEAMPASS, "grove", udb_hash(tmp));
			dini_IntSet(PlayerFile(playername), "teampass", udb_hash(tmp));
			format(string, sizeof(string), "--- %s (id: %d) setted Grove Team password: %s.", playername, playerid, tmp);
			printf(string);
			format(string, sizeof(string), "* You've setted Grove Team password: %s.", tmp);
			SendClientMessage(playerid, COLOR_GREEN, string);
		}
		if(leader[playerid] == 6) {
			dini_IntSet(FILE_TEAMPASS, "ballas", udb_hash(tmp));
			dini_IntSet(PlayerFile(playername), "teampass", udb_hash(tmp));
			format(string, sizeof(string), "--- %s (id: %d) setted Ballas Team password: %s.", playername, playerid, tmp);
			printf(string);
			format(string, sizeof(string), "* You've setted Ballas Team password: %s.", tmp);
			SendClientMessage(playerid, COLOR_GREEN, string);
		}
		if(leader[playerid] == 7) {
			dini_IntSet(FILE_TEAMPASS, "aztecas", udb_hash(tmp));
			dini_IntSet(PlayerFile(playername), "teampass", udb_hash(tmp));
			format(string, sizeof(string), "--- %s (id: %d) setted Aztecas Team password: %s.", playername, playerid, tmp);
			printf(string);
			format(string, sizeof(string), "* You've setted Aztecas Team password: %s.", tmp);
			SendClientMessage(playerid, COLOR_GREEN, string);
		}
		if(leader[playerid] == 8) {
			dini_IntSet(FILE_TEAMPASS, "vagos", udb_hash(tmp));
			dini_IntSet(PlayerFile(playername), "teampass", udb_hash(tmp));
			format(string, sizeof(string), "--- %s (id: %d) setted Vagos Team password: %s.", playername, playerid, tmp);
			printf(string);
			format(string, sizeof(string), "* You've setted Vagos Team password: %s.", tmp);
			SendClientMessage(playerid, COLOR_GREEN, string);
		}
		if(leader[playerid] == 9) {
			dini_IntSet(FILE_TEAMPASS, "da_nang_boys", udb_hash(tmp));
			dini_IntSet(PlayerFile(playername), "teampass", udb_hash(tmp));
			format(string, sizeof(string), "--- %s (id: %d) setted Da Nang Boys Team password: %s.", playername, playerid, tmp);
			printf(string);
			format(string, sizeof(string), "* You've setted Da Nang Boys Team password: %s.", tmp);
			SendClientMessage(playerid, COLOR_GREEN, string);
		}
		if(leader[playerid] == 10) {
			dini_IntSet(FILE_TEAMPASS, "rifa", udb_hash(tmp));
			dini_IntSet(PlayerFile(playername), "teampass", udb_hash(tmp));
			format(string, sizeof(string), "--- %s (id: %d) setted Rifa Team password: %s.", playername, playerid, tmp);
			printf(string);
			format(string, sizeof(string), "* You've setted Rifa Team password: %s.", tmp);
			SendClientMessage(playerid, COLOR_GREEN, string);
		}
		if(leader[playerid] == 11) {
			dini_IntSet(FILE_TEAMPASS, "traids", udb_hash(tmp));
			dini_IntSet(PlayerFile(playername), "teampass", udb_hash(tmp));
			format(string, sizeof(string), "--- %s (id: %d) setted Traids Team password: %s.", playername, playerid, tmp);
			printf(string);
			format(string, sizeof(string), "* You've setted Traids Team password: %s.", tmp);
			SendClientMessage(playerid, COLOR_GREEN, string);
		}
		if(leader[playerid] == 12) {
			dini_IntSet(FILE_TEAMPASS, "bikers", udb_hash(tmp));
			dini_IntSet(PlayerFile(playername), "teampass", udb_hash(tmp));
			format(string, sizeof(string), "--- %s (id: %d) setted Bikers Team password: %s.", playername, playerid, tmp);
			printf(string);
			format(string, sizeof(string), "* You've setted Bikers Team password: %s.", tmp);
			SendClientMessage(playerid, COLOR_GREEN, string);
		}
		if(leader[playerid] == 13) {
			dini_IntSet(FILE_TEAMPASS, "mafia", udb_hash(tmp));
			dini_IntSet(PlayerFile(playername), "teampass", udb_hash(tmp));
			format(string, sizeof(string), "--- %s (id: %d) setted Mafia Team password: %s.", playername, playerid, tmp);
			printf(string);
			format(string, sizeof(string), "* You've setted Mafia Team password: %s.", tmp);
			SendClientMessage(playerid, COLOR_GREEN, string);
		}
		if(leader[playerid] == 14) {
			dini_IntSet(FILE_TEAMPASS, "whores", udb_hash(tmp));
			dini_IntSet(PlayerFile(playername), "teampass", udb_hash(tmp));
			format(string, sizeof(string), "--- %s (id: %d) setted Whores Team password: %s.", playername, playerid, tmp);
			printf(string);
			format(string, sizeof(string), "* You've setted Whores Team password: %s.", tmp);
			SendClientMessage(playerid, COLOR_GREEN, string);
		}
		return 1;
	}

	if(strcmp(cmd, "/resetteampass", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] == 4) {
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /resetteampass [team #]");
			SendClientMessage(playerid, COLOR_WHITE, "* POLICE = 1, FEDERAL = 2, MILITARY = 3, RESCUE = 4, GROVE = 5, BALLAS = 6, AZTECAS = 7");
			SendClientMessage(playerid, COLOR_WHITE, "* VAGOS = 8, DA_NANG_BOYS 9, RIFA = 10, TRAIDS = 11, BIKERS = 12, MAFIA = 13, WHORES = 14");
			return 1;
		}
		
 		moneys = strval(tmp);
		GetPlayerName(playerid, playername, sizeof(playername));
		if(moneys == 1) {
			dini_IntSet(FILE_TEAMPASS, "police", 152568461);
			format(string, sizeof(string), "--- %s (id: %d) resetted Police Team password.", playername, playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_YELLOW, "* You've resetted Police Team password.");
		}
		if(moneys == 2) {
			dini_IntSet(FILE_TEAMPASS, "federal", 152568461);
			format(string, sizeof(string), "--- %s (id: %d) resetted Federal Team password.", playername, playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_YELLOW, "* You've resetted Federal Team password.");
		}
		if(moneys == 3) {
			dini_IntSet(FILE_TEAMPASS, "military", 152568461);
			format(string, sizeof(string), "--- %s (id: %d) resetted Military password.", playername, playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_YELLOW, "* You've resetted Military Team password.");
		}
		if(moneys == 4) {
			dini_IntSet(FILE_TEAMPASS, "rescue", 152568461);
			format(string, sizeof(string), "--- %s (id: %d) resetted Rescue Team password.", playername, playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_YELLOW, "* You've resetted Rescue Team password.");
		}
		if(moneys == 5) {
			dini_IntSet(FILE_TEAMPASS, "grove", 152568461);
			format(string, sizeof(string), "--- %s (id: %d) resetted Grove Team password.", playername, playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_YELLOW, "* You've resetted Grove Team password.");
		}
		if(moneys == 6) {
			dini_IntSet(FILE_TEAMPASS, "ballas", 152568461);
			format(string, sizeof(string), "--- %s (id: %d) resetted Ballas Team password.", playername, playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_YELLOW, "* You've resetted Ballas Team password.");
		}
		if(moneys == 7) {
			dini_IntSet(FILE_TEAMPASS, "aztecas", 152568461);
			format(string, sizeof(string), "--- %s (id: %d) resetted Aztecas Team password.", playername, playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_YELLOW, "* You've resetted Aztecas Team password.");
		}
		if(moneys == 8) {
			dini_IntSet(FILE_TEAMPASS, "vagos", 152568461);
			format(string, sizeof(string), "--- %s (id: %d) resetted Vagos Team password.", playername, playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_YELLOW, "* You've resetted Vagos Team password.");
		}
		if(moneys == 9) {
			dini_IntSet(FILE_TEAMPASS, "da_nang_boys", 152568461);
			format(string, sizeof(string), "--- %s (id: %d) resetted Da Nang Boys Team password.", playername, playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_YELLOW, "* You've resetted Da Nang Boys Team password.");
		}
		if(moneys == 10) {
			dini_IntSet(FILE_TEAMPASS, "rifa", 152568461);
			format(string, sizeof(string), "--- %s (id: %d) resetted Rifa Team password.", playername, playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_YELLOW, "* You've resetted Rifa Team password.");
		}
		if(moneys == 11) {
			dini_IntSet(FILE_TEAMPASS, "traids", 152568461);
			format(string, sizeof(string), "--- %s (id: %d) resetted Traids Team password.", playername, playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_YELLOW, "* You've resetted Traids Team password.");
		}
		if(moneys == 12) {
			dini_IntSet(FILE_TEAMPASS, "bikers", 152568461);
			format(string, sizeof(string), "--- %s (id: %d) resetted Bikers Team password.", playername, playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_YELLOW, "* You've resetted Bikers Team password.");
		}
		if(moneys == 13) {
			dini_IntSet(FILE_TEAMPASS, "mafia", 152568461);
			format(string, sizeof(string), "--- %s (id: %d) resetted Mafia Team password.", playername, playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_YELLOW, "* You've resetted Mafia Team password.");
		}
		if(moneys == 14) {
			dini_IntSet(FILE_TEAMPASS, "whores", 152568461);
			format(string, sizeof(string), "--- %s (id: %d) setted Whores Team password.", playername, playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_YELLOW, "* You've resetted Whores Team password.");
			}
		}
		return 1;
	}

	if(strcmp(cmd, "/setleader", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] == 4) {
		new team[16];
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setleader [playerid] [team #]");
			SendClientMessage(playerid, COLOR_WHITE, "* REMOVE = 0, POLICE = 1, FEDERAL = 2, MILITARY = 3, RESCUE = 4, GROVE = 5, BALLAS = 6, AZTECAS = 7");
			SendClientMessage(playerid, COLOR_WHITE, "* VAGOS = 8, DA_NANG_BOYS 9, RIFA = 10, TRAIDS = 11, BIKERS = 12, MAFIA = 13, WHORES = 14");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setleader [playerid] [team #]");
			SendClientMessage(playerid, COLOR_WHITE, "* REMOVE = 0, POLICE = 1, FEDERAL = 2, MILITARY = 3, RESCUE = 4, GROVE = 5, BALLAS = 6, AZTECAS = 7, VAGOS = 8, DA_NANG_BOYS 9, RIFA = 10, TRAIDS = 11, BIKERS = 12, MAFIA = 13, WHORES = 14");
			return 1;
		}
 		moneys = strval(tmp);
		if(moneys > 14 || moneys < 0) {
		    SendClientMessage(playerid, COLOR_YELLOW , "* You can only set admin levels 1-14. Use 0 to remove a leader.");
		    return 1;
		}

		if(IsPlayerConnected(giveplayerid)) {
		if(moneys == 0) {
			format(team, sizeof(team), "No");
			}
		if(moneys == 1) {
			format(team, sizeof(team), "Police");
			}
		if(moneys == 2) {
			format(team, sizeof(team), "Federal");
			}
		if(moneys == 3) {
			format(team, sizeof(team), "Military");
			}
		if(moneys == 4) {
			format(team, sizeof(team), "Rescue");
			}
		if(moneys == 5) {
			format(team, sizeof(team), "Grove");
			}
		if(moneys == 6) {
			format(team, sizeof(team), "Ballas");
			}
		if(moneys == 7) {
			format(team, sizeof(team), "Aztecas");
			}
		if(moneys == 8) {
			format(team, sizeof(team), "Vagos");
			}
		if(moneys == 9) {
			format(team, sizeof(team), "Da Nang Boys");
			}
		if(moneys == 10) {
			format(team, sizeof(team), "Rifa");
			}
		if(moneys == 11) {
			format(team, sizeof(team), "Traids");
			}
		if(moneys == 12) {
			format(team, sizeof(team), "Biker");
			}
		if(moneys == 13) {
			format(team, sizeof(team), "Mafia");
			}
		if(moneys == 14) {
			format(team, sizeof(team), "Whore");
			}
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			dini_IntSet(PlayerFile(giveplayer), "leader", moneys);
			leader[giveplayerid] = moneys;
			format(string, sizeof(string), "--- %s (id: %d) setted %s (id: %d) leader of %s Team.", sendername,playerid,giveplayer,giveplayerid, team);
			printf(string);
			format(string, sizeof(string), "* You setted %s (id: %d) leader of %s Team.", giveplayer,giveplayerid,team);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* %s (id: %d) setted you leader of %s Team.", sendername,playerid,team);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if(strcmp(cmd, "/setadmin", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] == 4) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setadmin [playerid] [level]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setadmin [playerid] [level]");
			return 1;
		}
 		moneys = strval(tmp);
		if (moneys > 4 || moneys < 0) {
		    SendClientMessage(playerid, COLOR_YELLOW , "* You can only set admin levels 1-4. Use 0 to remove an admin.");
		    return 1;
		}
		if(IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			dini_IntSet(PlayerFile(giveplayer), "adminlevel", moneys);
			adminlevel[giveplayerid] = moneys;
			format(string, sizeof(string), "--- %s (id: %d) setted %s (id: %d) at admin level %d.", sendername,playerid,giveplayer,giveplayerid, moneys);
			printf(string);
			format(string, sizeof(string), "* You setted %s (id: %d) at admin level %d.", giveplayer,giveplayerid,moneys);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* %s (id: %d) setted you at admin level %d.", sendername,playerid,moneys);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

// Start of extra actions
	// HANDSUP
 	if(strcmp(cmd, "/handsup", true) == 0 || strcmp(cmd, "/surrender", true) == 0) {
		if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
		  SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP);
          return 1;
		}
	}
    // Drunk
    if(strcmp(cmd, "/drunk", true) == 0) {
        if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid,"PED", "WALK_DRUNK",4.0, 1,1,1,1,1); // Walk Drunk
          return 1;
     	}
    }
	// Place a Bomb
    if (strcmp(cmd, "/bomb", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
	      ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0); // Place Bomb
		  return 1;
		}
	}
	// Police Arrest
    if (strcmp(cmd, "/arrest", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
	      ApplyAnimation( playerid,"ped", "ARRESTgun", 4.0, 1,1,1,1,1); // Gun Arrest
		  return 1;
		}
	}
	// Laugh
    if (strcmp(cmd, "/laugh", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 1,1,1,1,1); // Laugh
		  return 1;
		}
	}
	// Rob Lookout
    if (strcmp(cmd, "/lookout", true) == 0) {
          ApplyAnimation(playerid, "SHOP", "ROB_Shifty", 4.0, 0, 0, 0, 0, 0); // Rob Lookout
		  return 1;
	}
	// Rob Threat
    if (strcmp(cmd, "/robshop", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "SHOP", "ROB_Loop_Threat", 4.0, 1,1,1,1,1); // Rob
		  return 1;
		}
	}
	// Wank Out
    if (strcmp(cmd, "/wankin", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "PAULNMAC", "wank_loop", 4.0, 1,1,1,1,1); // Wank In
		  return 1;
	 	}
	}
	// Police Arrest
    if (strcmp(cmd, "/coparrest", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
	      ApplyAnimation(playerid, "POLICE", "plc_drgbst_01", 4.0, 0, 0, 0, 0, 0); // Arrest
		  return 1;
		}
	}
    // Wank In
    if (strcmp(cmd, "/wankout", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "PAULNMAC", "wank_out", 4.0, 0, 0, 0, 0, 0); // Wank Out
		  return 1;
		}
	}
	// Arrested
    if (strcmp(cmd, "/getarrested", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "POLICE", "crm_drgbst_01", 4.0, 0, 0, 0, 0, 0); // Arrested
		  return 1;
		}
	}
	// Injury
    if (strcmp(cmd, "/injured", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "SWEET", "Sweet_injuredloop", 4.0, 1,1,1,1,1); // Injured
		  return 1;
		}
	}
	// Ass Slapped
    if (strcmp(cmd, "/slapped", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "SWEET", "ho_ass_slapped", 4.0, 0, 0, 0, 0, 0); // Ass Slapped
		  return 1;
		}
	}
	// Female Smoking
    if (strcmp(cmd, "/fsmoking", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "SMOKING", "F_smklean_loop", 4.0, 1,1,1,1,1); // Female Smoking
		  return 1;
		}
	}
	// Cop Look
    if (strcmp(cmd, "/coplook", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "COP_AMBIENT", "Coplook_loop", 4.0, 1,1,1,1,1); // Cop Looking
		  return 1;
		}
	}
	// Lay Down
    if (strcmp(cmd, "/lay", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid,"BEACH", "bather", 4.0, 1,1,1,1,1); // Lay down
		  return 1;
	    }
	}
	// Take Cover
    if (strcmp(cmd, "/cover", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "ped", "cower", 3.0, 1,1,1,1,1); // Taking Cover
		  return 1;
		}
	}
	// Vomit
    if (strcmp(cmd, "/vomit", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
	      ApplyAnimation(playerid, "FOOD", "EAT_Vomit_P", 3.0, 0, 0, 0, 0, 0); // Vomit BAH!
		  return 1;
		}
	}
	// Eat Burger
    if (strcmp(cmd, "/eat", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
	      ApplyAnimation(playerid, "FOOD", "EAT_Burger", 3.00, 0, 0, 0, 0, 0); // Eat Burger
		  return 1;
		}
	}
	// Wave
    if (strcmp(cmd, "/wave", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
	      ApplyAnimation(playerid, "KISSING", "BD_GF_Wave", 3.0, 0, 0, 0, 0, 0); // Wave
		  return 1;
		}
	}
	// Slap Ass
    if (strcmp(cmd, "/slapass", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "SWEET", "sweet_ass_slap", 4.0, 0, 0, 0, 0, 0); // Ass Slapping
		  return 1;
		}
	}
	// Death Crawling
    if (strcmp(cmd, "/death", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "WUZI", "CS_Dead_Guy", 4.0, 1,1,1,1,1); // Dead Crawling
		  return 1;
    	}
	}
	// Dealer
    if (strcmp(cmd, "/deal", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "DEALER", "DEALER_DEAL", 4.0, 0, 0, 0, 0, 0); // Deal Drugs
		  return 1;
		}
	}
	// Kiss
    if (strcmp(cmd, "/kiss", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "KISSING", "Playa_Kiss_02", 3.0, 0, 0, 0, 0, 0); // Kiss
		  return 1;
		}
	}
	// Crack Dying
    if (strcmp(cmd, "/crack", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1,1,1,1,1); // Dying of Crack
		  return 1;
		}
	}
	// Piss
    if (strcmp(cmd, "/piss", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid, "PAULNMAC", "Piss_in", 3.0, 0,0,0,0,0); // Pissing
		  return 1;
		}
	}
	// Male Smoking
    if (strcmp(cmd, "/smoke", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid,"SMOKING", "M_smklean_loop", 4.0, 1, 1, 1, 1, 1); // Smoke
		  return 1;
		}
	}
	// Sit
    if (strcmp(cmd, "/sit", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
          ApplyAnimation(playerid,"BEACH", "ParkSit_M_loop", 4.0, 1,1,1,1,1); // Sit
		  return 1;
		}
    }
	// Fuck U
    if (strcmp(cmd, "/fucku", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
	      ApplyAnimation( playerid,"ped", "fucku", 4.1, 1,1,1,1,1 ); // Wave fist / Pull fingers (with block hands)
		  return 1;
		}
    }
    // Balls
    	if(strcmp(cmd, "/balls", true) == 0) {
 		if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
		    ApplyAnimation(playerid,"MISC","Scratchballs_01",4.1,1,1,1,1,1);
  	  		return 1;
		}
	}
	// CPR
	if(strcmp(cmd, "/cpr", true) == 0) {
	   if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
		    ApplyAnimation(playerid,"MEDIC","CPR",4.1,1,1,1,1,1);
  	  		return 1;
		}
 	}
	// Strip-Tease
    if (strcmp(cmd, "/strip", true) == 0)
    {
    switch (cmdtext[7])
    {
        case 'a', 'A':{ ApplyAnimation( playerid,"STRIP", "strip_A", 4.1, 1, 1, 1, 1, 1 ); return 1; } // Strip
        case 'b', 'B':{ ApplyAnimation( playerid,"STRIP", "strip_B", 4.1, 1, 1, 1, 1, 1 ); return 1; } // Strip
        case 'c', 'C':{ ApplyAnimation( playerid,"STRIP", "strip_C", 4.1, 1, 1, 1, 1, 1 ); return 1; } // Strip
        case 'd', 'D':{ ApplyAnimation( playerid,"STRIP", "strip_D", 4.1, 1, 1, 1, 1, 1 ); return 1; } // Strip
        case 'e', 'E':{ ApplyAnimation( playerid,"STRIP", "strip_E", 4.1, 1, 1, 1, 1, 1 ); return 1; } // Strip
        case 'f', 'F':{ ApplyAnimation( playerid,"STRIP", "strip_F", 4.1, 1, 1, 1, 1, 1 ); return 1; } // Strip
        case 'g', 'G':{ ApplyAnimation( playerid,"STRIP", "strip_G", 4.1, 1, 1, 1, 1, 1 ); return 1; } // Strip
    }   SendClientMessage(playerid, 0xFF0000FF, "You are now stripping you pervert");
   return 1;
    }
    // Idle Chat
    if(strcmp(cmd, "/chat", true) == 0) {
		if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
         ApplyAnimation(playerid,"PED","IDLE_CHAT",4.1, 1,1,1,1,1);
         return 1;
     	}
	}
	// START DANCING
 	if(strcmp(cmd, "/dance", true) == 0) {
		if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {

		    // Get the dance style param
      		tmp = strtok(cmdtext, idx);
			if(!strlen(tmp)) {
				SendClientMessage(playerid,0xFF0000FF,"Usage: /dance [style 1-3]");
				return 1;
			}

			dancestyle = strval(tmp);
			if(dancestyle < 1 || dancestyle > 3) {
			    SendClientMessage(playerid,0xFF0000FF,"Usage: /dance [style 1-3]");
			    return 1;
			}

			if(dancestyle == 1) {
			    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
			} else if(dancestyle == 2) {
			    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE2);
			} else if(dancestyle == 3) {
			    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE3);
			}
 	  		return 1;
	 }
	}
// End of extra actions

	if((strcmp(cmd, "/telladmin", true) == 0) && (logged[playerid] == 1)){
		new send;
		GetPlayerName(playerid,playername,sizeof(playername));

	    strmid(tmp, cmdtext, 10, strlen(cmdtext));
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /telladmin [message]. With this command you can notify all the connected admins about a situation.");
			SendClientMessage(playerid, COLOR_RED,"* DO NOT MISUSE THIS FUNCTION. Abusive use can lead to your own ban.");
			return 1;
		}
		format(string, sizeof(string), "--- Player %s (id: %d) reports:%s.", playername, playerid, tmp);
		printf(string);
		format(string, sizeof(string), "* Player %s (id: %d) reports:%s.", playername, playerid, tmp);
		for(new i = 0; i < MAX_PLAYERS; i++) {
	    	if(IsPlayerConnected(i) && IsPlayerAdmin(i) || IsPlayerConnected(i) && adminlevel[i] >= 1) {
				SendClientMessage(i, COLOR_GREY, string);
				send=1;
			}
		}
		if(send==0){
		    SendClientMessage(playerid,COLOR_YELLOW,"* There are no admins connected at this moment.");
		}
		return 1;
	}
	
	if(strcmp(cmd, "/say", true) == 0) {
		if(!IsPlayerAdmin(playerid) && adminlevel[playerid] == 0) {
			SendClientMessage(playerid,COLOR_RED,"* You are not an admin!");
		}
		else {

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

	    strmid(tmp, cmdtext, 4, strlen(cmdtext));
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /say [message]");
			return 1;
		}
		format(string, sizeof(string), "--- Admin %s (id: %d) says:%s", playername, playerid, tmp);
		printf(string);
		format(string, sizeof(string), "* Admin %s (id: %d):%s", playername, playerid, tmp);
		SendClientMessageToAll(COLOR_GREY, string);
		}
		return 1;
	}

	if(strcmp(cmd, "/admins", true) == 0) {

		new adminplayername[24];
		new count = 0;

		for(new i=0; i<MAX_PLAYERS; i++) {
		if(IsPlayerConnected(i) && adminlevel[i] >=1) {
		GetPlayerName(i,adminplayername,24);
		format(string,sizeof(string),"* Admin Level %d: %s (id: %d) is currently online.", adminlevel[i], adminplayername, i);
		SendClientMessage(playerid, COLOR_GREY, string);
		count++;
		}
	}
	if(count == 0)
	{
		SendClientMessage(playerid, COLOR_RED, "* There are currently no admins present.");
		}
		return 1;
	}

	if(strcmp(cmd, "/jaillist", true) == 0 || strcmp(cmd, "/jl", true) == 0) {
		
		new inmateplayername[24];
		new count = 0;

		for(new i=0; i<MAX_PLAYERS; i++) {
		if(IsPlayerConnected(i) && jailed[i] == 1) {
		GetPlayerName(i,inmateplayername,24);
		format(string,sizeof(string),"* Inmate %s (id: %d) is currently serving %d minutes in jail.", inmateplayername, i, jailtime[i]);
		SendClientMessage(playerid, COLOR_GREY, string);
		count++;
		}
	}
	if(count == 0)
	{
		SendClientMessage(playerid, COLOR_RED, "* There are currently no jailed players.");
		}
		return 1;
	}

	if(strcmp(cmd, "/wanted", true) == 0 || strcmp(cmd, "/w", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE) {

		new wantedplayername[24];
		new count = 0;

		for(new i=0; i<MAX_PLAYERS; i++) {
		if(IsPlayerConnected(i) && wantedlevel[i] >= 1) {
		GetPlayerName(i,wantedplayername,24);
		format(string,sizeof(string),"* Fugitive %s (id: %d) is currently at wanted level %d.", wantedplayername, i, wantedlevel[i]);
		SendClientMessage(playerid, COLOR_GREY, string);
		count++;
		}
	}
	if(count == 0)
	{
		SendClientMessage(playerid, COLOR_RED, "* There are currently no wanted players.");
		}
		}
		return 1;
	}

	if(strcmp(cmd, "/pra", true) == 0) {
		if(gTeam[playerid] != TEAM_POLICE || spawned[playerid] == 0) {
			SendClientMessage(playerid,COLOR_RED,"* The police radio is for cops only!");
		}
		else {

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

	    strmid(tmp, cmdtext, 4, strlen(cmdtext));
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /pra [message]");
			return 1;
		}

		format(string, sizeof(string), "--- [Police Radio] %s (id: %d):%s", playername, playerid, tmp);
		printf(string);
		format(string, sizeof(string), "[Police Radio] %s (id: %d):%s", playername, playerid, tmp);
		for(new i = 0; i < MAX_PLAYERS; i++) {
	    	if(IsPlayerConnected(i) && gTeam[i] == TEAM_POLICE && spawned[i] == 1) {
				SendClientMessage(i, TEAM_POLICE_COLOR, string);
				}
			}
		}
		return 1;
	}

	if(strcmp(cmd, "/mra", true) == 0) {
		if(gTeam[playerid] != TEAM_MILITARY || spawned[playerid] == 0) {
			SendClientMessage(playerid,COLOR_RED,"* The military radio is for soliders only!");
		}
		else {

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

	    strmid(tmp, cmdtext, 4, strlen(cmdtext));
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /mra [message]");
			return 1;
		}
		format(string, sizeof(string), "--- [Military Radio] %s (id: %d):%s", playername, playerid, tmp);
		printf(string);
		format(string, sizeof(string), "[Military Radio] %s (id: %d):%s", playername, playerid, tmp);
		for(new i = 0; i < MAX_PLAYERS; i++) {
	    	if(IsPlayerConnected(i) && gTeam[i] == TEAM_MILITARY && spawned[i] == 1) {
				SendClientMessage(i, TEAM_MILITARY_COLOR, string);
				}
			}
		}
		return 1;
	}

	if(strcmp(cmd, "/rra", true) == 0) {
		if(gTeam[playerid] != TEAM_RESCUE || spawned[playerid] == 0) {
			SendClientMessage(playerid,COLOR_RED,"* The rescue radio is for rescue workers only!");
		}
		else {

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

	    strmid(tmp, cmdtext, 4, strlen(cmdtext));
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /rra [message]");
			return 1;
		}
		format(string, sizeof(string), "--- [Rescue Radio] %s (id: %d):%s", playername, playerid, tmp);
		printf(string);
		format(string, sizeof(string), "[Rescue Radio] %s (id: %d):%s", playername, playerid, tmp);
		for(new i = 0; i < MAX_PLAYERS; i++) {
	    	if(IsPlayerConnected(i) && gTeam[i] == TEAM_RESCUE && spawned[i] == 1) {
				SendClientMessage(i, TEAM_RESCUE_COLOR, string);
				}
			}
		}
		return 1;
	}

	if(strcmp(cmd, "/setpayrate", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || leader[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setpayrate [playerid] [pay rate]");
			SendClientMessage(playerid, COLOR_WHITE, "* PAY RATE: 0=$500 1=$1000 2=$1500 3=$1750 4=$2000 5=$3000 6=$4000");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setadmin [playerid] [pay rate]");
			SendClientMessage(playerid, COLOR_WHITE, "* PAY RATE: 0=$500 1=$1000 2=$1500 3=$1750 4=$2000 5=$3000 6=$4000");
			return 1;
		}
 		moneys = strval(tmp);
		if (moneys > 6 || moneys < 0) {
		    SendClientMessage(playerid, COLOR_YELLOW , "* You can only set payrate 0-6. Pay Rate: 0=$500 1=$1000 2=$1500 3=$1750 4=$2000 5=$3000 6=$4000");
		    return 1;
		}
		if(IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			dini_IntSet(PlayerFile(giveplayer), "payrate", moneys);
			payrate[giveplayerid] = moneys;
			format(string, sizeof(string), "--- %s (id: %d) setted %s (id: %d) at pay rate %d.", sendername,playerid,giveplayer,giveplayerid, moneys);
			printf(string);
			format(string, sizeof(string), "* You setted %s (id: %d) at pay rate %d.", giveplayer,giveplayerid,moneys);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* %s (id: %d) setted you at pay rate %d.", sendername,playerid,moneys);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if(strcmp(cmd,"/suspect", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE) {
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
	        SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /suspect [playerid] [reason]");
	        return 1;
		}
			giveplayerid = strval(tmp);
			strmid(tmp, cmdtext, 9+strlen(tmp), strlen(cmdtext));
		if(IsPlayerConnected(giveplayerid)) {
			GetPlayerTeam(giveplayerid);
		if(jailed[giveplayerid] == 0) {
		if(gTeam[giveplayerid] != TEAM_POLICE || gTeam[giveplayerid] != TEAM_MILITARY || gTeam[giveplayerid] != TEAM_RESCUE) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			wantedlevel[giveplayerid]++;
			respect[giveplayerid]--;
			format(string, sizeof(string), "--- %s (id: %d) supected %s (id: %d) for%s", sendername,playerid,giveplayer,giveplayerid,tmp);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) suspected %s (id: %d) for%s", sendername,playerid,giveplayer,giveplayerid,tmp);
			SendClientMessageToAll(COLOR_RED, string);
			}
			else {
			SendClientMessage(playerid, COLOR_YELLOW,"* You can't suspect a cop, medic or soldier.");
			}
		}
		else {
			format(string, sizeof(string), "* %d is currently in jail.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a cop!");
		}
		return 1;
	}

	if(strcmp(cmd,"/unsuspect", true) == 0|| strcmp(cmd,"/uns", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE) {
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
	        SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /unsuspect [playerid]");
	        return 1;
		}
			giveplayerid = strval(tmp);
		if(IsPlayerConnected(giveplayerid)) {
		if(wantedlevel[giveplayerid] != 0) {
		    wantedlevel[giveplayerid] = 0;
		    bankrobber[giveplayerid] = 0;
		    bankrobberytime[giveplayerid] = 0;
		    respect[giveplayerid]++;
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			format(string, sizeof(string), "--- %s (id: %d) removed %s (id: %d) as a suspect.", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) removed %s (id: %d) as a suspect, is no longer wanted.", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_GREY, string);
			}
			else {
			format(string, sizeof(string), "* %d is not a wanted player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a cop!");
		}
		return 1;
	}

	if(strcmp(cmd,"/trespass", true) == 0) {
		if(gTeam[playerid] == TEAM_MILITARY) {
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
	        SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /trespass [playerid]");
	        return 1;
		}
			giveplayerid = strval(tmp);
		if(IsPlayerConnected(giveplayerid)) {
			GetPlayerTeam(giveplayerid);
		if(gTeam[giveplayerid] != TEAM_MILITARY) {
		if(GetDistanceBetweenPlayers(giveplayerid,playerid) < 50) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			wantedlevel[giveplayerid]++;
			respect[giveplayerid]--;
			format(string, sizeof(string), "--- %s (id: %d) warned (id: %d) for trespassing.", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) warned %s (id: %d) for trespassing, leave at once or be killed!", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_RED, string);
			}
			else {
			format(string, sizeof(string), "* %d is not close enough to warn.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
			SendClientMessage(playerid, COLOR_YELLOW,"* You can't warn a soldier.");
			}
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a soldier!");
		}
		return 1;
	}

	if(strcmp(cmd, "/cuff", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE || gTeam[playerid] == TEAM_MILITARY) {
			for(new i=0; i<MAX_PLAYERS; i++) {
					if(IsPlayerConnected(i)) {
					if(i != playerid) {
					if(gTeam[i] != 0) {
					if(GetDistanceBetweenPlayers(i,playerid) <= 10) {
							GetPlayerName(i, giveplayer, MAX_PLAYER_NAME);
							GetPlayerName(playerid, sendername, MAX_PLAYER_NAME);
							cuffed[i] = 1;
							TogglePlayerControllable(i,0);
							format(string, sizeof(string), "* You have been cuffed by %s (id: %d).", sendername,playerid);
							SendClientMessage(i, COLOR_RED, string);
						  	format(string, sizeof(string), "* You have cuffed %s (id: %d).", giveplayer,i);
							SendClientMessage(playerid, COLOR_YELLOW, string);
							cuffedtimeout[i] = SetTimer("UncuffCheck",120000,0);
							}
						}
					}
				}
			}
		}
		return 1;
	}

	if(strcmp(cmd, "/uncuff", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE || gTeam[playerid] == TEAM_MILITARY) {
			for(new i=0; i<MAX_PLAYERS; i++) {
					if(IsPlayerConnected(i)) {
					if(i != playerid) {
					if(gTeam[i] != 0) {
					if(GetDistanceBetweenPlayers(i,playerid) <= 10) {
							GetPlayerName(i, giveplayer, MAX_PLAYER_NAME);
							GetPlayerName(playerid, sendername, MAX_PLAYER_NAME);
						    cuffed[i] = 0;
							TogglePlayerControllable(i,1);
							format(string, sizeof(string), "* You have been uncuffed by %s (id: %d).", sendername,playerid);
							SendClientMessage(i, COLOR_GREEN, string);
						  	format(string, sizeof(string), "* You have uncuffed %s (id: %d).", giveplayer,i);
							SendClientMessage(playerid, COLOR_YELLOW, string);
							KillTimer(cuffedtimeout[i]);
							}
						}
					}
				}
			}
		}
		return 1;
	}

	if(strcmp(cmd,"/ticket", true) == 0 || strcmp(cmd,"/tk", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1  || gTeam[playerid] == TEAM_POLICE) {
			new copamount;
			
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /ticket [playerid] [amount]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /ticket [playerid] [amount]");
			return 1;
		}
 		moneys = strval(tmp);
		if(moneys > 1000 || moneys < 1) {
		    format(string, sizeof(string), "* You can only ticketed up to $%d.", MAX_TICKET);
			SendClientMessage(playerid, COLOR_YELLOW , string);
			moneys = MAX_TICKET;
		}
		if(IsPlayerConnected(giveplayerid)) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1  || GetDistanceBetweenPlayers(giveplayerid,playerid) < 100) {
		if(gTeam[giveplayerid] != TEAM_POLICE) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			copamount = floatround(moneys/10);
			wantedlevel[giveplayerid]--;
			respect[giveplayerid]--;
			GivePlayerMoney(giveplayerid, - moneys);
			GivePlayerMoney(playerid, copamount);
			format(string, sizeof(string), "--- %s (id: %d) ticketed %s (id: %d) for $%d.", sendername,playerid,giveplayer,giveplayerid,moneys);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) ticketed %s (id: %d) for $%d.", sendername,playerid,giveplayer,giveplayerid,moneys);
			SendClientMessageToAll(COLOR_RED, string);
			}
			else {
			SendClientMessage(playerid, COLOR_YELLOW,"* You can't ticket a cop.");
			}
		}
		else {
			format(string, sizeof(string), "* %d is not close enough to ticket.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a cop!");
		}
		return 1;
	}

	if(strcmp(cmd, "/swatskin", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE) {
        SetPlayerSkin(playerid, 285);
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a cop!");
		}
	    return 1;
	}

	if(strcmp(cmd, "/flysf", true) == 0) {

			if (GetPlayerMoney(playerid) < 1000)
			{
				SendClientMessage(playerid,COLOR_RED,"* You are out of cash.");
				return 1;
			}
			else if (IsPlayerInCheckpoint(playerid) == 0)
			{
			    SendClientMessage(playerid, COLOR_YELLOW, "* You must be at a the LS or LV Airport to use this.");
				return 1;
			}
	        else if (getCheckpointType(playerid) == CP_SF_AIR)
			{
			    SendClientMessage(playerid, COLOR_YELLOW, "* You must be at a the LS or LV Airport to use this.");
				return 1;
			}
			else if (GetPlayerMoney(playerid) > 999 && getCheckpointType(playerid) == CP_LV_AIR && IsPlayerInCheckpoint(playerid) == 1)
			{
				GivePlayerMoney(playerid,-1000);
				SetPlayerPos(playerid,-1397.0,-317.0,14.0);
				SetPlayerFacingAngle(playerid,116.0);
				SendClientMessage(playerid, COLOR_GREEN, "* Welcome to the San Fierro!");
			}
			else if (GetPlayerMoney(playerid) > 999 && getCheckpointType(playerid) == CP_LS_AIR && IsPlayerInCheckpoint(playerid) == 1)
			{
				GivePlayerMoney(playerid,-1000);
				SetPlayerPos(playerid,-1397.0,-317.0,14.0);
				SetPlayerFacingAngle(playerid,116.0);
				SendClientMessage(playerid, COLOR_GREEN, "* Welcome to the San Fierro!");
			}

		return 1;
	}
		
   	if(strcmp(cmd, "/flyls", true) == 0) {

			if (GetPlayerMoney(playerid) < 1000)
			{
				SendClientMessage(playerid,COLOR_RED,"* You are out of cash.");
				return 1;
			}
        	else if (IsPlayerInCheckpoint(playerid) == 0)
			{
			    SendClientMessage(playerid, COLOR_YELLOW, "* You must be at a the LV or SF Airport to use this.");
				return 1;
			}

        	else if (getCheckpointType(playerid) == CP_LS_AIR)
			{
			    SendClientMessage(playerid, COLOR_YELLOW, "* You must be at a the LV or SF Airport to use this.");
				return 1;
			}

	    	else if (GetPlayerMoney(playerid) > 999 && getCheckpointType(playerid) == CP_LV_AIR && IsPlayerInCheckpoint(playerid) == 1)
			{
				GivePlayerMoney(playerid,-1000);
				SetPlayerPos(playerid,1642.0,-2332.0,13.0);
				SetPlayerFacingAngle(playerid,360.0);
				SendClientMessage(playerid, COLOR_GREEN, "* Welcome to the Los Santos!");
			}
			else if (GetPlayerMoney(playerid) > 999 && getCheckpointType(playerid) == CP_SF_AIR && IsPlayerInCheckpoint(playerid) == 1)
			{
				GivePlayerMoney(playerid,-1000);
				SetPlayerPos(playerid,1642.0,-2332.0,13.0);
				SetPlayerFacingAngle(playerid,360.0);
				SendClientMessage(playerid, COLOR_GREEN, "* Welcome to the Los Santos!");
			}

			return 1;
	}
		
	if(strcmp(cmd, "/flylv", true) == 0) {

			if (GetPlayerMoney(playerid) < 1000)
			{
				SendClientMessage(playerid,COLOR_RED,"* You are out of cash.");
				return 1;
			}
    	    else if (IsPlayerInCheckpoint(playerid) == 0)
			{
			    SendClientMessage(playerid, COLOR_YELLOW, "* You must be at a the LS or SF Airport to use this.");
				return 1;
			}
    		else if (getCheckpointType(playerid) == CP_LV_AIR)
			{
			    SendClientMessage(playerid, COLOR_YELLOW, "* You must be at a the LS or SF Airport to use this.");
				return 1;
			}
			else if (GetPlayerMoney(playerid) > 999 && getCheckpointType(playerid) == CP_SF_AIR && IsPlayerInCheckpoint(playerid) == 1)
			{
				GivePlayerMoney(playerid,-1000);
				SetPlayerPos(playerid,1704.0,1365.0,10.0);
				SetPlayerFacingAngle(playerid,354.0);
				SendClientMessage(playerid, COLOR_GREEN, "* Welcome to the Las Venturas!");
			}
			else if (GetPlayerMoney(playerid) > 999 && getCheckpointType(playerid) == CP_LS_AIR && IsPlayerInCheckpoint(playerid) == 1)
			{
				GivePlayerMoney(playerid,-1000);
				SetPlayerPos(playerid,1704.0,1365.0,10.0);
				SetPlayerFacingAngle(playerid,354.0);
				SendClientMessage(playerid, COLOR_GREEN, "* Welcome to the Las Venturas!");
			}
	
		return 1;
	}

	if(strcmp(cmd, "/backup", true) == 0) {
		if(!IsPlayerAdmin(playerid) && adminlevel[playerid] == 0 && gTeam[playerid] != TEAM_POLICE) {
			SendClientMessage(playerid,COLOR_RED,"* You're not a cop!");
		}
		else {

 		new PlayerInZone;
		new Float:x,Float:y,Float:z;

		GetPlayerName(playerid, playername, sizeof(playername));
		GetPlayerPos(playerid,X250[playerid],Y250[playerid],Z250[playerid]);
		PlayerInZone=player_zone[playerid];
		GetPlayerPos(playerid, x, y, z);
		format(string, sizeof(string), "--- [Police Radio] %s (id: %d): needs backup at %s.", playername, playerid, zones[PlayerInZone][zone_name]);
		printf(string);
		format(string, sizeof(string), "[Police Radio] %s (id: %d): needs backup at %s.", playername, playerid, zones[PlayerInZone][zone_name]);
		for(new i = 0; i < MAX_PLAYERS; i++) {
	    	if(IsPlayerConnected(i) && gTeam[i] == TEAM_POLICE) {
				SendClientMessage(i, TEAM_POLICE_COLOR, string);
				}
			}
		}
		return 1;
	}

	if(strcmp(cmd, "/wantedlevel", true) == 0 || strcmp(cmd, "/wl", true) == 0) {
		format(string, sizeof(string), "* You're currently at wanted level %d.", wantedlevel[playerid]);
		SendClientMessage(playerid, COLOR_GREY, string);
		return 1;
	}

	if(strcmp(cmd, "/myloction", true) == 0 || strcmp(cmd, "/myloc", true) == 0) {
 		new PlayerInZone;
		new Float:x,Float:y,Float:z;

 		GetPlayerName(playerid, playername, sizeof(playername));
		GetPlayerPos(playerid,X250[playerid],Y250[playerid],Z250[playerid]);
		PlayerInZone=player_zone[playerid];
		GetPlayerPos(playerid, x, y, z);
		format(string, sizeof(string), "* Your current location is %s.", zones[PlayerInZone][zone_name]);
		SendClientMessage(playerid, COLOR_GREY, string);
		return 1;
	}
	
	if(strcmp(cmd, "/locate", true) == 0 || strcmp(cmd, "/loc", true) == 0) {
 		new PlayerInZone;
		new Float:x,Float:y,Float:z;

		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /locate [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if(IsPlayerConnected(giveplayerid)) {
  			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerPos(giveplayerid,X250[giveplayerid],Y250[giveplayerid],Z250[giveplayerid]);
			PlayerInZone=player_zone[giveplayerid];
			GetPlayerPos(giveplayerid, x, y, z);
			format(string, sizeof(string), "* %s (id: %d) current location is %s.", giveplayer,giveplayerid,zones[PlayerInZone][zone_name]);
			SendClientMessage(playerid, COLOR_GREY, string);
			}
			else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		return 1;
	}

	if(strcmp(cmd, "/911", true) == 0) {
 		new PlayerInZone;
		new Float:x,Float:y,Float:z;

 		GetPlayerName(playerid, playername, sizeof(playername));
		GetPlayerPos(playerid,X250[playerid],Y250[playerid],Z250[playerid]);
		PlayerInZone=player_zone[playerid];
		GetPlayerPos(playerid, x, y, z);
		format(string, sizeof(string), "--- %s (id: %d) needs Police Assistance at %s!", playername,playerid,zones[PlayerInZone][zone_name]);
		printf(string);
		format(string, sizeof(string), "* %s (id: %d) needs Police Assistance at %s!", playername,playerid,zones[PlayerInZone][zone_name]);
		SendClientMessageToAll(COLOR_RED, string);
		return 1;
	}

	if(strcmp(cmd, "/fbi", true) == 0) {
 		new PlayerInZone;
		new Float:x,Float:y,Float:z;

 		GetPlayerName(playerid, playername, sizeof(playername));
		GetPlayerPos(playerid,X250[playerid],Y250[playerid],Z250[playerid]);
		PlayerInZone=player_zone[playerid];
		GetPlayerPos(playerid, x, y, z);
		format(string, sizeof(string), "--- %s (id: %d) needs FBI Assistance at %s!", playername,playerid,zones[PlayerInZone][zone_name]);
		printf(string);
		format(string, sizeof(string), "* %s (id: %d) needs FBI Assistance at %s!", playername,playerid,zones[PlayerInZone][zone_name]);
		SendClientMessageToAll(COLOR_RED, string);
		return 1;
	}

	if(strcmp(cmd, "/medic", true) == 0) {
		new PlayerInZone;
		new Float:x,Float:y,Float:z;

 		GetPlayerName(playerid, playername, sizeof(playername));
		GetPlayerPos(playerid,X250[playerid],Y250[playerid],Z250[playerid]);
		PlayerInZone=player_zone[playerid];
		GetPlayerPos(playerid, x, y, z);
		format(string, sizeof(string), "--- %s (id: %d) needs Medical Attenion at %s!", playername,playerid,zones[PlayerInZone][zone_name]);
        printf(string);
		format(string, sizeof(string), "* %s (id: %d) needs Medical Attenion at %s!", playername,playerid,zones[PlayerInZone][zone_name]);
		SendClientMessageToAll(COLOR_RED, string);
		return 1;
	}
	
	if(strcmp(cmd, "/taxi", true) == 0) {
		new PlayerInZone;
		new Float:x,Float:y,Float:z;

 		GetPlayerName(playerid, playername, sizeof(playername));
		GetPlayerPos(playerid,X250[playerid],Y250[playerid],Z250[playerid]);
		PlayerInZone=player_zone[playerid];
		GetPlayerPos(playerid, x, y, z);
		format(string, sizeof(string), "--- %s (id: %d) needs a Taxi at %s!", playername,playerid,zones[PlayerInZone][zone_name]);
        printf(string);
		format(string, sizeof(string), "* %s (id: %d) needs a Taxi at %s!", playername,playerid,zones[PlayerInZone][zone_name]);
		SendClientMessageToAll(COLOR_GREY, string);
		return 1;
	}

	if(strcmp(cmd,"/eject", true) == 0){
		tmp = strtok(cmdtext,idx);
		if(!IsPlayerInAnyVehicle(playerid)){
			SendClientMessage(playerid,COLOR_RED,"* You're not in a vehicle.");
		return 1;
		}
		if(playerstate == PLAYER_STATE_PASSENGER){
			SendClientMessage(playerid,COLOR_RED,"* Passengers can't use this command!");
		return 1;
		}

		vehicleid = GetPlayerVehicleID(playerid);

		if(!strlen(tmp)){
			SendClientMessage(playerid,COLOR_WHITE,"* USAGE: /eject [playerid]");
		return 1;
		}

		giveplayerid = strval(tmp);

		if(!IsPlayerConnected(giveplayerid)){
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		return 1;
		}
		if(!IsPlayerInVehicle(giveplayerid,vehicleid)){
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			format(string, sizeof(string), "* %s (id: %d) is not in your vehicle.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		return 1;
		}
		else{
		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		format(string, sizeof(string), "--- %s (id: %d) ejected %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
		printf(string);
		format(string, sizeof(string), "* You ejected %s (id: %d) from your vehicle.", giveplayer,giveplayerid);
		SendClientMessage(playerid, COLOR_YELLOW, string);
		RemovePlayerFromVehicle(giveplayerid);
		format(string,sizeof(string),"~r~%s ejected you from the vehicle!", sendername);
		GameTextForPlayer(giveplayerid,string,3000,5);
		return 1;
		}
		return 1;
	}

	if(strcmp(cmd, "/settime", true) == 0 || strcmp(cmd, "/st", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);
		moneys = strval(tmp);

		if(!moneys) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /settime [hour]");
		}
		else if (moneys >24 || moneys <0) {
			SendClientMessage(playerid, COLOR_RED, "* Incorrect hour.");
		}
		else {
 		GetPlayerName(playerid, playername, sizeof(playername));
		format(tmp, sizeof(tmp), "* %s (id: %d) setted the game time to %d:00", playername,playerid,moneys);
		SendClientMessageToAll(COLOR_GREY,tmp);
		SetWorldTime(moneys);
		}
		}
		return true;
	}

	if(strcmp(cmd, "/setweather", true) == 0 || strcmp(cmd, "/sw", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);
		moneys = strval(tmp);

		if(!moneys) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setweather [weatherid]");
		}
		else if (moneys >45 || moneys <0) {
			SendClientMessage(playerid, COLOR_RED, "* Incorrect weatherid.");
		}
		else {
 		GetPlayerName(playerid, playername, sizeof(playername));
		format(tmp, sizeof(tmp), "* %s (id: %d) setted the weather to %s.", playername,playerid,weatherNames[moneys]);
		SendClientMessageToAll(COLOR_GREY,tmp);
		SetWeather(moneys);
		}
		}
		return true;
	}

	if(strcmp(cmd,"/mydl", true) == 0) {
		format(string, sizeof(string), "* You have %d DL points on your driving record.", dlpoints[playerid]);
		SendClientMessage(playerid, COLOR_YELLOW, string);
		SendClientMessage(playerid, COLOR_YELLOW, "* NOTE: Get over 10 DL points, your DL will be suspended.");
		return 1;
	}
	
	if(strcmp(cmd,"/dlpoint", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE) {
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
	        SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /dlpoint [playerid]");
	        return 1;
		}
			giveplayerid = strval(tmp);
		if(IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));

			moneys = dlpoints[giveplayerid] + 1;

			dlpoints[giveplayerid] = moneys;
			dini_IntSet(PlayerFile(giveplayer), "dlpoints", moneys);
			format(string, sizeof(string), "--- %s (id: %d) gave %s (id: %d) a driver license point.", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* You gave %s (id: %d) a driver license point.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* %s (id: %d) gave you a driver license point! You now have %d DL points.", sendername,playerid,moneys);
			SendClientMessage(giveplayerid, COLOR_RED, string);
			SendClientMessage(giveplayerid, COLOR_RED, "* NOTE: Get over 10 DL points, your DL will be suspended.");
			}
			else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if(strcmp(cmd,"/givedl", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
	        SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /givedl [playerid]");
	        return 1;
		}
			giveplayerid = strval(tmp);
		if(IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			dini_IntSet(PlayerFile(giveplayer), "dlpoints", 0);
			dlpoints[giveplayerid] = 0;
			format(string, sizeof(string), "--- %s (id: %d) gave %s (id: %d) driver license.", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* You gave %s (id: %d) a driver license.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* %s (id: %d) gave you a driver license.", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_GREEN, string);
			}
			else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if(strcmp(cmd,"/takedl", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
	        SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /takedl [playerid]");
	        return 1;
		}
			giveplayerid = strval(tmp);
		if(IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			dini_IntSet(PlayerFile(giveplayer), "dlpoints", 20);
			dlpoints[giveplayerid] = 20;
			RemovePlayerFromVehicle(giveplayerid);
			format(string, sizeof(string), "--- %s (id: %d) taken %s (id: %d) driver license.", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* You've taken %s (id: %d) driver license.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* %s (id: %d) taken your driver license!", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_RED, string);
			}
			else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if (strcmp(cmd, "/showlicense", true) == 0 || strcmp(cmd, "/sl", true) == 0) {
		new licensestatus[16];
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /showlicense [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);
		if(IsPlayerConnected(giveplayerid)) {
			if(dlpoints[playerid] >= 10)
			{
			format(licensestatus, sizeof(licensestatus), "suspended");
			}
			else {
			format(licensestatus, sizeof(licensestatus), "vaild");
			}
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			format(string, sizeof(string), "--- %s (id: %d) showed %s (id: %d) %s driver license.", sendername,playerid,giveplayer,giveplayerid,licensestatus);
			printf(string);
			format(string, sizeof(string), "* You showed %s (id: %d) your %s driver license.", giveplayer,giveplayerid,licensestatus);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* %s (id: %d) has a %s driver license.", sendername,playerid,licensestatus);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
            format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		return 1;
	}

	if (strcmp(cmd, "/carbomb", true) == 0 || strcmp(cmd, "/cb", true) == 0) {
	    if(gTeam[playerid] == TEAM_MAFIA || gTeam[playerid] == TEAM_TRAIDS) {
		tmp = strtok(cmdtext, idx);
		if (!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /carbomb [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);
		vehicleid = GetPlayerVehicleID(giveplayerid);

		if (IsPlayerConnected(giveplayerid)) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1  || GetDistanceBetweenPlayers(giveplayerid,playerid) < 4) {
		if(IsPlayerInVehicle(giveplayerid,vehicleid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			carbomb[giveplayerid] = 1;
			format(string, sizeof(string), "--- %s (id: %d) planted a car bomb on %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
   			format(string, sizeof(string), "* You planted a car bomb on %s (id: %d).", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		else {
			format(string, sizeof(string), "* %d is not in a vehicle.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
			format(string, sizeof(string), "* %d is not close enough to plant a bomb on.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if (strcmp(cmd, "/countdown", true) == 0 || strcmp(cmd, "/cd", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /countdown [seconds]. This will show a counter in the middle of the screen.");
			return 1;
		}
		if(countdownseconds >0) {
			SendClientMessage(playerid, COLOR_GREY, "Countdown already in progress.");
			return 1;
		}
	    countdownseconds = strval(tmp) + 1;
		if(countdownseconds > MAX_COUNTDOWN_SEC) {
			format(string, sizeof(string), "Maximum seconds for countdown is %d",MAX_COUNTDOWN_SEC);
			SendClientMessage(playerid, COLOR_RED, string);
			countdownseconds = 0;
			return 1;
		}
		GetPlayerName(playerid, playername, sizeof(sendername));
		format(string, sizeof(string), "--- %s Started a countdown of %d seconds.", playername,countdownseconds);
		printf(string);
		}
		return 1;
	}

	if (strcmp(cmd, "/stopcountdown", true) == 0 || strcmp(cmd, "/stopcd", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		if(countdownseconds > 0) {
			countdownseconds = 0;
			SendClientMessage(playerid, COLOR_GREY, "* Countdown stopped.");
			return 1;
		}
		else
		SendClientMessage(playerid, COLOR_GREY, "* There is no countdown in progress.");
		}
		return 1;
	}

	if (strcmp(cmdtext, "/close", true) == 0 || strcmp(cmdtext, "/lock", true) == 0) {
		tmp = dini_Get(FILE_SETTINGS, "locking");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Locking are not allowed on this server!");
		    return 1;
		}

		if(IsPlayerInAnyVehicle(playerid)) {
			if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) {
				SendClientMessage(playerid, COLOR_GREY, "* Only the driver can lock the car!");
				return 1;
			}

			for(new i=0;i<MAX_PLAYERS;i++)
				if(i != playerid) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid), i, 0, 1);

			SendClientMessage(playerid, COLOR_GREY, "* Your car is now locked.");
		}
		else SendClientMessage(playerid, COLOR_GREY, "* You must be in a car to do it.");

		return 1;
	}


	if (strcmp(cmdtext, "/open", true) == 0 || strcmp(cmdtext, "/unlock", true) == 0) {
	    tmp = dini_Get(FILE_SETTINGS, "locking");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Locking are not allowed on this server!");
		    return 1;
		}

		if(IsPlayerInAnyVehicle(playerid)) {
			if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) {
				SendClientMessage(playerid, COLOR_GREY, "* Only the driver can open the car!");
				return 1;
			}

			for(new i=0;i<MAX_PLAYERS;i++)
				if(i != playerid) SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid), i, 0, 0);

			SendClientMessage(playerid, COLOR_GREY, "* Your car is now opened.");
		}
		else SendClientMessage(playerid, COLOR_GREY, "* You must be in a car to do it.");

		return 1;
	}
	
	if(strcmp(cmd, "/bank", true) == 0) {
        tmp = dini_Get(FILE_SETTINGS, "bank");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Bank are not allowed on this server!");
		    return 1;
		}
		
	    if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK && getCheckpointType(playerid) != CP_BANK_2 && getCheckpointType(playerid) != CP_BANK_3) {
	        SendClientMessage(playerid, COLOR_YELLOW, "* You must be at a bank area to use this. ATMs are located in convenience stores.");
			return 1;
		}

	    tmp = strtok(cmdtext, idx);
	    if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bank [amount]");
			return 1;
	    }
	    moneys = strval(tmp);
	    
	    if(moneys < 1) {
			SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
			return 1;
		}
		
		if(GetPlayerMoney(playerid) < moneys) {
			moneys = GetPlayerMoney(playerid);
		}

		StatGivePlayerMoney(playerid, 0-moneys);
		bank[playerid]+=moneys;
		GetPlayerName(playerid, giveplayer, MAX_PLAYER_NAME);
		format(string, sizeof(string), "--- %s (id: %d) deposited $%d, balance is $%d.", giveplayer,playerid,moneys,bank[playerid]);
		printf(string);
		format(string, sizeof(string), "* You have deposited $%d, your current balance is $%d.", moneys, bank[playerid]);
		SendClientMessage(playerid, COLOR_YELLOW, string);
		
		return 1;
	}
	
	if(strcmp(cmd, "/get", true) == 0) {
	    tmp = dini_Get(FILE_SETTINGS, "bank");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Bank are not allowed on this server!");
		    return 1;
		}
		
	    if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK && getCheckpointType(playerid) != CP_BANK_2 && getCheckpointType(playerid) != CP_BANK_3) {
	        SendClientMessage(playerid, COLOR_YELLOW, "* You must be at a bank area to use this. ATMs are located in convenience stores.");
			return 1;
		}

	    tmp = strtok(cmdtext, idx);
	    if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /get [amount]");
			return 1;
	    }
	    moneys = strval(tmp);

	    if(moneys < 1) {
			SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
			return 1;
		}

	    if(moneys > bank[playerid])
	        moneys = bank[playerid];

		StatGivePlayerMoney(playerid, moneys);
		bank[playerid] -= moneys;
		GetPlayerName(playerid, giveplayer, MAX_PLAYER_NAME);
		format(string, sizeof(string), "--- %s (id: %d) withdrawn $%d, balance is $%d.", giveplayer,playerid,moneys,bank[playerid]);
		printf(string);
		format(string, sizeof(string), "* You have withdrawn $%d, your current balance is $%d.", moneys, bank[playerid]);
		SendClientMessage(playerid, COLOR_YELLOW, string);

		return 1;
   	}

	if(strcmp(cmd, "/balance", true) == 0) {
	    tmp = dini_Get(FILE_SETTINGS, "bank");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Bank are not allowed on this server!");
		    return 1;
		}
		
		format(string, sizeof(string), "* You have $%d in the bank.", bank[playerid]);
		SendClientMessage(playerid, COLOR_YELLOW, string);
		
		return 1;
	}

	if(strcmp(cmd, "/send", true) == 0) {
	    tmp = dini_Get(FILE_SETTINGS, "send");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Send are not allowed on this server!");
		    return 1;
		}
		
		tmp = strtok(cmdtext, idx);
		
		GetPlayerName(playerid, sendername, sizeof(sendername));
		
  		if (dini_Exists(PlayerFile(sendername)) && logged[playerid] == 0) {
  		    SendClientMessage(playerid, COLOR_YELLOW, "* You must be logged in to use this.");
			return 1;
		}
		
		if (jailed[playerid] == 1) {
		    SendClientMessage(playerid, COLOR_RED, "* You jailed and cannot send money.");
		    return 1;
		}

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /send [playerid] [amount]");
			return 1;
		}
		giveplayerid = strval(tmp);
		
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /send [playerid] [amount]");
			return 1;
		}
 		moneys = strval(tmp);
 		
 		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));

		if (IsPlayerConnected(giveplayerid)) {
			playermoney = GetPlayerMoney(playerid);
			if (moneys > 0 && playermoney >= moneys) {
				StatGivePlayerMoney(playerid, (0 - moneys));
				StatGivePlayerMoney(giveplayerid, moneys);
				format(string, sizeof(string), "--- %s (id: %d) sent $%d to %s (id: %d).", sendername,playerid,moneys,giveplayer,giveplayerid);
				printf(string);
				format(string, sizeof(string), "* You have sent %s (id: %d), $%d.", giveplayer,giveplayerid, moneys);
				SendClientMessage(playerid, COLOR_YELLOW, string);
				format(string, sizeof(string), "* You have recieved $%d from %s (id: %d).", moneys, sendername, playerid);
				SendClientMessage(giveplayerid, COLOR_YELLOW, string);
			}
			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;
	}
	
	if(strcmp(cmd, "/transact", true) == 0) {
		tmp = dini_Get(FILE_SETTINGS, "bank");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Bank are not allowed on this server!");
		    return 1;
		}
		
	    tmp = dini_Get(FILE_SETTINGS, "transact");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Send are not allowed on this server!");
		    return 1;
		}

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

		tmp = strtok(cmdtext, idx);

		GetPlayerName(playerid, sendername, sizeof(sendername));

  		if (dini_Exists(PlayerFile(sendername)) && logged[playerid] == 0) {
  		    SendClientMessage(playerid, COLOR_YELLOW, "* You must be logged in to use this.");
			return 1;
		}

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /transact [playerid] [amount]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /transact [playerid] [amount]");
			return 1;
		}
 		moneys = strval(tmp);

 		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));

		if (IsPlayerConnected(giveplayerid)) {
			if (moneys > 0 && bank[playerid] >= moneys) {
				bank[playerid] -= moneys;
				bank[giveplayerid] += moneys;
				format(string, sizeof(string), "--- %s (id: %d) transacted $%d to %s (id: %d) bank.", sendername,playerid,moneys,giveplayer,giveplayerid);
				printf(string);
				format(string, sizeof(string), "* You have transacted $%d to %s (id: %d) bank.",  moneys,giveplayer,giveplayerid);
				SendClientMessage(playerid, COLOR_YELLOW, string);
				format(string, sizeof(string), "* You have recieved transaction of $%d from %s (id: %d) in bank.", moneys,sendername,playerid);
				SendClientMessage(giveplayerid, COLOR_YELLOW, string);
			}
			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;
	}

	if(strcmp(cmd, "/hitman", true) == 0) {
	    tmp = dini_Get(FILE_SETTINGS, "bounty");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Bounty are not allowed on this server!");
		    return 1;
		}
	
		tmp = strtok(cmdtext, idx);
		
		GetPlayerName(playerid, sendername, sizeof(sendername));
		
		if (dini_Exists(PlayerFile(sendername)) && logged[playerid] == 0) {
  		    SendClientMessage(playerid, COLOR_YELLOW, "* You must be logged in to use this.");
			return 1;
		}

		if (!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /hitman [playerid] [amount]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if (!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /hitman [playerid] [amount]");
			return 1;
		}
 		moneys = strval(tmp);
	
	    if (moneys > GetPlayerMoney(playerid)) {
			SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
			return 1;
	    }
	    if (moneys < 1) {
			SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
			return 1;
		}
		if (!IsPlayerConnected(giveplayerid)) {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			return 1;
		}

		bounty[giveplayerid]+=moneys;
		StatGivePlayerMoney(playerid, -moneys);

		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));

		format(string, sizeof(string), "--- %s (id: %d) put $%d on %s (id: %d) head (total: $%d).", sendername,playerid,moneys,giveplayer,giveplayerid, bounty[giveplayerid]);
		printf(string);
		
		format(string, sizeof(string), "* %s has a $%d bounty put on his head from %s (total: $%d).", giveplayer, moneys, sendername, bounty[giveplayerid]);
		SendClientMessageToAll(COLOR_ORANGE, string);

		return 1;
	}
	
	if(strcmp(cmd, "/bounty", true) == 0) {
	    tmp = dini_Get(FILE_SETTINGS, "bounty");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Bounty are not allowed on this server!");
		    return 1;
		}
		
		tmp = strtok(cmdtext, idx);

		if (!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bounty [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);
		
		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			format(string, sizeof(string), "* Player %s (id: %d) has a $%d bounty on his head.", giveplayer,giveplayerid,bounty[giveplayerid]);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		
		return 1;
	}

	if(strcmp(cmd, "/buy", true) == 0) {
		new property=999;
		
		tmp = dini_Get(FILE_SETTINGS, "properties");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Properties are not allowed on this server!");
		    return 1;
		}
		
		if (respect[playerid] <= 50) {
		    SendClientMessage(playerid, COLOR_RED, "* You need at least 50 respect to do it!");
			return 1;
		}
		
		if(IsPlayerInCheckpoint(playerid)) {
			switch (playerCheckpoint[playerid]) {
				case CP_DRAGON:{
					property = P_DRAGON;
				}
				case CP_SEXSHOP:{
					property = P_SEXSHOP;
				}
				case CP_BAR:{
					property = P_BAR;
				}
				case CP_CALIGULA:{
					property = P_CALIGULA;
				}
				case CP_ZIP:{
					property = P_ZIP;
				}
				case CP_BINCO:{
					property = P_BINCO;
				}
				case CP_TATOO:{
					property = P_TATOO;
				}
				case CP_BOTIQUE:{
					property = P_BOTIQUE;
                   	}
				case CP_JIZZY:{
				    property = P_JIZZY;
				}
				case CP_PIZZA:{
				    property = P_PIZZA;
			 	}
				case CP_VICTIM:{
					property = P_VICTIM;
				}
				case CP_STRIPCLUB:{
					property = P_STRIPCLUB;
				}
				case CP_WANGCARS:{
					property = P_WANGCARS;
				}
				case CP_EMERALD:{
					property = P_EMERALD;
				}
				case CP_VISAGE:{
					property = P_VISAGE;
				}
				case CP_SUBURBAN:{
					property = P_SUBURBAN;
				}
				case CP_PROLAPS:{
					property = P_PROLAPS;
				}
				case CP_BURGER:{
					property = P_BURGER;
				}
				case CP_CLUCKIN:{
					property = P_CLUCKIN;
				}
				case CP_CLUB:{
					property = P_CLUB;
				}
				case CP_DS:{
					property = P_DS;
				}
				case CP_ZOMBO:{
					property = P_ZOMBO;
				}
			}

			if (property == 999) {
				SendClientMessage(playerid, COLOR_YELLOW, "* You need to be in a property checkpoint to /buy it.");
				return 1;
			}

			if (GetPlayerMoney(playerid) < propertyValues[property]) {
				SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
				return 1;
			}
			if (propertyOwner[property] == playerid) {
				SendClientMessage(playerid, COLOR_RED, "* You already own this property.");
				return 1;
			}

            GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
			if (propertyOwner[property] < 999) {
				StatGivePlayerMoney(propertyOwner[property], propertyValues[property]);
				format (string, sizeof(string), "* Your property, the %s, has been bought out by %s (id: %d).",propertyNames[property],giveplayer,playerid);
				SendClientMessage(propertyOwner[property], COLOR_RED, string);
			}

			StatGivePlayerMoney(playerid, -propertyValues[property]);

			propertyOwner[property] = playerid;
			
			format(string, sizeof(string), "--- %s (id: %d) bought %s for $%d.", giveplayer,playerid,propertyNames[property],propertyValues[property]);
			printf(string);

			format(string, sizeof(string), "* You have purchased the %s!", propertyNames[property]);
			SendClientMessage(playerid, COLOR_GREEN, string);

		}
		else {
			SendClientMessage(playerid, COLOR_YELLOW, "* You need to be in a property checkpoint to /buy it.");
			return 1;
		}

		return 1;
	}

	if(strcmp(cmd, "/prop", true) == 0) {
	    new propertyid;
	    
	    tmp = dini_Get(FILE_SETTINGS, "properties");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Properties are not allowed on this server!");
		    return 1;
		}
		
		tmp = strtok(cmdtext, idx);
 		propertyid = strval(tmp);
	    if (!strlen(tmp))
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /prop [propertyid]");
			
		SendClientMessage(playerid, COLOR_GREEN, "* Property info:");
		if (propertyOwner[propertyid] < 999) {
			GetPlayerName(propertyOwner[propertyid], giveplayer, sizeof(giveplayer));
			format(string, sizeof(string), "* %s (id: %d). Owner: %s.", propertyNames[propertyid], propertyid, giveplayer);
		}
		else format(string, sizeof(string), "* %s (id: %d). Owner: None.", propertyNames[propertyid], propertyid);

		SendClientMessage(playerid, COLOR_YELLOW, string);

		return 1;
	}
	
	if(strcmp(cmd, "/proplist", true) == 0) {
	    tmp = dini_Get(FILE_SETTINGS, "properties");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Properties are not allowed on this server!");
		    return 1;
		}
		
		SendClientMessage(playerid, COLOR_YELLOW, "* 0. Four Dragons Casino *** 1. Sex Shop *** 2. Bar");
		SendClientMessage(playerid, COLOR_YELLOW, "* 3. Caligula Casino *** 4. Zip Shop *** 5. Binco Shop");
		SendClientMessage(playerid, COLOR_YELLOW, "* 6. Tatoo Parlor *** 7. Botique *** 8. Jizzy's Club");
		SendClientMessage(playerid, COLOR_YELLOW, "* 9. The Well Stacked Pizza *** 10. Victim Shop *** 11. Strip Club");
		SendClientMessage(playerid, COLOR_YELLOW, "* 12. Wang Cars *** 13. Emerald Isle *** 14. The Visage");
		SendClientMessage(playerid, COLOR_YELLOW, "* 15. Sub Urban *** 16. Pro Laps *** 17. Burger Shot");
		SendClientMessage(playerid, COLOR_YELLOW, "* 18. Cluckin' Bell *** 19. Club *** 20. Didier Sachs *** 21. Zombotech");

		return 1;
	}
	
	if(strcmp(cmd, "/bwmelee", true) == 0) {
	    tmp = dini_Get(FILE_SETTINGS, "spawnweapons");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Spawn weapons are not allowed on this server!");
		    return 1;
		}
	
		tmp = strtok(cmdtext, idx);

		if (!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwmelee [weaponid]");
			return 1;
		}
		weaponid = strval(tmp);
		
		tmp = strtok(cmdtext, idx);

		if (IsPlayerInCheckpoint(playerid) == 0 || playerCheckpoint[playerid]!=CP_AMMU && playerCheckpoint[playerid]!=CP_AMMU_2) {
			SendClientMessage(playerid, COLOR_YELLOW, "* You need to be in an Ammunation to purchase weapons.");
			return 1;
		}
		if (GetPlayerMoney(playerid) < weaponCostMelee[weaponid]) {
			SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
			return 1;
		}
		if (weaponid < 0 || weaponid > 3){
			SendClientMessage(playerid, COLOR_RED, "* Invalid weapon number.");
			return 1;
		}

		GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
		format(string, sizeof(string), "--- %s (id: %d) purchased %s for $%d.", giveplayer,playerid,weaponNamesMelee[weaponid],weaponCostMelee[weaponid]);
		printf(string);
		format (string, sizeof(string), "* You purchased %s on your spawn for $%d.", weaponNamesMelee[weaponid],weaponCostMelee[weaponid]);
		SendClientMessage(playerid, COLOR_GREEN, string);
		
		GivePlayerWeapon(playerid, weaponIDsMelee[weaponid], 1);
		
		dini_IntSet(PlayerFile(giveplayer), "weapon1", weaponIDsMelee[weaponid]);

		StatGivePlayerMoney(playerid, -weaponCostMelee[weaponid]);

		return 1;
	}
	
	if(strcmp(cmd, "/bwpistol", true) == 0) {
	    new ammo;
	    
	    tmp = dini_Get(FILE_SETTINGS, "spawnweapons");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Spawn weapons are not allowed on this server!");
		    return 1;
		}
		
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwpistol [weaponid] [ammo]");
			return 1;
		}
		weaponid = strval(tmp);

		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwpistol [weaponid] [ammo]");
			return 1;
		}
		ammo = strval(tmp);

		if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_AMMU && playerCheckpoint[playerid]!=CP_AMMU_2) {
			SendClientMessage(playerid, COLOR_YELLOW, "* You need to be in an Ammunation to purchase weapons.");
			return 1;
		}
		if(GetPlayerMoney(playerid) < weaponCostPistols[weaponid]*ammo) {
			SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
			return 1;
		}
		if(weaponid < 0 || weaponid > 2){
			SendClientMessage(playerid, COLOR_RED, "* Invalid weapon number.");
			return 1;
		}
		if(ammo < 1) {
			SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
			return 1;
		}

		GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
		format(string, sizeof(string), "--- %s (id: %d) purchased %s (ammo: %d) for $%d.", giveplayer,playerid,weaponNamesPistols[weaponid],ammo,weaponCostPistols[weaponid]*ammo);
		printf(string);
		format (string, sizeof(string), "* You purchased %s (ammo: %d) on your spawn for $%d.", weaponNamesPistols[weaponid],ammo,weaponCostPistols[weaponid]*ammo);
		SendClientMessage(playerid, COLOR_GREEN, string);

		GivePlayerWeapon(playerid, weaponIDsPistols[weaponid], ammo);
		
		dini_IntSet(PlayerFile(giveplayer), "weapon2", weaponIDsPistols[weaponid]);
		tmp = dini_Get(PlayerFile(giveplayer), "ammo2");
		dini_IntSet(PlayerFile(giveplayer), "ammo2", strval(tmp)+ammo);

		StatGivePlayerMoney(playerid, -weaponCostPistols[weaponid]*ammo);

		return 1;
	}
	
	if(strcmp(cmd, "/bwshotgun", true) == 0) {
	    new ammo;
	    
	    tmp = dini_Get(FILE_SETTINGS, "spawnweapons");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Spawn weapons are not allowed on this server!");
		    return 1;
		}
		
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwshotgun [weaponid] [ammo]");
			return 1;
		}
		weaponid = strval(tmp);

		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwshotgun [weaponid] [ammo]");
			return 1;
		}
		ammo = strval(tmp);

		if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_AMMU && playerCheckpoint[playerid]!=CP_AMMU_2) {
			SendClientMessage(playerid, COLOR_YELLOW, "* You need to be in an Ammunation to purchase weapons.");
			return 1;
		}
		if(GetPlayerMoney(playerid) < weaponCostShotguns[weaponid]*ammo) {
			SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
			return 1;
		}
		if(weaponid < 0 || weaponid > 2){
			SendClientMessage(playerid, COLOR_RED, "* Invalid weapon number.");
			return 1;
		}
		if(ammo < 1) {
			SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
			return 1;
		}

		GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
		format(string, sizeof(string), "--- %s (id: %d) purchased %s (ammo: %d) for $%d.", giveplayer,playerid,weaponNamesShotguns[weaponid],ammo,weaponCostShotguns[weaponid]*ammo);
		printf(string);
		format (string, sizeof(string), "* You purchased %s (ammo: %d) on your spawn for $%d.",weaponNamesShotguns[weaponid],ammo,weaponCostShotguns[weaponid]*ammo);
		SendClientMessage(playerid, COLOR_GREEN, string);

		GivePlayerWeapon(playerid, weaponIDsShotguns[weaponid], ammo);

		dini_IntSet(PlayerFile(giveplayer), "weapon3", weaponIDsShotguns[weaponid]);
		tmp = dini_Get(PlayerFile(giveplayer), "ammo3");
		dini_IntSet(PlayerFile(giveplayer), "ammo3", strval(tmp)+ammo);

		StatGivePlayerMoney(playerid, -weaponCostShotguns[weaponid]*ammo);

		return 1;
	}
	
	if(strcmp(cmd, "/bwsmg", true) == 0) {
	    new ammo;
	    
	    tmp = dini_Get(FILE_SETTINGS, "spawnweapons");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Spawn weapons are not allowed on this server!");
		    return 1;
		}
		
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwsmg [weaponid] [ammo]");
			return 1;
		}
		weaponid = strval(tmp);

		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwsmg [weaponid] [ammo]");
			return 1;
		}
		ammo = strval(tmp);

		if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_AMMU && playerCheckpoint[playerid]!=CP_AMMU_2) {
			SendClientMessage(playerid, COLOR_YELLOW, "* You need to be in an Ammunation to purchase weapons.");
			return 1;
		}
		if(GetPlayerMoney(playerid) < weaponCostSMGs[weaponid]*ammo) {
			SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
			return 1;
		}
		if(weaponid < 0 || weaponid > 2){
			SendClientMessage(playerid, COLOR_RED, "* Invalid weapon number.");
			return 1;
		}
		if(ammo < 1) {
			SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
			return 1;
		}

		GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
		format(string, sizeof(string), "--- %s (id: %d) purchased %s (ammo: %d) for $%d.", giveplayer,playerid,weaponNamesSMGs[weaponid],ammo,weaponCostSMGs[weaponid]*ammo);
		printf(string);
		format (string, sizeof(string), "* You purchased %s (ammo: %d) on your spawn for $%d.",weaponNamesSMGs[weaponid],ammo,weaponCostSMGs[weaponid]*ammo);
		SendClientMessage(playerid, COLOR_GREEN, string);

		GivePlayerWeapon(playerid, weaponIDsSMGs[weaponid], ammo);

		dini_IntSet(PlayerFile(giveplayer), "weapon4", weaponIDsSMGs[weaponid]);
		tmp = dini_Get(PlayerFile(giveplayer), "ammo4");
		dini_IntSet(PlayerFile(giveplayer), "ammo4", strval(tmp)+ammo);
		
		StatGivePlayerMoney(playerid, -weaponCostSMGs[weaponid]*ammo);

		return 1;
	}
	
	if(strcmp(cmd, "/bwrifle", true) == 0) {
	    new ammo;
	    
	    tmp = dini_Get(FILE_SETTINGS, "spawnweapons");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Spawn weapons are not allowed on this server!");
		    return 1;
		}
		
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwrifle [weaponid] [ammo]");
			return 1;
		}
		weaponid = strval(tmp);

		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /bwrifle [weaponid] [ammo]");
			return 1;
		}
		ammo = strval(tmp);

		if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_AMMU && playerCheckpoint[playerid]!=CP_AMMU_2) {
			SendClientMessage(playerid, COLOR_YELLOW, "* You need to be in an Ammunation to purchase weapons.");
			return 1;
		}
		if(GetPlayerMoney(playerid) < weaponCostRifles[weaponid]*ammo) {
			SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
			return 1;
		}
		if(weaponid < 0 || weaponid > 2){
			SendClientMessage(playerid, COLOR_RED, "* Invalid weapon number.");
			return 1;
		}
		if(ammo < 1) {
			SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
			return 1;
		}

		GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
		format(string, sizeof(string), "--- %s (id: %d) purchased %s (ammo: %d) for $%d.", giveplayer,playerid,weaponNamesRifles[weaponid],ammo,weaponCostRifles[weaponid]*ammo);
		printf(string);
		format (string, sizeof(string), "* You purchased %s (ammo: %d) on your spawn for $%d.",weaponNamesRifles[weaponid],ammo,weaponCostRifles[weaponid]*ammo);
		SendClientMessage(playerid, COLOR_GREEN, string);

		GivePlayerWeapon(playerid, weaponIDsRifles[weaponid], ammo);

		dini_IntSet(PlayerFile(giveplayer), "weapon5", weaponIDsRifles[weaponid]);
		tmp = dini_Get(PlayerFile(giveplayer), "ammo5");
		dini_IntSet(PlayerFile(giveplayer), "ammo5", strval(tmp)+ammo);

		StatGivePlayerMoney(playerid, -weaponCostRifles[weaponid]*ammo);

		return 1;
	}

	if(strcmp(cmd, "/weaplist", true) == 0) {
	    tmp = dini_Get(FILE_SETTINGS, "spawnweapons");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Spawn weapons are not allowed on this server!");
		    return 1;
		}
		
		SendClientMessage(playerid, COLOR_YELLOW, "* /bwmelee: 0. Knife - 1500$ *** 1. Bat - 2000$ *** 2. Katana - 3000$ *** 3. Chainsaw - 5000$");
		SendClientMessage(playerid, COLOR_YELLOW, "* /bwpistol: 0. Pistol - 20$ *** 1. Silenced Pistol - 30$ *** 2. Desert Eagle - 60$");
		SendClientMessage(playerid, COLOR_YELLOW, "* /bwshotgun: 0. Shotgun - 70$ *** 1. Sawn-off - 120$ *** 2. Combat Shotgun - 150$");
		SendClientMessage(playerid, COLOR_YELLOW, "* /bwsmg: 0. Tec9 - 50$ *** 1. Micro Uzi - 80$ *** 2. MP5 - 150$");
		SendClientMessage(playerid, COLOR_YELLOW, "* /bwrifle: 0. AK47 - 250$ *** 1. M4 - 300$");
	    return 1;
	}

	if(strcmp(cmd, "/skydive", true) == 0) {
	    new high;
	    
	    tmp = dini_Get(FILE_SETTINGS, "skydive");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Skydive are not allowed on this server!");
		    return 1;
		}
		
		if (jailed[playerid] == 1) {
		    SendClientMessage(playerid, COLOR_RED, "* You jailed and cannot skydive.");
		    return 1;
		}
	    
	    GetPlayerName(playerid, giveplayer, MAX_PLAYER_NAME);

     	if (GetPlayerState(playerid) == PLAYER_STATE_NONE || GetPlayerState(playerid) == PLAYER_STATE_WASTED) return 1;

		tmp = strtok(cmdtext, idx);
 		high = strval(tmp);
 		
	    if(!strlen(tmp) || 100 > high || high > 1000)
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /skydive [100-1000]");
		else {
			if (GetPlayerMoney(playerid) > 499+high){
				StatGivePlayerMoney(playerid, -500-high);
				new Float:x;
				new Float:y;
				new Float:z;
				GivePlayerWeapon(playerid, 46, 1);
				GetPlayerPos(playerid, x, y, z);
				SetPlayerPos(playerid, x, y, z+high);
				SendClientMessage(playerid, COLOR_YELLOW, "* SKYDIVE!");
				format(string, sizeof(string), "--- %s (id: %d) skydived by %d.", giveplayer,playerid,high);
				printf(string);
			}
			else
				SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
		}
		
		return 1;
	}
	
	if(strcmp(cmd, "/para", true) == 0) {
	    tmp = dini_Get(FILE_SETTINGS, "parachute");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Parachute are not allowed on this server!");
		    return 1;
		}
		
		GetPlayerName(playerid, giveplayer, MAX_PLAYER_NAME);

   	    if (GetPlayerState(playerid) == PLAYER_STATE_NONE || GetPlayerState(playerid) == PLAYER_STATE_WASTED) return 1;

	    if (GetPlayerMoney(playerid) > 499) {
			StatGivePlayerMoney(playerid, -500);
			GivePlayerWeapon(playerid, 46, 1);
			SendClientMessage(playerid, COLOR_YELLOW, "* Parachute purchased.");
			format(string, sizeof(string), "--- %s (id: %d) purchased parachute.", giveplayer,playerid);
			printf(string);
		}
		else
		    SendClientMessage(playerid, COLOR_RED, "* You don't have enough money!");
		return 1;
	}

	if(strcmp(cmd, "/me", true) == 0) {
	    if (muted[playerid] == 1) {
			SendClientMessage(playerid, COLOR_RED, "* You muted and cannot send messages.");
			return 1;
		}
		
	    strmid(tmp, cmdtext, 3, strlen(cmdtext));
 		GetPlayerName(playerid, playername, sizeof(playername));
	    if(!strlen(tmp))
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /me [action]");

		else {
			format(string, sizeof(string), "* %s (id: %d)%s", playername,playerid,tmp);
			printf(string);
			SendClientMessageToAll(COLOR_LIGHTBLUE, string);
		}

		return 1;
	}
	
	if(strcmp(cmd, "/query", true) == 0) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /query [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);
		
		if (giveplayerid == 255) {
		    query[playerid] = 255;
		    SendClientMessage(playerid, COLOR_YELLOW, "* Your query is turned off.");
		    return 1;
		}
		
		if (IsPlayerConnected(giveplayerid)) {
			query[playerid] = giveplayerid;

			GetPlayerName(playerid, sendername, sizeof(sendername));
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));

			format(string, sizeof(string), "--- %s (id: %d) sets query to %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			printf(string);

			format(string, sizeof(string), "* Now you can send !messages to %s (id: %d).", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}

		return 1;
	}
	
	if(strcmp(cmd, "/setpay", true) == 0) {
	    tmp = dini_Get(FILE_SETTINGS, "driverservice");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Driver service are not allowed on this server!");
		    return 1;
		}
		
		tmp = strtok(cmdtext, idx);
		
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setpay [amount]");
			return 1;
		}
		moneys = strval(tmp);
		
		if(moneys < 0) {
			SendClientMessage(playerid, COLOR_YELLOW, "* Hey what are you trying to pull here?");
			return 1;
		}
		
		payment[playerid] = moneys;
		
		GetPlayerName(playerid, sendername, sizeof(sendername));
		
		format(string, sizeof(string), "--- %s (id: %d) sets payment for his driver services to $%d.", sendername,playerid,moneys);
		printf(string);
		
		format(string, sizeof(string), "* You set payment for your driver services to $%d.", moneys);
		SendClientMessage(playerid, COLOR_ORANGE, string);
		
		return 1;
	}
	
	if(strcmp(cmd, "/getpay", true) == 0) {
	    tmp = dini_Get(FILE_SETTINGS, "driverservice");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Driver service are not allowed on this server!");
		    return 1;
		}
		
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /getpay [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));

		format(string, sizeof(string), "* Payment for %s (id: %d) driver services is $%d.", giveplayer,giveplayerid,payment[giveplayerid]);
		SendClientMessage(playerid, COLOR_ORANGE, string);

		return 1;
	}

	if(strcmp(cmd, "/stickup", true) == 0) {
		if(gTeam[playerid] == TEAM_GROVE || gTeam[playerid] == TEAM_BALLAS || gTeam[playerid] == TEAM_AZTECAS || gTeam[playerid] == TEAM_VAGOS || gTeam[playerid] == TEAM_TRAIDS || gTeam[playerid] == TEAM_BIKERS || gTeam[playerid] == TEAM_MAFIA || gTeam[playerid] == TEAM_WHORES || gTeam[playerid] == TEAM_CIVILIANS) {
		
	    if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK && getCheckpointType(playerid) != CP_BANK_2 && getCheckpointType(playerid) != CP_BANK_3) {
	        SendClientMessage(playerid, COLOR_YELLOW, "* You must be at a bank area to use this.");
			return 1;
		}

		new PlayerInZone;
		new Float:x,Float:y,Float:z;

			GetPlayerPos(playerid,X250[playerid],Y250[playerid],Z250[playerid]);
			PlayerInZone = player_zone[playerid];
			GetPlayerPos(playerid, x, y, z);
			bankrobber[playerid] = 1;
			bankrobberytime[playerid] = 5;
			wantedlevel[playerid]++;
			wantedlevel[playerid]++;
			wantedlevel[playerid]++;
			GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
			format(string, sizeof(string), "--- %s (id: %d) robbed the bank at %s.", playername,playerid,zones[PlayerInZone][zone_name]);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) just robbed the bank at %s.", playername,playerid,zones[PlayerInZone][zone_name]);
			SendClientMessageToAll(COLOR_RED, string);
			SendClientMessage(playerid, COLOR_RED, "* Stay away from the police for the next 5 minutes to receive the bank loot.");
		}
		else {
			SendClientMessage(playerid, COLOR_RED,"* You can't use this command!");
			}
		return 1;
	}

	if(strcmp(cmd, "/rob", true) == 0 || strcmp(cmd, "/r", true) == 0) {
		if(gTeam[playerid] == TEAM_GROVE || gTeam[playerid] == TEAM_BALLAS || gTeam[playerid] == TEAM_AZTECAS || gTeam[playerid] == TEAM_VAGOS || gTeam[playerid] == TEAM_TRAIDS || gTeam[playerid] == TEAM_BIKERS || gTeam[playerid] == TEAM_MAFIA || gTeam[playerid] == TEAM_WHORES || gTeam[playerid] == TEAM_CIVILIANS) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /rob [playerid]");
			return 1;
		}

		if(jailed[playerid] == 1) {
		    SendClientMessage(playerid, COLOR_RED, "* /rob is disabled while jailed!");
		    return 1;
		}
		
		giveplayerid = strval(tmp);

		moneys = GetPlayerMoney(giveplayerid);
		if(IsPlayerConnected(giveplayerid)) {
		if(GetDistanceBetweenPlayers(giveplayerid,playerid) < 2) {
		if (GetPlayerMoney(giveplayerid) > 0) {
			GetPlayerTeam(giveplayerid);
		if(gTeam[giveplayerid] == TEAM_GROVE || gTeam[giveplayerid] == TEAM_BALLAS || gTeam[giveplayerid] == TEAM_AZTECAS || gTeam[giveplayerid] == TEAM_VAGOS || gTeam[giveplayerid] == TEAM_TRAIDS || gTeam[giveplayerid] == TEAM_BIKERS || gTeam[giveplayerid] == TEAM_MAFIA || gTeam[giveplayerid] == TEAM_WHORES || gTeam[giveplayerid] == TEAM_CIVILIANS) {
  			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			GivePlayerMoney(giveplayerid, -moneys);
			GivePlayerMoney(playerid, moneys);
			format(string, sizeof(string), "--- %s (id: %d) robbed %s (id: %d) for $%d.", sendername,playerid,giveplayer,giveplayerid,moneys);
			printf(string);
			format(string, sizeof(string), "* You robbed %s (id: %d) for $%d.", giveplayer,giveplayerid,moneys);
			SendClientMessage(playerid, COLOR_GREEN, string);
			format(string, sizeof(string), "* %s (id: %d) robbed you of $%d.", sendername,playerid,moneys);
			SendClientMessage(giveplayerid, COLOR_RED, string);
		}
		else {
			SendClientMessage(playerid, COLOR_RED,"* You can't rob that player!");
			}
		}
		else {
  			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			format(string, sizeof(string), "--- %s (id: %d) attempted to rob %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) has no cash.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* %s (id: %d) attempted to rob you.", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
			}
		}
		else {
			format(string, sizeof(string), "* %d is not close enough to rob.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You can't use this command!");
		}
		return 1;
	}

	if(strcmp(cmd, "/rape", true) == 0) {
		if(gTeam[playerid] != TEAM_POLICE) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /rape [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);
		
		if(IsPlayerConnected(giveplayerid)) {
		if(GetDistanceBetweenPlayers(giveplayerid,playerid) < 6) {
		GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		raped[giveplayerid] = 1;
		new Float:health;
		format(string, sizeof(string), "--- %s (id: %d) raped %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
		printf(string);
		format(string, sizeof(string), "* %s (id: %d) raped and infected %s (id: %d) with AIDS.", sendername,playerid,giveplayer,giveplayerid);
		SendClientMessageToAll(COLOR_RED,string);
		GetPlayerHealth(playerid, health);
		format(string, sizeof(string), "* You will die unless you get medical attention within the next %.0f minutes!", health/20);
		SendClientMessage(giveplayerid, COLOR_RED, string);
		}
		else {
			format(string, sizeof(string), "* %d is not close enough to rape.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You can't use this command!");
		}
		return 1;
	}

	if(strcmp(cmd, "/jailtime", true) == 0 || strcmp(cmd, "/jt", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /jailtime [playerid] [time]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /jailtime [playerid] [time]");
			return 1;
		}
 		moneys = strval(tmp);
		if(moneys > MAX_JAILTIME || moneys < 1) {
		    format(string, sizeof(string), "* You can only jail up to %d minutes.", MAX_JAILTIME);
			SendClientMessage(playerid, COLOR_YELLOW , string);
			moneys = MAX_JAILTIME;
		}
		if(IsPlayerConnected(giveplayerid)) {
		if(jailed[giveplayerid] == 1) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			dini_IntSet(PlayerFile(giveplayer), "jailtime", moneys);
			jailtime[giveplayerid] = moneys;
			format(string, sizeof(string), "--- %s (id: %d) sentenced %s (id: %d) to %d minutes in jail.", sendername,playerid,giveplayer,giveplayerid, moneys);
			printf(string);
			format(string, sizeof(string), "* You sentenced %s (id: %d) to %d minutes in jail.", giveplayer,giveplayerid,moneys);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* You're sentenced to %d minutes in jail by %s (id: %d).", moneys,sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
			format(string, sizeof(string), "* %d is not in jail.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a cop!");
		}
		return 1;
	}

	if(strcmp(cmd, "/jail", true) == 0 || strcmp(cmd,"/j", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1  || gTeam[playerid] == TEAM_POLICE) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /jail [playerid] [time]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /jail [playerid] [time]");
			return 1;
		}
 		moneys = strval(tmp);
		if(moneys > MAX_JAILTIME || moneys < 1) {
		    format(string, sizeof(string), "* You can only jail up to %d minutes.", MAX_JAILTIME);
			SendClientMessage(playerid, COLOR_YELLOW , string);
			moneys = MAX_JAILTIME;
		}
		if(IsPlayerConnected(giveplayerid)) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1  || GetDistanceBetweenPlayers(giveplayerid,playerid) < 4) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			dini_IntSet(PlayerFile(giveplayer), "jailed", 1);
			dini_IntSet(PlayerFile(giveplayer), "jailtime", moneys);
			jailed[giveplayerid] = 1;
			wantedlevel[giveplayerid] = 0;
			bankrobber[giveplayerid] = 0;
			bankrobberytime[giveplayerid] = 0;
			cuffed[giveplayerid] = 0;
			TogglePlayerControllable(giveplayerid, 1);
			ResetPlayerWeapons(giveplayerid);
			jailtime[giveplayerid] = moneys;
			respect[giveplayerid]--;
			SetPlayerInterior(giveplayerid, 6);
			SetPlayerPos(giveplayerid, 265.1273, 77.6823, 1001.0391);
			GivePlayerMoney(playerid,250);
			format(string, sizeof(string), "--- %s (id: %d) jailed %s (id: %d) for %d minutes.", sendername,playerid,giveplayer,giveplayerid,moneys);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) jailed %s (id: %d) for %d minutes.", sendername,playerid,giveplayer,giveplayerid,moneys);
			SendClientMessageToAll(COLOR_RED, string);
		}
		else {
			format(string, sizeof(string), "* %d is not close enough to jail.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a cop!");
		}
		return 1;
	}

	if(strcmp(cmd, "/unjail", true) == 0 || strcmp(cmd,"/unj", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1  || gTeam[playerid] == TEAM_POLICE) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /unjail [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if(jailed[playerid] == 1) {
		    SendClientMessage(playerid, COLOR_RED, "* /unjail is disabled while jailed!");
			return 1;
		}
		if(IsPlayerConnected(giveplayerid)) {
			GetPlayerTeam(giveplayerid);
		if(jailed[giveplayerid] == 1) {
  			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			SetPlayerInterior(giveplayerid,0);
			SetPlayerPos(giveplayerid,1552.4499,-1674.9899,16.1953);
			dini_IntSet(PlayerFile(giveplayer), "jailed", 0);
			dini_IntSet(PlayerFile(giveplayer), "jailtime", 0);
			cuffed[giveplayerid] = 0;
			KillTimer(cuffedtimeout[giveplayerid]);
			TogglePlayerControllable(giveplayerid, 1);
			jailed[giveplayerid] = 0;
			jailtime[giveplayerid] = 0;
			format(string, sizeof(string), "--- %s (id: %d) released %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) released %s (id: %d) from jail.", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_GREY, string);
		}
		else {
			format(string, sizeof(string), "* %d shouldn't be in jail!", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a cop!");
		}
		return 1;
	}

	if(strcmp(cmd, "/bondout", true) == 0 || strcmp(cmd,"/bo", true) == 0) {
		new bond;
		
		if(jailed[playerid] == 0) {
			SendClientMessage(playerid, COLOR_RED, "* You must be in jail to use this command!");
			return 1;
		}
		if(jailtime[playerid] > 5 || jailtime[playerid] < 1) {
			SendClientMessage(playerid, COLOR_RED, "* You can't bond out of jail!");
			return 1;
		}
		moneys = jailtime[playerid];
		bond = floatround(moneys*1000);
		
		if(GetPlayerMoney(playerid) < bond) {
			format(string, sizeof(string), "* Your bond is $%d. You don't have enough money to bond out!", bond);
			SendClientMessage(playerid, COLOR_RED, string);
			return 1;
		}
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid,1552.4499,-1674.9899,16.1953);
			dini_IntSet(PlayerFile(playername), "jailed", 0);
			dini_IntSet(PlayerFile(playername), "jailtime", 0);
			cuffed[playerid] = 0;
			KillTimer(cuffedtimeout[playerid]);
			TogglePlayerControllable(playerid, 1);
			jailed[playerid] = 0;
			jailtime[playerid] = 0;
			GivePlayerMoney(playerid, - bond);
			format(string, sizeof(string), "--- %s (id: %d) bonded out of jail for $%d.", playername,playerid,bond);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) bonded out of jail for $%d.", playername,playerid,bond);
			SendClientMessageToAll(COLOR_GREY, string);
		return 1;
	}

	if(strcmp(cmd, "/ignore", true) == 0 || strcmp(cmd,"/i", true) == 0) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /ignore [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if(IsPlayerConnected(giveplayerid)){
		if (IgnorePlayerlist[playerid][giveplayerid] == 0) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			IgnorePlayerlist[playerid][giveplayerid] = 1;
			format(string, sizeof(string), "* You have ignored %s (id: %d). If you want to undo this, use /unignore %d.", giveplayer,giveplayerid,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* %s (id: %d) ignored you.", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_RED, string);
			}
			else {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			format(string, sizeof(string), "* You already ignored %s (id: %d). If you want to undo this, use /unignore %d.", giveplayer,giveplayerid,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		return 1;
	}

	if(strcmp(cmd, "/unignore", true) == 0 || strcmp(cmd,"/uni", true) == 0) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /unignore [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if(IsPlayerConnected(giveplayerid)){
		if (IgnorePlayerlist[playerid][giveplayerid] == 1){
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			IgnorePlayerlist[playerid][giveplayerid] = 0;
			format(string, sizeof(string), "* You have unignored %s (id: %d).", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* %s (id: %d) unignored you.", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_GREEN, string);
			}
			else {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			format(string, sizeof(string), "* You are not ignoring %s (id: %d) so there is nothing to undo.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW , string);
		}
		return 1;
	}

	if(strcmp(cmd, "/mute", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /mute [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			dini_IntSet(PlayerFile(giveplayer), "muted", 1);
			muted[giveplayerid] = 1;
			format(string, sizeof(string), "--- %s (id: %d) muted %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) muted.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* You muted by %s (id: %d).", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_RED, string);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if(strcmp(cmd, "/unmute", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /unmute [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
  			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			dini_IntSet(PlayerFile(giveplayer), "muted", 0);
			muted[giveplayerid] = 0;
			format(string, sizeof(string), "--- %s (id: %d) unmuted %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) unmuted.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* You unmuted by %s (id: %d).", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_GREEN, string);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if(strcmp(cmd, "/heal", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1  || gTeam[playerid] == TEAM_RESCUE) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /heal [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
		if (IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1  || GetDistanceBetweenPlayers(giveplayerid,playerid) < 4) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			SetPlayerHealth(giveplayerid, 100.0);
			raped[giveplayerid] = 0;
			god[playerid] = 0;
			format(string, sizeof(string), "--- %s (id: %d) healed %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) healed.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* You healed by %s (id: %d).", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
			format(string, sizeof(string), "* %d is not close enough to heal.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/god", true) == 0 ) {
	    if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /god [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			god[giveplayerid] = 1;
			SetPlayerHealth(giveplayerid, 99999.0);
			format(string, sizeof(string), "--- %s (id: %d) invincibled %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) is now invincible.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* %s (id: %d) made you invincible.", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if(strcmp(cmd,"/slap", true) == 0 || strcmp(cmd,"/s", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		new Float:hp;
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
	        SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /slap [playerid]");
	        return 1;
		}
		giveplayerid = strval(tmp);
		
		if(IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			GetPlayerHealth(giveplayerid, hp);
			SetPlayerHealth(giveplayerid, hp - 25);
			respect[giveplayerid]--;
			format(string, sizeof(string), "--- Admin %s (id: %d) slapped %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* Admin %s (id: %d) slapped %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			SendClientMessageToAll(COLOR_RED, string);
			}
			else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/murder", true) == 0 || strcmp(cmd, "/m", true) == 0) {
	    if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /murder [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			SetPlayerHealth(giveplayerid, 0.0);
			god[giveplayerid] = 0;
			format(string, sizeof(string), "--- %s (id: %d) murdered %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
            printf(string);
			format(string, sizeof(string), "* %s (id: %d) is now dead.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* %s (id: %d) killed you.", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if (strcmp(cmd, "/smurder", true) == 0 || strcmp(cmd, "/sm", true) == 0) {
	    if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);
		if (!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /smurder [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			SetPlayerHealth(giveplayerid, 0.0);
			god[giveplayerid] = 0;
			format(string, sizeof(string), "--- %s (id: %d) silently murdered %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
   			format(string, sizeof(string), "* Silent death for %s (id: %d)!", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_ORANGE, string);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/freeze", true) == 0) {
	    if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /freeze [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			TogglePlayerControllable(giveplayerid, 0);
			format(string, sizeof(string), "--- %s (id: %d) freezes %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) frozen.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* You frozen by %s (id: %d).", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/unfreeze", true) == 0) {
	    if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /unfreeze [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			TogglePlayerControllable(giveplayerid, 1);
			format(string, sizeof(string), "--- %s (id: %d) unfreezes %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* %s (id: %d) unfrozen.", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* You unfrozen by %s (id: %d).", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/givemoney", true) == 0) {
	    if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 3) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /givemoney [playerid] [amount]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /givemoney [playerid] [amount]");
			return 1;
		}
 		moneys = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			StatGivePlayerMoney(giveplayerid, moneys);
			format(string, sizeof(string), "--- %s (id: %d) maded $%d for %s (id: %d).", sendername,playerid,moneys,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* You have made money for %s (id: %d), $%d.", giveplayer,giveplayerid, moneys);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* You have granted $%d from %s (id: %d).", moneys, sendername, playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/giveweapon", true) == 0) {
	    if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 2) {
	    new ammo;
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /giveweapon [playerid] [weaponid] [ammo]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /giveweapon [playerid] [weaponid] [ammo]");
			return 1;
		}
 		moneys = strval(tmp);
 		
 		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /giveweapon [playerid] [weaponid] [ammo]");
			return 1;
		}
 		ammo = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			GivePlayerWeapon(giveplayerid, moneys, ammo);
			format(string, sizeof(string), "--- %s (id: %d) gave weapon (id: %d) (ammo: %d) to %s (id: %d).", sendername,playerid,moneys,ammo,giveplayer,giveplayerid);
            printf(string);
			format(string, sizeof(string), "* You given weapon (id: %d) (ammo: %d) to %s (id: %d).", moneys,ammo,giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* You have granted weapon (id: %d) (ammo: %d) from %s (id: %d).", moneys,ammo,sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if(strcmp(cmd, "/arm", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE && disarm[playerid] == 0 || gTeam[playerid] == TEAM_MILITARY && disarm[playerid] == 0) {

		if(disarm[playerid] == 1) {
			SendClientMessage(playerid, COLOR_RED, "* /arm is disabled while disarmed!");
			return 1;
		}
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /arm [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			SetPlayerTeamWeapons(giveplayerid);
			disarm[giveplayerid] = 0;
			format(string, sizeof(string), "--- %s (id: %d) return weapons to %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* Return weapons to %s (id: %d).", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* %s (id: %d) return your weapons.", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_GREEN, string);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/disarm", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE || gTeam[playerid] == TEAM_MILITARY) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /disarm [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1  || GetDistanceBetweenPlayers(giveplayerid,playerid) < 4) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			ResetPlayerWeapons(giveplayerid);
			disarm[giveplayerid] = 1;
			format(string, sizeof(string), "--- %s (id: %d) removed weapons from %s (id: %d).", sendername,playerid,giveplayer,giveplayerid);
			printf(string);
			format(string, sizeof(string), "* Removed all weapons from %s (id: %d).", giveplayer,giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* %s (id: %d) removed all your weapons.", sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_RED, string);
		}
		else {
			format(string, sizeof(string), "* %d is not close enough to disarm.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if(strcmp(cmd, "/adminhouse", true) == 0 || strcmp(cmd, "/ah", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, 1255.0270, -789.2294, 92.0302);
			format(string, sizeof(string), "--- %s (id: %d) teleported to Admin Safe House.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to the Admin Safe House!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not an admin!");
		}
		return 1;
	}

	if(strcmp(cmd, "/lspd", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, 1579.9010, -1636.5945, 13.5587);
			format(string, sizeof(string), "--- %s (id: %d) teleported to LSPD.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to Los Santos PD!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a cop!");
		}
		return 1;
	}

	if(strcmp(cmd, "/lspdroof", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, 1571.7972, -1675.5331, 28.3955);
			format(string, sizeof(string), "--- %s (id: %d) teleported to LSPD roof.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to Los Santos PD's roof!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a cop!");
		}
		return 1;
	}

	if(strcmp(cmd, "/lvpd", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, 2297.1064, 2452.0115, 10.8203);
			format(string, sizeof(string), "--- %s (id: %d) teleported to LVPD.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to Las Venturas PD!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a cop!");
		}
		return 1;
	}

	if(strcmp(cmd, "/sfpd", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, -1635.0077, 665.8105, 7.1875);
			format(string, sizeof(string), "--- %s (id: %d) teleported to SFPD.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to San Fierro PD!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a cop!");
		}
		return 1;
	}

	if(strcmp(cmd, "/bcpd", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, 631.0117, -571.6066, 16.3359);
			format(string, sizeof(string), "--- %s (id: %d) teleported to BCPD.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to Bone County PD!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a cop!");
		}
		return 1;
	}

	if(strcmp(cmd, "/lsfbi", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, 918.9784, -1037.3120, 31.8984);
			format(string, sizeof(string), "--- %s (id: %d) teleported to LS FBI.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to Los Santos FBI!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a cop!");
		}
		return 1;
	}

	if(strcmp(cmd, "/lvfbi", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, 2487.7427, 2397.3074, 10.8203);
			format(string, sizeof(string), "--- %s (id: %d) teleported to LV FBI.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to Las Venturas FBI!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a cop!");
		}
		return 1;
	}

	if(strcmp(cmd, "/sffbi", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_POLICE) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, -2456.1265, 503.9335, 30.0781);
			format(string, sizeof(string), "--- %s (id: %d) teleported to SF FBI.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to Federal Mint in San Fierro!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a cop!");
		}
		return 1;
	}

	if(strcmp(cmd, "/naval", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_MILITARY) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, -1522.0662, 481.2508, 7.1875);
			format(string, sizeof(string), "--- %s (id: %d) teleported to Naval.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to Easter Basin Naval Station!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a soldier!");
		}
		return 1;
	}

	if(strcmp(cmd, "/area69", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_MILITARY) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, 290.2470, 2006.7810, 17.6406);
			format(string, sizeof(string), "--- %s (id: %d) teleported to Area 69.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to Area 69!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a soldier!");
		}
		return 1;
	}

	if(strcmp(cmd, "/lsh", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_RESCUE) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, 2041.4088, -1408.4176, 17.1641);
			format(string, sizeof(string), "--- %s (id: %d) teleported to LS Hospital.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to Los Santos Hospital!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a rescue worker!");
		}
		return 1;
	}

	if(strcmp(cmd, "/lvh", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_RESCUE) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, 1584.8757, 1796.7544, 10.8203);
			format(string, sizeof(string), "--- %s (id: %d) teleported to LV Hospital.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to Las Venturas Hospital!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're rescue worker!");
		}
		return 1;
	}

	if(strcmp(cmd, "/sfh", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || gTeam[playerid] == TEAM_RESCUE) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, -2695.5466, 640.1466, 14.4531);
			format(string, sizeof(string), "--- %s (id: %d) teleported to SF Hospital.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to San Fierro Hospital!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're rescue worker!");
		}
		return 1;
	}
	
	if(strcmp(cmd, "/lvfd", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, 1770.3210, 2080.5002, 10.8203);
			format(string, sizeof(string), "--- %s (id: %d) teleported to LVFD.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to Las Venturas FD!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a rescue worker!");
		}
		return 1;
	}

	if(strcmp(cmd, "/sffd", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
			GetPlayerName(playerid, playername, sizeof(playername));
			SetPlayerInterior(playerid,0);
			SetPlayerPos(playerid, -2026.9392, 67.1586, 28.6916);
			format(string, sizeof(string), "--- %s (id: %d) teleported to SFFD.", playername,playerid);
			printf(string);
			SendClientMessage(playerid, COLOR_GREEN,"* Welcome to San Fierro FD!");
		}
		else {
		SendClientMessage(playerid, COLOR_RED,"* You're not a rescue worker!");
		}
		return 1;
	}

	if(strcmp(cmd, "/locs", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		SendClientMessage(playerid, COLOR_YELLOW,"* LS: 1. Groove St. *** 2. Airport *** 3. Highest Building *** 4. Lighthouse");
		SendClientMessage(playerid, COLOR_YELLOW,"* SF: 5. Doherty *** 6. Airport *** 7. Highest Building *** 8. Golden Gate");
		SendClientMessage(playerid, COLOR_YELLOW,"* LV: 9. Four Dragons *** 10. Airport *** 11. Highest Building");
		SendClientMessage(playerid, COLOR_YELLOW,"* OTHER: 12. Chilliad *** 13. Abandoned Airport *** 14. Area 69");
		}
		return 1;
	}
	
	if(strcmp(cmd, "/tp", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		new locname[MAX_STRING];
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /tp [playerid] [locid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /tp [playerid] [locid]");
			return 1;
		}
 		moneys = strval(tmp);
 		
 		if (moneys < 1 || moneys > 14) {
 			SendClientMessage(playerid, COLOR_YELLOW, "* Invalid location id.");
			return 1;
		}
		
		if (IsPlayerConnected(giveplayerid)) {
		    SetPlayerInterior(giveplayerid, 0);
		    if (moneys == 1) {
				format(locname, sizeof(locname), "LS Groove St.");
                SetPlayerPos(giveplayerid, 2492.9375,-1670.4402,13.3359);
			}
			if (moneys == 2) {
				format(locname, sizeof(locname), "LS Airport");
                SetPlayerPos(giveplayerid, 1925.1957,-2426.8733,13.5391);
			}
			if (moneys == 3) {
				format(locname, sizeof(locname), "LS Highest Building");
                SetPlayerPos(giveplayerid, 1546.1326,-1354.6786,329.4790);
			}
			if (moneys == 4) {
				format(locname, sizeof(locname), "LS Lighthouse");
                SetPlayerPos(giveplayerid, 154.0820,-1938.4050,3.7734);
			}
			if (moneys == 5) {
				format(locname, sizeof(locname), "SF Doherty");
                SetPlayerPos(giveplayerid, -2026.0696,175.2042,28.8359);
			}
			if (moneys == 6) {
				format(locname, sizeof(locname), "SF Airport");
                SetPlayerPos(giveplayerid, -1281.1655,-166.1917,14.1484);
			}
			if (moneys == 7) {
				format(locname, sizeof(locname), "SF Highest Building");
                SetPlayerPos(giveplayerid, -1753.8291,885.4835,295.8750);
			}
			if (moneys == 8) {
				format(locname, sizeof(locname), "SF Golden Gate");
                SetPlayerPos(giveplayerid, -2678.8230,1595.1827,217.2739);
			}
			if (moneys == 9) {
				format(locname, sizeof(locname), "LV Four Dragons");
                SetPlayerPos(giveplayerid, 2030.2551,1007.9247,10.8203);
			}
			if (moneys == 10) {
				format(locname, sizeof(locname), "LV Airport");
                SetPlayerPos(giveplayerid, 1525.6610,1594.5865,10.8203);
			}
			if (moneys == 11) {
				format(locname, sizeof(locname), "LV Highest Building");
                SetPlayerPos(giveplayerid, 2057.1145,2435.5623,165.6172);
			}
			if (moneys == 12) {
				format(locname, sizeof(locname), "Chilliad");
                SetPlayerPos(giveplayerid, -2321.2866,-1637.9414,483.7031);
			}
			if (moneys == 13) {
				format(locname, sizeof(locname), "Abandoned Airport");
                SetPlayerPos(giveplayerid, 324.9738,2520.6030,16.6942);
			}
			if (moneys == 14) {
				format(locname, sizeof(locname), "Area 69");
                SetPlayerPos(giveplayerid, 213.6413,1904.4032,17.6406);
			}
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			format(string, sizeof(string), "--- %s (id: %d) teleported %s (id: %d) to location id %d.", sendername,playerid,giveplayer,giveplayerid, moneys);
			printf(string);
			format(string, sizeof(string), "* You teleported %s (id: %d) to %s (id: %d).", giveplayer,giveplayerid,locname,moneys);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* You teleported to %s by %s (id: %d).", locname,sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		if (!IsPlayerConnected(giveplayerid)) {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/tpto", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		new telename[MAX_PLAYER_NAME];
		new teleid;
		new car;
		new pI;
		new Float:pX, Float:pY, Float:pZ;
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /tpto [playerid] [to playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /tpto [playerid] [to playerid]");
			return 1;
		}
 		teleid = strval(tmp);

		if (IsPlayerConnected(giveplayerid) && IsPlayerConnected(teleid)) {
		if (IsPlayerInAnyVehicle(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			GetPlayerName(teleid, telename, sizeof(telename));
			GetPlayerPos(teleid, pX,pY,pZ);
		    car = GetPlayerVehicleID(giveplayerid);
			SetPlayerInterior(giveplayerid, 0);
			SetVehiclePos(car, pX+3,pY,pZ+2);
			format(string, sizeof(string), "--- %s (id: %d) teleported %s (id: %d) to %s (id: %d)", sendername,playerid,giveplayer,giveplayerid,telename,teleid);
			printf(string);
			format(string, sizeof(string), "* You teleported %s (id: %d) to %s (id: %d).", giveplayer,giveplayerid,telename,teleid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* You teleported to %s (id: %d) by %s (id: %d).", telename,teleid,sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		if (!IsPlayerInAnyVehicle(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			GetPlayerName(teleid, telename, sizeof(telename));
			pI = GetPlayerInterior(teleid);
			SetPlayerInterior(giveplayerid, pI);
			GetPlayerPos(teleid, pX,pY,pZ);
			SetPlayerPos(giveplayerid, pX+3,pY,pZ+1);
			format(string, sizeof(string), "--- %s (id: %d) teleported %s (id: %d) to %s (id: %d)", sendername,playerid,giveplayer,giveplayerid,telename,teleid);
			printf(string);
			format(string, sizeof(string), "* You teleported %s (id: %d) to %s (id: %d).", giveplayer,giveplayerid,telename,teleid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* You teleported to %s (id: %d) by %s (id: %d).", telename,teleid,sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
			}
		}
		if (!IsPlayerConnected(giveplayerid)) {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		if (!IsPlayerConnected(teleid)) {
			format(string, sizeof(string), "* %d is not an active player.", teleid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/deluser", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] == 4) {
	    tmp = strtok(cmdtext, idx);
	    
 		GetPlayerName(playerid, playername, sizeof(playername));
	    if(!strlen(tmp))
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /deluser [playername]");

		else {
			if (dini_Exists(PlayerFile(tmp))) {
				dini_Remove(PlayerFile(tmp));
    			if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);
                tmp2 = dini_Get(FILE_TOTALSTAT, "users");
				if (strval(tmp2) > 0) dini_IntSet(FILE_TOTALSTAT, "users", strval(tmp2)-1);
				format(string, sizeof(string), "--- %s (id: %d) deleted user %s from db.", playername,playerid,tmp);
				printf(string);
				format(string, sizeof(string), "* User %s deleted from db.", tmp);
				SendClientMessage(playerid, COLOR_RED, string);
			}
			else {
				format(string, sizeof(string), "* %s no such account.", tmp);
				SendClientMessage(playerid, COLOR_RED, string);
				}
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/setmoney", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 3) {
	    new oldmoneys;

		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setmoney [playerid] [amount]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setmoney [playerid] [amount]");
			return 1;
		}
 		moneys = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			oldmoneys = GetPlayerMoney(giveplayerid);
			StatGivePlayerMoney(giveplayerid, -oldmoneys+moneys);
			format(string, sizeof(string), "--- %s (id: %d) sets %s (id: %d) money to $%d.", sendername,playerid,giveplayer,giveplayerid,moneys);
			printf(string);
			format(string, sizeof(string), "* You set money of %s (id: %d) to $%d.", giveplayer,giveplayerid,moneys);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* Your money is now $%d, set by %s (id: %d).", moneys,sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
		    format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if(strcmp(cmd, "/getmoney", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /getmoney [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			format(string, sizeof(string), "* Money of %s (id: %d) is $%d.", giveplayer,giveplayerid,GetPlayerMoney(giveplayerid));
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		else {
            format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

 	if(strcmp(cmd, "/setbank", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 3) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setbank [playerid] [amount]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setbank [playerid] [amount]");
			return 1;
		}
 		moneys = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			bank[giveplayerid] = moneys;
			format(string, sizeof(string), "--- %s (id: %d) sets %s (id: %d) bank balance to $%d.", sendername,playerid,giveplayer,giveplayerid,moneys);
			printf(string);
			format(string, sizeof(string), "* You set balance of %s (id: %d) to $%d in bank.", giveplayer,giveplayerid,moneys);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* Your bank balance is now $%d, set by %s (id: %d).", moneys,sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
		    format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/getbank", true) == 0) {
        if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /getbank [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			format(string, sizeof(string), "* Balance of %s (id: %d) is $%d.", giveplayer,giveplayerid,bank[giveplayerid]);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		else {
            format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/setbounty", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 3) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setbounty [playerid] [amount]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setbounty [playerid] [amount]");
			return 1;
		}
 		moneys = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			bounty[giveplayerid] = moneys;
			format(string, sizeof(string), "--- %s (id: %d) sets %s (id: %d) bounty to $%d.", sendername,playerid,giveplayer,giveplayerid,moneys);
			printf(string);
			format(string, sizeof(string), "* You set bounty on %s (id: %d) to $%d.", giveplayer,giveplayerid,moneys);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* Your bounty is now $%d, set by %s (id: %d).", moneys,sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
		    format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if (strcmp(cmd, "/setrespect", true) == 0 || strcmp(cmd, "/setr", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 3) {
		tmp = strtok(cmdtext, idx);
		if (!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setrespect [playerid] [amount]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if (!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setrespect [playerid] [amount]");
			return 1;
		}
 		moneys = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			respect[giveplayerid] = moneys;
			format(string, sizeof(string), "--- %s (id: %d) sets %s (id: %d) respect to %d.", sendername,playerid,giveplayer,giveplayerid,moneys);
			printf(string);
			format(string, sizeof(string), "* You set respect on %s (id: %d) to %d.", giveplayer,giveplayerid,moneys);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			format(string, sizeof(string), "* Your respect is now %d, set by %s (id: %d).", moneys,sendername,playerid);
			SendClientMessage(giveplayerid, COLOR_YELLOW, string);
		}
		else {
		    format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if(strcmp(cmd, "/getrespect", true) == 0 || strcmp(cmd, "/getr", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /getrespect [playerid]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			format(string, sizeof(string), "* Respect of %s (id: %d) is %d.", giveplayer,giveplayerid,respect[giveplayerid]);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		else {
            format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}

	if(strcmp(cmd, "/kick", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 2) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /kick [playerid] [reason]");
			return 1;
		}
		giveplayerid = strval(tmp);

		strmid(tmp, cmdtext, 6+strlen(tmp), strlen(cmdtext));
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /kick [playerid] [reason]");
			return 1;
		}

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			KickMsg(giveplayerid, sendername, tmp);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/ban", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 3) {
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /ban [playerid] [reason]");
			return 1;
		}
		giveplayerid = strval(tmp);

		strmid(tmp, cmdtext, 5+strlen(tmp), strlen(cmdtext));
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /ban [playerid] [reason]");
			return 1;
		}

		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			BanMsg(giveplayerid, sendername, tmp);
		}
		else {
			format(string, sizeof(string), "* %d is not an active player.", giveplayerid);
			SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/stats", true) == 0) {
		tmp = strtok(cmdtext, idx);

        GetPlayerName(playerid, sendername, MAX_PLAYER_NAME);
		if(!strlen(tmp)) {
		    if (dini_Exists(PlayerFile(sendername))) {
				format(string, sizeof(string), "* Statistic for %s:", sendername);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				for (new i=0;i<RANKS_RESPECT;i++)
				    if (RankRespect[i] <= respect[playerid]) moneys = i;
				format(string, sizeof(string), "* Respect: %d. Rank: %s.", respect[playerid],RankRespectNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				tmp2 = dini_Get(PlayerFile(sendername), "kills");
				for (new i=0;i<RANKS_KILLS;i++)
					if(RankKills[i] <= strval(tmp2)) moneys = i;
				format(string, sizeof(string), "* Kills %d. Rank: %s.", strval(tmp2),RankKillNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				tmp2 = dini_Get(PlayerFile(sendername), "killsinarow");
    			for (new i=0;i<RANKS_KILLSIAR;i++)
				    if (RankKillsIAR[i] <= strval(tmp2)) moneys = i;
				format(string, sizeof(string), "* Max kills in a row: %d. Rank: %s.", strval(tmp2),RankKillIARNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				tmp2 = dini_Get(PlayerFile(sendername), "deaths");
				for (new i=0;i<RANKS_DEATHS;i++)
        			if (RankDeaths[i] <= strval(tmp2)) moneys = i;
				format(string, sizeof(string), "* Deaths: %d. Rank: %s.", strval(tmp2),RankDeathNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				tmp2 = dini_Get(PlayerFile(sendername), "suicides");
				for (new i=0;i<RANKS_SUICIDES;i++)
				    if (RankSuicides[i] <= strval(tmp2)) moneys = i;
				format(string, sizeof(string), "* Suicides: %d. Rank: %s.", strval(tmp2),RankSuicideNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				for (new i=0;i<RANKS_MONEY;i++)
				    if (RankMoneys[i] <= GetPlayerMoney(playerid)+bank[playerid]) moneys = i;
				format(string, sizeof(string), "* Total money: %d. Rank: %s.", GetPlayerMoney(playerid)+bank[playerid],RankMoneyNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				for (new i=0;i<RANKS_BOUNTY;i++)
				    if (RankBounty[i] <= bounty[playerid]) moneys = i;
				format(string, sizeof(string), "* Bounty: %d. Rank: %s.", bounty[playerid],RankBountyNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);
			}
			else {
			    format(string, sizeof(string), "* %s no such account.", sendername);
				SendClientMessage(playerid, COLOR_RED, string);
			}
		}
		else {
		    if (dini_Exists(PlayerFile(tmp))) {
				format(string, sizeof(string), "* Statistic for %s:", tmp);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				for (new i=0;i<RANKS_RESPECT;i++)
				   if (RankRespect[i] <= idx) moneys = i;
				format(string, sizeof(string), "* Respect: %d. Rank: %s.", respect[playerid],RankRespectNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				tmp2 = dini_Get(PlayerFile(tmp), "kills");
				for (new i=0;i<RANKS_KILLS;i++)
					if(RankKills[i] <= strval(tmp2)) moneys = i;
				format(string, sizeof(string), "* Kills %d. Rank: %s.", strval(tmp2),RankKillNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				tmp2 = dini_Get(PlayerFile(tmp), "killsinarow");
				for (new i=0;i<RANKS_KILLSIAR;i++)
				    if (RankKillsIAR[i] <= strval(tmp2)) moneys = i;
				format(string, sizeof(string), "* Max kills in a row: %d. Rank: %s.", strval(tmp2),RankKillIARNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				tmp2 = dini_Get(PlayerFile(tmp), "deaths");
				for (new i=0;i<RANKS_DEATHS;i++)
				    if (RankDeaths[i] <= strval(tmp2)) moneys = i;
				format(string, sizeof(string), "* Deaths: %d Rank: %s.", strval(tmp2),RankDeathNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				tmp2 = dini_Get(PlayerFile(tmp), "suicides");
				for (new i=0;i<RANKS_SUICIDES;i++)
				    if (RankSuicides[i] <= strval(tmp2)) moneys = i;
				format(string, sizeof(string), "* Suicides: %d. Rank: %s.", strval(tmp2),RankSuicideNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				for (new i=0;i<RANKS_MONEY;i++)
				    if (RankMoneys[i] <= GetPlayerMoney(playerid)+bank[playerid]) moneys = i;
				format(string, sizeof(string), "* Total money: %d. Rank: %s.", GetPlayerMoney(playerid)+bank[playerid],RankMoneyNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				for (new i=0;i<<RANKS_BOUNTY;i++)
				    if (RankBounty[i] <= bounty[playerid]) moneys = i;
				format(string, sizeof(string), "* Bounty: %d. Rank: %s.", bounty[playerid],RankBountyNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);
				giveplayerid = GetPlayerId(tmp);
				if (giveplayerid != INVALID_PLAYER_ID) {
				    weaponid = bounty[giveplayerid];
					giveplayerid = GetPlayerMoney(giveplayerid)+bank[giveplayerid];
				}
				else {
				    tmp2 = dini_Get(PlayerFile(tmp), "money");
					giveplayerid = strval(tmp2);
                    tmp2 = dini_Get(PlayerFile(tmp), "bank");
                    giveplayerid += strval(tmp2);
                    tmp2 = dini_Get(PlayerFile(tmp), "bounty");
                    weaponid = strval(tmp2);
				}
				for (new i=0;i<12;i++)
				    if (RankMoneys[i] <= giveplayerid) moneys = i;
				format(string, sizeof(string), "* Total money: %d. Rank: %s.", giveplayerid,RankMoneyNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);
				for (new i=0;i<8;i++)
				    if (RankBounty[i] <= weaponid) moneys = i;
				format(string, sizeof(string), "* Bounty: %d. Rank: %s.", weaponid,RankBountyNames[moneys]);
				SendClientMessage(playerid, COLOR_ORANGE, string);
			}
			else {
			    format(string, sizeof(string), "* %s no such account.", tmp);
				SendClientMessage(playerid, COLOR_RED, string);
			}
		}

		return 1;
	}
	
	if(strcmp(cmd, "/totalstats", true) == 0) {
	    new tmp3[MAX_STRING];
		format(string, sizeof(string), "* Total server statistic:", sendername);
		SendClientMessage(playerid, COLOR_ORANGE, string);
		tmp = dini_Get(FILE_TOTALSTAT, "kills");
		tmp2 = dini_Get(FILE_TOTALSTAT, "deaths");
		tmp3 = dini_Get(FILE_TOTALSTAT, "suicides");
		format(string, sizeof(string), "* Kills: %d. Deaths: %d. Suicides: %d.", strval(tmp),strval(tmp2),strval(tmp3));
		SendClientMessage(playerid, COLOR_ORANGE, string);
		tmp = dini_Get(FILE_TOTALSTAT, "moneyreceived");
		tmp2 = dini_Get(FILE_TOTALSTAT, "moneylost");
		format(string, sizeof(string), "* Money received: %d. Money spent/lost: %d.", strval(tmp), strval(tmp2));
		SendClientMessage(playerid, COLOR_ORANGE, string);
		tmp = dini_Get(FILE_TOTALSTAT, "users");
		format(string, sizeof(string), "* Players registered: %d.", strval(tmp));
		tmp = dini_Get(FILE_TOTALSTAT, "kicks");
		tmp2 = dini_Get(FILE_TOTALSTAT, "bans");
		format(string, sizeof(string), "* Players kicked: %d. Players banned: %d.", strval(tmp),strval(tmp2));
		SendClientMessage(playerid, COLOR_ORANGE, string);

		return 1;
	}
	
	if(strcmp(cmd, "/sv", true) == 0) {
	    new Float:x, Float:y, Float:z;
	    
	    tmp = dini_Get(FILE_SETTINGS, "manualsaving");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Manual saving are not allowed on this server!");
		    return 1;
		}
		
	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	    
	    if (dini_Exists(PlayerFile(playername))) {
		    if (logged[playerid] == 1) {
		    	dini_IntSet(PlayerFile(playername), "respect", respect[playerid]);
				dini_IntSet(PlayerFile(playername), "money", GetPlayerMoney(playerid));
       			dini_IntSet(PlayerFile(playername), "bank", bank[playerid]);
      			dini_IntSet(PlayerFile(playername), "bounty", bounty[playerid]);
      			if (GetPlayerState(playerid) != PLAYER_STATE_NONE && GetPlayerState(playerid) != PLAYER_STATE_WASTED) {
					GetPlayerPos(playerid, x,y,z);
       				dini_FloatSet(PlayerFile(playername), "x", x);
       				dini_FloatSet(PlayerFile(playername), "y", y);
       				dini_FloatSet(PlayerFile(playername), "z", z);
				}
      			dini_IntSet(PlayerFile(playername), "killsinarow", killsinarow[playerid]);
        		format(string, sizeof(string), "--- %s (id: %d) saved his progress. Respect: %d *** Money: $%d *** Bank: $%d *** Bounty: $%d.", playername,playerid,respect[playerid],GetPlayerMoney(playerid),bank[playerid],bounty[playerid]);
				printf(string);
        		SendClientMessage(playerid, COLOR_GREEN, "* Your progress saved.");
			}
			else SendClientMessage(playerid, COLOR_YELLOW, "* You must be logged to save your progress.");
		}
		else {
			format(string, sizeof(string), "* %s no such account.", playername);
			SendClientMessage(playerid, COLOR_RED, string);
		}
		
	    return 1;
	}

	if(strcmp(cmd, "/respectall", true) == 0 || strcmp(cmd, "/rall", true) == 0) {
	    if(IsPlayerAdmin(playerid) || adminlevel[playerid] == 4) {
	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
  		format(string, sizeof(string), "--- %s (id: %d) requested global respect.", playername,playerid);
		printf(string);
		RespectUpdate();
   		SendClientMessage(playerid, COLOR_GREY, "* Global respect done.");
		}
	    return 1;
	}

	if(strcmp(cmd, "/payall", true) == 0 || strcmp(cmd, "/pall", true) == 0) {
	    if(IsPlayerAdmin(playerid) || adminlevel[playerid] == 4) {
	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
  		format(string, sizeof(string), "--- %s (id: %d) requested global pay.", playername,playerid);
		printf(string);
		PayDay();
   		SendClientMessage(playerid, COLOR_GREY, "* Global pay done.");
		}
	    return 1;
	}

	if(strcmp(cmd, "/taxall", true) == 0 || strcmp(cmd, "/tall", true) == 0) {
	    if(IsPlayerAdmin(playerid) || adminlevel[playerid] == 4) {
	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
  		format(string, sizeof(string), "--- %s (id: %d) requested global tax.", playername,playerid);
		printf(string);
		TaxDay();
   		SendClientMessage(playerid, COLOR_GREY, "* Global tax done.");
		}
	    return 1;
	}
	
	if(strcmp(cmd, "/svall", true) == 0) {
	    if(IsPlayerAdmin(playerid) || adminlevel[playerid] == 4) {
	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
  		format(string, sizeof(string), "--- %s (id: %d) requested global save.", playername,playerid);
		printf(string);
		SaveData();
   		SendClientMessage(playerid, COLOR_GREY, "* Global save done.");
		}
	    return 1;
	}

	if(strcmp(cmd, "/resetcars", true) == 0 || strcmp(cmd, "/rc", true) == 0) {
	    if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
	    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
  		format(string, sizeof(string), "--- %s (id: %d) requested all unoccupied cars resetted.", playername,playerid);
		printf(string);
		UnlockCars();
		RespawnCars();
   		SendClientMessage(playerid, COLOR_GREY, "* All unoccupied cars are resetted.");
		}
	    return 1;
	}
	
	if(strcmp(cmd, "/setuserstr", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] == 4) {
		new tmp3[MAX_STRING];

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserstr [playername] [key] [string]");
			return 1;
		}

		tmp2 = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserstr [playername] [key] [string]");
			return 1;
		}

 		tmp3 = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserstr [playername] [key] [string]");
			return 1;
		}

		if (dini_Exists(PlayerFile(tmp))) {
		    dini_Set(PlayerFile(tmp), tmp2, tmp3);
		    
		    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
		    format(string, sizeof(string), "--- %s (id: %d) sets %s parameters: %s=%s.", playername,playerid,tmp,tmp2,tmp3);
			printf(string);
			format(string, sizeof(string), "* You set parameters %s: %s=%s.", tmp,tmp2,tmp3);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		else {
		    format(string, sizeof(string), "* %s no such account.", tmp);
			SendClientMessage(playerid, COLOR_RED, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/setuserint", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] == 4) {
		new tmp3[MAX_STRING];

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserint [playername] [key] [value]");
			return 1;
		}

		tmp2 = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserint [playername] [key] [value]");
			return 1;
		}

 		tmp3 = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserint [playername] [key] [value]");
			return 1;
		}
		moneys = strval(tmp3);

		if (dini_Exists(PlayerFile(tmp))) {
		    dini_IntSet(PlayerFile(tmp), tmp2, moneys);

            GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
		    format(string, sizeof(string), "--- %s (id: %d) sets %s parameters: %s=%d.", playername,playerid,tmp,tmp2,moneys);
			printf(string);
			format(string, sizeof(string), "* You set parameters %s: %s=%d.", tmp,tmp2,moneys);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		else {
		    format(string, sizeof(string), "* %s no such account.", tmp);
			SendClientMessage(playerid, COLOR_RED, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/setuserfloat", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] == 4) {
		new tmp3[MAX_STRING];
		new Float:flt;

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserfloat [playername] [key] [float]");
			return 1;
		}

		tmp2 = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserfloat [playername] [key] [float]");
			return 1;
		}

 		tmp3 = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /setuserfloat [playername] [key] [float]");
			return 1;
		}
		flt = floatstr(tmp3);

		if (dini_Exists(PlayerFile(tmp))) {
		    dini_FloatSet(PlayerFile(tmp), tmp2, flt);

            GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
		    format(string, sizeof(string), "--- %s (id: %d) sets %s parameters: %s=%f.", playername,playerid,tmp,tmp2,flt);
			printf(string);
			format(string, sizeof(string), "* You set parameters %s: %s=%f.", tmp,tmp2,flt);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		else {
		    format(string, sizeof(string), "* %s no such account.", tmp);
			SendClientMessage(playerid, COLOR_RED, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/getuser", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] == 4) {
		new tmp3[MAX_STRING];

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /getuser [playername] [key]");
			return 1;
		}

		tmp2 = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /getuser [playername] [key]");
			return 1;
		}

		if (dini_Exists(PlayerFile(tmp))) {
		    tmp3 = dini_Get(PlayerFile(tmp), tmp2);

			format(string, sizeof(string), "* You parameters of %s: %s=%s.", tmp,tmp2,tmp3);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		else {
		    format(string, sizeof(string), "* %s no such account.", tmp);
			SendClientMessage(playerid, COLOR_RED, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/blackadd", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 3) {
	    tmp = dini_Get(FILE_SETTINGS, "blacklist");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Blacklist are not allowed on this server!");
		    return 1;
		}
		
		new tmp3[MAX_STRING];
		
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /blackadd [playername] [1-2] [reason]");
			return 1;
		}
		
		tmp2 = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /blackadd [playername] [1-2] [reason]");
			return 1;
		}
		moneys = strval(tmp2);
		
		if (moneys < 1 || moneys > 2) {
		    SendClientMessage(playerid, COLOR_YELLOW, "* Invalid action.");
			return 1;
		}
		
	    strmid(tmp2, cmdtext, 12+strlen(tmp)+strlen(tmp2), strlen(cmdtext));
 		GetPlayerName(playerid, playername, sizeof(playername));
 		
	    if(!strlen(tmp2))
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /blackadd [playername] [0-2] [reason]");

		else {
		    format(tmp3, sizeof(tmp3), "%d,%s", moneys,tmp2);
		    if (!dini_Exists(FILE_BLACKLIST)) dini_Create(FILE_BLACKLIST);
			dini_Set(FILE_BLACKLIST, tmp, tmp3);

			format(string, sizeof(string), "--- %s (id: %d) blacklisted %s. Action: %d. Reason: %s", playername,playerid,tmp,moneys,tmp2);
			printf(string);
			format(string, sizeof(string), "* You blacklisted %s. Action: %d. Reason: %s", tmp,moneys,tmp2);
			SendClientMessage(playerid, COLOR_ORANGE, string);
			}
		}
		return 1;
	}
	
	if(strcmp(cmd, "/blackdel", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 3) {
	    tmp = dini_Get(FILE_SETTINGS, "blacklist");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* Blacklist are not allowed on this server!");
		    return 1;
		}

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "* USAGE: /blackdel [playername]");
			return 1;
		}

		dini_Unset(FILE_BLACKLIST, tmp);

		format(string, sizeof(string), "--- %s (id: %d) deleted %s from blacklist.", playername,playerid,tmp);
		printf(string);
		format(string, sizeof(string), "* You deleted %s from blacklist.", tmp);
		SendClientMessage(playerid, COLOR_ORANGE, string);
		}
		return 1;
	}
	
	if (strcmp(cmd, "/gmx", true) == 0) {
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] == 4) {
			GetPlayerName(playerid, playername, sizeof(playername));
			format(string, sizeof(string), "--- %s (id: %d) requested gamemode exit.", playername,playerid);
			printf(string);
			GameTextForAll("~r~SHRPG gamemode exiting...", 5000, 5);

			OnGameModeExit();
		}
		return 1;
	}
		
 	if(strcmp(cmd, "/kill", true) == 0) {
		tmp = dini_Get(FILE_SETTINGS, "kill");
		if (strval(tmp) == 0) {
		    SendClientMessage(playerid, COLOR_RED, "* /kill is not allowed on this server!");
		    return 1;
		}
		if(jailed[playerid] == 1 || cuffed[playerid] == 1) {
			SendClientMessage(playerid,COLOR_RED,"* /kill is disabled while jailed or cuffed!");
			return 1;
		}
	    SetPlayerHealth(playerid,0.0);
	    god[playerid] = 0;
	    bankrobber[playerid] = 0;
        bankrobberytime[playerid] = 0;
        respect[playerid]--;
  	  	return 1;
	}
	return 0;
}

public OnPlayerSpawn(playerid)
{
	new string[MAX_STRING];
	new playername[MAX_PLAYER_NAME];
	new tmp[MAX_STRING], tmp2[MAX_STRING], tmp3[MAX_STRING];

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

	SetPlayerInterior(playerid,0);
	SetPlayerRandomSpawn(playerid);
	SetPlayerToTeamColor(playerid);
	
	spawned[playerid] = 1;
	
	SetPlayerTeamWeapons(playerid);
	
	if (dini_Exists(PlayerFile(playername))) {
	    tmp = dini_Get(FILE_SETTINGS, "logintimeout");
		if (logged[playerid] == 0) {
			logintimeout[playerid] = SetTimer("LoginTimeout", strval(tmp), 0);
			format(string, sizeof(string), "* You are not logged! If you won't login in next %d seconds, you will be kicked!", strval(tmp) / 1000);
			SendClientMessage(playerid, COLOR_RED, string);
		}
		else {
		    tmp = dini_Get(FILE_SETTINGS, "positionsave");
			if (strval(tmp) == 1) {
                tmp = dini_Get(PlayerFile(playername), "x");
				tmp2 = dini_Get(PlayerFile(playername), "y");
				tmp3 = dini_Get(PlayerFile(playername), "z");
				if (strval(tmp) && strval(tmp2) && strval(tmp3)) SetPlayerPos(playerid, floatstr(tmp), floatstr(tmp2), floatstr(tmp3));
			}

			tmp = dini_Get(FILE_SETTINGS, "spawnweapons");
			if (strval(tmp) == 1) {
            	tmp = dini_Get(PlayerFile(playername), "weapon1");
				if (strval(tmp) != 0) GivePlayerWeapon(playerid, strval(tmp), 1);
				tmp = dini_Get(PlayerFile(playername), "weapon2");
				tmp2 = dini_Get(PlayerFile(playername), "ammo2");
				if (strval(tmp) != 0 && strval(tmp2) != 0) GivePlayerWeapon(playerid, strval(tmp), strval(tmp2));
				tmp = dini_Get(PlayerFile(playername), "weapon3");
				tmp2 = dini_Get(PlayerFile(playername), "ammo3");
				if (strval(tmp) != 0 && strval(tmp2) != 0) GivePlayerWeapon(playerid, strval(tmp), strval(tmp2));
				tmp = dini_Get(PlayerFile(playername), "weapon4");
				tmp2 = dini_Get(PlayerFile(playername), "ammo4");
				if (strval(tmp) != 0 && strval(tmp2) != 0) GivePlayerWeapon(playerid, strval(tmp), strval(tmp2));
				tmp = dini_Get(PlayerFile(playername), "weapon5");
				tmp2 = dini_Get(PlayerFile(playername), "ammo5");
				if (strval(tmp) != 0 && strval(tmp2) != 0) GivePlayerWeapon(playerid, strval(tmp), strval(tmp2));
			}
		}
	}
	if (gTeam[playerid] == TEAM_POLICE || gTeam[playerid] == TEAM_MILITARY) {
		SetPlayerArmour(playerid, 50);
	}
	if (IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1) {
		SetPlayerArmour(playerid, 100);
	}
	if (lockedskin[playerid] == 1) {
		KickMsg(playerid, "Protection", "Locked Skin");
	}
	if (jailed[playerid] == 1) {
		ResetPlayerWeapons(playerid);
		wantedlevel[playerid] = 0;
		bankrobber[playerid] = 0;
		bankrobberytime[playerid] = 0;
	    SetPlayerInterior(playerid, 6);
		SetPlayerPos(playerid, 265.1273, 77.6823, 1001.0391);
		format(string, sizeof(string), "--- %s spawned as prisoner.", playername);
		printf(string);
        SendClientMessage(playerid, COLOR_RED, "* Your prisoner status restored.");
	}
	if (!dini_Exists(PlayerFile(playername))) {
		KickMsg(playerid, "Protection", "Only registered users allowed.");
	}
	
	tmp = dini_Get(FILE_SETTINGS, "spawnmoney");
	if (GetPlayerMoney(playerid) <= 0) StatGivePlayerMoney(playerid, strval(tmp)-GetPlayerMoney(playerid));

	return 1;
}

public OnPlayerText(playerid, text[]) {
	new string[MAX_STRING];
	new privatestring[MAX_STRING];
	new adminchat[MAX_STRING];
	new playername[MAX_PLAYER_NAME];
	new giveplayer[MAX_PLAYER_NAME];
	new playerColor = GetPlayerColor(playerid);

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

	if(text[0] == '@') {
		if(IsPlayerConnected(playerid) && IsPlayerAdmin(playerid) || IsPlayerConnected(playerid) && adminlevel[playerid] >= 1) {
			strmid(adminchat,text,1,strlen(text));
			format(privatestring, sizeof(string),"@ %s:%s", playername, adminchat);

			for(new i = 0; i < MAX_PLAYERS; i++) {
				if(IsPlayerConnected(i) && IsPlayerAdmin(i) || IsPlayerConnected(i) && adminlevel[i] >= 1) {
					SendClientMessage(i, COLOR_GREY, privatestring);
					}
				}
				format(privatestring, sizeof(string), "--- @ %s (id: %d) said:%s",playername,playerid,adminchat);
			}
			else {
				SendClientMessage(playerid, COLOR_RED , "* You are not an admin.");
		}
		return 0;
	}
	if (text[0] == '!' && query[playerid] != 255) {
 		if (IsPlayerConnected(query[playerid])) {
 		    GetPlayerName(query[playerid], giveplayer, sizeof(giveplayer));
 		    format(string, sizeof(string), "--- PM: %s (id: %d) to %s (id: %d): %s", playername,playerid,giveplayer,query[playerid],text);
			printf(string);
		if(IgnorePlayerlist[query[playerid]][playerid] == 0) {
 		    format(string, sizeof(string), "* PM from %s (id: %d): %s", playername,playerid,text);
    		SendClientMessage(query[playerid], COLOR_WHITE, string);
    		}
			format(string, sizeof(string), "* PM to %s (id: %d): %s", giveplayer,query[playerid],text);
    		SendClientMessage(playerid, COLOR_WHITE, string);
 		}
 		else {
			format(string, sizeof(string), "* %d is not an active player.", query[playerid]);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
	}
	else {
		if (muted[playerid] == 1) {
			SendClientMessage(playerid, COLOR_RED, "* You muted and cannot send messages.");
			return 0;
		}
		if (spawned[playerid] == 0) {
			SendClientMessage(playerid, COLOR_RED, "* You haven't spawn and cannot send messages.");
			return 0;
		}
		
		format(string, sizeof(string), "%s (id: %d): %s", playername,playerid,text);
    	SendClientMessageToAll(playerColor, string);
	}
	return 0;
}

public OnPlayerPrivmsg(senderid, receiverid, text[]) {
	new string[MAX_STRING];
	new receivername[MAX_PLAYER_NAME];
	new sendername[MAX_PLAYER_NAME];
	
	if(IsPlayerConnected(senderid)) {
		GetPlayerName(receiverid, receivername, sizeof(receivername));
		format(string, sizeof(string), "* PM to %s (id: %d): %s", receivername, receiverid, text);
		SendClientMessage(senderid, COLOR_YELLOW, string);
	if(IgnorePlayerlist[receiverid][senderid] == 0) {
		GetPlayerName(senderid, sendername, sizeof(sendername));
		format(string, sizeof(string), "* PM from %s (id: %d): %s", sendername, senderid, text);
		SendClientMessage(receiverid, COLOR_YELLOW, string);
		}
	}
}

public SetPlayerRandomSpawn(playerid)
{
	if (iSpawnSet[playerid] == 1)
	{
		new rand = random(sizeof(gLSCopPlayerSpawns));
		SetPlayerPos(playerid, gLSCopPlayerSpawns[rand][0], gLSCopPlayerSpawns[rand][1], gLSCopPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
	else if (iSpawnSet[playerid] == 2)
	{
		new rand = random(sizeof(gSFCopPlayerSpawns));
		SetPlayerPos(playerid, gSFCopPlayerSpawns[rand][0], gSFCopPlayerSpawns[rand][1], gSFCopPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
	else if (iSpawnSet[playerid] == 3)
	{
		new rand = random(sizeof(gLVCopPlayerSpawns));
		SetPlayerPos(playerid, gLVCopPlayerSpawns[rand][0], gLVCopPlayerSpawns[rand][1], gLVCopPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
	else if (iSpawnSet[playerid] == 4)
	{
		new rand = random(sizeof(gBCCopPlayerSpawns));
		SetPlayerPos(playerid, gBCCopPlayerSpawns[rand][0], gBCCopPlayerSpawns[rand][1], gBCCopPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
	else if (iSpawnSet[playerid] == 5)
	{
		new rand = random(sizeof(gHPCopPlayerSpawns));
		SetPlayerPos(playerid, gHPCopPlayerSpawns[rand][0], gHPCopPlayerSpawns[rand][1], gHPCopPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
	else if (iSpawnSet[playerid] == 6)
	{
		new rand = random(sizeof(gFederalPlayerSpawns));
		SetPlayerPos(playerid, gFederalPlayerSpawns[rand][0], gFederalPlayerSpawns[rand][1], gFederalPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
	else if (iSpawnSet[playerid] == 7)
	{
		new rand = random(sizeof(gMilitaryPlayerSpawns));
		SetPlayerPos(playerid, gMilitaryPlayerSpawns[rand][0], gMilitaryPlayerSpawns[rand][1], gMilitaryPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
   	else if (iSpawnSet[playerid] == 8)
	{
		new rand = random(sizeof(gParamedicPlayerSpawns));
		SetPlayerPos(playerid, gParamedicPlayerSpawns[rand][0], gParamedicPlayerSpawns[rand][1], gParamedicPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
   	else if (iSpawnSet[playerid] == 9)
	{
		new rand = random(sizeof(gFiremanPlayerSpawns));
		SetPlayerPos(playerid, gFiremanPlayerSpawns[rand][0], gFiremanPlayerSpawns[rand][1], gFiremanPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
  	else if (iSpawnSet[playerid] == 10)
	{
		new rand = random(sizeof(gGrovePlayerSpawns));
		SetPlayerPos(playerid, gGrovePlayerSpawns[rand][0], gGrovePlayerSpawns[rand][1], gGrovePlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
  	else if (iSpawnSet[playerid] == 11)
	{
		new rand = random(sizeof(gBallasPlayerSpawns));
		SetPlayerPos(playerid, gBallasPlayerSpawns[rand][0], gBallasPlayerSpawns[rand][1], gBallasPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
  	else if (iSpawnSet[playerid] == 12)
	{
		new rand = random(sizeof(gAztecasPlayerSpawns));
		SetPlayerPos(playerid, gAztecasPlayerSpawns[rand][0], gAztecasPlayerSpawns[rand][1], gAztecasPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
  	else if (iSpawnSet[playerid] == 13)
	{
		new rand = random(sizeof(gTraidsPlayerSpawns));
		SetPlayerPos(playerid, gTraidsPlayerSpawns[rand][0], gTraidsPlayerSpawns[rand][1], gTraidsPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
  	else if (iSpawnSet[playerid] == 14)
	{
		new rand = random(sizeof(gBikerPlayerSpawns));
		SetPlayerPos(playerid, gBikerPlayerSpawns[rand][0], gBikerPlayerSpawns[rand][1], gBikerPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
  	else if (iSpawnSet[playerid] == 15)
	{
		new rand = random(sizeof(gMafiaPlayerSpawns));
		SetPlayerPos(playerid, gMafiaPlayerSpawns[rand][0], gMafiaPlayerSpawns[rand][1], gMafiaPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
  	else if (iSpawnSet[playerid] == 16)
	{
		new rand = random(sizeof(gWhorePlayerSpawns));
		SetPlayerPos(playerid, gWhorePlayerSpawns[rand][0], gWhorePlayerSpawns[rand][1], gWhorePlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
    else if (iSpawnSet[playerid] == 0)
    {
		new rand = random(sizeof(gCivilianPlayerSpawns));
		SetPlayerPos(playerid, gCivilianPlayerSpawns[rand][0], gCivilianPlayerSpawns[rand][1], gCivilianPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
	}
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	new killedplayer[MAX_PLAYER_NAME];
	new killername[MAX_PLAYER_NAME];
	new string[MAX_STRING];
	new tmp[MAX_STRING], tmp2[MAX_STRING];
	new idx;
	new detected;
	new moneys;
	new bustpay;
	
	GetPlayerName(playerid, killedplayer, sizeof(killedplayer));

	tmp = dini_Get(FILE_SETTINGS, "forbiddenweapons");
	tmp2 = dini_Get(FILE_SETTINGS, "onweaponcheat");
	for (new i=0;i<47 && detected != 1;i++)
	    if (reason == strval(strtok(tmp, idx, ',')) && reason != 0 && !IsPlayerAdmin(playerid) && adminlevel[playerid] != 4) {
            if (strval(tmp2) == 1) KickMsg(killerid, "AntiCheat", "Forbidden weapon detected!");
			if (strval(tmp2) == 2) BanMsg(killerid, "AntiCheat", "Forbidden weapon detected!");
			detected = 1;
		}

	if (killerid == INVALID_PLAYER_ID) {
        SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);

		if (dini_Exists(PlayerFile(killedplayer))) {
        	tmp = dini_Get(PlayerFile(killedplayer), "suicides");
			dini_IntSet(PlayerFile(killedplayer), "suicides", strval(tmp)+1);
		}

        if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);
        tmp = dini_Get(FILE_TOTALSTAT, "suicides");
		dini_IntSet(FILE_TOTALSTAT, "suicides", strval(tmp)+1);

		format(string, sizeof(string), "--- %s (id: %d) suicided with weapon (id: %d).", killedplayer,playerid,reason);
		printf(string);
	}
	else {
    	GetPlayerName(killerid, killername, sizeof(killername));

        if (dini_Exists(PlayerFile(killername))) {
        	tmp = dini_Get(PlayerFile(killername), "kills");
			dini_IntSet(PlayerFile(killername), "kills", strval(tmp)+1);
		}

        if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);
        tmp = dini_Get(FILE_TOTALSTAT, "kills");
		dini_IntSet(FILE_TOTALSTAT, "kills", strval(tmp)+1);

    	SendDeathMessage(killerid,playerid,reason);
		//SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
		if(bounty[playerid] > 0) {
			format(string, sizeof(string), "* You earned a bounty of $%d for killing %s.", bounty[playerid],killedplayer);
			SendClientMessage(killerid, COLOR_GREEN, string);

			StatGivePlayerMoney(killerid, bounty[playerid]);
			bounty[playerid] = 0;
		}
		format(string, sizeof(string), "--- %s (id: %d) killed %s (id: %d) with weapon (id: %d).", killername,killerid,killedplayer,playerid,reason);
		printf(string);

		killsinarow[killerid]++;
   	}

 	if (dini_Exists(PlayerFile(killedplayer))) {
       	tmp = dini_Get(PlayerFile(killedplayer), "deaths");
		dini_IntSet(PlayerFile(killedplayer), "deaths", strval(tmp)+1);
	}

 	if (!dini_Exists(FILE_TOTALSTAT)) dini_Create(FILE_TOTALSTAT);
    tmp = dini_Get(FILE_TOTALSTAT, "deaths");
	dini_IntSet(FILE_TOTALSTAT, "deaths", strval(tmp)+1);

 	dini_Set(PlayerFile(killedplayer), "x", "x");
    dini_Set(PlayerFile(killedplayer), "y", "y");
    dini_Set(PlayerFile(killedplayer), "z", "z");

   	killsinarow[playerid] = 0;

//Aztecas-----------------------------------------------------------------------
	//Aztecas killed by Aztecas
	if(gTeam[playerid] == TEAM_AZTECAS && gTeam[killerid] == TEAM_AZTECAS) {
	GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	KickMsg(killerid, "Protection", "No teamkilling!");
	}
   	//Aztecas killed by Ballas
	if(gTeam[playerid] == TEAM_AZTECAS && gTeam[killerid] == TEAM_BALLAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GivePlayerMoney(killerid, 1000);
	GameTextForPlayer(killerid, "~w~You have killed a rival gang member and gained $1000", 4000, 5);
	respect[killerid]++;
    }
	//Aztecas killed by Biker
	if(gTeam[playerid] == TEAM_AZTECAS && gTeam[killerid] == TEAM_BIKERS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Aztecas killed by Civilian
	if(gTeam[playerid] == TEAM_AZTECAS && gTeam[killerid] == TEAM_CIVILIANS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
   	//Aztecas killed by Grove
	if(gTeam[playerid] == TEAM_AZTECAS && gTeam[killerid] == TEAM_GROVE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GivePlayerMoney(killerid, 1000);
	GameTextForPlayer(killerid, "~w~You have killed a rival gang member and gained $1000", 4000, 5);
	respect[killerid]++;
    }
    //Aztecas killed by Mafia
    if(gTeam[playerid] == TEAM_AZTECAS && gTeam[killerid] == TEAM_MAFIA) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
   	//Aztecas killed by Military
    if(gTeam[playerid] == TEAM_AZTECAS && gTeam[killerid] == TEAM_MILITARY) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~w~You killed an Aztecas gang member", 4000, 5);
	if(wantedlevel[playerid] >= 1) {
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	}
	}
   	//Aztecas killed by Paramedic
    if(gTeam[playerid] == TEAM_AZTECAS && gTeam[killerid] == TEAM_RESCUE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Aztecas(not wanted) killed by Police
    if(gTeam[playerid] == TEAM_AZTECAS && wantedlevel[playerid] == 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Aztecas(wanted) killed by Police
    if(gTeam[playerid] == TEAM_AZTECAS && wantedlevel[playerid] != 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Busted", 4000, 2);
	moneys = wantedlevel[playerid];
	bustpay = floatround(moneys*100);
    GivePlayerMoney(killerid, bustpay);
	format(string, sizeof(string), "~w~You have busted a criminal and gained $%d", bustpay);
    GameTextForPlayer(killerid, string, 4000, 5);
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	respect[playerid]--;
	respect[killerid]++;
	}
    //Aztecas killed by Traids
    if(gTeam[playerid] == TEAM_AZTECAS && gTeam[killerid] == TEAM_TRAIDS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Aztecas killed by Vagos
	if(gTeam[playerid] == TEAM_AZTECAS && gTeam[killerid] == TEAM_VAGOS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GivePlayerMoney(killerid, 1000);
	GameTextForPlayer(killerid, "~w~You have killed a rival gang member and gained $1000", 4000, 5);
	respect[killerid]++;
    }
//Ballas------------------------------------------------------------------------
   	//Ballas killed by Aztecas
	if(gTeam[playerid] == TEAM_BALLAS && gTeam[killerid] == TEAM_AZTECAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GivePlayerMoney(killerid, 1000);
	GameTextForPlayer(killerid, "~w~You have killed a rival gang member and gained $1000", 4000, 5);
	respect[killerid]++;
    }
	//Ballas killed by Ballas
	if(gTeam[playerid] == TEAM_BALLAS && gTeam[killerid] == TEAM_BALLAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	KickMsg(killerid, "Protection", "No teamkilling!");
	}
	//Aztecas killed by Biker
	if(gTeam[playerid] == TEAM_AZTECAS && gTeam[killerid] == TEAM_BIKERS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Ballas killed by Civilian
	if(gTeam[playerid] == TEAM_BALLAS && gTeam[killerid] == TEAM_CIVILIANS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Ballas killed by Grove
	if(gTeam[playerid] == TEAM_BALLAS && gTeam[killerid] == TEAM_GROVE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GivePlayerMoney(killerid, 1000);
	GameTextForPlayer(killerid, "~w~You have killed a rival gang member and gained $1000", 4000, 5);
	respect[killerid]++;
    }
    //Ballas killed by Mafia
    if(gTeam[playerid] == TEAM_BALLAS && gTeam[killerid] == TEAM_MAFIA) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
   	//Ballas killed by Military
    if(gTeam[playerid] == TEAM_BALLAS && gTeam[killerid] == TEAM_MILITARY) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~w~You killed a Ballas gang member", 4000, 5);
	if(wantedlevel[playerid] >= 1) {
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	}
	}
   	//Ballas killed by Paramedic
    if(gTeam[playerid] == TEAM_BALLAS && gTeam[killerid] == TEAM_RESCUE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Ballas(not wanted) killed by Police
    if(gTeam[playerid] == TEAM_CIVILIANS && wantedlevel[playerid] == 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Ballas(wanted) killed by Police
    if(gTeam[playerid] == TEAM_CIVILIANS && wantedlevel[playerid] != 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Busted", 4000, 2);
	moneys = wantedlevel[playerid];
	bustpay = floatround(moneys*100);
    GivePlayerMoney(killerid, bustpay);
	format(string, sizeof(string), "~w~You have busted a criminal and gained $%d", bustpay);
    GameTextForPlayer(killerid, string, 4000, 5);
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	respect[playerid]--;
	respect[killerid]++;
	}
    //Ballas killed by Traids
    if(gTeam[playerid] == TEAM_BALLAS && gTeam[killerid] == TEAM_TRAIDS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
   	//Ballas killed by Vagos
	if(gTeam[playerid] == TEAM_BALLAS && gTeam[killerid] == TEAM_VAGOS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GivePlayerMoney(killerid, 1000);
	GameTextForPlayer(killerid, "~w~You have killed a rival gang member and gained $1000", 4000, 5);
	respect[killerid]++;
    }
//Bikers------------------------------------------------------------------------
	//Biker killed by Aztecas
 	if(gTeam[playerid] == TEAM_BIKERS && gTeam[killerid] == TEAM_AZTECAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
    //Biker killed Ballas
    if(gTeam[playerid] == TEAM_BIKERS && gTeam[killerid] == TEAM_BALLAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Biker killed by Biker
	if(gTeam[playerid] == TEAM_BIKERS && gTeam[killerid] == TEAM_BIKERS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	KickMsg(killerid, "Protection", "No teamkilling!");
    }
	//Biker killed by Grove
	if(gTeam[playerid] == TEAM_BIKERS && gTeam[killerid] == TEAM_GROVE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
   	//Biker killed by Military
    if(gTeam[playerid] == TEAM_BIKERS && gTeam[killerid] == TEAM_MILITARY) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~w~You killed a mafia member", 4000, 5);
	if(wantedlevel[playerid] >= 1) {
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	}
	}
	//Biker killed by Mafia
	if(gTeam[playerid] == TEAM_BIKERS && gTeam[killerid] == TEAM_MAFIA) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Biker killed Paramedic
    if(gTeam[playerid] == TEAM_BIKERS && gTeam[killerid] == TEAM_RESCUE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Biker(not wanted) killed by Police
    if(gTeam[playerid] == TEAM_BIKERS && wantedlevel[playerid] == 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Biker(wanted) killed by Police
    if(gTeam[playerid] == TEAM_BIKERS && wantedlevel[playerid] != 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Busted", 4000, 2);
	moneys = wantedlevel[playerid];
	bustpay = floatround(moneys*100);
    GivePlayerMoney(killerid, bustpay);
	format(string, sizeof(string), "~w~You have busted a criminal and gained $%d", bustpay);
    GameTextForPlayer(killerid, string, 4000, 5);
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	respect[playerid]--;
	respect[killerid]++;
	}
    //Bikers killed by Traids
    if(gTeam[playerid] == TEAM_BIKERS && gTeam[killerid] == TEAM_TRAIDS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Biker killed by Vagos
 	if(gTeam[playerid] == TEAM_BIKERS && gTeam[killerid] == TEAM_VAGOS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
//Civilians---------------------------------------------------------------------
	//Civilian killed by Aztecas
 	if(gTeam[playerid] == TEAM_CIVILIANS && gTeam[killerid] == TEAM_AZTECAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
    //Civilian killed Ballas
    if(gTeam[playerid] == TEAM_CIVILIANS && gTeam[killerid] == TEAM_BALLAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Civilian killed by Biker
	if(gTeam[playerid] == TEAM_CIVILIANS && gTeam[killerid] == TEAM_BIKERS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Civilian killed by Civilian
    if(gTeam[playerid] == TEAM_CIVILIANS && gTeam[killerid] == TEAM_CIVILIANS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Civilian killed by Grove
	if(gTeam[playerid] == TEAM_CIVILIANS && gTeam[killerid] == TEAM_GROVE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
    //Civilian killed by Mafia
    if(gTeam[playerid] == TEAM_CIVILIANS && gTeam[killerid] == TEAM_MAFIA) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
   	//Civilian killed by Military
    if(gTeam[playerid] == TEAM_CIVILIANS && gTeam[killerid] == TEAM_MILITARY) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~w~You killed a cilivan", 4000, 5);
	if(wantedlevel[playerid] >= 1) {
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	}
	}
	//Civilian killed Paramedic
    if(gTeam[playerid] == TEAM_CIVILIANS && gTeam[killerid] == TEAM_RESCUE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Civilian(not wanted) killed by Police
    if(gTeam[playerid] == TEAM_CIVILIANS && wantedlevel[playerid] == 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Civilian(wanted) killed by Police
    if(gTeam[playerid] == TEAM_CIVILIANS && wantedlevel[playerid] != 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Busted", 4000, 2);
	moneys = wantedlevel[playerid];
	bustpay = floatround(moneys*100);
    GivePlayerMoney(killerid, bustpay);
	format(string, sizeof(string), "~w~You have busted a criminal and gained $%d", bustpay);
    GameTextForPlayer(killerid, string, 4000, 5);
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	respect[playerid]--;
	respect[killerid]++;
	}
    //Civilian killed by Traids
    if(gTeam[playerid] == TEAM_CIVILIANS && gTeam[killerid] == TEAM_TRAIDS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Civilian killed by Vagos
 	if(gTeam[playerid] == TEAM_CIVILIANS && gTeam[killerid] == TEAM_VAGOS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
//Grove-------------------------------------------------------------------------
	//Grove killed by Aztecas
	if(gTeam[playerid] == TEAM_GROVE && gTeam[killerid] == TEAM_AZTECAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GivePlayerMoney(killerid, 1000);
	GameTextForPlayer(killerid, "~w~You have killed a rival gang member and gained $1000", 4000, 5);
	respect[killerid]++;
    }
    //Grove killed by Ballas
	if(gTeam[playerid] == TEAM_GROVE && gTeam[killerid] == TEAM_BALLAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GivePlayerMoney(killerid, 1000);
	GameTextForPlayer(killerid, "~w~You have killed a rival gang member and gained $1000", 4000, 5);
	respect[killerid]++;
    }
	//Grove killed by Biker
	if(gTeam[playerid] == TEAM_GROVE && gTeam[killerid] == TEAM_BIKERS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Grove killed by Civilian
	if(gTeam[playerid] == TEAM_GROVE && gTeam[killerid] == TEAM_CIVILIANS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Grove killed by Grove
	if(gTeam[playerid] == TEAM_GROVE && gTeam[killerid] == TEAM_GROVE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	KickMsg(killerid, "Protection", "No teamkilling!");
    }
    //Grove killed by Mafia
    if(gTeam[playerid] == TEAM_GROVE && gTeam[killerid] == TEAM_MAFIA) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
   	//Grove killed by Military
    if(gTeam[playerid] == TEAM_GROVE && gTeam[killerid] == TEAM_MILITARY) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~w~You killed a Grove gang member", 4000, 5);
	if(wantedlevel[playerid] >= 1) {
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	}
	}
   	//Grove killed by Paramedic
    if(gTeam[playerid] == TEAM_GROVE && gTeam[killerid] == TEAM_RESCUE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Grove(not wanted) killed by Police
    if(gTeam[playerid] == TEAM_GROVE && wantedlevel[playerid] == 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Grove(wanted) killed by Police
    if(gTeam[playerid] == TEAM_GROVE && wantedlevel[playerid] != 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Busted", 4000, 2);
	moneys = wantedlevel[playerid];
	bustpay = floatround(moneys*100);
    GivePlayerMoney(killerid, bustpay);
	format(string, sizeof(string), "~w~You have busted a criminal and gained $%d", bustpay);
    GameTextForPlayer(killerid, string, 4000, 5);
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	respect[playerid]--;
	respect[killerid]++;
	}
    //Grove killed by Traids
    if(gTeam[playerid] == TEAM_GROVE && gTeam[killerid] == TEAM_TRAIDS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
   	//Grove killed by Vagos
	if(gTeam[playerid] == TEAM_GROVE && gTeam[killerid] == TEAM_VAGOS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GivePlayerMoney(killerid, 1000);
	GameTextForPlayer(killerid, "~w~You have killed a rival gang member and gained $1000", 4000, 5);
	respect[killerid]++;
    }
//Mafia---------------------------------------------------------------------
	//Mafia killed by Aztecas
 	if(gTeam[playerid] == TEAM_MAFIA && gTeam[killerid] == TEAM_AZTECAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
    //Mafia killed Ballas
    if(gTeam[playerid] == TEAM_MAFIA && gTeam[killerid] == TEAM_BALLAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Mafia killed by Biker
	if(gTeam[playerid] == TEAM_MAFIA && gTeam[killerid] == TEAM_BIKERS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Mafia killed by Grove
	if(gTeam[playerid] == TEAM_MAFIA && gTeam[killerid] == TEAM_GROVE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Mafia killed by Mafia
	if(gTeam[playerid] == TEAM_MAFIA && gTeam[killerid] == TEAM_MAFIA) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	KickMsg(killerid, "Protection", "No teamkilling!");
    }
   	//Mafia killed by Military
    if(gTeam[playerid] == TEAM_MAFIA && gTeam[killerid] == TEAM_MILITARY) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~w~You killed a mafia member", 4000, 5);
	if(wantedlevel[playerid] >= 1) {
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	}
	}
	//Mafia killed Paramedic
    if(gTeam[playerid] == TEAM_MAFIA && gTeam[killerid] == TEAM_RESCUE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Mafia(not wanted) killed by Police
    if(gTeam[playerid] == TEAM_MAFIA && wantedlevel[playerid] == 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Mafia(wanted) killed by Police
    if(gTeam[playerid] == TEAM_MAFIA && wantedlevel[playerid] != 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Busted", 4000, 2);
	moneys = wantedlevel[playerid];
	bustpay = floatround(moneys*100);
    GivePlayerMoney(killerid, bustpay);
	format(string, sizeof(string), "~w~You have busted a criminal and gained $%d", bustpay);
    GameTextForPlayer(killerid, string, 4000, 5);
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	respect[playerid]--;
	respect[killerid]++;
	}
    //Mafia killed by Traids
   	if(gTeam[playerid] == TEAM_MAFIA && gTeam[killerid] == TEAM_TRAIDS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GivePlayerMoney(killerid, 1000);
	GameTextForPlayer(killerid, "~w~You have killed a rival mafia member and gained $1000", 4000, 5);
	respect[killerid]++;
    }
	//Mafia killed by Vagos
 	if(gTeam[playerid] == TEAM_MAFIA && gTeam[killerid] == TEAM_VAGOS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
//Military----------------------------------------------------------------------
	//Military killed by Aztecas
	if(gTeam[playerid] == TEAM_MILITARY && gTeam[killerid] == TEAM_AZTECAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted for killing a soldier!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
	}
	//Military killed by Ballas
	if(gTeam[playerid] == TEAM_MILITARY && gTeam[killerid] == TEAM_BALLAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted for killing a soldier!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
	}
	//Military killed by Biker
	if(gTeam[playerid] == TEAM_MILITARY && gTeam[killerid] == TEAM_BIKERS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted for killing a soldier!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
	}
    //Military killed by Civilian
    if(gTeam[playerid] == TEAM_MILITARY && gTeam[killerid] == TEAM_CIVILIANS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted for killing a soldier!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
    }
	//Military killed by Grove
 	if(gTeam[playerid] == TEAM_MILITARY && gTeam[killerid] == TEAM_GROVE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted for killing a soldier!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
	}
 	//Military killed by Mafia
	if(gTeam[playerid] == TEAM_MILITARY && gTeam[killerid] == TEAM_MAFIA) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted for killing a soldier!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
    }
    //Military killed by Military
    if(gTeam[playerid] == TEAM_MILITARY && gTeam[killerid] == TEAM_MILITARY) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	KickMsg(killerid, "Protection", "No teamkilling!");
    }
	//Military killed by Paramedic
    if(gTeam[playerid] == TEAM_MILITARY && gTeam[killerid] == TEAM_RESCUE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing a soldier!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Military killed by Police
    if(gTeam[playerid] == TEAM_MILITARY && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing a soldier!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
    }
 	//Military killed by Traids
	if(gTeam[playerid] == TEAM_MILITARY && gTeam[killerid] == TEAM_TRAIDS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted for killing a soldier!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
    }
	//Military killed by Vagos
	if(gTeam[playerid] == TEAM_MILITARY && gTeam[killerid] == TEAM_VAGOS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted for killing a soldier!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
	}
//Paramedics--------------------------------------------------------------------
	//Paramedic killed Aztecas
	if(gTeam[playerid] == TEAM_RESCUE && gTeam[killerid] == TEAM_AZTECAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted for killing a Rescue worker and fine $1000!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
    }
	//Paramedic killed by Ballas
	if(gTeam[playerid] == TEAM_RESCUE && gTeam[killerid] == TEAM_BALLAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted for killing a Rescue worker and fine $1000!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
    }
	//Paramedic killed by Bikers
	if(gTeam[playerid] == TEAM_RESCUE && gTeam[killerid] == TEAM_BIKERS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted for killing a Rescue worker and fine $1000!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
    }
    //Paramedic killed by Civilian
   	if(gTeam[playerid] == TEAM_RESCUE && gTeam[killerid] == TEAM_CIVILIANS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted for killing a Rescue worker and fine $1000!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
    }
    //Paramedic killed by Grove
   	if(gTeam[playerid] == TEAM_RESCUE && gTeam[killerid] == TEAM_GROVE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted for killing a Rescue worker and fine $1000!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
    }
    //Paramedic killed by Mafia
	if(gTeam[playerid] == TEAM_RESCUE && gTeam[killerid] == TEAM_MAFIA) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted for killing a Rescue worker and fine $1000!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
    }
   	//Paramedic killed by Military
    if(gTeam[playerid] == TEAM_RESCUE && gTeam[killerid] == TEAM_MILITARY) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~w~You killed a Rescue worker", 4000, 5);
	}
    //Paramedic killed by Paramedic
	if(gTeam[playerid] == TEAM_RESCUE && gTeam[killerid] == TEAM_RESCUE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	KickMsg(killerid, "Protection", "No teamkilling!");
    }
	//Paramedic killed by Police
	if(gTeam[playerid] == TEAM_RESCUE && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing a Rescue worker!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
    }
    //Paramedic killed by Traids
	if(gTeam[playerid] == TEAM_RESCUE && gTeam[killerid] == TEAM_MAFIA) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted for killing a Rescue worker and fine $1000!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
    }
   	//Paramedic killed by Vagos
	if(gTeam[playerid] == TEAM_RESCUE && gTeam[killerid] == TEAM_VAGOS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted for killing a Rescue worker and fine $1000!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
    }
//Police------------------------------------------------------------------------
	//Police killed by Aztecas
	if(gTeam[playerid] == TEAM_POLICE && gTeam[killerid] == TEAM_AZTECAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted COP KILLER!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
	}
	//Police killed by Ballas
	if(gTeam[playerid] == TEAM_POLICE && gTeam[killerid] == TEAM_BALLAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted COP KILLER!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
	}
	//Police killed by Biker
	if(gTeam[playerid] == TEAM_POLICE && gTeam[killerid] == TEAM_BIKERS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted COP KILLER!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
	}
    //Police killed by Civilian
    if(gTeam[playerid] == TEAM_POLICE && gTeam[killerid] == TEAM_CIVILIANS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted COP KILLER!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
    }
	//Police killed by Grove
 	if(gTeam[playerid] == TEAM_POLICE && gTeam[killerid] == TEAM_GROVE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted COP KILLER!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
	}
	//Police killed by Mafia
 	if(gTeam[playerid] == TEAM_POLICE && gTeam[killerid] == TEAM_MAFIA) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted COP KILLER!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
    }
   	//Police killed by Military
    if(gTeam[playerid] == TEAM_POLICE && gTeam[killerid] == TEAM_MILITARY) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~w~You have been fined $1000 for killing a Cop!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
	//Police killed by Paramedic
    if(gTeam[playerid] == TEAM_POLICE && gTeam[killerid] == TEAM_RESCUE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing a Cop!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Police killed by Police
    if(gTeam[playerid] == TEAM_POLICE && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	KickMsg(killerid, "Protection", "No teamkilling!");
    }
	//Police killed by Traids
 	if(gTeam[playerid] == TEAM_POLICE && gTeam[killerid] == TEAM_TRAIDS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted COP KILLER!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
    }
	//Police killed by Vagos
	if(gTeam[playerid] == TEAM_POLICE && gTeam[killerid] == TEAM_VAGOS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You are now a wanted COP KILLER!", 4000, 5);
	wantedlevel[killerid] = 10;
	respect[killerid]--;
	}
//Traids---------------------------------------------------------------------
	//Traids killed by Aztecas
 	if(gTeam[playerid] == TEAM_TRAIDS && gTeam[killerid] == TEAM_AZTECAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
    //Traids killed Ballas
    if(gTeam[playerid] == TEAM_TRAIDS && gTeam[killerid] == TEAM_BALLAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Traids killed by Biker
	if(gTeam[playerid] == TEAM_TRAIDS && gTeam[killerid] == TEAM_BIKERS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Traids killed by Grove
	if(gTeam[playerid] == TEAM_TRAIDS && gTeam[killerid] == TEAM_GROVE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
    //Traids killed by Mafia
   	if(gTeam[playerid] == TEAM_TRAIDS && gTeam[killerid] == TEAM_MAFIA) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GivePlayerMoney(killerid, 1000);
	GameTextForPlayer(killerid, "~w~You have killed a rival mafia member and gained $1000", 4000, 5);
	respect[killerid]++;
    }
   	//Traids killed by Military
    if(gTeam[playerid] == TEAM_TRAIDS && gTeam[killerid] == TEAM_MILITARY) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~w~You killed a mafia member", 4000, 5);
	if(wantedlevel[playerid] >= 1) {
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	}
	}
	//Traids killed Paramedic
    if(gTeam[playerid] == TEAM_TRAIDS && gTeam[killerid] == TEAM_RESCUE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Traids(not wanted) killed by Police
    if(gTeam[playerid] == TEAM_TRAIDS && wantedlevel[playerid] == 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Traids(wanted) killed by Police
    if(gTeam[playerid] == TEAM_TRAIDS && wantedlevel[playerid] != 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Busted", 4000, 2);
	moneys = wantedlevel[playerid];
	bustpay = floatround(moneys*100);
    GivePlayerMoney(killerid, bustpay);
	format(string, sizeof(string), "~w~You have busted a criminal and gained $%d", bustpay);
    GameTextForPlayer(killerid, string, 4000, 5);
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	respect[playerid]--;
	respect[killerid]++;
	}
	//Traids killed by Traids
	if(gTeam[playerid] == TEAM_TRAIDS && gTeam[killerid] == TEAM_TRAIDS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	KickMsg(killerid, "Protection", "No teamkilling!");
    }
	//Traids killed by Vagos
 	if(gTeam[playerid] == TEAM_TRAIDS && gTeam[killerid] == TEAM_VAGOS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
//Vagos-------------------------------------------------------------------------
	//Vagos killed Aztecas
	if(gTeam[playerid] == TEAM_VAGOS && gTeam[killerid] == TEAM_AZTECAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GivePlayerMoney(killerid, 1000);
	GameTextForPlayer(killerid, "~w~You have killed a rival gang member and gained $1000", 4000, 5);
	respect[killerid]++;
    }
    //Vagos killed by Ballas
   	if(gTeam[playerid] == TEAM_VAGOS && gTeam[killerid] == TEAM_BALLAS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GivePlayerMoney(killerid, 1000);
	GameTextForPlayer(killerid, "~w~You have killed a rival gang member and gained $1000", 4000, 5);
	respect[killerid]++;
    }
	//Vagos killed by Biker
	if(gTeam[playerid] == TEAM_VAGOS && gTeam[killerid] == TEAM_BIKERS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Vagos killed by Civilian
	if(gTeam[playerid] == TEAM_VAGOS && gTeam[killerid] == TEAM_CIVILIANS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
	//Vagos killed by Grove
	if(gTeam[playerid] == TEAM_VAGOS && gTeam[killerid] == TEAM_GROVE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GivePlayerMoney(killerid, 1000);
	GameTextForPlayer(killerid, "~w~You have killed a rival gang member and gained $1000", 4000, 5);
	respect[killerid]++;
    }
    //Vagos killed by Mafia
    if(gTeam[playerid] == TEAM_VAGOS && gTeam[killerid] == TEAM_MAFIA) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~w~You killed a mafia member", 4000, 5);
    }
   	//Vagos killed by Military
    if(gTeam[playerid] == TEAM_VAGOS && gTeam[killerid] == TEAM_MILITARY) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~w~You killed a Vagos gang member", 4000, 5);
	if(wantedlevel[playerid] >= 1) {
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	}
	}
    //Vagos killed by Paramedic
    if(gTeam[playerid] == TEAM_VAGOS && gTeam[killerid] == TEAM_RESCUE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Vagos(not wanted) killed by Police
    if(gTeam[playerid] == TEAM_VAGOS && wantedlevel[playerid] == 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
    GameTextForPlayer(killerid, "~r~You have been fined $1000 for killing an innocent civilian!", 4000, 5);
	GivePlayerMoney(killerid, - 1000);
	respect[killerid]--;
	}
    //Vagos(wanted) killed by Police
    if(gTeam[playerid] == TEAM_VAGOS && wantedlevel[playerid] != 0 && gTeam[killerid] == TEAM_POLICE) {
    GameTextForPlayer(playerid, "~w~Busted", 4000, 2);
	moneys = wantedlevel[playerid];
	bustpay = floatround(moneys*100);
    GivePlayerMoney(killerid, bustpay);
	format(string, sizeof(string), "~w~You have busted a criminal and gained $%d", bustpay);
    GameTextForPlayer(killerid, string, 4000, 5);
	dini_IntSet(PlayerFile(killedplayer), "jailed", 1);
	dini_IntSet(PlayerFile(killedplayer), "jailtime", MAX_JAILTIME);
	ResetPlayerWeapons(playerid);
	jailtime[playerid] = MAX_JAILTIME;
	jailed[playerid] = 1;
	respect[playerid]--;
	respect[killerid]++;
	}
    //Vagos killed by Traids
    if(gTeam[playerid] == TEAM_VAGOS && gTeam[killerid] == TEAM_TRAIDS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	GameTextForPlayer(killerid, "~r~You are now wanted!", 4000, 5);
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	wantedlevel[killerid]++;
	respect[killerid]--;
    }
    //Vagos killed Vagos
   	if(gTeam[playerid] == TEAM_VAGOS && gTeam[killerid] == TEAM_VAGOS) {
    GameTextForPlayer(playerid, "~w~Wasted", 4000, 2);
	KickMsg(killerid, "Protection", "No teamkilling!");
    }
    if(jailed[killerid] == 1) {
	KickMsg(killerid, "Protection", "No killing when jailed!");
	}
 	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	new string[MAX_STRING];
	new ownplayer[MAX_PLAYER_NAME];

	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 '/get amount', and '/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 '/get amount', and '/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 '/get amount', and '/balance' to see your balance.");
		}
		case CP_AMMU: {
			SendClientMessage(playerid, COLOR_GREEN, "* You can purchase weapons here so that you have them every time you spawn.");
			SendClientMessage(playerid, COLOR_YELLOW, "* Type /bw(melee,pistol,shotgun,smg,rifle) and /weaplist for a list of weapons.");
		}
		case CP_AMMU_2: {
			SendClientMessage(playerid, COLOR_GREEN, "* You can purchase weapons here so that you have them every time you spawn.");
			SendClientMessage(playerid, COLOR_YELLOW, "* Type /bw(melee,pistol,shotgun,smg,rifle) and /weaplist for a list of weapons.");
		}
		case CP_LS_AIR: {
			SendClientMessage(playerid, COLOR_YELLOW, "* You are at the Airport. To buy a ticket to the San Fierro type /flysf");
			SendClientMessage(playerid, COLOR_YELLOW, "* If you want to fly to the Las Venturas type /flylv. Ticket price - $1000.");
		}
		case CP_SF_AIR: {
			SendClientMessage(playerid, COLOR_YELLOW, "* You are at the Airport. To buy a ticket to the Los Santos type /flyls");
			SendClientMessage(playerid, COLOR_YELLOW, "* If you want to fly to the Las Venturas type /flylv. Ticket price - $1000.");
		}
		case CP_LV_AIR: {
			SendClientMessage(playerid, COLOR_YELLOW, "* You are at the Airport. To buy a ticket to the Los Santos type /flyls");
			SendClientMessage(playerid, COLOR_YELLOW, "* If you want to fly to the San Fierro type /flysf. Ticket price - $1000.");
		}
	}

	if (getCheckpointType(playerid) >= P_OFFSET) {
		format(string, sizeof(string), "* You can buy the %s for $%d with /buy.", propertyNames[playerCheckpoint[playerid]-P_OFFSET], propertyValues[playerCheckpoint[playerid]-P_OFFSET]);
		SendClientMessage(playerid, COLOR_YELLOW, string);
		format(string, sizeof(string), "* You will earn $%d regularly.", propertyEarnings[playerCheckpoint[playerid]-P_OFFSET]);
		SendClientMessage(playerid, COLOR_YELLOW, string);
		if (propertyOwner[playerCheckpoint[playerid]-P_OFFSET] < 999) {
			GetPlayerName(propertyOwner[playerCheckpoint[playerid]-P_OFFSET], ownplayer, sizeof(ownplayer));
			format(string, sizeof(string), "* This property is currently owned by %s.", ownplayer);
			SendClientMessage(playerid, COLOR_RED, string);
		}
	}
}

public OnPlayerRequestClass(playerid, classid)
{
    new playername[MAX_PLAYER_NAME];
	new tmp[MAX_STRING], tmp2[MAX_STRING];

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

	if(logged[playerid] == 1) tmp = dini_Get(PlayerFile(playername), "teampass");

	if(classid == 0 || classid == 1 || classid == 2 || classid == 3)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "police");

		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~LOS SANTOS POLICE",3000,6);
		gTeam[playerid] = TEAM_POLICE;
		iSpawnSet[playerid] = 1;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~LOS SANTOS POLICE ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 4)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "police");
		
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~SAN FIERRO POLICE",3000,6);
		gTeam[playerid] = TEAM_POLICE;
		iSpawnSet[playerid] = 2;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~SAN FIERRO POLICE ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 5)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "police");
		
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~LAS VENTURAS POLICE",3000,6);
		gTeam[playerid] = TEAM_POLICE;
		iSpawnSet[playerid] = 3;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~LAS VENTURAS POLICE ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 6 || classid == 7)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "police");
		
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~BONE COUNTY POLICE",3000,6);
		gTeam[playerid] = TEAM_POLICE;
		iSpawnSet[playerid] = 4;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~BONE COUNTY POLICE ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 8)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "police");
		
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~HIGHWAY PATROL",3000,6);
		gTeam[playerid] = TEAM_POLICE;
		iSpawnSet[playerid] = 5;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~HIGHWAY PATROL ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 9 || classid == 10 || classid == 11 || classid == 12 || classid == 13)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "federal");
		
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~FEDERAL AGENT",3000,6);
		gTeam[playerid] = TEAM_POLICE;
		iSpawnSet[playerid] = 6;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~FEDERAL AGENT ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 14)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "military");
		
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~MILITARY",3000,6);
		gTeam[playerid] = TEAM_MILITARY;
		iSpawnSet[playerid] = 7;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~MILITARY ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 15 || classid == 16 || classid == 17)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "rescue");

		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
     	GameTextForPlayer(playerid," ~n~ ~n~ ~b~PARAMEDIC",3000,6);
		gTeam[playerid] = TEAM_RESCUE;
		iSpawnSet[playerid] = 8;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~PARAMEDIC ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 18 || classid == 19 || classid == 20)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "rescue");

		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
     	GameTextForPlayer(playerid," ~n~ ~n~ ~b~FIREMAN",3000,6);
		gTeam[playerid] = TEAM_RESCUE;
		iSpawnSet[playerid] = 9;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~b~FIREMAN ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 21 || classid == 22 || classid == 23 || classid == 24 || classid == 25 || classid == 26)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "grove");
		
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
		GameTextForPlayer(playerid," ~n~ ~n~ ~g~GROVE ST FAMILIES",3000,6);
		gTeam[playerid] = TEAM_GROVE;
		iSpawnSet[playerid] = 10;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~g~GROVE ST FAMILIES ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 27 || classid == 28 || classid == 29)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "ballas");
		
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
     	GameTextForPlayer(playerid," ~n~ ~n~ ~g~THE BALLAS",3000,6);
		gTeam[playerid] = TEAM_BALLAS;
		iSpawnSet[playerid] = 11;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~g~THE BALLAS ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 30 || classid == 31 || classid == 32)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "aztecas");
		
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
     	GameTextForPlayer(playerid," ~n~ ~n~ ~g~VARIOS LOS AZTECAS",3000,6);
		gTeam[playerid] = TEAM_AZTECAS;
		iSpawnSet[playerid] = 12;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~g~VARIOS LOS AZTECAS ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 33 || classid == 34 || classid == 35)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "vagos");
		
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
     	GameTextForPlayer(playerid," ~n~ ~n~ ~g~LOS SANTOS VAGOS",3000,6);
		gTeam[playerid] = TEAM_VAGOS;
		iSpawnSet[playerid] = 0;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~g~LOS SANTOS VAGOS ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 36 || classid == 37 || classid == 38)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "traids");
		
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
     	GameTextForPlayer(playerid," ~n~ ~n~ ~g~TRAIDS",3000,6);
		gTeam[playerid] = TEAM_TRAIDS;
		iSpawnSet[playerid] = 13;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~g~TRAIDS ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 39 || classid == 40 || classid == 41 || classid == 42)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "bikers");
		
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
     	GameTextForPlayer(playerid," ~n~ ~n~ ~g~BIKER",3000,6);
		gTeam[playerid] = TEAM_BIKERS;
		iSpawnSet[playerid] = 14;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~g~BIKER ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 43 || classid == 44 || classid == 45 || classid == 46 || classid == 47 || classid == 48 || classid == 49 || classid == 50)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "mafia");
		
		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
    	GameTextForPlayer(playerid," ~n~ ~n~ ~g~MAFIA",3000,6);
		gTeam[playerid] = TEAM_MAFIA;
		iSpawnSet[playerid] = 15;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~g~MAFIA ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else if(classid == 51 || classid == 52 ||classid == 53 || classid == 54 || classid == 55 || classid == 56 || classid == 57 ||classid == 58 || classid == 59 || classid == 60 || classid == 61 || classid == 62 ||classid == 63 || classid == 64 || classid == 65 || classid == 66)
	{
		tmp2 = dini_Get(FILE_TEAMPASS, "whores");

		if(IsPlayerAdmin(playerid) || adminlevel[playerid] >= 1 || strval(tmp) == strval(tmp2) || 152568461 == strval(tmp2)) {
     	GameTextForPlayer(playerid," ~n~ ~n~ ~p~WHORE",3000,6);
		gTeam[playerid] = TEAM_WHORES;
		iSpawnSet[playerid] = 16;
		lockedskin[playerid] = 0;
		}
		else {
		GameTextForPlayer(playerid," ~n~ ~n~ ~p~WHORE ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~r~LOCKED SKIN",3000,6);
		lockedskin[playerid] = 1;
		}
	}
	else
	{
		GameTextForPlayer(playerid," ~n~ ~n~ ~w~CIVILIAN",3000,6);
		gTeam[playerid] = TEAM_CIVILIANS;
		iSpawnSet[playerid] = 0;
		lockedskin[playerid] = 0;
	}
	SetupPlayerForClassSelection(playerid);
	return 1;
}

public SetPlayerToTeamColor(playerid)
{
	if (gTeam[playerid] == TEAM_POLICE)
	{
		SetPlayerColor(playerid, TEAM_POLICE_COLOR);
	}
	else if (gTeam[playerid] == TEAM_MILITARY)
	{
		SetPlayerColor(playerid, TEAM_MILITARY_COLOR);
	}
	else if (gTeam[playerid] == TEAM_RESCUE)
	{
		SetPlayerColor(playerid, TEAM_RESCUE_COLOR);
	}
	else if (gTeam[playerid] == TEAM_GROVE)
	{
		SetPlayerColor(playerid, TEAM_GROVE_COLOR);
	}
	else if (gTeam[playerid] == TEAM_BALLAS)
	{
		SetPlayerColor(playerid, TEAM_BALLAS_COLOR);
	}
	else if (gTeam[playerid] == TEAM_AZTECAS)
	{
		SetPlayerColor(playerid, TEAM_AZTECAS_COLOR);
	}
	else if (gTeam[playerid] == TEAM_VAGOS)
	{
		SetPlayerColor(playerid, TEAM_VAGOS_COLOR);
	}
	else if (gTeam[playerid] == TEAM_TRAIDS)
	{
		SetPlayerColor(playerid, TEAM_TRAIDS_COLOR);
	}
	else if (gTeam[playerid] == TEAM_BIKERS)
	{
		SetPlayerColor(playerid, TEAM_BIKERS_COLOR);
	}
	else if (gTeam[playerid] == TEAM_MAFIA)
	{
		SetPlayerColor(playerid, TEAM_MAFIA_COLOR);
	}
	else if (gTeam[playerid] == TEAM_WHORES)
	{
		SetPlayerColor(playerid, TEAM_WHORES_COLOR);
	}
	else if (gTeam[playerid] == TEAM_CIVILIANS)
	{
		SetPlayerColor(playerid, TEAM_CIVILIANS_COLOR);
	}
}

public SetPlayerTeamWeapons(playerid)
{
	if (gTeam[playerid] == TEAM_POLICE)
	{
		GivePlayerWeapon(playerid, 17, 20);
		GivePlayerWeapon(playerid, 24, 200);
		GivePlayerWeapon(playerid, 25, 200);
		GivePlayerWeapon(playerid, 29, 200);
		GivePlayerWeapon(playerid, 3, 0);
	}
	else if (gTeam[playerid] == TEAM_MILITARY)
	{
		GivePlayerWeapon(playerid, 4, 0);
		GivePlayerWeapon(playerid, 16, 20);
		GivePlayerWeapon(playerid, 24, 200);
		GivePlayerWeapon(playerid, 27, 200);
		GivePlayerWeapon(playerid, 29, 200);
		GivePlayerWeapon(playerid, 31, 200);
	}
	else if (gTeam[playerid] == TEAM_RESCUE)
	{
		GivePlayerWeapon(playerid, 9, 0);
		GivePlayerWeapon(playerid, 42, 200);
	}
	else if (gTeam[playerid] == TEAM_GROVE)
	{
		GivePlayerWeapon(playerid, 5, 0);
		GivePlayerWeapon(playerid, 18, 20);
		GivePlayerWeapon(playerid, 30, 200);
		GivePlayerWeapon(playerid, 32, 200);
		GivePlayerWeapon(playerid, 41, 200);
		GivePlayerWeapon(playerid, 22, 200);
	}
	else if (gTeam[playerid] == TEAM_BALLAS)
	{
		GivePlayerWeapon(playerid, 5, 0);
		GivePlayerWeapon(playerid, 18, 20);
		GivePlayerWeapon(playerid, 30, 200);
		GivePlayerWeapon(playerid, 32, 200);
		GivePlayerWeapon(playerid, 41, 200);
		GivePlayerWeapon(playerid, 22, 200);
	}
	else if (gTeam[playerid] == TEAM_AZTECAS)
	{
		GivePlayerWeapon(playerid, 5, 0);
		GivePlayerWeapon(playerid, 18, 20);
		GivePlayerWeapon(playerid, 30, 200);
		GivePlayerWeapon(playerid, 32, 200);
		GivePlayerWeapon(playerid, 41, 200);
		GivePlayerWeapon(playerid, 22, 200);
	}
	else if (gTeam[playerid] == TEAM_VAGOS)
	{
		GivePlayerWeapon(playerid, 5, 0);
		GivePlayerWeapon(playerid, 18, 20);
		GivePlayerWeapon(playerid, 30, 200);
		GivePlayerWeapon(playerid, 32, 200);
		GivePlayerWeapon(playerid, 41, 200);
		GivePlayerWeapon(playerid, 22, 200);
	}
	else if (gTeam[playerid] == TEAM_TRAIDS)
	{
		GivePlayerWeapon(playerid, 8, 0);
		GivePlayerWeapon(playerid, 16, 20);
		GivePlayerWeapon(playerid, 29, 200);
		GivePlayerWeapon(playerid, 34, 200);
		GivePlayerWeapon(playerid, 23, 200);
	}
	else if (gTeam[playerid] == TEAM_BIKERS)
	{
		GivePlayerWeapon(playerid, 4, 0);
		GivePlayerWeapon(playerid, 18, 20);
		GivePlayerWeapon(playerid, 28, 200);
		GivePlayerWeapon(playerid, 30, 200);
		GivePlayerWeapon(playerid, 24, 200);
	}
	else if (gTeam[playerid] == TEAM_MAFIA)
	{
		GivePlayerWeapon(playerid, 5, 0);
		GivePlayerWeapon(playerid, 16, 20);
		GivePlayerWeapon(playerid, 23, 200);
		GivePlayerWeapon(playerid, 29, 200);
		GivePlayerWeapon(playerid, 34, 200);
		GivePlayerWeapon(playerid, 23, 200);
	}
	else if (gTeam[playerid] == TEAM_WHORES)
	{
		GivePlayerWeapon(playerid, 10, 0);
		GivePlayerWeapon(playerid, 24, 200);
	}
	else if (gTeam[playerid] == TEAM_CIVILIANS)
	{
		GivePlayerWeapon(playerid, 4, 0);
		GivePlayerWeapon(playerid, 24, 200);
	}
}

public SetupPlayerForClassSelection(playerid)
{
	SetPlayerInterior(playerid,3);
	SetPlayerPos(playerid,-2654.4,1424.2,912.4);
	SetPlayerFacingAngle(playerid, 90.0);
	SetPlayerCameraPos(playerid,-2654.4-1.5,1424.2,912.4+0.7);
	SetPlayerCameraLookAt(playerid,-2654.4,1424.2,912.4+0.7);
	SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive
	spawned[playerid] = 0;
}

public OnGameModeInit()
{
	SetGameModeText(GAMEMODETEXT);

	ShowPlayerMarkers(1);
	ShowNameTags(1);
	EnableZoneNames(1);
	AllowInteriorWeapons(1);
	EnableTirePopping(1);
	SetWorldTime(12);
	SetDisabledWeapons(43,44,45);

	//TEAM_POLICE
	AddPlayerClassEx(1,265,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(1,266,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(1,267,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(1,280,1958.3783,1343.1572,15.3746,270.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(1,281,1958.3783,1343.1572,15.3746,270.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(1,282,1958.3783,1343.1572,15.3746,270.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(1,283,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(1,288,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(1,284,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//AddPlayerClassEx(1,285,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//TEAM_FEDS
	AddPlayerClassEx(1,286,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(1,163,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(1,164,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(1,165,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(1,166,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//TEAM_MILITARY
	AddPlayerClassEx(2,287,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//TEAM_RESCUE
	AddPlayerClassEx(3,274,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(3,275,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(3,276,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(3,277,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(3,278,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(3,279,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//TEAM_GROVE
	AddPlayerClassEx(4,105,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(4,106,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(4,107,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(4,269,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(4,270,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(4,271,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//TEAM_BALLAS
	AddPlayerClassEx(5,102,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(5,103,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(5,104,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//TEAM_AZTECAS
	AddPlayerClassEx(6,114,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(6,115,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(6,116,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//TEAM_VAGOS
	AddPlayerClassEx(7,108,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(7,109,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(7,110,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//TEAM_DA_NANG_BOYS
	//AddPlayerClassEx(8,121,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//AddPlayerClassEx(8,122,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//AddPlayerClassEx(8,123,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//TEAM_RIFA
	//AddPlayerClassEx(9,173,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//AddPlayerClassEx(9,174,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//AddPlayerClassEx(9,175,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//TEAM_TRAIDS
	AddPlayerClassEx(10,117,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(10,118,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(10,120,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//TEAM_BIKERS
	AddPlayerClassEx(11,100,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(11,247,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(11,248,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(11,254,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//TEAM_MAFIA
	AddPlayerClassEx(12,111,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(12,112,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(12,113,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(12,124,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(12,125,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(12,126,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(12,127,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(12,272,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//TEAM_WHORES
	AddPlayerClassEx(13,63,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(13,64,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(13,85,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(13,87,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(13,90,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(13,152,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(13,178,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(13,207,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(13,237,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(13,238,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(13,243,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(13,244,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(13,245,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(13,246,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(13,256,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(13,257,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	//TEAM_CIVILIANS
	AddPlayerClassEx(0,0,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,1,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,2,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,47,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,48,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,49,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,50,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,51,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,52,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,53,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,54,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,55,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,56,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,57,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,58,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,59,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,60,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,61,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,62,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,66,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,67,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,68,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,69,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,70,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,71,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,72,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,73,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,75,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,76,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,78,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,79,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,80,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,81,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,82,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,83,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,84,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,88,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,89,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,91,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,92,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,93,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,95,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,96,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,97,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,98,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,99,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,101,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,128,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,129,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,131,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,133,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,134,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,135,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,136,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,137,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,138,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,139,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,140,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,141,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,142,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,143,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,144,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,145,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,146,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,147,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,148,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,150,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,151,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,153,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,154,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,155,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,156,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,157,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,158,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,159,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,160,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,161,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,162,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,167,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,168,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,169,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,170,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,171,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,172,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,176,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,177,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,179,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,180,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,181,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,182,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,183,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,184,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,185,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,186,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,187,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,188,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,189,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,190,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,191,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,192,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,193,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,194,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,195,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,196,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,197,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,198,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,199,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,200,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,201,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,202,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,203,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,204,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,205,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,206,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,209,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,210,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,211,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,212,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,213,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,214,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,215,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,216,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,217,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,218,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,219,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,220,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,221,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,222,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,223,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,224,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,225,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,226,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,227,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,228,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,229,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,230,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,231,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,232,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,233,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,234,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,235,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,236,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,239,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,240,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,241,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,242,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,249,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,250,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,251,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,253,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,255,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,258,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,259,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,260,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,261,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,262,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,263,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,264,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,290,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,291,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,292,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,293,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,294,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,295,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,296,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,297,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
	AddPlayerClassEx(0,298,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
    AddPlayerClassEx(0,299,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1);
    
	//LSPD
	AddStaticVehicleEx(596,1535.9027,-1673.6801,13.1024,0.9604,-1,-1,600000); //copcarla
	AddStaticVehicleEx(596,1585.8513,-1667.6764,5.6129,270.8032,-1,-1,600000); //copcarla
	AddStaticVehicleEx(596,1531.0225,-1644.4117,5.6119,177.7084,-1,-1,600000); //copcarla
	AddStaticVehicleEx(596,1570.5022,-1710.5771,5.6091,179.8262,-1,-1,600000); //copcarla
	AddStaticVehicleEx(523,1560.7695,-1694.4358,5.6122,32.7235,-1,-1,600000); //copbike
	AddStaticVehicleEx(523,1563.5020,-1694.8240,5.4627,21.6809,-1,-1,600000); //copbike
	AddStaticVehicleEx(427,1601.5469,-1684.1555,6.0249,271.1523,-1,-1,600000); //enforcer
	AddStaticVehicleEx(427,1601.5670,-1691.8923,6.0174,270.3943,-1,-1,600000); //enforcer
	AddStaticVehicleEx(601,1529.0833,-1687.9219,5.6746,272.0934,-1,-1,600000); //swatvan
	AddStaticVehicleEx(497,1549.8640,-1645.7081,28.5626,85.9870,-1,-1,600000); //polmav
	AddStaticVehicleEx(497,1549.6608,-1707.5022,28.5538,90.8367,-1,-1,600000); //polmav
	//LVPD
	AddStaticVehicleEx(523,2294.7305,2441.2651,10.3860,9.3764,-1,-1,600000); //copbike
	AddStaticVehicleEx(523,2290.7268,2441.3323,10.3944,16.4594,-1,-1,600000); //copbike
	AddStaticVehicleEx(598,2277.6846,2477.1096,10.5652,180.1090,-1,-1,600000); //copcarlv
	AddStaticVehicleEx(598,2268.9888,2443.1697,10.5662,181.8062,-1,-1,600000); //copcarlv
	AddStaticVehicleEx(598,2256.2891,2458.5110,10.5680,358.7335,-1,-1,600000); //copcarlv
	AddStaticVehicleEx(598,2251.6921,2477.0205,10.5671,179.5244,-1,-1,600000); //copcarlv
	//SFPD
	AddStaticVehicleEx(597,-1594.2644,672.5858,6.9564,176.7420,-1,-1,600000); //copcarsf
	AddStaticVehicleEx(597,-1622.6423,651.3411,6.9558,179.1608,-1,-1,600000); //copcarsf
	AddStaticVehicleEx(597,-1584.1769,749.3150,-5.4735,1.1909,-1,-1,600000); //copcarsf
	AddStaticVehicleEx(523,-1613.2698,674.8221,6.7442,0.5444,-1,-1,600000); //copbike
	AddStaticVehicleEx(523,-1610.7988,674.7755,6.7438,1.7590,-1,-1,600000); //copbike
	AddStaticVehicleEx(497,-1679.6781,705.8836,30.7783,89.3904,-1,-1,600000); //polmav
	AddStaticVehicleEx(430,-1476.2301,691.7451,-0.4462,356.6588,-1,-1,600000); //predator
	//FBI LV
	AddStaticVehicleEx(490,2511.8882,2398.6853,10.9629,270.1583,-1,-1,600000); //fbiranch
	AddStaticVehicleEx(490,2511.8645,2379.2695,10.9865,269.3840,-1,-1,600000); //fbiranch
	AddStaticVehicleEx(490,2515.3750,2381.6655,4.4141,268.3794,-1,-1,600000); //fbiranch
	AddStaticVehicleEx(507,2524.3743,2372.5923,4.0514,90.9699,116,116,600000); //elegant
	AddStaticVehicleEx(490,2541.4473,2363.2112,4.4174,269.7791,-1,-1,600000); //fbiranch
	AddStaticVehicleEx(507,2510.4299,2397.8345,4.0036,359.6923,116,116,600000); //elegant
	AddStaticVehicleEx(528,2542.2869,2398.1602,4.2819,0.2065,-1,-1,600000); //fbitruck
	//FBI LS
	AddStaticVehicleEx(490,940.7961,-1017.7236,32.0080,358.6189,-1,-1,600000); //fbiranch
	AddStaticVehicleEx(490,940.8019,-1025.2839,32.0492,358.3138,-1,-1,600000); //fbiranch
	//FBI SF (Federal Mint)
	AddStaticVehicleEx(490,-2429.6504,515.2560,30.0676,37.6494,-1,-1,600000); //
	AddStaticVehicleEx(490,-2422.3062,521.5443,30.0583,44.1119,-1,-1,600000); //
	AddStaticVehicleEx(528,-2414.0078,539.8630,29.9740,89.3738,-1,-1,600000); //
	AddStaticVehicleEx(428,-2441.0334,522.6057,29.0300,182.0171,-1,-1,600000); //
	//Bone County PD (Dillmore)
	AddStaticVehicleEx(599,612.8239,-597.2716,15.9557,91.4792,-1,-1,600000); //copcarru
	AddStaticVehicleEx(599,612.8239,-601.8491,15.9557,91.4792,-1,-1,600000); //copcarru
	//Military (Area 69)
	AddStaticVehicleEx(520,308.9165,2050.8747,18.0772,270.4076,-1,-1,600000); //hydra
	AddStaticVehicleEx(520,309.4147,2014.7342,18.0773,270.4076,-1,-1,600000); //hydra
	AddStaticVehicleEx(432,275.4260,2023.6577,18.0773,270.4076,-1,-1,600000); //tank
	AddStaticVehicleEx(432,276.1864,1989.5568,18.0772,270.4076,-1,-1,600000); //tank
	AddStaticVehicleEx(432,277.6461,1930.8853,17.6337,290.7018,-1,-1,600000); //tank
	AddStaticVehicleEx(432,287.5102,1919.8797,17.6339,310.3307,-1,-1,600000); //tank
	AddStaticVehicleEx(425,310.6837,1989.5648,18.0772,270.4076,-1,-1,600000); //apache
	AddStaticVehicleEx(425,310.8506,1955.5999,18.0772,270.4076,-1,-1,600000); //apache
	AddStaticVehicleEx(470,280.4848,1944.3090,17.6342,1.2024,-1,-1,600000); //patriot
	AddStaticVehicleEx(470,272.7404,1944.2501,17.6335,356.5024,-1,-1,600000); //patriot
	AddStaticVehicleEx(470,272.4901,1966.9512,17.6336,181.0341,-1,-1,600000); //patriot
	AddStaticVehicleEx(470,280.2340,1967.1403,17.6335,181.0341,-1,-1,600000); //patriot
	AddStaticVehicleEx(433,299.4277,1902.1299,18.0803,270.8067,-1,-1,600000); //barracks
	AddStaticVehicleEx(433,299.5782,1885.8043,18.0794,266.5241,-1,-1,600000); //barracks
	AddStaticVehicleEx(433,299.5779,1872.4921,18.0791,272.5362,-1,-1,600000); //barracks
	AddStaticVehicleEx(433,299.4450,1857.0771,18.0812,272.2671,-1,-1,600000); //barracks
	AddStaticVehicleEx(490,303.6513,1797.0400,17.7691,182.6953,1,1,600000); //fbiranch
	AddStaticVehicleEx(490,313.8894,1797.0864,17.7704,181.7756,1,1,600000); //fbiranch
	//Military (Naval Base)
	AddStaticVehicleEx(425,-1597.3652,273.8775,6.8671,42.6439,-1,-1,600000); //apache
	AddStaticVehicleEx(425,-1617.8823,295.4088,6.8614,218.1122,-1,-1,600000); //apache
	AddStaticVehicleEx(520,-1458.5416,502.0699,18.2700,268.4228,-1,-1,600000); //hydra
	AddStaticVehicleEx(520,-1412.6984,517.0654,18.2426,177.4925,-1,-1,600000); //hydra
	AddStaticVehicleEx(432,-1268.7835,442.7480,6.8605,2.0614,-1,-1,600000); //tank
	AddStaticVehicleEx(432,-1278.6678,442.9499,6.8605,2.0614,-1,-1,600000); //tank
	AddStaticVehicleEx(470,-1230.1555,460.1437,6.8671,87.0730,-1,-1,600000); //patriot
	AddStaticVehicleEx(470,-1227.9642,450.6076,6.8671,87.0730,-1,-1,600000); //patriot
	AddStaticVehicleEx(490,-1529.2108,450.9989,7.3203,269.9492,1,1,600000); //fbiranch
	AddStaticVehicleEx(490,-1529.2118,456.5371,7.3119,270.1828,1,1,600000); //fbiranch
	AddStaticVehicleEx(595,-1441.3883,507.7992,-0.6386,89.2734,-1,-1,600000); //launch
	AddStaticVehicleEx(595,-1449.3575,495.3697,-0.6266,89.2734,-1,-1,600000); //launch
	//Los Santos Hospital
	AddStaticVehicleEx(416,2023.1161,-1411.4758,17.1766,179.0180,-1,-1,600000); //ambulan
	AddStaticVehicleEx(416,2028.3527,-1411.5458,17.1549,179.6330,-1,-1,600000); //ambulan
	//Las Venturas Hospital
	AddStaticVehicleEx(416,1603.8344,1822.9230,8.9968,359.4734,-1,-1,600000); //ambulan
	AddStaticVehicleEx(416,1615.7773,1823.0979,8.9909,0.3651,-1,-1,600000); //ambulan
	//San Fierro Hospital
	AddStaticVehicleEx(416,-2689.6714,624.7794,14.6061,217.9756,-1,-1,600000); //ambulan
	AddStaticVehicleEx(416,-2694.0444,621.3873,14.6176,217.4982,-1,-1,600000); //ambulan
	//LSFD
	//LVFD
	AddStaticVehicleEx(407,1763.6681,2076.7019,11.1038,179.7457,-1,-1,600000); //firetruck
	AddStaticVehicleEx(407,1750.6038,2076.9453,11.0602,178.8439,-1,-1,600000); //firetruck
	AddStaticVehicleEx(563,1768.3181,2123.5864,11.6199,358.4757,-1,-1,600000); //raindanc
	//SFFP
	AddStaticVehicleEx(407,-2021.3640,84.0743,28.2316,267.7848,-1,-1,600000); //firetruck
	AddStaticVehicleEx(563,-2059.8945,84.3953,29.0984,88.7042,-1,-1,600000); //raindanc
	//Admin's safe house (Mad Dog's House)
	AddStaticVehicleEx(409,1249.5614,-780.6553,90.5116,358.4242,-1,-1,600000); //limo
	AddStaticVehicleEx(451,1248.8788,-804.1365,83.8494,179.7735,0,0,600000); //turismo
	AddStaticVehicleEx(487,1291.3855,-788.1313,96.6835,179.6667,0,0,600000); //maverick
	//Traids (Four Dragons Casino)
	AddStaticVehicleEx(409,2038.7646,1008.8649,10.4702,179.7159,-1,-1,600000); //limo
	//Mafia Caligula's (Casino)
	AddStaticVehicleEx(409,2159.7437,1677.0530,10.4871,350.2083,-1,-1,600000); //limo
	AddStaticVehicleEx(426,2155.9546,1694.8799,10.4006,31.6958,0,0,600000); //primo
	AddStaticVehicleEx(426,2149.9470,1660.1752,10.4222,312.5058,0,0,600000); //primo
	AddStaticVehicleEx(487,2268.3650,1666.7958,95.1544,271.5814,0,0,600000); //maverick
	//Bikers (Dillmore)
	AddStaticVehicleEx(463,668.2394,-467.7993,15.8629,269.9905,-1,-1,600000); //freeway
	AddStaticVehicleEx(463,668.1459,-461.4311,15.8641,268.6706,-1,-1,600000); //freeway
	AddStaticVehicleEx(463,694.5801,-473.4966,15.8726,93.0212,-1,-1,600000); //freeway
	AddStaticVehicleEx(463,694.6743,-467.0372,15.8736,85.6209,-1,-1,600000); //freeway
	AddStaticVehicleEx(463,694.6811,-460.7959,15.8603,85.1615,-1,-1,600000); //freeway
	AddStaticVehicleEx(463,709.0026,-461.4219,15.8650,269.6199,-1,-1,600000); //freeway
	//Buses
	AddStaticVehicleEx(431,1598.5980,-2322.5674,13.4733,270.4478,6,1,600000); //bus, ls
	AddStaticVehicleEx(437,1800.7155,-1858.2577,13.5507,270.3954,3,116,600000); //coach, ls
	AddStaticVehicleEx(431,1716.7513,1413.4857,10.5995,11.0895,1,1,600000); //bus, lv
	AddStaticVehicleEx(437,2831.5725,1275.4906,10.9094,358.6936,3,116,600000); //coach, lv
	AddStaticVehicleEx(431,-1425.0442,-296.0772,14.1132,49.2195,3,1,600000); //bus, sf
	AddStaticVehicleEx(437,-1988.3939,159.7153,27.1953,0.6461,3,116,600000);  //coach, sf
	//Trains
    AddStaticVehicleEx(537,-1943.3127,158.0254,27.0006,357.3614,121,1,99999); //main train
    AddStaticVehicleEx(569,-1943.3127,158.0254,27.0006,357.3614,121,1,99999); // train carriage
    AddStaticVehicleEx(569,-1943.3127,158.0254,27.0006,357.3614,121,1,99999); //train carriage
    AddStaticVehicleEx(569,-1943.3127,158.0254,27.0006,357.3614,121,1,99999); // train carriage
	//Los Santos
	AddStaticVehicleEx(409,1539.4238,-2312.4141,13.3628,180.1743,-1,-1,600000); //limo
	AddStaticVehicleEx(420,1560.7609,-2312.2346,13.3157,269.1980,-1,-1,600000); //taxi
	AddStaticVehicleEx(420,1560.7723,-2318.8748,13.3208,270.3907,-1,-1,600000); //taxi
	AddStaticVehicleEx(420,1743.2875,-1858.6049,13.1920,270.3053,-1,-1,600000); //taxi
	AddStaticVehicleEx(525,1927.4131,-1795.6306,13.2787,269.3180,-1,-1,600000); //towtruck
	AddStaticVehicleEx(525,1917.7885,-1795.6425,13.2664,272.0740,-1,-1,600000); //towtruck
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2508.2312,-1666.4536,13.1796,11.6929,-1,-1,600000);
 	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2473.1646,-1697.4138,13.2988,1.1746,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2297.2532,-1633.3859,14.4298,269.4626,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2158.4851,-1808.1165,13.4877,359.4795,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2119.6868,-1782.6039,13.2567,179.7940,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2069.0737,-1881.9088,13.1172,269.2706,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2529.3069,-2003.3335,13.0598,133.2911,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2498.8933,-1953.5988,13.3193,359.7628,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2728.9031,-1935.3430,13.2556,90.0094,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2854.1719,-1909.5021,10.5896,179.5905,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2822.0244,-1553.3268,10.6042,89.4986,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2806.3848,-1186.9303,25.0279,307.7415,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2432.1082,-1224.7516,24.8794,356.5074,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2391.1511,-1497.3237,23.6727,89.4172,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2489.6265,-1558.6204,23.5562,359.5309,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2229.1389,-1363.6033,23.8190,89.8660,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2148.6777,-1138.4310,25.2664,270.0773,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1803.7166,-1931.8333,13.1109,359.8419,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1779.4896,-1887.1788,13.2558,268.6338,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1904.1558,-2047.0872,13.2997,90.4966,-1,-1,600000);
	AddStaticVehicleEx(gRandomSemiSpawns[random(sizeof(gRandomSemiSpawns))],2757.5005,-2388.5466,13.6266,179.3206,-1,-1,600000); //linerun
	AddStaticVehicleEx(gRandomSemiSpawns[random(sizeof(gRandomSemiSpawns))],2763.6816,-2510.6714,13.6339,0.0716,-1,-1,600000); //linerun
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2488.0601,-2242.5610,13.4219,358.8076,-1,-1,600000);
	AddStaticVehicleEx(gRandomSemiSpawns[random(sizeof(gRandomSemiSpawns))],2192.6189,-2247.0283,13.2067,222.6344,-1,-1,600000); //linerun
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1981.1094,-1985.5371,13.2902,359.5516,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1924.2258,-2122.6487,13.3471,359.0740,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2657.2908,-1691.8491,9.0838,269.6595,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1731.0698,-1008.6317,23.6590,347.0643,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1713.7269,-1069.0457,23.5859,179.0714,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1623.8126,-1858.7850,13.3271,180.6303,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1460.4645,-1506.9532,13.4812,87.2633,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1065.3420,-1221.7240,16.5594,0.1669,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1146.9253,-1313.1802,14.0365,0.3839,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],867.5660,-1282.5898,14.8665,0.5736,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],840.1666,-1391.3821,13.2792,92.0202,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1351.2683,-621.1136,108.9058,19.9575,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],685.3112,-1072.3215,49.2644,60.1660,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],283.8333,-1161.1090,80.7880,223.3897,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],405.2888,-1262.5371,50.5532,22.5417,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],782.5436,-1633.8582,13.1803,269.1530,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1357.6841,-1748.9628,13.0077,89.7186,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1246.0278,-2011.6395,59.6959,0.9539,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1276.6846,-2010.6200,58.6758,178.7380,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1271.2167,-2042.6799,59.0398,1.4495,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],545.3229,-1477.2467,14.4734,1.8863,-1,-1,600000);
	AddStaticVehicleEx(gRandomSemiSpawns[random(sizeof(gRandomSemiSpawns))],2088.4944,-2089.7324,14.1534,180.1658,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],166.3514,-1341.6031,69.3802,178.2354,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],797.0284,-843.6050,60.4141,191.0260,-1,-1,600000);
	AddStaticVehicleEx(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],133.5142,-1489.0701,18.4300,58.3215,-1,-1,600000);
	//Las Venturas
	AddStaticVehicleEx(420,1695.3417,1297.5541,10.6089,1.3245,-1,-1,600000); //taxi
	AddStaticVehicleEx(420,1695.4741,1306.2637,10.6100,180.9508,-1,-1,600000); //taxi
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2040.0520,1319.2799,10.3779,183.2439,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2040.5247,1359.2783,10.3516,177.1306,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2110.4102,1398.3672,10.7552,359.5964,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2075.6038,1666.9750,10.4252,359.7507,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2119.5845,1938.5969,10.2967,181.9064,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2172.1682,1988.8643,10.5474,89.9151,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2245.5759,2042.4166,10.5000,270.7350,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2361.1538,1993.9761,10.4260,178.3929,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2221.9946,1998.7787,9.6815,92.6188,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2602.7769,1853.0667,10.5468,91.4813,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2610.7600,1694.2588,10.6585,89.3303,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2635.2419,1075.7726,10.5472,89.9571,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2394.1021,989.4888,10.4806,89.5080,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2009.8782,2411.7524,10.5828,178.9618,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2076.4033,2468.7947,10.5923,359.9186,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1919.5863,2760.7595,10.5079,100.0753,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1673.8038,2693.8044,10.5912,359.7903,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1591.0482,2746.3982,10.6519,172.5125,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1455.9305,2878.5288,10.5837,181.0987,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1537.8425,2578.0525,10.5662,0.0650,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2461.8162,1629.2268,10.4496,181.4625,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2395.7554,1658.9591,10.5740,359.7374,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1553.3696,1020.2884,10.5532,270.6825,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1383.4630,1035.0420,10.9131,91.2515,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1445.4526,974.2831,10.5534,1.6213,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1658.5463,1028.5432,10.5533,359.8419,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1383.6959,1042.2114,10.4121,85.7269,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1064.2332,1215.4158,10.4157,177.2942,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1111.4536,1788.3893,10.4158,92.4627,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2827.4143,2345.6953,10.5768,270.0668,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1670.1089,1297.8322,10.3864,359.4936,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1319.1038,1279.1791,10.5931,0.9661,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2805.1650,2027.0028,10.3920,357.5978,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2842.0554,2637.0105,10.5000,182.2949,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2327.6484,2787.7327,10.5174,179.5639,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2104.9446,2658.1331,10.3834,82.2700,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1914.2322,2148.2590,10.3906,267.7297,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1904.7527,2157.4312,10.5175,183.7728,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1532.6139,2258.0173,10.5176,359.1516,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1552.1292,2341.7854,10.9126,274.0815,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1637.6285,2329.8774,10.5538,89.6408,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1357.4165,2259.7158,10.9126,269.5567,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1305.5295,2528.3076,10.3955,88.7249,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],993.9020,2159.4194,10.3905,88.8805,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2404.6636,647.9255,10.7919,183.7688,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1031.8435,1920.3726,11.3369,89.4978,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1641.6802,1299.2113,10.6869,271.4891,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2135.8757,1408.4512,10.6867,180.4562,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2461.7380,1345.5385,10.6975,0.9317,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2804.4365,1332.5348,10.6283,271.7682,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2805.1685,1361.4004,10.4548,270.2340,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2119.9751,2049.3127,10.5423,180.1963,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2785.0261,-1835.0374,9.6874,226.9852,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2142.2698,1019.3512,10.4130,91.3079,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2075.0247,1149.5356,10.2645,2.6380,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2132.7168,1028.6659,10.4175,275.6147,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],2004.5626,740.4858,10.6432,183.2937,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],1654.2909,730.8658,10.4145,5.3444,-1,-1);
	//San Fierro
	AddStaticVehicleEx(420,-1404.2687,-318.7430,13.7585,33.0231,-1,-1,600000); //taxi
	AddStaticVehicleEx(420,-1988.2639,137.3905,27.1953,0.6461,-1,-1,600000); //taxi
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2618.9480,1376.7870,7.7322,181.1998,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2645.5964,1376.7522,7.8935,267.8349,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2126.2573,650.7344,53.2421,88.8335,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2223.2629,1083.2794,80.7819,359.6700,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2517.2996,1229.3512,38.7999,209.3221,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-1654.1005,1211.9901,14.2380,315.9562,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-1660.4161,1213.3704,8.0209,295.4768,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-1699.4597,1035.9624,46.0932,91.6588,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2438.0117,1340.9783,8.7316,86.7979,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2166.5498,1251.0760,28.2782,1.6030,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2636.3838,932.3286,72.5378,187.1212,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2459.9055,786.4501,36.2643,89.8722,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-1872.5575,-820.7949,32.8273,90.7921,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-1898.3019,-915.5814,33.3947,91.2857,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2124.4800,-929.0856,32.7397,269.1853,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2134.1428,-453.9576,36.1699,95.0875,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2035.6851,170.2529,29.4610,268.9087,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2352.0959,-126.8848,35.9374,179.5324,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2180.1277,41.8536,36.1953,269.9865,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2269.4526,69.5823,35.7279,89.6104,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2129.2864,787.6249,70.3666,87.1679,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2424.9958,740.8871,35.8205,177.6701,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2498.4822,357.5526,35.7969,58.0823,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2487.5295,-125.3075,26.5715,90.9363,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2486.0298,51.5018,27.7954,177.2178,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2574.9736,146.5981,5.4279,1.8790,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2040.4465,1107.7076,54.4032,89.8491,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-1825.2035,-0.4858,15.8965,270.0104,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-1687.9076,1003.5587,18.2656,91.3972,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2782.3508,442.1533,5.5383,57.1401,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2836.3665,865.6495,44.1470,268.7662,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2899.3823,1112.4786,27.3954,268.9744,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2641.7395,1333.0645,6.8700,356.7557,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2129.8242,288.0418,34.9864,269.9582,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2664.0950,-259.9579,6.5482,74.4868,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-1231.5951,48.1695,13.7616,229.8069,-1,-1);
	AddStaticVehicle(gRandomCarSpawns[random(sizeof(gRandomCarSpawns))],-2147.9944,-406.9189,35.0502,43.5458,-1,-1);
	//Wang Cars
	//Chilliad Top
	//LS Airport
	AddStaticVehicle(592,2095.6960,-2453.7709,14.8818,115.7215,-1,-1); //andromada
	AddStaticVehicle(519,1889.9813,-2625.4252,14.4686,0.8316,-1,-1); //shamal
	AddStaticVehicle(519,1822.7399,-2625.4074,14.4657,0.8316,-1,-1); //shamal
	AddStaticVehicle(487,1893.9252,-2362.6081,13.7248,268.2119,-1,-1); //maverick
	AddStaticVehicle(487,1896.8807,-2393.7080,13.7071,268.2119,-1,-1); //maverick
	AddStaticVehicle(511,1866.5853,-2452.8505,14.4765,177.3444,-1,-1); //beagle
	//SF Airport
	AddStaticVehicle(592,-1701.0162,-265.3941,15.3411,354.9638,-1,-1); //andromada
	AddStaticVehicle(511,-1209.3610,-145.6493,14.6093,134.5532,-1,-1); //beagle
	AddStaticVehicle(511,-1248.8734,-98.8297,14.6102,136.2904,-1,-1); //beagle2
	AddStaticVehicle(519,-1441.6414,-527.0452,13.8515,206.3693,-1,-1); //shamal
	AddStaticVehicle(519,-1197.8771,-489.7653,15.5053,0.4038,-1,-1); //shamal
	AddStaticVehicle(519,-1341.1341,-254.4114,15.0551,321.6396,-1,-1); //shamal
	AddStaticVehicle(487,-1223.3806,-11.4502,14.3255,43.1787,-1,-1); //maverick
	AddStaticVehicle(487,-1184.9498,24.7772,14.3175,43.4075,-1,-1); //maverick
	//LV Airport
	AddStaticVehicle(487,1640.2257,1561.9497,10.9924,356.7362,-1,-1); //maverick
	AddStaticVehicle(487,1615.7342,1617.0770,10.9904,180.0380,-1,-1); //maverick
	AddStaticVehicle(487,1677.9617,1628.1245,10.4433,180.0380,-1,-1); //maverick
	AddStaticVehicle(592,1476.9317,1812.0655,12.0087,179.3201,-1,-1); //andromada
	AddStaticVehicle(519,1357.2593,1756.2281,11.7406,270.0289,-1,-1); //shamal
	AddStaticVehicle(519,1357.5399,1714.2233,11.7389,270.2250,-1,-1); //shamal
	//Abandoned Airport
	AddStaticVehicle(487,365.3929,2536.2568,16.8424,357.7925,-1,-1); // maverick, abandoned airport
	AddStaticVehicle(476,291.0915,2540.1027,17.5249,182.9858,-1,-1); // rustler, abandoned airport
	AddStaticVehicle(476,325.4121,2538.5996,17.2365,181.2966,-1,-1); // rustler2, abandoned airport
	//Boats
	AddStaticVehicle(446,720.9388,-1700.4620,-0.5290,35.6348,-1,-1); //squalo
	AddStaticVehicle(446,2355.2488,-2514.3970,-0.5287,158.8268,-1,-1); //squalo
	AddStaticVehicle(446,2364.3354,517.6652,-0.4520,89.2890,-1,-1); //squalo
	//Bikes
	AddStaticVehicle(510,1548.3691,-1668.7664,13.1740,267.6067,-1,-1); //mtbike
	AddStaticVehicle(510,1548.3605,-1670.2118,13.1749,273.6529,-1,-1); //mtbike
	AddStaticVehicle(510,1548.4033,-1680.7461,13.1668,271.5042,-1,-1); //mtbike
	AddStaticVehicle(510,1548.3197,-1682.2015,13.1670,271.5603,-1,-1); //mtbike
	//Tailers
	AddStaticVehicle(435,2784.5933,-2356.6582,14.2394,91.0021,-1,-1); //artict1
	AddStaticVehicle(435,2791.7556,-2521.1323,14.2522,179.7267,-1,-1); //artict1
	
	SetTimer("checkpointUpdate", 1100, 1);
	SetTimer("PropertyScoreUpdate", 1800000, 1);
	SetTimer("TimeUpdate", 600000, 1);
	SetTimer("RandomWeather", 600000, 1);
	SetTimer("MoneyScan", 30000, 1);
	SetTimer("HealthScan", 30000, 1);
	SetTimer("TaxiCheck", 30000, 1);
	SetTimer("SaveData", 300000, 1);
	SetTimer("SettingsExistsCheck", 5000, 1);
	SetTimer("TeamPassExistsCheck", 5000, 1);
	SetTimer("RespectUpdate", 3600000, 1);
	SetTimer("PayDay", 1800000, 1);
	SetTimer("TaxDay", 3600000, 1);
	SetTimer("AdminArea", 3000, 1);
	SetTimer("Area_69", 3000, 1);
	SetTimer("JailUpdate", 60000, 1);
	SetTimer("JailCheck", 30000, 1);
	SetTimer("WantedLevelCheck", 1000, 1);
	SetTimer("ZonesCheck", 1000,1);
	SetTimer("WeaponsCheck", 100,1);
	SetTimer("CountDown", 1000, 1);
	SetTimer("ServerMessages", 600000, 1);
	SetTimer("GotRaped",60000,1);
	SetTimer("BankRobbery",60000,1);
	SetTimer("IdleCheck", 60000, 1);
	SetTimer("DLPointsUpdate", 1800000, 1);
	SetTimer("MoneyScoreUpdate", 1000, 1);

	return 1;
}

public AdminArea()
{
    new i, Float:X, Float:Y, Float:Z;
    new Float:hp;

    for (i = 0; i < MAX_PLAYERS; i++)
    {
        GetPlayerPos(i, X, Y, Z);
        if (X >= 1201.2230 && X <= 1310.6543 && Y >= -844.4100 && Y <= -754.1966)
        {
            if (!IsPlayerAdmin(i) && adminlevel[i] == 0)
            {
                GameTextForPlayer(i,"~r~You're not allowed in the Admin Area! Please login as Admin to access this area.",5000,5);
				GetPlayerHealth(i, hp);
				SetPlayerHealth(i, hp - 25);
            }
        }
    }
}

public Area_69()
{
    new i, Float:X, Float:Y, Float:Z;
    new Float:hp;

    for (i = 0; i < MAX_PLAYERS; i++)
    {
        GetPlayerPos(i, X, Y, Z);
        if (X >= -50.2505 && X <= 414.2039 && Y >= 1655.5337 && Y <= 2128.7136)
        {
            if (gTeam[i] != TEAM_MILITARY)
            {
                GameTextForPlayer(i,"~r~MILITARY PERSONNEL ONLY!~n~You're not authorized to access this area.",5000,5);
				GetPlayerHealth(i, hp);
				SetPlayerHealth(i, hp - 25);
            }
        }
    }
}

public SendPlayerFormattedText(playerid, const str[], define)
{
	new tmpbuf[MAX_STRING];
	format(tmpbuf, sizeof(tmpbuf), str, define);
	SendClientMessage(playerid, 0xFFFF00AA, tmpbuf);
}

public SendAllFormattedText(playerid, const str[], define)
{
	new tmpbuf[MAX_STRING];
	format(tmpbuf, sizeof(tmpbuf), str, define);
	SendClientMessageToAll(0xFFFF00AA, tmpbuf);
}

IsNumeric(const string[])
{
	for (new i=0,j=strlen(string);i<j;i++)
    	if (string[i] > '9' || string[i] < '0') return 0;
	return 1;
}

public OnGameModeExit()
{
	print("*** GAMEMODE EXIT ***");
	
	SaveData();

 	GameModeExit();
}