All pastes #750254 Raw Edit

Anonymous

public text v1 · immutable
#750254 ·published 2007-10-26 11:23 UTC
rendered paste body
#include <a_samp>
#include <core>
#include <float>
#include <time>  //include time


#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 NICE_BLUE 0xa0d3ffAA // Blue

#define PocketMoney 2000  // Amount player recieves on spawn.
#define INACTIVE_PLAYER_ID 255
#define GIVECASH_DELAY 5000 // Time in ms between /givecash commands.

#define NUMVALUES 4

#define CP_BANK 	0
#define CP_PIRATE 	1
#define CP_AMMU     2
#define CP_DRAGON   3
#define CP_SEXSHOP  4
#define CP_BAR      5
#define CP_CALIGULA 6
#define CP_ZIP      7
#define CP_BINCO    8
#define CP_TATOO    9
#define CP_BOTIQUE  10
#define CP_CPD      11
#define CP_CB       12
#define CP_PS       13
#define CP_SC       14
#define CP_LVPD     15
#define CP_SC2      16
#define CP_CL       17
#define CP_VR       18
#define CP_LVA      19
#define CP_LVAP     20
#define CP_LSAP     21
#define CP_MC       22
#define CP_SFAP     23
#define CP_MCU1     24
#define CP_MCU2     25
#define CP_LVRACE   26
#define CP_LVRACE2  27
#define CP_DRAG     28
#define CP_FULLTURN 29
#define CP_ENCLOSE  30
#define CP_FREEWAY  31
#define CP_AIRPORT  32



#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_CPD       8
#define P_CB        9
#define P_PS        10
#define P_SC        11
#define P_LVPD      12
#define P_SC2       13
#define P_CL        14
#define P_VR        15
#define P_LVA       16

#define P_OFFSET    3
#define P_OFFSETRESET 10

#define LVRACE   1
#define LVRACE2  2
#define DRAG     3
#define FULLTURN 4
#define ENCLOSE  5
#define FREEWAY  6
#define AIRPORT  7


new gProgress[MAX_PLAYERS];
new gRacer[MAX_PLAYERS];
new gPosition[100];
new MAX_CHECKPOINTS[100];
new gTrack[MAX_PLAYERS];
new gRaceid;
new gCountdown[MAX_PLAYERS];
new gStartedAt[MAX_PLAYERS];
new gTrackName[100][255];

forward MoneyGrubScoreUpdate();
forward Givecashdelaytimer(playerid);
//forward GrubModeReset();
forward SetPlayerRandomSpawn(playerid);
forward SetupPlayerForClassSelection(playerid);
forward GameModeExitFunc();

//------------------------------------------------------------------------------------------------------

new CashScoreOld;
new iSpawnSet[MAX_PLAYERS];
new bank[MAX_PLAYERS];
new bounty[MAX_PLAYERS];
new taxi[MAX_PLAYERS];
new taxiw[MAX_PLAYERS];
new taxid[MAX_PLAYERS];
new playerCheckpoint[MAX_PLAYERS];
new gambleWarning[MAX_PLAYERS];
new savePos;
new worldTime;


new playerColors[100] = {
0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,0xF4A460FF,0xEE82EEFF,0xFFD720FF,
0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,
0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,
0x275222FF,0xF09F5BFF,0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,
0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,0x4B8987FF,
0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF,
0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,
0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,
0x9F945CFF,0xDCDE3DFF,0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF,
0x3FE65CFF
};

new Float:gRandomPlayerSpawns[23][3] = {
{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},
{2261.9048,2035.9547,10.8203},
{2262.0986,2398.6572,10.8203},
{2244.2566,2523.7280,10.8203},
{2335.3228,2786.4478,10.8203},
{2150.0186,2734.2297,11.1763},
{2158.0811,2797.5488,10.8203},
{1969.8301,2722.8564,10.8203},
{1652.0555,2709.4072,10.8265},
{1564.0052,2756.9463,10.8203},
{1271.5452,2554.0227,10.8203},
{1441.5894,2567.9099,10.8203},
{1480.6473,2213.5718,11.0234},
{1400.5906,2225.6960,11.0234},
{1598.8419,2221.5676,11.0625},
{1318.7759,1251.3580,10.8203},
{1558.0731,1007.8292,10.8125},
//{-857.0551,1536.6832,22.5870},   Out of Town Spawns
//{817.3494,856.5039,12.7891},
//{116.9315,1110.1823,13.6094},
//{-18.8529,1176.0159,19.5634},
//{-315.0575,1774.0636,43.6406},
{1705.2347,1025.6808,10.8203}
};

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


#define MAX_POINTS 33

new Float:checkCoords[MAX_POINTS][4] = {
{-36.5483,-57.9948, -17.2655,-49.2967},     //BANK
{1894.6128,1445.3431, 2084.9739,1637.8186}, //PIRATE
{284.0546,-86.4384, 302.9315,-56.6674},     //AMMUNATION
{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
{354.1828,158.6440,390.2829,188.7615},      //CPD
{363.7367,-11.3938,381.4012,-2.8300},       //CB
{367.0453,-133.5520,380.3069,-112.5561},    //PS
{1200.1404,-16.6151,1224.4087,12.6651},     //SC
{228.7097,140.0703,301.9404,188.8836},      //LVPD
{1205.7062,-41.1395,1216.8735,-24.0164},    //SC2
{473.8706,-24.5357,503.6433,-0.6898},       //CL
{2523.9397,2224.6050,2640.1013,2443.0431},  //VR
{1259.1229,1146.0857,1458.6221,1411.0726},  //LVA
{1662.6826,1360.1789,1715.9807,1533.0400},  //LVAP
{1365.1799,-2657.7188,2170.0657,-2178.8708},//LSAP
{-2368.7004,-1728.8625,-2284.9924,-1570.6517},//MC
{-1596.6924,-472.7937,-1371.6117,-207.4417},//SFAP
{-2093.8022,-1962.6641,-1968.3925,-1854.7412},//MCU1
{-2417.1570,-2261.7832,-2286.8618,-2137.2708},//MCU2
{2057.2068,795.1260,2192.3413,900.7789},     //LVRACE1
{2219.2014,816.7987,2345.2524,907.6171},     //LVRACE2
{1339.7202,1574.3517,1711.5598,1860.3267},   //DRAG
{2723.2661,2263.8979,2951.1128,2508.8557},   //FULLTURN
{2020.0337,1104.0842,2239.7825,1387.2115},   //ENCLOSE
{1129.8506,1576.3555,1254.2544,1892.2421},   //FREEWAY
{1260.1062,1212.9619,1711.8167,1565.5458}    //AIRPORT
};

// race1 cooord4
//2192.3413,2057.2068,900.7789,795.1260 // race1

//AddStaticVehicle(559,2233.9204,767.9291,9.7729,197.6801,42,42); // race1 coord3
//AddStaticVehicle(559,2386.9138,924.4572,10.4433,302.1986,42,42); // race2 cooord4

new Float:checkpoints[MAX_POINTS][4] = {
{-22.2549,-55.6575,1003.5469,2.0},
{2000.3132,1538.6012,13.5859,2.0},
{291.0004,-84.5168,1001.5156,2.0},
{1989.0619,1005.5241,994.4688,2.0},
{-103.5525,-22.4661,1000.7188,2.0},
{501.4927,-75.4323,998.7578,2.0},
{2235.5408,1679.0402,1008.3594,2.0},
{161.1875,-79.9915,1001.8047,2.0},
{207.5640,-97.8188,1005.2578,2.0},
{-203.4864,-41.2045,1002.2734,2.0},
{418.5547,-80.1667,1001.8047,2.0},
{356.1378,173.6132,1008.3828,2.0},
{371.0398,-7.9489,1001.8589,2.0},
{376.7680,-121.7577,1001.4995,2.0},
{1212.4193,-11.1317,1000.9219,2.0},
{239.0575,179.8938,1003.0300,2.0},
{1208.4022,-32.6177,1000.9531,2.0},
{487.8407,-14.1762,1000.6797,2.0},
{2572.9678,2313.4856,17.8222,2.0},
{1319.5208,1252.7446,14.2731,2.0},
{1668.4961,1405.8069,10.7765,2.0},
{1685.5707,-2239.0010,13.5469,2.0},
{-2349.9482,-1621.1665,483.6588,2.0},
{-1424.1118,-288.2368,14.1484,2.0},
{-2048.9172,-1931.0404,52.3793,2.0},
{-2392.2791,-2206.6724,33.2891,2.0},
{2151.3589,851.8388,6.3631,18.0},
{2292.0000,853.2295,6.3612,18.0},
{1478.0313,1777.5648,10.4346,15.0},
{2907.1707,2406.6133,10.4005,15.0},
{2187.4380,1207.0509,10.2941,15.0},
{1239.1427,1695.1627,6.3168,20.0},
{1335.4139,1311.4680,10.4433,20.0}

};

new checkpointType[MAX_POINTS] = {
	CP_BANK,
	CP_PIRATE,
	CP_AMMU,
	CP_DRAGON,
	CP_SEXSHOP,
	CP_BAR,
	CP_CALIGULA,
	CP_ZIP,
	CP_BINCO,
	CP_TATOO,
	CP_BOTIQUE,
	CP_CPD,
	CP_CB,
	CP_PS,
	CP_SC,
	CP_LVPD,
	CP_SC2,
	CP_CL,
	CP_VR,
	CP_LVA,
	CP_LVAP,
	CP_LSAP,
	CP_MC,
	CP_SFAP,
	CP_MCU1,
	CP_MCU2,
	CP_LVRACE,
	CP_LVRACE2,
	CP_DRAG,
	CP_FULLTURN,
	CP_ENCLOSE,
	CP_FREEWAY,
	CP_AIRPORT
};

#define MAX_PROPERTIES	17

new propertyNames[MAX_PROPERTIES][32] = {
	"Four Dragons",
	"Sex Shop",
	"Shithole Bar",
	"Caligula",
	"Zip Shop",
	"Binco Shop",
	"Tatoo Parlor",
	"Botique",
	"City Planning Departement",
	"Cluckin'Bell",
	"The Well Stacked Pizza",
	"The Sex Club (The Old Strip)",
	"Las Venturas Police Department",
	"Strip Club (Come-A-Lot)",
	"Club (The Camel's Toe)",
	"VROCK complex",
	"KLM (je verdient per vlucht)"

};

new propertyValues[MAX_PROPERTIES] = {
	200000,
	40000,
	60000,
	250000,
	70000,
	50000,
	35000,
	20000,
	130000,
	400000,
	500000,
	130000,
	90000,
	60000,
	50000,
	80000,
	210000
};

new propertyEarnings[MAX_PROPERTIES] = {
	3000,
	700,
	850,
	3600,
	1300,
	1100,
	600,
	400,
	2000,
	6000,
	7000,
	1700,
	1500,
	1200,
	1100,
	1600,
	0
};

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

#define MAX_WEAPONS 7
new weaponNames[MAX_WEAPONS][32] = {
	"Shotgun",
	"Combat Shotgun",
	"Micro Uzi",
	"Tec9",
	"MP5",
	"AK47",
	"M4"
};
new weaponIDs[MAX_WEAPONS] = {
	25,     //Shotgun
	27,     //Combat shotgun
	28,     //Micro Uzi
	32,     //Tec9
	29,     //MP5
	30,     //AK47
	31      //M4
};
new weaponCost[MAX_WEAPONS] = {
	7000,
	15000,
	7000,
	5000,
	15000,
	25000,
	30000
};
new weaponAmmo[MAX_WEAPONS] = {
	15,
	20,
	120,
	120,
	120,
	120,
	120
};

#define LVRACE_CHECKPOINTS 21
new Float:gLVRaceCheckpoints[LVRACE_CHECKPOINTS][4] = {
{2151.3589,851.8388,6.3631,15.0}, //LV RACE STARTING LINE
{1753.6545,850.6560,9.5190,15.0}, //first checkpoint
{1568.6921,833.5577,6.3990,15.0}, //second check
{1287.6051,905.6605,6.4374,15.0},
{1226.4041,1334.8127,6.3621,15.0},
{1209.0433,1502.7931,6.3621,15.0},
{1263.7335,1732.5851,8.0399,15.0},
{1401.9918,1872.6542,10.3007,15.0},
{1707.2323,1886.4031,10.2967,15.0},
{1728.4037,2053.3477,10.2970,15.0},
{1956.9373,2022.1593,10.2968,15.0},
{2176.9705,2137.1475,10.2968,15.0},
{2349.7729,2179.5166,10.3058,25.0}, //bigish
{2287.6816,2291.3613,10.3413,15.0},
{2271.7271,2413.7090,10.3006,15.0},
{2189.2878,2325.5537,10.2968,15.0},
{2074.8704,1758.3037,10.2968,15.0},
{2047.5907,1587.5190,10.2968,15.0},
{2061.5239,1531.0094,10.2968,15.0},
{2047.8118,1361.2373,10.2968,15.0},
{2046.0575,861.8326,6.3588,25.0} //FINISH!
};


#define LVRACE2_CHECKPOINTS 30
new Float:gLVRace2Checkpoints[LVRACE2_CHECKPOINTS][4] = {
{2292.0000,853.2295,6.3612,15.0},
{2672.6125,985.5797,6.3584,15.0},
{2680.1172,1379.5313,7.0318,15.0},
{2605.0435,1472.8322,10.4544,15.0},
{2548.1641,1451.3032,10.2968,15.0},
{2528.8911,1287.0098,10.2969,15.0},
{2515.0671,1193.8060,10.2967,15.0},
{2227.8516,1241.7512,10.2968,15.0},
{2246.8247,1412.3350,10.3007,15.0},
{2264.8145,1532.9839,10.2968,15.0},
{2260.0530,1533.0015,10.2991,15.0},
{2327.4248,1549.9917,10.2968,15.0},
{2341.7393,1612.9847,10.2969,15.0},
{2546.9839,1625.5905,10.2969,15.0},
{2506.9165,1741.3983,10.2959,15.0},
{2526.2810,2078.9180,10.2968,15.0},
{2511.9631,2135.4175,10.2967,15.0},
{2350.4355,1998.8438,10.2352,15.0},
{2293.0757,1894.1865,10.2968,15.0},
{2146.3867,1863.9653,10.3037,15.0},
{1981.5674,1712.7384,10.2960,15.0},
{1567.6030,1733.9701,10.2968,15.0},
{1471.7648,1872.7172,10.2978,15.0},
{1249.8389,1813.4238,12.2259,15.0},
{1007.4941,1789.1084,10.2966,15.0},
{1008.0173,1263.4282,10.2958,15.0},
{1170.4558,1176.4430,10.3949,15.0},
{1207.7604,1075.0952,6.4374,15.0},
{1514.8815,851.9245,6.4366,15.0},
{1973.7041,850.5347,6.3517,15.0}
};

#define DRAG_CHECKPOINTS 2
new Float:gDragCheckpoints[DRAG_CHECKPOINTS][4] = {
{1478.0313,1777.5648,10.4346,15.0},
{1477.4385,1320.3451,10.4456,15.0}
};

#define FULLTURN_CHECKPOINTS 23
new Float:gFullTurnCheckpoints[FULLTURN_CHECKPOINTS][4] = {
{2907.1707,2406.6133,10.4005,15.0}, //race1 start
{2848.6821,2234.1079,10.2948,15.0}, //check1
{2847.8733,2070.4319,10.2974,15.0},
{2828.0847,1975.5433,10.2960,15.0},
{2672.8003,1951.6693,11.3938,15.0},
{2489.7747,1969.3590,10.2975,15.0},
{2357.3093,1957.5857,10.3005,15.0},
{2297.6909,1893.1490,10.2949,15.0},
{2154.1106,1904.3524,10.2950,15.0},
{2148.8367,2057.1125,10.3039,15.0},
{2148.2568,2188.1633,10.2961,15.0},
{2191.7668,2327.8037,10.2952,15.0},
{2228.0015,2477.6013,10.3034,15.0},
{2251.4468,2513.2791,10.2949,15.0},
{2394.4265,2513.3110,10.3540,15.0},
{2474.9592,2513.0181,10.4309,15.0},
{2528.3340,2488.9541,10.4441,15.0},
{2527.4434,2378.1226,10.2993,15.0},
{2541.6848,2232.6526,10.2953,15.0},
{2641.8872,2290.1973,10.2947,15.0},
{2797.1089,2294.5388,10.3165,15.0},
{2902.7891,2299.5833,10.2947,15.0},
{2906.9424,2403.9465,10.3297,15.0} //FINISH
};

#define ENCLOSE_CHECKPOINTS 32
new Float:gEncloseCheckpoints[ENCLOSE_CHECKPOINTS][4] = {
{2187.4380,1207.0509,10.2941,15.0},
{2181.7495,1152.6239,11.4193,15.0},
{2139.0605,1073.6729,11.8901,15.0},
{2075.8535,1051.5021,10.2872,15.0},
{2069.7153,1145.7050,10.3039,15.0},
{2051.0618,1207.5472,10.2961,15.0},
{2046.2145,1423.3301,10.2961,15.0},
//{2066.0078,1465.9922,10.2960,15.0},
{2053.0798,1541.2687,10.2960,15.0},
{2049.4795,1701.5417,10.2961,15.0},
{2116.5435,1837.6656,10.2961,15.0},
{2128.8782,1966.9749,10.3211,15.0},
{2127.1077,2118.2327,10.2960,15.0},
{2127.8813,2224.1440,10.2959,15.0},
{2072.3218,2313.3286,10.2948,15.0},
{2028.2240,2408.7466,10.2969,15.0},
{2041.2173,2452.1567,10.2949,15.0},
{2121.9824,2452.9285,10.2960,15.0},
{2226.4033,2437.6785,10.2926,15.0},
{2214.7600,2362.1882,10.2961,15.0},
{2164.1077,2290.1396,10.2976,15.0},
{2147.2456,2122.8555,10.2961,15.0},
{2148.2808,1982.2407,10.2987,15.0},
{2135.8943,1841.2278,10.3001,15.0},
{2085.1406,1772.8593,10.2963,15.0},
{2048.5164,1689.2438,10.2961,15.0},
{2047.9674,1572.2931,10.2961,15.0},
{2048.4014,1506.6959,10.2961,15.0},
{2064.2258,1440.9530,10.2962,15.0},
{2091.5720,1373.2731,10.2952,15.0},
{2149.9819,1373.5031,10.2968,15.0},
{2225.5425,1351.5120,10.4188,15.0},
{2227.3210,1278.1823,10.2961,15.0}
};

#define FREEWAY_CHECKPOINTS 30
new Float:gFreewayCheckpoints[FREEWAY_CHECKPOINTS][4] = {
{1239.1427,1695.1627,6.3168,20.0},
{1226.3138,1601.5934,6.3585,20.0},
{1224.6870,1334.1022,6.3585,20.0},
{1224.9535,1093.8094,6.4366,20.0},
{1373.5900,859.4901,6.4366,20.0},
{1480.3903,840.0465,6.4331,20.0},
{1657.9940,834.3144,6.3807,20.0},
{1900.6215,833.3372,7.5685,20.0},
{2064.5989,833.2748,6.3585,20.0},
{2181.0193,810.4846,6.3679,20.0},
{2295.9771,765.2249,10.3628,20.0},
{2378.4038,807.1584,7.1340,20.0},
{2486.1809,838.0077,6.3575,20.0},
{2652.8877,948.6396,6.3531,20.0},
{2706.2939,1125.8922,6.3586,20.0},
{2706.1467,1353.7439,6.3585,20.0},
{2709.1023,1671.8213,6.3623,20.0},
{2708.8352,2020.2767,6.3582,20.0},
{2723.1846,2165.8037,6.3683,20.0},
{2723.8447,2329.2424,6.3586,20.0},
{2668.4348,2447.2083,6.3586,20.0},
{2549.8311,2564.8225,4.5320,20.0},
{2443.1423,2605.3872,5.6154,20.0},
{2164.1670,2584.8892,6.3962,20.0},
{1894.5842,2507.6167,6.4288,20.0},
{1637.9525,2457.5022,6.4601,20.0},
{1471.5781,2454.2603,6.3585,20.0},
{1307.0748,2413.2354,6.3597,20.0},
{1227.7690,2095.6714,6.3650,20.0},
{1226.8463,1826.5822,6.3573,20.0}
};

#define AIRPORT_CHECKPOINTS 25
new Float:gAirportCheckpoints[AIRPORT_CHECKPOINTS][4] = {
{1335.4139,1311.4680,10.4433,20.0},
{1371.9209,1383.0455,10.4432,20.0},
{1384.8876,1524.5031,10.4359,20.0},
{1394.5297,1667.1444,10.4443,20.0},
{1455.2517,1726.9674,10.4432,20.0},
{1475.7906,1648.5292,10.4367,20.0},
{1483.4435,1395.6781,10.4493,20.0},
{1462.8909,1291.8767,10.4444,20.0},
{1404.7726,1293.1791,10.4431,20.0},
{1371.9209,1383.0455,10.4432,20.0},
{1384.8876,1524.5031,10.4359,20.0},
{1394.5297,1667.1444,10.4443,20.0},
{1455.2517,1726.9674,10.4432,20.0},
{1475.7906,1648.5292,10.4367,20.0},
{1483.4435,1395.6781,10.4493,20.0},
{1462.8909,1291.8767,10.4444,20.0},
{1404.7726,1293.1791,10.4431,20.0},
{1371.9209,1383.0455,10.4432,20.0},
{1384.8876,1524.5031,10.4359,20.0},
{1394.5297,1667.1444,10.4443,20.0},
{1455.2517,1726.9674,10.4432,20.0},
{1475.7906,1648.5292,10.4367,20.0},
{1483.4435,1395.6781,10.4493,20.0},
{1462.8909,1291.8767,10.4444,20.0},
{1345.2095,1292.1434,10.4436,20.0}
};


new playerWeapons[MAX_PLAYERS][MAX_WEAPONS];

#define MAX_CASINO      3
new Float:gambleAreas[MAX_CASINO][4] = {
	{1928.1771,987.5739, 1970.5675,1042.8369},
	{2171.3618,1584.2649, 2279.4915,1628.6199},
	{1117.5068,-11.2747, 1142.4843,12.5986}
};

#define MAX_SAVE 64
new savedInfo[MAX_SAVE][4];
new savedNames[MAX_SAVE][MAX_PLAYER_NAME];
new savedWeapons[MAX_SAVE][MAX_WEAPONS];

#define MAX_GANGS 			32
#define MAX_GANG_MEMBERS	6
#define MAX_GANG_NAME       16
new gangMembers[MAX_GANGS][MAX_GANG_MEMBERS];
new gangNames[MAX_GANGS][MAX_GANG_NAME];
new gangInfo[MAX_GANGS][3]; //0-created,1-members,2-color
new gangBank[MAX_GANGS];
new playerGang[MAX_PLAYERS];
new gangInvite[MAX_PLAYERS];

//Round code stolen from mike's Manhunt :P
//new gRoundTime = 3600000;                   // Round time - 1 hour
//new gRoundTime = 1200000;					// Round time - 20 mins
//new gRoundTime = 900000;					// Round time - 15 mins
//new gRoundTime = 600000;					// Round time - 10 mins
//new gRoundTime = 300000;					// Round time - 5 mins
//new gRoundTime = 120000;					// Round time - 2 mins
//new gRoundTime = 60000;					// Round time - 1 min

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

//------------------------------------------------------------------------------------------------------

main()
{
		print("\n----------------------------------");
		print("  Running LVDM ~MoneyGrub(+LandGrab)\n");
		print("         Coded By");
		print("            Jax (+Sintax)");
		print("NL versie 1.2 (12 gebouwen)");
		print("Vertaling door Fireburn");
		print("----------------------------------\n");
		worldTime = 12;
}

//------------------------------------------------------------------------------------------------------

public PlayerLeaveGang(playerid) {
	new string[256];
	new playername[MAX_PLAYER_NAME];
	new gangnum = playerGang[playerid];

    if(gangnum > 0) {
		for(new i = 0; i < gangInfo[gangnum][1]; i++) {
			if(gangMembers[gangnum][i]==playerid) {

			    //One less gang member
			    gangInfo[gangnum][1]--;

      		    for(new j = i; j < gangInfo[gangnum][1]; j++) {
				    //Shift gang members
				    gangMembers[gangnum][j]=gangMembers[gangnum][j+1];
	    		}

			    //Disband gang if no more members
			    if(gangInfo[gangnum][1]<1) {
			        gangInfo[gangnum][0]=0;
			        gangInfo[gangnum][1]=0;
			        gangBank[gangnum]=0;
       			}

				//Notify other members
				for(new j = 0; j < gangInfo[gangnum][1]; j++) {
				    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
					format(string, sizeof(string),"%s is uit je clan gegaan.", playername);
					SendClientMessage(gangMembers[gangnum][j], COLOR_ORANGE, string);
				}

				format(string, sizeof(string),"Jij bent uit de gang '%s' gegaan (id: %d)", gangNames[gangnum], gangnum);
				SendClientMessage(playerid, COLOR_ORANGE, string);

				playerGang[playerid]=0;

				SetPlayerColor(playerid,playerColors[playerid]);

				return;
			}
		}
	} else {
		SendClientMessage(playerid, COLOR_RED, "Je zit niet in een gang.");
	}
}

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 PayPlayerInArea(playerID, Float:x1, Float:y1, Float:x2, Float:y2, cash)
{

	if(IsPlayerConnected(playerID))
	{
		new Float:X, Float:Y, Float:Z;

		GetPlayerPos(playerID, X, Y, Z);
		if(X >= x1 && X <= x2 && Y >= y1 && Y <= y2)
		{
			GivePlayerMoney(playerID, cash);
			return 1;
		}
	}
	return 0;
}
//------------------------------------------------------------------------------------------------------

public TimeUpdate() {
	worldTime++;
	worldTime%=24;
	SetWorldTime(worldTime);
}

//------------------------------------------------------------------------------------------------------

public PirateShipScoreUpdate()
{
	for(new i=0; i<MAX_PLAYERS; i++)
	{
		PayPlayerInArea(i, 1995.5, 1518.0, 2006.0, 1569.0, 100);
//		{
//            SendClientMessage(i, COLOR_YELLOW, "You earned money for holding the pirate ship.");
//		}
	}
}

//------------------------------------------------------------------------------------------------------

public GambleUpdate()
{
	for(new i=0; i<MAX_PLAYERS; i++)
	{
	    if(IsPlayerConnected(i)) {
	        for(new j=0; j < MAX_CASINO; j++) {
	            if(isPlayerInArea(i,gambleAreas[j])) {
					gambleWarning[i]++;
					GameTextForPlayer(i,"~r~NO GAMBLING ~g~Gamblers will be ~r~SHOT",10000,5);
					if(gambleWarning[i] > 3) {
						SetPlayerHealth(i,0);
						ResetPlayerMoney(i);
					}
				}
     		}
       	}
	}
}

//------------------------------------------------------------------------------------------------------

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[256];


			GivePlayerMoney(owners[i], payments[i]);
			format(string, sizeof(string), "Je hebt $%d verdiend van je gebouwen.", payments[i]);
			SendClientMessage(owners[i], COLOR_GREEN, string);

		}
	}

}


//------------------------------------------------------------------------------------------------------

public SavedUpdate()
{
	for(new i = 0; i < MAX_SAVE; i++) {
		if(savedInfo[i][3] < 5) {
			if(savedInfo[i][3]==4) {
				savedInfo[i][0]=savedInfo[i][1]=savedInfo[i][2]=0;
				savedNames[i][0]=0;
			}
			savedInfo[i][3]++;
		}
	}
}


//------------------------------------------------------------------------------------------------------

public MoneyGrubScoreUpdate()
{
	new CashScore;
	new name[MAX_PLAYER_NAME];
	//new string[256];
	for(new i=0; i<MAX_PLAYERS; i++)
	{
		if (IsPlayerConnected(i))
		{
			GetPlayerName(i, name, sizeof(name));
   			CashScore = GetPlayerMoney(i);
			SetPlayerScore(i, CashScore);
			if (CashScore > CashScoreOld)
			{
				CashScoreOld = CashScore;
				//format(string, sizeof(string), "$$$ %s is now in the lead $$$", name);
				//SendClientMessageToAll(COLOR_YELLOW, string);
			}
		}
	}
}

//------------------------------------------------------------------------------------------------------

/*public GrubModeReset()
{
	for(new i=0; i<MAX_PLAYERS; i++)
	{
		if (IsPlayerConnected(i))
		{
			SetPlayerScore(i, PocketMoney);
			SetPlayerRandomSpawn(i, classid);
		}
	}

}*/

//------------------------------------------------------------------------------------------------------

public OnPlayerConnect(playerid)
{
	new playrname[MAX_PLAYER_NAME];

	GameTextForPlayer(playerid,"~w~SA-MP: ~r~Las Venturas ~g~MoneyGrub~b~(+LandGrab)",5000,5);
	SendPlayerFormattedText(playerid, "Welkom in Las Venturas MoneyGrub(+LandGrab)", 0);
	SendClientMessage(playerid, COLOR_GREEN, "Typ /informatie voor informatie.");
	gActivePlayers[playerid]++;
	gLastGaveCash[playerid] = GetTickCount();

	playerCheckpoint[playerid]=999;
	bank[playerid]=0;
	taxi[playerid]=0;
	playerGang[playerid]=0;
	gangInvite[playerid]=0;

	GetPlayerName(playerid, playrname, sizeof(playrname));
	for(new i = 0; i < MAX_SAVE; i++) {

	    if(isStringSame(savedNames[i], playrname, MAX_PLAYER_NAME)) {
			GivePlayerMoney(playerid, savedInfo[i][0]);
			bank[playerid] = savedInfo[i][1];
			bounty[playerid] = savedInfo[i][2];

			savedInfo[i][0]=savedInfo[i][1]=savedInfo[i][2]=0;
			savedNames[i][0]=0;

			for(new j = 0; j < MAX_WEAPONS; j++) {
				playerWeapons[playerid][j]=savedWeapons[i][j];
				savedWeapons[i][j]=0;
			}

			SendClientMessage(playerid, COLOR_GREEN, "Je geld is hersteld.");
		}
	}

	return 1;
}

//------------------------------------------------------------------------------------------------------
public OnPlayerDisconnect(playerid)
{
	new playername[MAX_PLAYER_NAME];

	gActivePlayers[playerid]--;

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

	//Save temp info for timeouts/crashes
	GetPlayerName(playerid, playername, sizeof(playername));
	format(savedNames[savePos], MAX_PLAYER_NAME, "%s",playername);

	savedInfo[savePos][0] = GetPlayerMoney(playerid);
	savedInfo[savePos][1] = bank[playerid];
	savedInfo[savePos][2] = bounty[playerid];
	savedInfo[savePos][3] = 0;

	for(new i = 0; i < MAX_WEAPONS; i++)
		savedWeapons[savePos][i]=playerWeapons[playerid][i];
	//
	savePos++;
	if(savePos >= MAX_SAVE)
	    savePos = 0;

	PlayerLeaveGang(playerid);
	bounty[playerid] = 0;

	for(new i = 0; i < MAX_WEAPONS;i++) {
		playerWeapons[playerid][i]=0;
	}
}
//------------------------------------------------------------------------------------------------------

public OnPlayerCommandText(playerid, cmdtext[])
{
	new string[256];
	new playermoney;
	new sendername[MAX_PLAYER_NAME];
	new giveplayer[MAX_PLAYER_NAME];
	new cmd[256];
	new giveplayerid, moneys, idx, weaponid;


	cmd = strtok(cmdtext, idx);

	//------------------- /help

		if(strcmp(cmd, "/informatie", true) == 0) {
		SendClientMessage(playerid, COLOR_GREEN,"MoneyGrub(+LandGrab) Help");
		SendClientMessage(playerid, COLOR_YELLOW,"Dit is een vrije mode waar je mensen kan vermoorden om geld te verdienen. Dit is niet alles:");
		SendClientMessage(playerid, COLOR_YELLOW,"Je kan op het piratenschip aan de Strip staan om geld te krijgen. Je kan ook");
		SendClientMessage(playerid, COLOR_YELLOW,"gebouwen kopen om een vast inkomen te krijgen, elk gebouw dat een functie heeft is te kopen.");
		SendClientMessage(playerid, COLOR_YELLOW,"type /gebouwenhelp voor meer info. Ook zijn er verschillende vormen van vervoer, typ /vervoer.");
		SendClientMessage(playerid, COLOR_YELLOW,"Je kan naar banken in 24/7 supermarkten om je geld daar te bewaren.");
		SendClientMessage(playerid, COLOR_YELLOW,"Je kan het command /hitman gebruiken om een prijs op iemands hoofd te zetten en");
		SendClientMessage(playerid, COLOR_YELLOW,"/doneer om geld naar iemand te sturen. In de ammunation kan je normale wapens");
		SendClientMessage(playerid, COLOR_YELLOW,"kopen en wapens kopen die je bij elke spawn hebt.");
		SendClientMessage(playerid, COLOR_ORANGE,"Typ /commands voor alle gamemode commands, en /gangcommands voor alle gangcommands.");
		return 1;
	}


	    if(strcmp(cmd, "/commands", true) == 0) {
		SendClientMessage(playerid, COLOR_GREEN,"Beschikbare commands:");
		SendClientMessage(playerid, COLOR_YELLOW,"/storten [bedrag], /pinnen [bedrag], /saldo");
		SendClientMessage(playerid, COLOR_YELLOW,"/doneer [playerid] [bedrag]");
		SendClientMessage(playerid, COLOR_YELLOW,"/hitman [playerid] [bedrag]");
		SendClientMessage(playerid, COLOR_YELLOW,"/premie [playerid]");
		SendClientMessage(playerid, COLOR_YELLOW,"/koop, /gebouwen");
		SendClientMessage(playerid, COLOR_YELLOW,"/koopwapen, /wapenlijst");
		SendClientMessage(playerid, COLOR_YELLOW,"/premies, /gangs");
		SendClientMessage(playerid, COLOR_YELLOW,"/meercommands, /vervoer");
		return 1;
	}

		if(strcmp(cmd, "/meercommands", true) == 0) {
		SendClientMessage(playerid, COLOR_GREEN,"Beschikbare commands:");
		SendClientMessage(playerid, COLOR_YELLOW,"/dive (parachutespringen vanaf 650 meter)");
		SendClientMessage(playerid, COLOR_YELLOW,"/lockcar (zet je auto op slot)");
		SendClientMessage(playerid, COLOR_YELLOW,"/unlockcar (haal je auto van het slot af)");
		SendClientMessage(playerid, COLOR_YELLOW,"/cardive (kom met je auto 650 meter boven de grond)");
		return 1;
	}

		if(strcmp(cmd, "/gebouwenhelp", true) == 0) {
		SendClientMessage(playerid, COLOR_GREEN,"Hulp met gebouwen:");
		SendClientMessage(playerid, COLOR_YELLOW,"Gebouwen zijn erg handig in deze gamemode. Ze geven je een");
		SendClientMessage(playerid, COLOR_YELLOW,"vast inkomen, waardoor je zeker bent dat je geld verdiend.");
		SendClientMessage(playerid, COLOR_YELLOW,"Sommige gebouwen geven je geen vast bedrag, zoals de vliegmaatschappij,");
		SendClientMessage(playerid, COLOR_YELLOW,"maar, daar verdien je wel 2000$ per keer mee als iemand vliegt.");
		SendClientMessage(playerid, COLOR_YELLOW,"Ook kan je huizen <nognietklaar> kopen. De meeste huizen zijn van jou alleen, en enkel jij kan erin.");
		SendClientMessage(playerid, COLOR_YELLOW,"In huizen kan je fullhealth krijgen, er zit een priv bank, en je kan er een wapen pakken.");
		SendClientMessage(playerid, COLOR_YELLOW,"Huizen zijn erg handig als je even wil vluchten van anderen.");
		return 1;
	}

	if(strcmp(cmd, "/vervoer", true) == 0) {
		SendClientMessage(playerid, COLOR_GREEN,"Hulp met vervoer:");
		SendClientMessage(playerid, COLOR_YELLOW,"In deze gamemode zijn er veel vormen van vervoer.");
		SendClientMessage(playerid, COLOR_YELLOW,"Zo kan je in Las Venturas met taxi's naar ongeveer elke plek,");
		SendClientMessage(playerid, COLOR_YELLOW,"en in de andere steden naar belangrijke plekken zoals, de tune-shop.");
		SendClientMessage(playerid, COLOR_YELLOW,"Ook kan je met de trein van elk station naar een ander station, voor 1000$,");
		SendClientMessage(playerid, COLOR_YELLOW,"en kan je vanaf ieder vliegveld naar andere grote luchthavens vliegen.");
		SendClientMessage(playerid, COLOR_YELLOW,"Type /locaties voor alle locaties waar je heen kan. <alleenvliegenklaar>");
		SendClientMessage(playerid, COLOR_YELLOW,"Al deze bedrijven zijn ook te koop, waardoor je al snel een goed inkomen krijgt.");
		return 1;
	}
	
		if(strcmp(cmd, "/racehelp", true) == 0) {
		SendClientMessage(playerid, COLOR_GREEN,"Available commands:");
		SendClientMessage(playerid, COLOR_YELLOW,"/startrace (starts race if inside the checkpoint)");
		SendClientMessage(playerid, COLOR_YELLOW,"/leaverace (leaves current race)");
		SendClientMessage(playerid, NICE_BLUE, "Find a race start and type /startrace to start the countdown.");
		SendClientMessage(playerid, NICE_BLUE, "There are currently 7 Races. 3 near Four Dragons. 2 near the Airport. 1 NE Pizza/Bell. 1 NW freeway.");
		return 1;
	}

if(strcmp(cmd, "/locaties", true) == 0) {
		SendClientMessage(playerid, COLOR_GREEN,"Locaties:");
		SendClientMessage(playerid, COLOR_YELLOW,"Vliegtuig locaties: [/LV (Las Venturas) /LS (Los Santos).");
		SendClientMessage(playerid, COLOR_YELLOW,"/SF (San Fierro) /MC (Mount Chilliad)");
		return 1;
	}

	if(strcmp(cmd, "/gangcommands", true) == 0) {
		SendClientMessage(playerid, COLOR_GREEN,"Gang commands:");
		SendClientMessage(playerid, COLOR_YELLOW,"/gang maak [naam]");
		SendClientMessage(playerid, COLOR_YELLOW,"/gang join");
		SendClientMessage(playerid, COLOR_YELLOW,"/gang uitnodigen [playerID]");
		SendClientMessage(playerid, COLOR_YELLOW,"/gang verlaten");
		SendClientMessage(playerid, COLOR_YELLOW,"/ganginfo [gang-ID] (Als er geen nummer is gegeven krijg je je eigen gang-info.)");
		SendClientMessage(playerid, COLOR_YELLOW,"/gstorten [bedrag] /gpinnen [bedrag] /gsaldo");
		SendClientMessage(playerid, COLOR_YELLOW,"! (Zet dit voor je tekst, en je krijgt gangchat)");
		return 1;
	}


if (strcmp(cmdtext, "/close", true)==0 || strcmp(cmdtext, "/lockcar", true) == 0 || strcmp(cmdtext, "/carlock", true) == 0)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
            new Stat5 ;
            Stat5=GetPlayerState(playerid);
            if(Stat5!=PLAYER_STATE_DRIVER)
            {
                SendClientMessage(playerid,COLOR_GREY,"Only the driver can lock the car!");
                return 1;
            }
            new i;
            for(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 are not in a Car!");
        }
    return 1;
    }
 
if (strcmp(cmdtext, "/open", true)==0 || strcmp(cmdtext, "/unlockcar", true) == 0 || strcmp(cmdtext, "/carunlock", true) == 0  || strcmp(cmdtext, "/unlock", true) == 0)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
            new Stat6 ;
            Stat6 = GetPlayerState(playerid);
            if(Stat6!=PLAYER_STATE_DRIVER)
            {
                                SendClientMessage(playerid,COLOR_GREY,"Only the driver can open the car!");
                      return 1;
            }
            new i;
            for(i=0;i<MAX_PLAYERS;i++)
            {
					SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 0);
            }
            SendClientMessage(playerid, COLOR_GREY, "You've opened your car.");
        }
        else
        {
            SendClientMessage(playerid, COLOR_GREY, "You ar not in a Car!");
        }
        return 1;
        }
	//------------------- /bank

	if(strcmp(cmd, "/storten", true) == 0 || strcmp(cmd, "/gstorten", true) == 0) {
	    new gang;
	    if(strcmp(cmd, "/gstorten", true) == 0)
	        gang = 1;

	    if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK) {
	        SendClientMessage(playerid, COLOR_YELLOW, "Je moet in een bank zijn om dit te gebruiken. Banken zijn in 24/7 supermarkten.");
			return 1;
		}

		if(gang && playerGang[playerid]==0) {
			SendClientMessage(playerid, COLOR_RED, "Je zit niet in een gang!");
			return 1;
		}

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

	    if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "Gebruik: /(g)storten [bedrag]");
			return 1;
	    }
	    moneys = strval(tmp);

	    if(moneys < 1) {
			SendClientMessage(playerid, COLOR_YELLOW, "Je hebt dit geld niet!");
			return 1;
		}

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

		GivePlayerMoney(playerid, 0-moneys);

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

		if(gang)
			format(string, sizeof(string), "Je hebt $%d gestort, je gangsaldo is $%d.", moneys, gangBank[playerGang[playerid]]);
		else
			format(string, sizeof(string), "Je hebt $%d gestort, je saldo is $%d.", moneys, bank[playerid]);

		SendClientMessage(playerid, COLOR_YELLOW, string);

		return 1;
	}

	//------------------- /withdraw

	if(strcmp(cmd, "/pinnen", true) == 0 || strcmp(cmd, "/gpinnen", true) == 0) {
	    new gang;

	    if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK) {
	        SendClientMessage(playerid, COLOR_YELLOW, "Je moet in een bank zijn om dit te gebruiken. Banken zijn in 24/7 supermarkten.");
			return 1;
		}

		if(strcmp(cmd, "/gpinnen", true) == 0)
		    gang = 1;

		if(gang && playerGang[playerid]==0) {
			SendClientMessage(playerid, COLOR_RED, "Je zit niet in een gang!");
			return 1;
		}

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

	    if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "Gebruik: /(g)pinnen [bedrag]");
			return 1;
	    }
	    moneys = strval(tmp);

	    if(moneys < 1) {
			SendClientMessage(playerid, COLOR_YELLOW, "Wat probeer je hier te doen?");
			return 1;
		}

	    if(gang) {
			if(moneys > gangBank[playerGang[playerid]])
			    moneys = gangBank[playerGang[playerid]];
	    } else {
		    if(moneys > bank[playerid])
		        moneys = bank[playerid];
     	}

		GivePlayerMoney(playerid, moneys);
		if(gang)
			gangBank[playerGang[playerid]] -= moneys;
		else
			bank[playerid] -= moneys;

		if(gang)
			format(string, sizeof(string), "Je hebt $%d gepind, het saldo van je gang is $%d.", moneys, gangBank[playerGang[playerid]]);
		else
			format(string, sizeof(string), "Je hebt $%d gepind, je saldo is $%d.", moneys, bank[playerid]);
		SendClientMessage(playerid, COLOR_YELLOW, string);

		return 1;
   	}

	//------------------- /balance

	if(strcmp(cmd, "/saldo", true) == 0 || strcmp(cmd, "/gsaldo", true) == 0) {
		new gang;
		if(strcmp(cmd, "/gsaldo", true) == 0)
			gang = 1;

	    if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK) {
	        SendClientMessage(playerid, COLOR_YELLOW, "Je moet bij een bank zijn om dit command te gebruiken. Banken zijn in 24/7 supermarkten.");
			return 1;
		}

		if(gang && playerGang[playerid]==0) {
			SendClientMessage(playerid, COLOR_RED, "Je zit niet in een gang!");
			return 1;
		}

		if(gang)
			format(string, sizeof(string), "Je gang heeft $%d op de bank.", gangBank[playerGang[playerid]]);
		else
			format(string, sizeof(string), "Jij hebt $%d op de bank.", bank[playerid]);
		SendClientMessage(playerid, COLOR_YELLOW, string);

		return 1;
	}



	//------------------- /givecash

	if(strcmp(cmd, "/doneer", true) == 0) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "Gebruik: /doneer [playerid] [bedrag]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "Gebruik: /doneer [playerid] [bedrag]");
			return 1;
		}
 		moneys = strval(tmp);

		//printf("givecash_command: %d %d",giveplayerid,moneys);


		if (IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
			playermoney = GetPlayerMoney(playerid);
			if (moneys > 0 && playermoney >= moneys) {
				GivePlayerMoney(playerid, (0 - moneys));
				GivePlayerMoney(giveplayerid, moneys);
				format(string, sizeof(string), "Je hebt %s (id: %d) $%d gedoneerd.", giveplayer,giveplayerid, moneys);
				SendClientMessage(playerid, COLOR_YELLOW, string);
				format(string, sizeof(string), "Je hebt $%d gekregen van %s (id: %d).", moneys, sendername, playerid);
				SendClientMessage(giveplayerid, COLOR_YELLOW, string);
				printf("%s(playerid:%d) heeft %d gedoneerd naar %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
			}
			else {
				SendClientMessage(playerid, COLOR_YELLOW, "Ongeldige donatie invoer.");
			}
		}
		else {
				format(string, sizeof(string), "%d is op dit moment niet actief.", giveplayerid);
				SendClientMessage(playerid, COLOR_YELLOW, string);
			}
		return 1;
	}

	//------------------- /dive
           	if(strcmp(cmd, "/dive", true) == 0) {
           if (GetPlayerMoney(playerid) > 999){
           GivePlayerMoney(playerid,-1000);
           new Float:x;
           new Float:y;
           new Float:zpos;
           GivePlayerWeapon(playerid,46,1);
           GetPlayerPos(playerid,x,y,zpos);
           if( (zpos+650) > 650 ){ zpos = 0; }
           SetPlayerPos(playerid,x,y,zpos+650);
           GameTextForPlayer(playerid,"Springen!!",2000,5);
           }
           else{
           SendClientMessage(playerid,COLOR_RED,"Je hebt niet genoeg geld.");
           }
           return 1;
           }

	//------------------- /cardive
	       if(strcmp(cmd, "/cardive", true) == 0) {
           new Float:x;
           new Float:y;
           new Float:zpos;

		   new State = GetPlayerState(playerid);
           if(State == PLAYER_STATE_DRIVER)
		   {
           if (GetPlayerMoney(playerid) < 1500)
           SendClientMessage(playerid,COLOR_RED,"Je hebt niet genoeg geld.");
           else
           if(IsPlayerInVehicle(playerid,115))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,116))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,158))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,143))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,57))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,72))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,81))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,82))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,84))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,89))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,90))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,91))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,94))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,101))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,153))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,156))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,55))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,56))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,59))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,60))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,68))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,69))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,70))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,100))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,103))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,104))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,148))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,149))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,154))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,191))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,192))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,65))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,66))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInVehicle(playerid,67))
           SendClientMessage(playerid,COLOR_RED,"Je kan niet cardiven met dit voertuig.");
           else
           if(IsPlayerInAnyVehicle(playerid)) {
		   {
           GivePlayerMoney(playerid,-1500);
	       new vehicleid=GetPlayerVehicleID(playerid);
           GetPlayerPos(playerid,x,y,zpos);
           if( (zpos+650) > 650 ){ zpos = 0; }
	       SetVehiclePos(vehicleid, x, y, zpos+650);

           GameTextForPlayer(playerid,"Springen!!",2000,5);
           }
           }
           else{
           SendClientMessage(playerid,COLOR_RED,"Je zit niet in een auto.");
           }
		   }
		   else{
		   SendClientMessage(playerid,COLOR_RED,"Je bent niet de bestuurder.");
		   }
           return 1;
           }

	//------------------- /hitman

	if(strcmp(cmd, "/hitman", true) == 0) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);

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

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "Gebruik: /hitman [playerid] [bedrag]");
			return 1;
		}
 		moneys = strval(tmp);

	    if(moneys > GetPlayerMoney(playerid)) {
			SendClientMessage(playerid, COLOR_RED, "Je hebt niet genoeg geld!");
			return 1;
	    }
	    if(moneys < 1) {
			SendClientMessage(playerid, COLOR_YELLOW, "Wat probeer je hier te doen?");
			return 1;
		}
		if(IsPlayerConnected(giveplayerid)==0) {
			SendClientMessage(playerid, COLOR_RED, "Deze speler bestaat niet.");
			return 1;
		}

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

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

//		format(string, sizeof(string), "Je hebt een bedrag van $%d uitgeloofd voor het vermoorden van %s (id: %d).", moneys, giveplayer,giveplayerid);
//		SendClientMessage(playerid, COLOR_YELLOW, string);

		format(string, sizeof(string), "%s heeft $%d uitgeloofd voor het vermoorden van %s (totaal: $%d).", sendername, moneys, giveplayer, bounty[giveplayerid]);
		SendClientMessageToAll(COLOR_ORANGE, string);

		format(string, sizeof(string), "Er is $%d uitgeloofd door %s (id: %d) voor het vermoorden van jou.", moneys, sendername, playerid);
		SendClientMessage(giveplayerid, COLOR_RED, string);

		return 1;
	}

	//------------------- /bounty

	if(strcmp(cmd, "/premie", true) == 0) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);

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

		if(IsPlayerConnected(giveplayerid)) {
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			format(string, sizeof(string), "Player %s (id: %d) heeft een premie van $%d op zijn hoofd staan.", giveplayer,giveplayerid,bounty[giveplayerid]);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		} else {
			SendClientMessage(playerid, COLOR_RED, "Deze speler bestaat niet!");
		}

		return 1;
	}

	//------------------- /bounties

	if(strcmp(cmd, "/premies", true) == 0)
	{
//		new tmp[256];
		new x;

		SendClientMessage(playerid, COLOR_GREEN, "Huidige premies:");
	    for(new i=0; i < MAX_PLAYERS; i++) {
			if(IsPlayerConnected(i) && bounty[i] > 0) {
				GetPlayerName(i, giveplayer, sizeof(giveplayer));
				format(string, sizeof(string), "%s%s(%d): $%d", string,giveplayer,i,bounty[i]);

				x++;
				if(x > 3) {
				    SendClientMessage(playerid, COLOR_YELLOW, string);
				    x = 0;
					format(string, sizeof(string), "");
				} else {
					format(string, sizeof(string), "%s, ", string);
				}
			}
		}

		if(x <= 3 && x > 0) {
			string[strlen(string)-2] = '.';
		    SendClientMessage(playerid, COLOR_YELLOW, string);
		}

		return 1;
	}



	//------------------- /buy

	if(strcmp(cmd, "/koop", true) == 0) {
		new property=999;

		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_CPD:{
					property = P_CPD;
				}
				case CP_CB:{
					property = P_CB;
    }
				case CP_PS:{
					property = P_PS;
				}
				case CP_SC:{
					property = P_SC;
				}
				case CP_LVPD:{
					property = P_LVPD;
				}
				case CP_SC2:{
					property = P_SC2;
				}
				case CP_CL:{
					property = P_CL;
				}
				case CP_VR:{
					property = P_VR;
				}
				case CP_LVA:{
					property = P_LVA;
				}
			}

			if(property==999) {
				SendClientMessage(playerid, COLOR_YELLOW, "Je moet in een gebouw staat om het te kopen.");
				return 1;
			}

//			property--;

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

			if(propertyOwner[property] < 999) {
				GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
				GivePlayerMoney(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);
			}

			GivePlayerMoney(playerid, 0-propertyValues[property]);

			propertyOwner[property]=playerid;

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

	//------------------- /MC

	if(strcmp(cmd, "/MC", true) == 0) {
	    if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_LSAP && playerCheckpoint[playerid]!=CP_SFAP && playerCheckpoint[playerid]!=CP_LVAP && playerCheckpoint[playerid]!=CP_MC) {
			SendClientMessage(playerid, COLOR_RED, "Je moet op een vliegveld zijn om te vliegen.");
			return 1;
		}
		if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]==CP_MC) {
			SendClientMessage(playerid, COLOR_RED, "Je bent al op de Mount Chilliad.");
			return 1;
		}



		    if(GetPlayerMoney(playerid) < 2000) {
			SendClientMessage(playerid, COLOR_RED, "Je hebt niet genoeg geld!");
			return 1;
		}
			SendClientMessage(playerid, COLOR_GREEN, "Je bent naar Mount Chilliad gevlogen.");
			GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
			GivePlayerMoney(propertyOwner[16], 2000);
            GivePlayerMoney(playerid,-2000);
			SetPlayerPos(playerid,-2349.9482,-1621.1665,483.6588);
			return 1;
	}

		//------------------- /LV

	if(strcmp(cmd, "/LV", true) == 0) {
	    if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_LSAP && playerCheckpoint[playerid]!=CP_SFAP && playerCheckpoint[playerid]!=CP_LVAP && playerCheckpoint[playerid]!=CP_MC) {
			SendClientMessage(playerid, COLOR_RED, "Je moet op een vliegveld zijn om te vliegen.");
			return 1;
		}
		if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]==CP_LVAP) {
			SendClientMessage(playerid, COLOR_RED, "Je bent al in Las Venturas.");
			return 1;
		}



		    if(GetPlayerMoney(playerid) < 2000) {
			SendClientMessage(playerid, COLOR_RED, "Je hebt niet genoeg geld!");
			return 1;
		}
			SendClientMessage(playerid, COLOR_GREEN, "Je bent naar Las Venturas gevlogen.");
			GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
			GivePlayerMoney(propertyOwner[16], 2000);
            GivePlayerMoney(playerid,-2000);
			SetPlayerPos(playerid,1668.4961,1405.8069,10.7765);
			return 1;
	}



		//------------------- /SF

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

	    if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_LSAP && playerCheckpoint[playerid]!=CP_SFAP && playerCheckpoint[playerid]!=CP_LVAP && playerCheckpoint[playerid]!=CP_MC) {
			SendClientMessage(playerid, COLOR_RED, "Je moet op een vliegveld zijn om te vliegen.");
			return 1;
		}
		if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]==CP_SFAP) {
			SendClientMessage(playerid, COLOR_RED, "Je bent al in San Fierro.");
			return 1;
		}

		    if(GetPlayerMoney(playerid) < 2000) {
			SendClientMessage(playerid, COLOR_RED, "Je hebt niet genoeg geld!");
			return 1;
		}
			SendClientMessage(playerid, COLOR_GREEN, "Je bent naar San Fierro gevlogen.");
			GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
			GivePlayerMoney(propertyOwner[16], 2000);
            GivePlayerMoney(playerid,-2000);
			SetPlayerPos(playerid,-1424.1118,-288.2368,14.1484);
			return 1;
	}

		//------------------- /LS

	if(strcmp(cmd, "/LS", true) == 0) {
	    if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_LSAP && playerCheckpoint[playerid]!=CP_SFAP && playerCheckpoint[playerid]!=CP_LVAP && playerCheckpoint[playerid]!=CP_MC) {
			SendClientMessage(playerid, COLOR_RED, "Je moet op een vliegveld zijn om te vliegen.");
			return 1;
		}
		if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]==CP_LSAP) {
			SendClientMessage(playerid, COLOR_RED, "Je bent al in Los Santos.");
			return 1;
		}

		    if(GetPlayerMoney(playerid) < 2000) {
			SendClientMessage(playerid, COLOR_RED, "Je hebt niet genoeg geld!");
			return 1;
		}
			SendClientMessage(playerid, COLOR_GREEN, "Je bent naar Los Santos gevlogen.");
			GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
			GivePlayerMoney(propertyOwner[16], 2000);
            GivePlayerMoney(playerid,-2000);
			SetPlayerPos(playerid,1685.5707,-2239.0010,13.5469);
			return 1;
          	}
	//------------------- /MCU
		if(strcmp(cmd, "/MCU", true) == 0) {
	    if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_MCU1 && playerCheckpoint[playerid]!=CP_MCU2) {
			SendClientMessage(playerid, COLOR_RED, "Je kan alleen van beneneden bij de Mount Chilliad omhoog.");
			return 1;
		}

		    if(GetPlayerMoney(playerid) < 500) {
			SendClientMessage(playerid, COLOR_RED, "Je hebt niet genoeg geld!");
			return 1;
		}
			SendClientMessage(playerid, COLOR_GREEN, "Je bent naar de top van de Mount Chilliad gegaan.");
			GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
			GivePlayerMoney(propertyOwner[16], 0);
            GivePlayerMoney(playerid,500);
			SetPlayerPos(playerid,-2349.9482,-1621.1665,483.6588);
			return 1;
          	}




	//------------------- /properties

	if(strcmp(cmd, "/gebouwen", true) == 0) {
		SendClientMessage(playerid, COLOR_GREEN, "Eigenaars gebouwen:");
		for(new i = 0; i < MAX_PROPERTIES; i++) {
			if(propertyOwner[i] < 999) {
				GetPlayerName(propertyOwner[i], giveplayer, sizeof(giveplayer));
				format(string, sizeof(string), "%d. %s - %s", i, propertyNames[i], giveplayer);
			} else
				format(string, sizeof(string), "%d. %s - Niemand", i, propertyNames[i]);

			SendClientMessage(playerid, COLOR_YELLOW, string);
		}

		return 1;
	}

	//------------------- /buyweapon

	if(strcmp(cmd, "/koopwapen", true) == 0) {
	    new tmp[256];
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "Gebruik: /koopwapen [wapen-id]");
			return 1;
		}
		weaponid = strval(tmp);

		if(IsPlayerInCheckpoint(playerid)==0 || playerCheckpoint[playerid]!=CP_AMMU) {
			SendClientMessage(playerid, COLOR_YELLOW, "Je moet in een ammunation zijn om wapens te kopen.");
			return 1;
		}
		if(GetPlayerMoney(playerid) < weaponCost[weaponid]) {
			SendClientMessage(playerid, COLOR_RED, "Je hebt niet genoeg geld!");
			return 1;
		}
		if(weaponid < 0 || weaponid > MAX_WEAPONS-1){
			SendClientMessage(playerid, COLOR_RED, "Ongeldig wapen-id.");
			return 1;
		}

		format (string, sizeof(string), "Je hebt 1 %s gekocht voor als je spawned.",weaponNames[weaponid]);
		SendClientMessage(playerid, COLOR_GREEN, string);

		GivePlayerWeapon(playerid, weaponIDs[weaponid], weaponAmmo[weaponid]);
		playerWeapons[playerid][weaponid]++;

		GivePlayerMoney(playerid, 0-weaponCost[weaponid]);

		return 1;
	}

	//------------------- /weaponlist

	if(strcmp(cmd, "/wapenlijst", true) == 0) {
		SendClientMessage(playerid, COLOR_GREEN, "Wapenlijst:");
		for(new i = 0; i < MAX_WEAPONS; i++) {
			format (string, sizeof(string), "%d. %s - $%d",i,weaponNames[i],weaponCost[i]);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}
		return 1;
	}
    //------------------- /taxi
    if(strcmp(cmd, "/taxi", true) == 0) {
        new pname[MAX_PLAYER_NAME];
	    new i,j;
	    for (i = 0, j = 100; i < j; i++) {
	    	if (taxid[i]==1){
	    	        GetPlayerName(playerid, pname, sizeof (pname));
                    format(string, sizeof(string), " %s wil een taxi bij", pname);
                    SendClientMessage(i, COLOR_RED, string);
	    			SendClientMessage(playerid, COLOR_GREEN, "Je oproep is ontvangen.");
	    			taxiw[playerid]=1;
	    						
				}else{
				SendClientMessage(playerid, COLOR_RED, "Er is geen taxichauffeur, wordt er een met /taxidriver.")
			}
			}
		return 1;
		}
    //------------------- /taxidriver
    
    if(strcmp(cmd, "/taxidriver", true) == 0) {
	    new i,j;
	    for (i = 0, j = 100; i < j; i++) {
	    	if (taxid[i]!=1){
            	taxid[playerid]=1;
            	SendClientMessage(playerid, COLOR_RED, "Jij bent nu de taxichauffeur.");	
            	PutPlayerInVehicle(playerid, 208, 1);
				}else{
				SendClientMessage(playerid, COLOR_RED, "Er is al een taxichauffeur, probeer het later nog eens.")
			}
			}
		return 1;
		}


	//------------------- /gang

	if(strcmp(cmd, "/gang", true) == 0) {
	    new tmp[256];
	    new gangcmd, gangnum;
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp)) {
			SendClientMessage(playerid, COLOR_WHITE, "Gebruik: /gang [maak/join/uitnodigen/verlaten] [naam/nummer]");
			return 1;
		}
		giveplayerid = strval(tmp);

		if(strcmp(tmp, "maak", true)==0)
		    gangcmd = 1;
		else if(strcmp(tmp, "uitnodigen", true)==0)
		    gangcmd = 2;
		else if(strcmp(tmp, "join", true)==0)
		    gangcmd = 3;
		else if(strcmp(tmp, "verlaten", true)==0)
		    gangcmd = 4;

		tmp = strtok(cmdtext, idx);
		if(gangcmd < 3 && !strlen(tmp)) {
		    if(gangcmd==0)
				SendClientMessage(playerid, COLOR_WHITE, "Gebruik: /gang [maak/join/uitnodigen/verlaten] [naam/nummer]");
			else if(gangcmd==1)
				SendClientMessage(playerid, COLOR_WHITE, "Gebruik: /gang [maak] [gangnaam]");
			else if(gangcmd==2)
				SendClientMessage(playerid, COLOR_WHITE, "GEBRUIK: /gang [uitnodigen] [playerID]");
			return 1;
		}

		//Create Gang//
		if(gangcmd==1) {
		    if(playerGang[playerid]>0) {
				SendClientMessage(playerid, COLOR_RED, "Je zit al in een gang!");
				return 1;
		    }

			for(new i = 1; i < MAX_GANGS; i++) {
				if(gangInfo[i][0]==0) {
				    //name gang
					format(gangNames[i], MAX_GANG_NAME, "%s", tmp);
					//Gang exists
					gangInfo[i][0]=1;
					//There is one member
					gangInfo[i][1]=1;
					//Gang color is player's color
					gangInfo[i][2]=playerColors[playerid];

					//Player is the first gang member
					gangMembers[i][0] = playerid;
					format(string, sizeof(string),"Je hebt de gang '%s' (id: %d) gemaakt.", gangNames[i], i);
					SendClientMessage(playerid, COLOR_GREEN, string);

					playerGang[playerid]=i;

					return 1;
				}
			}

			return 1;

		//Join Gang//
		} else if (gangcmd==3) {
	 		gangnum = gangInvite[playerid];

		    if(playerGang[playerid]>0) {
				SendClientMessage(playerid, COLOR_RED, "Je zit al in een gang!");
				return 1;
		    }
	 		if(gangInvite[playerid]==0) {
				SendClientMessage(playerid, COLOR_RED, "Je bent niet uitgenodigd voor een gang!");
				return 1;
			}
			if(gangInfo[gangnum][0]==0) {
				SendClientMessage(playerid, COLOR_RED, "Deze gang bestaat niet!");
				return 1;
			}

			if(gangInfo[gangnum][1] < MAX_GANG_MEMBERS) {
			    new i = gangInfo[gangnum][1];

				gangInvite[playerid]=0;

				gangMembers[gangnum][i] = playerid;

			    GetPlayerName(playerid, sendername, MAX_PLAYER_NAME);
				for(new j = 0; j < gangInfo[gangnum][1]; j++) {
					format(string, sizeof(string),"%s zit nu in je gang.", sendername);
					SendClientMessage(gangMembers[gangnum][j], COLOR_ORANGE, string);
				}

				gangInfo[gangnum][1]++;
				playerGang[playerid] = gangnum;

				SetPlayerColor(playerid,gangInfo[gangnum][2]);

				format(string, sizeof(string),"Jij hebt de gang '%s' (id: %d) gejoind.", gangNames[gangnum], gangnum);
				SendClientMessage(playerid, COLOR_GREEN, string);

				return 1;
			}

			SendClientMessage(playerid, COLOR_RED, "Die gang is vol!");
			return 1;

		//Invite to Gang//
		} else if (gangcmd==2) {
	 		giveplayerid = strval(tmp);

			if(playerGang[playerid]==0) {
				SendClientMessage(playerid, COLOR_RED, "Je zit niet in een gang!");
				return 1;
			}
//			if(gangMembers[playerGang[playerid]][0]!=playerid) {
//				SendClientMessage(playerid, COLOR_RED, "You need to be the gang leader to send an invite.");
//				return 1;
//			}

			if(IsPlayerConnected(giveplayerid)) {
				GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
				GetPlayerName(playerid, sendername, sizeof(sendername));

				format(string, sizeof(string),"Je hebt %s uitgenodigd voor je gang.", giveplayer);
				SendClientMessage(playerid, COLOR_GREEN, string);
				format(string, sizeof(string),"Je bent uitgenodigd door %s om de gang '%s' (id: %d) te joinen.", sendername, gangNames[playerGang[playerid]],playerGang[playerid]);
				SendClientMessage(giveplayerid, COLOR_GREEN, string);

				gangInvite[giveplayerid]=playerGang[playerid];

			} else
				SendClientMessage(playerid, COLOR_RED, "Deze speler bestaat niet!");

		//Leave Gang//
		} else if (gangcmd==4) {
		    PlayerLeaveGang(playerid);
		}

		return 1;
	}

	//------------------- /ganginfo

	if(strcmp(cmd, "/ganginfo", true) == 0) {
	    new tmp[256];
	    new gangnum;
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp) && playerGang[playerid]==0) {
			SendClientMessage(playerid, COLOR_WHITE, "Gebruik: /ganginfo [gang-ID]");
			return 1;
		} else if (!strlen(tmp))
			gangnum = playerGang[playerid];
		else
			gangnum = strval(tmp);

		if(gangInfo[gangnum][0]==0) {
			SendClientMessage(playerid, COLOR_RED, "Deze gang bestaat niet!");
			return 1;
		}

		format(string, sizeof(string),"'%s' Gang-leden (id: %d)", gangNames[gangnum], gangnum);
		SendClientMessage(playerid, COLOR_GREEN, string);

		for(new i = 0; i < gangInfo[gangnum][1]; i++) {
			GetPlayerName(gangMembers[gangnum][i], giveplayer, sizeof(giveplayer));
			format(string, sizeof(string),"%s (%d)", giveplayer, gangMembers[gangnum][i]);
			SendClientMessage(playerid, COLOR_YELLOW, string);
		}

		return 1;
	}








		//------------------- /gangs
     if(IsPlayerAdmin(playerid) != 2)
	if(strcmp(cmd, "/gangs", true) == 0)
	{
		new x;

		SendClientMessage(playerid, COLOR_GREEN, "Huidige Gangs:");
	    for(new i=0; i < MAX_GANGS; i++) {
			if(gangInfo[i][0]==1) {
				format(string, sizeof(string), "%s%s(%d) - %d leden", string,gangNames[i],i,gangInfo[i][1]);

				x++;
				if(x > 2) {
				    SendClientMessage(playerid, COLOR_YELLOW, string);
				    x = 0;
					format(string, sizeof(string), "");
				} else {
					format(string, sizeof(string), "%s, ", string);
				}
			}
		}

		if(x <= 2 && x > 0) {
			string[strlen(string)-2] = '.';
		    SendClientMessage(playerid, COLOR_YELLOW, string);
		}

		return 1;
	}

	return 0;

}

//----------------race

	if(strcmp(cmd, "/startrace", true) == 0 || strcmp(cmd, "/sr", true) == 0) {

if (getCheckpointType(playerid) >= 11 && IsPlayerInCheckpoint(playerid) == 1){
		new tracknumber;
		gRacer[playerid] = gRaceid;
		if(gRaceid == 99) gRaceid=1;
		gPosition[gRaceid] = 0;

		switch (getCheckpointType(playerid))
		{
			case CP_LVRACE:
			{
			    MAX_CHECKPOINTS[gRaceid] = LVRACE_CHECKPOINTS;
	   			tracknumber = LVRACE;
	   			gTrackName[gRaceid] = "LVRace";
			}
			case CP_LVRACE2:
			{
			    MAX_CHECKPOINTS[gRaceid] = LVRACE2_CHECKPOINTS;
			    tracknumber = LVRACE2;
			    gTrackName[gRaceid] = "LVRaceII";
			}
			case CP_DRAG:
			{
			    MAX_CHECKPOINTS[gRaceid] = DRAG_CHECKPOINTS;
			    tracknumber = DRAG;
			    gTrackName[gRaceid] = "DragRace";
			}
			case CP_FULLTURN:
			{
			    MAX_CHECKPOINTS[gRaceid] = FULLTURN_CHECKPOINTS;
			    tracknumber = FULLTURN;
			    gTrackName[gRaceid] = "Full-Turn";
			}
			case CP_ENCLOSE:
			{
			    MAX_CHECKPOINTS[gRaceid] = ENCLOSE_CHECKPOINTS;
			    tracknumber = ENCLOSE;
			    gTrackName[gRaceid] = "Enclose";
			}
			case CP_FREEWAY:
			{
			    MAX_CHECKPOINTS[gRaceid] = FREEWAY_CHECKPOINTS;
			    tracknumber = FREEWAY;
			    gTrackName[gRaceid] = "Freeway";
			}
			case CP_AIRPORT:
			{
			    MAX_CHECKPOINTS[gRaceid] = AIRPORT_CHECKPOINTS;
			    tracknumber = AIRPORT;
			    gTrackName[gRaceid] = "LVAirport";
			}
		}
		

		 for (new i = 0; i < MAX_PLAYERS; i++)
		 {
		    if (IsPlayerConnected(i)){
		        if (IsPlayerInCheckpoint(i) && getCheckpointType(playerid) == getCheckpointType(i))
		        {
      	 			 gRacer[i] = gRacer[playerid];
      	 			 gStartedAt[i] = mktime();
					 gProgress[i] = 0;
                     gTrack[i] = tracknumber;
                     SetCheckpoint(i, 0);
                     SetCameraBehindPlayer(i);
					 SendClientMessage(i, 0xFFFF00AA, "<> The Race is starting! <>");
					 gCountdown[i] = 5;
					 TogglePlayerControllable(i, 0);
				 }
		 	}
		}
		
		//new tmpbuf[256];
		//format(tmpbuf, sizeof(tmpbuf), "Debug: raceid:%d, countdown:%d, track:%d", gRaceid, gCountdown[playerid], gTrack);
		//SendClientMessage(playerid, 0xFFFF00AA, tmpbuf);

		gRaceid++;
		
		} else {
			SendClientMessage(playerid, 0xFFFF00AA, "<> You are not inside a race checkpoint! <>");
		}
	return 1;
	}
	
	if(strcmp(cmd, "/leaverace", true) == 0) {

		 gProgress[playerid] = 0;
		 DisablePlayerCheckpoint(playerid);
		 gRacer[playerid] = 0;
		 TogglePlayerControllable(playerid, 1);



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

		new tmpbuf[256];
		format(tmpbuf, sizeof(tmpbuf), "Debug: raceid:%d, countdown:%d, track:%d", gRaceid, gCountdown[playerid], gTrack);
		SendClientMessage(playerid, 0xFFFF00AA, tmpbuf);


	return 1;
	}
	

	return 0;
}

//------------------------------------------------------------------------------------------------------

public CountdownCheck()
{

		 for (new i = 0; i < MAX_PLAYERS; i++)
		 {
		    if (IsPlayerConnected(i))
			{
		        switch (gCountdown[i])
		        {
		            case -1:
		            {
		            	//break;
		            }
		            case 5:
		            {
          				new tmpbuf[256];
						format(tmpbuf, sizeof(tmpbuf),"%d", gCountdown[i]);
						GameTextForPlayer(i, tmpbuf, 750, 5);
						PlaySoundForPlayer(i, 1056);
						SetCameraBehindPlayer(i);
						gCountdown[i]--;
						
		            }
		            case 4,3,2,1:
		            {
          				new tmpbuf[256];
						format(tmpbuf, sizeof(tmpbuf),"%d", gCountdown[i]);
						GameTextForPlayer(i, tmpbuf, 750, 5);
						PlaySoundForPlayer(i, 1056);
						gCountdown[i]--;
		            }
		            case 0:
		            {
		                TogglePlayerControllable(i, 1);
		                PlaySoundForPlayer(i, 1057);
		                GameTextForPlayer(i,"~W~GO", 2000, 5);
		                SendClientMessage(i, COLOR_ORANGE, "Race Started! Type /leaverace to leave.");
		                gCountdown[i]--;
		            }
		        }
	  		}
		        
        }




}

//------------------------------------------------------------------------------------------------------

public OnPlayerText(playerid, text[])
{
	if(text[0] == '!') {
		if(playerGang[playerid] > 0) {
		    new gangChat[256];
		    new senderName[MAX_PLAYER_NAME];
		    new string[256];

//		    for(new i = 1; i < strlen(text)+1; i++)
//				gangChat[i]=text[i];

			strmid(gangChat,text,1,strlen(text));

			GetPlayerName(playerid, senderName, sizeof(senderName));
			format(string, sizeof(string),"%s: %s", senderName, gangChat);

			for(new i = 0; i < gangInfo[playerGang[playerid]][1]; i++) {
				SendClientMessage(gangMembers[playerGang[playerid]][i], COLOR_LIGHTBLUE, string);
			}
		}

		return 0;
	}
	return 1;
}

//------------------------------------------------------------------------------------------------------

public OnPlayerSpawn(playerid)
{
//	SetVehicleParamsForPlayer(CAR_MARKER_PIRATE,playerid,1,1);
//	SetVehicleParamsForPlayer(CAR_MARKER_STORE,playerid,1,1);

	if(GetPlayerMoney(playerid)>=0)
	{
		GivePlayerMoney(playerid, PocketMoney);
	}
	SetPlayerInterior(playerid,0);
	SetPlayerRandomSpawn(playerid);

	for(new i = 0; i < MAX_WEAPONS; i++) {
		if(playerWeapons[playerid][i] > 0) {
			GivePlayerWeapon(playerid,weaponIDs[i],weaponAmmo[i]*playerWeapons[playerid][i]);
		}
	}

	gambleWarning[playerid]=0;

	return 1;
}

public SetPlayerRandomSpawn(playerid)
{
	if (iSpawnSet[playerid] == 1)
	{
		new rand = random(sizeof(gCopPlayerSpawns));
		SetPlayerPos(playerid, gCopPlayerSpawns[rand][0], gCopPlayerSpawns[rand][1], gCopPlayerSpawns[rand][2]); // Warp the player
		SetPlayerFacingAngle(playerid, 270.0);
    }
    else if (iSpawnSet[playerid] == 0)
    {
		new rand = random(sizeof(gRandomPlayerSpawns));
		SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]); // Warp the player
	}
	return 1;
}

//------------------------------------------------------------------------------------------------------

public OnPlayerDeath(playerid, killerid, reason)
{
    new playercash;
	new killedplayer[MAX_PLAYER_NAME];
	new string[256];
	new State;

	playercash = GetPlayerMoney(playerid);

	if(killerid == INVALID_PLAYER_ID)
	{
        SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
		if(playercash > 0)
   		{
	    	ResetPlayerMoney(playerid);
    	}
	}
	 else
	{
		State = GetPlayerState(killerid);
		if(State == PLAYER_STATE_DRIVER)
		{
				playercash = GetPlayerMoney(killerid);
				ResetPlayerMoney(killerid);
				SetPlayerHealth(killerid,0);
				SetPlayerHealth(playerid,100);
				GivePlayerMoney(playerid, bounty[playerid]);
				bounty[playerid] = 0;
				GivePlayerMoney(playerid, playercash);
		} else {
    	SendDeathMessage(killerid,playerid,reason);
		SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
		if(bounty[playerid] > 0 && (playerGang[killerid] == 0 || playerGang[playerid] != playerGang[killerid])) {
			GetPlayerName(playerid, killedplayer, sizeof(killedplayer));
			format(string, sizeof(string), "Je hebt %d verdiend voor het vermoorden van %s.", bounty[playerid], killedplayer);
			SendClientMessage(killerid, COLOR_GREEN, string);
			GivePlayerMoney(killerid, bounty[playerid]);
			bounty[playerid] = 0;
			}
			if(playercash > 0)  {
			GivePlayerMoney(killerid, playercash);
	    	ResetPlayerMoney(playerid);
			}
		}
	}
 	return 1;
}


//---------------------------------------------------------------
public VehicleDriver(vehicleid)
{
  new i;
  for (i=0;i<MAX_PLAYERS;i++)
  {
     if ((IsPlayerConnected(i))&&(GetPlayerVehicleID(i)==vehicleid)&&(GetPlayerState(i)==2))  return i;
  }
  return -1;
}
//---------------------------------------------------------------
public AutoOpenCar()
{
          new c,i;
          for (c=1;c<254;c++) {
            if(VehicleDriver(c)==-1)
              {
                for (i=0;i<MAX_PLAYERS;i++) {
                  SetVehicleParamsForPlayer(c,i, 0, 0);
              }
           }
          }
        return 1;
        }
//------------------------------------------------------------------------------------------------------
public OnPlayerStateChange(playerid, newstate, oldstate){


if(newstate == PLAYER_STATE_PASSENGER){
if(GetPlayerVehicleID(playerid)==208){
if (taxiw[playerid]==1){
taxi[playerid]=1;
taxiw[playerid]=0;

}else{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_RED, "You didn't asked for a taxi, use /taxi.");
}
}
}
if(newstate == PLAYER_STATE_DRIVER){
if(GetPlayerVehicleID(playerid)==208){
if (taxid[playerid]!=1){
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_RED, "You aren't the taxi driver, use /taxidriver.");
}
}
}


if (newstate==PLAYER_STATE_ONFOOT){
if (taxid[playerid]!=0) {
taxid[playerid]=0;
SendClientMessageToAll(COLOR_RED, "You can now be a taxi driver!");
} else {
if (taxi[playerid]==1){
new i,j;
for (i = 0, j = 100; i < j; i++) {
if(GetPlayerVehicleID(i)==208){
if(GetPlayerState(i) == PLAYER_STATE_DRIVER){

GivePlayerMoney(i,500);
GivePlayerMoney(playerid,-500);
taxi[playerid]=0;
}
}
}

}


}
}
}


//------------------------------------------------------------------------------------------------------
public OnPlayerEnterCheckpoint(playerid)
{
	new string[256];
	new ownplayer[MAX_PLAYER_NAME];
	
if (gRacer[playerid] == 0)
{
	switch(getCheckpointType(playerid))
	{
		case CP_BANK: {
			SendClientMessage(playerid, COLOR_YELLOW, "You are at an ATM. To store money use '/bank amount', to withdraw");
			SendClientMessage(playerid, COLOR_YELLOW, "money use '/withdraw amount', and '/balance' to see your balance.");
		}
		case CP_PIRATE: {
			SendClientMessage(playerid, COLOR_YELLOW, "You can hold the pirate ship area to gain money.");
		}
		case CP_AMMU: {
			SendClientMessage(playerid, COLOR_GREEN, "You can purchase weapons here so that you have them every");
			SendClientMessage(playerid, COLOR_GREEN, "time you spawn. You can purchase more than once for more ammo.");
			SendClientMessage(playerid, COLOR_YELLOW, "Type /buyweapon [weapon number] and /weaponlist for a list of weapons.");
		}
 		case CP_LVRACE: {
			SendClientMessage(playerid, COLOR_GREEN, "TRACK: LVRace. When you are ready to start racing type /startrace");
		}
  		case CP_LVRACE2: {
			SendClientMessage(playerid, COLOR_GREEN, "TRACK: LVRaceII. When you are ready to start racing type /startrace");
		}
  		case CP_DRAG: {
			SendClientMessage(playerid, COLOR_GREEN, "TRACK: DragRace. When you are ready to start racing type /startrace");
		}
  		case CP_FULLTURN: {
			SendClientMessage(playerid, COLOR_GREEN, "TRACK: Full-Turn. When you are ready to start racing type /startrace");
		}
  		case CP_ENCLOSE: {
			SendClientMessage(playerid, COLOR_GREEN, "TRACK: Enclose. When you are ready to start racing type /startrace");
		}
  		case CP_FREEWAY: {
			SendClientMessage(playerid, COLOR_GREEN, "TRACK: Freeway. When you are ready to start racing type /startrace");
		}
  		case CP_AIRPORT: {
			SendClientMessage(playerid, COLOR_GREEN, "TRACK: LVAirport. When you are ready to start racing type /startrace");
		}

/*		case CP_DRAGON: {
			SendClientMessage(playerid, COLOR_YELLOW, "You can buy the Four Dragons Casino for $75,000 with /buy.");
			SendClientMessage(playerid, COLOR_YELLOW, "You will earn $5,000 regularly.");

		}
		case CP_SEXSHOP: {
			SendClientMessage(playerid, COLOR_YELLOW, "You can buy the Sex Shop for $25,000 with /buy.");
			SendClientMessage(playerid, COLOR_YELLOW, "You will earn $2,000 regularly.");
		}
		case CP_BAR: {
			SendClientMessage(playerid, COLOR_YELLOW, "You can buy the Shithole Bar for $20,000 with /buy.");
			SendClientMessage(playerid, COLOR_YELLOW, "You will earn $1,500 regularly.");
		}
		case CP_CALIGULA: {
			SendClientMessage(playerid, COLOR_YELLOW, "You can buy the Caligula Casino for $100,000 with /buy.");
			SendClientMessage(playerid, COLOR_YELLOW, "You will earn $7,000 regularly.");
		}
		case CP_ZIP: {
			SendClientMessage(playerid, COLOR_YELLOW, "You can buy the Zip clothes store for $15,000 with /buy.");
			SendClientMessage(playerid, COLOR_YELLOW, "You will earn $1,000 regularly.");
		}*/
	}
	if(getCheckpointType(playerid)>= P_OFFSET && getCheckpointType(playerid)<= P_OFFSETRESET) {
		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);
		}
	}
} else if(gRacer[playerid] >= 1){
	if (gProgress[playerid] == MAX_CHECKPOINTS[gRacer[playerid]]-1)
	{

	gPosition[gRacer[playerid]]++;

	new playername[MAX_PLAYER_NAME], finishmessage[256], finishtime[256];
	new Float:fMinutes, Minutes, Seconds, sSeconds[3];
	
	
	
	new finishedin = mktime() - gStartedAt[playerid];
	GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	if (finishedin > 0) {
		fMinutes = finishedin/60;
		Minutes = floatround(fMinutes, floatround_floor);
		Seconds = finishedin-(Minutes*60);

if (Seconds < 10)
{
	format(sSeconds, sizeof(sSeconds), "0%d", Seconds);
} else {
	format(sSeconds, sizeof(sSeconds), "%d", Seconds);
}
		format(finishtime, sizeof(finishtime),"-> %s finished %s in %d:%s", playername, gTrackName[gRacer[playerid]], Minutes, sSeconds);
		

  	     for (new i = 0; i < MAX_PLAYERS; i++)
		 {
		    if (IsPlayerConnected(i)){
		        if(gRacer[i] == gRacer[playerid]){
					SendClientMessage(i,NICE_BLUE, finishtime);
				 } else {
				 SendClientMessage(i,COLOR_GREEN, finishtime);
				 }
		 	}
		}
	}



	DisablePlayerCheckpoint(playerid);

		switch (gPosition[gRacer[playerid]]){
			case 1:
			{
				format(finishmessage, sizeof(finishmessage),"%s has won the race!", playername);
  	     for (new i = 0; i < MAX_PLAYERS; i++)
		 {
		    if (IsPlayerConnected(i)){
		        if(gRacer[i] == gRacer[playerid]){
					GameTextForPlayer(i, finishmessage, 3000, 5);
				 }
		 	}
		}

				SetPlayerScore(playerid,GetPlayerScore(playerid)+5);
				GivePlayerMoney(playerid, 1500);
				//PlaySoundForPlayer(playerid, 1183);
				//CheckAgainstHighScore(playerid, gTime);
	        }
			case 2:
			{
				format(finishmessage, sizeof(finishmessage),"%s finished %dnd", playername, gPosition[gRacer[playerid]]);
	   	 for (new i = 0; i < MAX_PLAYERS; i++)
		 {
		    if (IsPlayerConnected(i)){
		        if(gRacer[i] == gRacer[playerid]){
					GameTextForPlayer(i, finishmessage, 3000, 5);
				 }
		 	}
		}

				SetPlayerScore(playerid,GetPlayerScore(playerid)+4);
				GivePlayerMoney(playerid, 1000);
				//PlaySoundForPlayer(playerid, 1183);
			}
			case 3:
		    {
				format(finishmessage, sizeof(finishmessage),"%s finished %drd", playername, gPosition[gRacer[playerid]]);
	   	 for (new i = 0; i < MAX_PLAYERS; i++)
		 {
		    if (IsPlayerConnected(i)){
		        if(gRacer[i] == gRacer[playerid]){
					GameTextForPlayer(i, finishmessage, 3000, 5);
				 }
		 	}
		}

				SetPlayerScore(playerid,GetPlayerScore(playerid)+3);
				GivePlayerMoney(playerid, 750);
				//PlaySoundForPlayer(playerid, 1183);
			}
			default:
	        {
				format(finishmessage, sizeof(finishmessage),"%s finished %dth", playername, gPosition[gRacer[playerid]]);
				   	 for (new i = 0; i < MAX_PLAYERS; i++)
					 {
					    if (IsPlayerConnected(i)){
					        if(gRacer[i] == gRacer[playerid]){
								GameTextForPlayer(i, finishmessage, 3000, 5);
							 }
					 	}
					}

				SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
				GivePlayerMoney(playerid, 500);
				//PlaySoundForPlayer(playerid, 1183);
	        }
		}

		 gProgress[playerid] = 0;
		 DisablePlayerCheckpoint(playerid);
		 gRacer[playerid] = 0;

} else {
gProgress[playerid]++;
SetCheckpoint(playerid, gProgress[playerid]);
PlaySoundForPlayer(playerid, 1137);
}
}
}




public SetCheckpoint(playerid, i)
{
DisablePlayerCheckpoint(playerid);
	switch (gTrack[playerid]){
		case LVRACE: SetPlayerCheckpoint(playerid,gLVRaceCheckpoints[i][0],gLVRaceCheckpoints[i][1],gLVRaceCheckpoints[i][2],gLVRaceCheckpoints[i][3]);
		case LVRACE2: SetPlayerCheckpoint(playerid,gLVRace2Checkpoints[i][0],gLVRace2Checkpoints[i][1],gLVRace2Checkpoints[i][2],gLVRace2Checkpoints[i][3]);
		case DRAG: SetPlayerCheckpoint(playerid,gDragCheckpoints[i][0],gDragCheckpoints[i][1],gDragCheckpoints[i][2],gDragCheckpoints[i][3]);
		case FULLTURN: SetPlayerCheckpoint(playerid,gFullTurnCheckpoints[i][0],gFullTurnCheckpoints[i][1],gFullTurnCheckpoints[i][2],gFullTurnCheckpoints[i][3]);
		case ENCLOSE: SetPlayerCheckpoint(playerid,gEncloseCheckpoints[i][0],gEncloseCheckpoints[i][1],gEncloseCheckpoints[i][2],gEncloseCheckpoints[i][3]);
		case FREEWAY: SetPlayerCheckpoint(playerid,gFreewayCheckpoints[i][0],gFreewayCheckpoints[i][1],gFreewayCheckpoints[i][2],gFreewayCheckpoints[i][3]);
		case AIRPORT: SetPlayerCheckpoint(playerid,gAirportCheckpoints[i][0],gAirportCheckpoints[i][1],gAirportCheckpoints[i][2],gAirportCheckpoints[i][3]);
		//case : SetPlayerCheckpoint(playerid,gCheckpoints[i][0],gCheckpoints[i][1],gCheckpoints[i][2],gCheckpoints[i][3]);
	}

}

public PlaySoundForPlayer(playerid, soundid)
{
new Float:pX, Float:pY, Float:pZ;
GetPlayerPos(playerid, pX, pY, pZ);
PlayerPlaySound(playerid, soundid,pX, pY, pZ);
}




//------------------------------------------------------------------------------------------------------

public OnPlayerRequestClass(playerid, classid)
{
	if(classid == 0 || classid == 1 || classid == 2 || classid == 3 || classid == 4 || classid == 5 || classid == 6)
	{
		iSpawnSet[playerid] = 1;
	}
	else
       {
                iSpawnSet[playerid] = 0;
        }
        SetupPlayerForClassSelection(playerid);
        return 1;
}

public SetupPlayerForClassSelection(playerid)
{
        SetPlayerInterior(playerid,14);
        SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
        SetPlayerFacingAngle(playerid, 270.0);
        SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
        SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
}

public GameModeExitFunc()
{
        GameModeExit();
}

public OnGameModeInit()
{
        SetGameModeText("NL Versie-LV DM~MG+Landgrab");

        ShowPlayerMarkers(1);
        ShowNameTags(1);
        SetTimer("RealTimeUpdate",1,0); //just add this line to OnGameModeInit


        // Player Class's
        AddPlayerClass(280,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
        AddPlayerClass(281,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
        AddPlayerClass(282,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
        AddPlayerClass(283,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(284,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(285,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(286,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(287,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);

        AddPlayerClass(254,1958.3783,1343.1572,15.3746,0.0,0,0,24,300,-1,-1);
        AddPlayerClass(255,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(256,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(257,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(258,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(259,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(260,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(261,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(262,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(263,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(264,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(274,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(275,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(276,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);

        AddPlayerClass(1,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(2,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(290,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(291,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(292,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(293,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(294,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(295,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(296,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(297,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(298,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
   		AddPlayerClass(299,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);

        AddPlayerClass(277,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(278,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(279,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(288,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(47,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(48,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(49,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(50,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(51,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(52,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(53,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(54,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(55,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(56,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(57,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(58,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(59,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(60,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(61,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(62,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(63,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(64,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(66,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(67,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(68,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(69,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(70,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(71,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(72,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(73,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(75,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(76,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(78,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(79,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(80,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(81,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(82,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(83,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(84,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(85,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(87,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(88,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(89,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(91,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(92,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(93,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(95,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(96,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(97,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(98,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(99,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(100,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(101,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(102,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(103,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(104,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(105,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(106,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(107,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(108,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(109,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(110,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(111,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(112,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(113,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(114,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(115,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(116,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(117,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(118,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(120,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(121,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(122,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(123,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(124,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(125,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(126,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(127,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(128,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(129,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(131,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(133,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(134,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(135,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(136,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(137,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(138,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(139,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(140,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(141,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(142,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(143,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(144,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(145,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(146,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(147,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(148,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(150,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(151,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(152,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(153,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(154,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(155,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(156,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(157,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(158,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(159,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(160,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(161,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(162,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(163,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(164,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(165,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(166,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(167,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(168,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(169,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(170,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(171,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(172,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(173,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(174,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(175,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(176,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(177,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(178,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(179,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(180,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(181,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(182,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(183,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(184,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(185,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(186,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(187,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(188,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(189,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(190,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(191,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(192,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(193,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(194,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(195,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(196,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(197,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(198,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(199,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(200,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(201,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(202,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(203,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(204,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(205,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(206,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(207,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(209,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(210,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(211,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(212,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(213,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(214,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(215,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(216,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(217,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(218,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(219,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(220,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(221,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(222,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(223,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(224,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(225,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(226,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(227,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(228,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(229,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(230,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(231,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(232,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(233,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(234,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(235,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(236,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(237,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(238,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(239,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(240,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(241,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(242,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(243,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(244,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(245,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(246,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(247,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(248,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(249,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(250,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(251,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);
        AddPlayerClass(253,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);

        // Car Spawns

//      AddStaticVehicle(535,2002.0654,1542.9290,11.0,180.1496,123,1); // piratemarker
//      AddStaticVehicle(411,2179.1169,1985.1921,9.0,359.2931,116,1); // 711marker

        AddStaticVehicle(451,2040.0520,1319.2799,10.3779,183.2439,16,16);//1
        AddStaticVehicle(429,2040.5247,1359.2783,10.3516,177.1306,13,13);//2
        AddStaticVehicle(560,2110.4102,1398.3672,10.7552,359.5964,13,13);//3
        AddStaticVehicle(411,2074.9624,1479.2120,10.3990,359.6861,64,64);//4
        AddStaticVehicle(477,2075.6038,1666.9750,10.4252,359.7507,94,94);//5
        AddStaticVehicle(541,2119.5845,1938.5969,10.2967,181.9064,22,22);//6
        AddStaticVehicle(541,1843.7881,1216.0122,10.4556,270.8793,60,1);//7
        AddStaticVehicle(402,1944.1003,1344.7717,8.9411,0.8168,30,30);//8
        AddStaticVehicle(402,1679.2278,1316.6287,10.6520,180.4150,90,90);//9
        AddStaticVehicle(415,1685.4872,1751.9667,10.5990,268.1183,25,1);//10
        AddStaticVehicle(411,2034.5016,1912.5874,11.9048,0.2909,123,1);//11
        AddStaticVehicle(411,2172.1682,1988.8643,10.5474,89.9151,116,1);//12
        AddStaticVehicle(429,2245.5759,2042.4166,10.5000,270.7350,14,14);//13
        AddStaticVehicle(477,2361.1538,1993.9761,10.4260,178.3929,101,1);//14
        AddStaticVehicle(550,2221.9946,1998.7787,9.6815,92.6188,53,53);//15
        AddStaticVehicle(558,2243.3833,1952.4221,14.9761,359.4796,116,1);//16
        AddStaticVehicle(587,2276.7085,1938.7263,31.5046,359.2321,40,1);//17
        AddStaticVehicle(587,2602.7769,1853.0667,10.5468,91.4813,43,1);//18
        AddStaticVehicle(603,2610.7600,1694.2588,10.6585,89.3303,69,1);//19
        AddStaticVehicle(587,2635.2419,1075.7726,10.5472,89.9571,53,1);//20
        AddStaticVehicle(562,2577.2354,1038.8063,10.4777,181.7069,35,1);//21
        AddStaticVehicle(562,2394.1021,989.4888,10.4806,89.5080,17,1);//22
        AddStaticVehicle(562,1881.0510,957.2120,10.4789,270.4388,11,1);//23
        AddStaticVehicle(535,2039.1257,1545.0879,10.3481,359.6690,123,1);//24
        AddStaticVehicle(535,2009.8782,2411.7524,10.5828,178.9618,66,1);//25
        AddStaticVehicle(429,2010.0841,2489.5510,10.5003,268.7720,1,2);//26
        AddStaticVehicle(415,2076.4033,2468.7947,10.5923,359.9186,36,1);//27
        AddStaticVehicle(487,2093.2754,2414.9421,74.7556,89.0247,26,57);//28
        AddStaticVehicle(506,2352.9026,2577.9768,10.5201,0.4091,7,7);//29
        AddStaticVehicle(506,2166.6963,2741.0413,10.5245,89.7816,52,52);//30
        AddStaticVehicle(411,1960.9989,2754.9072,10.5473,200.4316,112,1);//31
        AddStaticVehicle(429,1919.5863,2760.7595,10.5079,100.0753,2,1);//32
        AddStaticVehicle(415,1673.8038,2693.8044,10.5912,359.7903,40,1);//33
        AddStaticVehicle(402,1591.0482,2746.3982,10.6519,172.5125,30,30);//34
        AddStaticVehicle(603,1580.4537,2838.2886,10.6614,181.4573,75,77);//35
        AddStaticVehicle(550,1555.2734,2750.5261,10.6388,91.7773,62,62);//36
        AddStaticVehicle(535,1455.9305,2878.5288,10.5837,181.0987,118,1);//37
        AddStaticVehicle(477,1537.8425,2578.0525,10.5662,0.0650,121,1);//38
        AddStaticVehicle(451,1433.1594,2607.3762,10.3781,88.0013,16,16);//39
        AddStaticVehicle(603,2223.5898,1288.1464,10.5104,182.0297,18,1);//40
        AddStaticVehicle(558,2451.6707,1207.1179,10.4510,179.8960,24,1);//41
        AddStaticVehicle(550,2461.7253,1357.9705,10.6389,180.2927,62,62);//42
        AddStaticVehicle(558,2461.8162,1629.2268,10.4496,181.4625,117,1);//43
        AddStaticVehicle(477,2395.7554,1658.9591,10.5740,359.7374,0,1);//44
        AddStaticVehicle(404,1553.3696,1020.2884,10.5532,270.6825,119,50);//45
        AddStaticVehicle(400,1380.8304,1159.1782,10.9128,355.7117,123,1);//46
        AddStaticVehicle(418,1383.4630,1035.0420,10.9131,91.2515,117,227);//47
        AddStaticVehicle(404,1445.4526,974.2831,10.5534,1.6213,109,100);//48
        AddStaticVehicle(400,1704.2365,940.1490,10.9127,91.9048,113,1);//49
        AddStaticVehicle(404,1658.5463,1028.5432,10.5533,359.8419,101,101);//50
        AddStaticVehicle(581,1677.6628,1040.1930,10.4136,178.7038,58,1);//51
        AddStaticVehicle(581,1383.6959,1042.2114,10.4121,85.7269,66,1);//52
        AddStaticVehicle(581,1064.2332,1215.4158,10.4157,177.2942,72,1);//53
        AddStaticVehicle(581,1111.4536,1788.3893,10.4158,92.4627,72,1);//54
        AddStaticVehicle(522,953.2818,1806.1392,8.2188,235.0706,3,8);//55
        AddStaticVehicle(522,995.5328,1886.6055,10.5359,90.1048,3,8);//56
        AddStaticVehicle(521,993.7083,2267.4133,11.0315,1.5610,75,13);//57
        AddStaticVehicle(535,1439.5662,1999.9822,10.5843,0.4194,66,1);//58
        AddStaticVehicle(522,1430.2354,1999.0144,10.3896,352.0951,6,25);//59
        AddStaticVehicle(522,2156.3540,2188.6572,10.2414,22.6504,6,25);//60
        AddStaticVehicle(598,2277.6846,2477.1096,10.5652,180.1090,0,1);//61
        AddStaticVehicle(598,2268.9888,2443.1697,10.5662,181.8062,0,1);//62
        AddStaticVehicle(598,2256.2891,2458.5110,10.5680,358.7335,0,1);//63
        AddStaticVehicle(598,2251.6921,2477.0205,10.5671,179.5244,0,1);//64
        AddStaticVehicle(523,2294.7305,2441.2651,10.3860,9.3764,0,0);//65
        AddStaticVehicle(523,2290.7268,2441.3323,10.3944,16.4594,0,0);//66
        AddStaticVehicle(523,2295.5503,2455.9656,2.8444,272.6913,0,0);//67
        AddStaticVehicle(522,2476.7900,2532.2222,21.4416,0.5081,8,82);//68
        AddStaticVehicle(522,2580.5320,2267.9595,10.3917,271.2372,8,82);//69
        AddStaticVehicle(522,2814.4331,2364.6641,10.3907,89.6752,36,105);//70
        AddStaticVehicle(535,2827.4143,2345.6953,10.5768,270.0668,97,1);//71
        AddStaticVehicle(521,1670.1089,1297.8322,10.3864,359.4936,87,118);//72
        AddStaticVehicle(487,1614.7153,1548.7513,11.2749,347.1516,58,8);//73
        AddStaticVehicle(487,1647.7902,1538.9934,11.2433,51.8071,0,8);//74
        AddStaticVehicle(487,1608.3851,1630.7268,11.2840,174.5517,58,8);//75
        AddStaticVehicle(476,1283.0006,1324.8849,9.5332,275.0468,7,6); //76
        AddStaticVehicle(476,1283.5107,1361.3171,9.5382,271.1684,1,6); //77
        AddStaticVehicle(513,1283.6847,1386.5137,11.5300,272.1003,89,91);//78
        AddStaticVehicle(513,1288.0499,1403.6605,11.5295,243.5028,119,117);//79
        AddStaticVehicle(415,1319.1038,1279.1791,10.5931,0.9661,62,1);//80
        AddStaticVehicle(521,1710.5763,1805.9275,10.3911,176.5028,92,3);//81
        AddStaticVehicle(521,2805.1650,2027.0028,10.3920,357.5978,92,3);//82
        AddStaticVehicle(535,2822.3628,2240.3594,10.5812,89.7540,123,1);//83
        AddStaticVehicle(521,2876.8013,2326.8418,10.3914,267.8946,115,118);//84
        AddStaticVehicle(429,2842.0554,2637.0105,10.5000,182.2949,1,3);//85
        AddStaticVehicle(549,2494.4214,2813.9348,10.5172,316.9462,72,39);//86
        AddStaticVehicle(549,2327.6484,2787.7327,10.5174,179.5639,75,39);//87
        AddStaticVehicle(549,2142.6970,2806.6758,10.5176,89.8970,79,39);//88
        AddStaticVehicle(521,2139.7012,2799.2114,10.3917,229.6327,25,118);//89
        AddStaticVehicle(521,2104.9446,2658.1331,10.3834,82.2700,36,0);//90
        AddStaticVehicle(521,1914.2322,2148.2590,10.3906,267.7297,36,0);//91
        AddStaticVehicle(549,1904.7527,2157.4312,10.5175,183.7728,83,36);//92
        AddStaticVehicle(549,1532.6139,2258.0173,10.5176,359.1516,84,36);//93
        AddStaticVehicle(521,1534.3204,2202.8970,10.3644,4.9108,118,118);//94
        AddStaticVehicle(549,1613.1553,2200.2664,10.5176,89.6204,89,35);//95
        AddStaticVehicle(400,1552.1292,2341.7854,10.9126,274.0815,101,1);//96
        AddStaticVehicle(404,1637.6285,2329.8774,10.5538,89.6408,101,101);//97
        AddStaticVehicle(400,1357.4165,2259.7158,10.9126,269.5567,62,1);//98
        AddStaticVehicle(411,1281.7458,2571.6719,10.5472,270.6128,106,1);//99
        AddStaticVehicle(522,1305.5295,2528.3076,10.3955,88.7249,3,8);//100
        AddStaticVehicle(521,993.9020,2159.4194,10.3905,88.8805,74,74);//101
        AddStaticVehicle(415,1512.7134,787.6931,10.5921,359.5796,75,1);//102
        AddStaticVehicle(522,2299.5872,1469.7910,10.3815,258.4984,3,8);//103
        AddStaticVehicle(522,2133.6428,1012.8537,10.3789,87.1290,3,8);//104

        //Monday 13th Additions ~ Jax
        AddStaticVehicle(415,2266.7336,648.4756,11.0053,177.8517,0,1); //105
        AddStaticVehicle(461,2404.6636,647.9255,10.7919,183.7688,53,1); //106
        AddStaticVehicle(506,2628.1047,746.8704,10.5246,352.7574,3,3); //107
        AddStaticVehicle(549,2817.6445,928.3469,10.4470,359.5235,72,39); //108
        // --- uncommented
        AddStaticVehicle(562,1919.8829,947.1886,10.4715,359.4453,11,1); //109
        AddStaticVehicle(562,1881.6346,1006.7653,10.4783,86.9967,11,1); //110
        AddStaticVehicle(562,2038.1044,1006.4022,10.4040,179.2641,11,1); //111
        AddStaticVehicle(562,2038.1614,1014.8566,10.4057,179.8665,11,1); //112
        AddStaticVehicle(562,2038.0966,1026.7987,10.4040,180.6107,11,1); //113
        // --- uncommented end

        //Uber haxed
        AddStaticVehicle(422,9.1065,1165.5066,19.5855,2.1281,101,25); //114
        AddStaticVehicle(463,19.8059,1163.7103,19.1504,346.3326,11,11); //115
        AddStaticVehicle(463,12.5740,1232.2848,18.8822,121.8670,22,22); //116
        //AddStaticVehicle(434,-110.8473,1133.7113,19.7091,359.7000,2,2); //hotknife
        AddStaticVehicle(586,69.4633,1217.0189,18.3304,158.9345,10,1); //117
        AddStaticVehicle(586,-199.4185,1223.0405,19.2624,176.7001,25,1); //118
        //AddStaticVehicle(605,-340.2598,1177.4846,19.5565,182.6176,43,8); // SMASHED UP CAR
    AddStaticVehicle(513,325.3857,2538.6919,17.5201,181.7778,71,77); //119
        AddStaticVehicle(513,291.0975,2540.0410,17.5276,182.7206,7,6); //120
        AddStaticVehicle(576,384.2365,2602.1763,16.0926,192.4858,72,1); //121
        AddStaticVehicle(586,423.8012,2541.6870,15.9708,338.2426,10,1); //122
        AddStaticVehicle(586,-244.0047,2724.5439,62.2077,51.5825,10,1); //123
        AddStaticVehicle(586,-311.1414,2659.4329,62.4513,310.9601,27,1); //124

        //uber haxed x 50
        //AddStaticVehicle(406,547.4633,843.0204,-39.8406,285.2948,1,1); // DUMPER
        //AddStaticVehicle(406,625.1979,828.9873,-41.4497,71.3360,1,1); // DUMPER
        //AddStaticVehicle(486,680.7997,919.0510,-40.4735,105.9145,1,1); // DOZER
        //AddStaticVehicle(486,674.3994,927.7518,-40.6087,128.6116,1,1); // DOZER
        AddStaticVehicle(543,596.8064,866.2578,-43.2617,186.8359,67,8); //125
        AddStaticVehicle(543,835.0838,836.8370,11.8739,14.8920,8,90); //126
        AddStaticVehicle(549,843.1893,838.8093,12.5177,18.2348,79,39); //127
        //AddStaticVehicle(605,319.3803,740.2404,6.7814,271.2593,8,90); // SMASHED UP CAR
        AddStaticVehicle(400,-235.9767,1045.8623,19.8158,180.0806,75,1); //128
        AddStaticVehicle(599,-211.5940,998.9857,19.8437,265.4935,0,1); //129
        AddStaticVehicle(422,-304.0620,1024.1111,19.5714,94.1812,96,25); //130
        AddStaticVehicle(588,-290.2229,1317.0276,54.1871,81.7529,1,1); //131
        //AddStaticVehicle(424,-330.2399,1514.3022,75.1388,179.1514,2,2); //BF INJECT
        AddStaticVehicle(451,-290.3145,1567.1534,75.0654,133.1694,61,61); //132
        AddStaticVehicle(470,280.4914,1945.6143,17.6317,310.3278,43,0); //133
        AddStaticVehicle(470,272.2862,1949.4713,17.6367,285.9714,43,0); //134
        AddStaticVehicle(470,271.6122,1961.2386,17.6373,251.9081,43,0); //135
        AddStaticVehicle(470,279.8705,1966.2362,17.6436,228.4709,43,0); //136
        //AddStaticVehicle(548,292.2317,1923.6440,19.2898,235.3379,1,1); // CARGOBOB
        AddStaticVehicle(433,277.6437,1985.7559,18.0772,270.4079,43,0); //137
        AddStaticVehicle(433,277.4477,1994.8329,18.0773,267.7378,43,0); //138
        //AddStaticVehicle(432,275.9634,2024.3629,17.6516,270.6823,43,0); // Tank (can cause scary shit to go down)
        AddStaticVehicle(568,-441.3438,2215.7026,42.2489,191.7953,41,29); //139
        AddStaticVehicle(568,-422.2956,2225.2612,42.2465,0.0616,41,29); //140
        AddStaticVehicle(568,-371.7973,2234.5527,42.3497,285.9481,41,29); //141
        AddStaticVehicle(568,-360.1159,2203.4272,42.3039,113.6446,41,29); //142
        AddStaticVehicle(468,-660.7385,2315.2642,138.3866,358.7643,6,6); //143
        AddStaticVehicle(460,-1029.2648,2237.2217,42.2679,260.5732,1,3); //144

        //Uber haxed x 100

    // --- uncommented
        AddStaticVehicle(419,95.0568,1056.5530,13.4068,192.1461,13,76); //145
        AddStaticVehicle(429,114.7416,1048.3517,13.2890,174.9752,1,2); //146
        //AddStaticVehicle(466,124.2480,1075.1835,13.3512,174.5334,78,76); // exceeds model limit
        AddStaticVehicle(411,-290.0065,1759.4958,42.4154,89.7571,116,1); //147
        // --- uncommented end
        AddStaticVehicle(522,-302.5649,1777.7349,42.2514,238.5039,6,25); //148
        AddStaticVehicle(522,-302.9650,1776.1152,42.2588,239.9874,8,82); //149
        AddStaticVehicle(533,-301.0404,1750.8517,42.3966,268.7585,75,1); //150
        AddStaticVehicle(535,-866.1774,1557.2700,23.8319,269.3263,31,1); //151
        AddStaticVehicle(550,-799.3062,1518.1556,26.7488,88.5295,53,53); //152
        AddStaticVehicle(521,-749.9730,1589.8435,26.5311,125.6508,92,3); //153
        AddStaticVehicle(522,-867.8612,1544.5282,22.5419,296.0923,3,3); //154
        AddStaticVehicle(554,-904.2978,1553.8269,25.9229,266.6985,34,30); //155
        AddStaticVehicle(521,-944.2642,1424.1603,29.6783,148.5582,92,3); //156
        // Exceeds model limit, cars need model adjustments
        // --- uncommented
        AddStaticVehicle(429,-237.7157,2594.8804,62.3828,178.6802,1,2); //157
        //AddStaticVehicle(431,-160.5815,2693.7185,62.2031,89.4133,47,74); //
        AddStaticVehicle(463,-196.3012,2774.4395,61.4775,303.8402,22,22); //158
        //AddStaticVehicle(483,-204.1827,2608.7368,62.6956,179.9914,1,5); //
        //AddStaticVehicle(490,-295.4756,2674.9141,62.7434,359.3378,0,0); //
        //AddStaticVehicle(500,-301.5293,2687.6013,62.7723,87.9509,28,119); //
        //AddStaticVehicle(500,-301.6699,2680.3293,62.7393,89.7925,13,119); //
        AddStaticVehicle(519,-1341.1079,-254.3787,15.0701,321.6338,1,1); //159
        AddStaticVehicle(519,-1371.1775,-232.3967,15.0676,315.6091,1,1); //160
        //AddStaticVehicle(552,-1396.2028,-196.8298,13.8434,286.2720,56,56); //
        //AddStaticVehicle(552,-1312.4509,-284.4692,13.8417,354.3546,56,56); //
        //AddStaticVehicle(552,-1393.5995,-521.0770,13.8441,187.1324,56,56); //
        //AddStaticVehicle(513,-1355.6632,-488.9562,14.7157,191.2547,48,18); //
        //AddStaticVehicle(513,-1374.4580,-499.1462,14.7482,220.4057,54,34); //
        //AddStaticVehicle(553,-1197.8773,-489.6715,15.4841,0.4029,91,87); //
        //AddStaticVehicle(553,1852.9989,-2385.4009,14.8827,200.0707,102,119); //
        //AddStaticVehicle(583,1879.9594,-2349.1919,13.0875,11.0992,1,1); //
        //AddStaticVehicle(583,1620.9697,-2431.0752,13.0951,126.3341,1,1); //
        //AddStaticVehicle(583,1545.1564,-2409.2114,13.0953,23.5581,1,1); //
        //AddStaticVehicle(583,1656.3702,-2651.7913,13.0874,352.7619,1,1); //
        AddStaticVehicle(519,1642.9850,-2425.2063,14.4744,159.8745,1,1); //161
        AddStaticVehicle(519,1734.1311,-2426.7563,14.4734,172.2036,1,1); //162
        // --- uncommented end

        AddStaticVehicle(415,-680.9882,955.4495,11.9032,84.2754,36,1); //163
        AddStaticVehicle(460,-816.3951,2222.7375,43.0045,268.1861,1,3); //164
        AddStaticVehicle(460,-94.6885,455.4018,1.5719,250.5473,1,3); //165
        AddStaticVehicle(460,1624.5901,565.8568,1.7817,200.5292,1,3); //166
        AddStaticVehicle(460,1639.3567,572.2720,1.5311,206.6160,1,3); //167
        AddStaticVehicle(460,2293.4219,517.5514,1.7537,270.7889,1,3); //168
        AddStaticVehicle(460,2354.4690,518.5284,1.7450,270.2214,1,3); //169
        AddStaticVehicle(460,772.4293,2912.5579,1.0753,69.6706,1,3); //170

        // 22/4 UPDATE
        AddStaticVehicle(560,2133.0769,1019.2366,10.5259,90.5265,9,39); //171
        AddStaticVehicle(560,2142.4023,1408.5675,10.5258,0.3660,17,1); //172
        AddStaticVehicle(560,2196.3340,1856.8469,10.5257,179.8070,21,1); //173
        AddStaticVehicle(560,2103.4146,2069.1514,10.5249,270.1451,33,0); //174
        AddStaticVehicle(560,2361.8042,2210.9951,10.3848,178.7366,37,0); //175
        AddStaticVehicle(560,-1993.2465,241.5329,34.8774,310.0117,41,29); //176
        AddStaticVehicle(559,-1989.3235,270.1447,34.8321,88.6822,58,8); //177
        AddStaticVehicle(559,-1946.2416,273.2482,35.1302,126.4200,60,1); //178
        AddStaticVehicle(558,-1956.8257,271.4941,35.0984,71.7499,24,1); //179
        AddStaticVehicle(562,-1952.8894,258.8604,40.7082,51.7172,17,1); //180
        AddStaticVehicle(411,-1949.8689,266.5759,40.7776,216.4882,112,1); //181
        AddStaticVehicle(429,-1988.0347,305.4242,34.8553,87.0725,2,1); //182
        AddStaticVehicle(559,-1657.6660,1213.6195,6.9062,282.6953,13,8); //183
        AddStaticVehicle(560,-1658.3722,1213.2236,13.3806,37.9052,52,39); //184
        AddStaticVehicle(558,-1660.8994,1210.7589,20.7875,317.6098,36,1); //185
        AddStaticVehicle(550,-1645.2401,1303.9883,6.8482,133.6013,7,7); //186
        AddStaticVehicle(460,-1333.1960,903.7660,1.5568,0.5095,46,32); //187

        // 25/4 UPDATE
        AddStaticVehicle(411,113.8611,1068.6182,13.3395,177.1330,116,1); //188
        AddStaticVehicle(429,159.5199,1185.1160,14.7324,85.5769,1,2); //189
        AddStaticVehicle(411,612.4678,1694.4126,6.7192,302.5539,75,1); //190
        AddStaticVehicle(522,661.7609,1720.9894,6.5641,19.1231,6,25); //191
        AddStaticVehicle(522,660.0554,1719.1187,6.5642,12.7699,8,82); //192
        AddStaticVehicle(567,711.4207,1947.5208,5.4056,179.3810,90,96); //193
        AddStaticVehicle(567,1031.8435,1920.3726,11.3369,89.4978,97,96); //194
        AddStaticVehicle(567,1112.3754,1747.8737,10.6923,270.9278,102,114); //195
        AddStaticVehicle(567,1641.6802,1299.2113,10.6869,271.4891,97,96); //196
        AddStaticVehicle(567,2135.8757,1408.4512,10.6867,180.4562,90,96); //197
        AddStaticVehicle(567,2262.2639,1469.2202,14.9177,91.1919,99,81); //198
        AddStaticVehicle(567,2461.7380,1345.5385,10.6975,0.9317,114,1); //199
        AddStaticVehicle(567,2804.4365,1332.5348,10.6283,271.7682,88,64); //200
        AddStaticVehicle(560,2805.1685,1361.4004,10.4548,270.2340,17,1); //201
        AddStaticVehicle(506,2853.5378,1361.4677,10.5149,269.6648,7,7); //202
        AddStaticVehicle(567,2633.9832,2205.7061,10.6868,180.0076,93,64); //203
        AddStaticVehicle(567,2119.9751,2049.3127,10.5423,180.1963,93,64); //204
        AddStaticVehicle(567,2785.0261,-1835.0374,9.6874,226.9852,93,64); //205
        AddStaticVehicle(567,2787.8975,-1876.2583,9.6966,0.5804,99,81); //206
        AddStaticVehicle(411,2771.2993,-1841.5620,9.4870,20.7678,116,1); //207
        AddStaticVehicle(420,1713.9319,1467.8354,10.5219,342.8006,6,1); //208 taxi
        AddStaticVehicle(577,1342.4490,1624.0188,10.7716,359.6477,8,10); //209
        AddStaticVehicle(577,1351.2518,1532.4963,10.7983,91.4980,8,10); //210
        AddStaticVehicle(541,-2337.8042,-1576.0404,483.1354,220.6328,36,8); //211
        AddStaticVehicle(411,-2355.7117,-1629.0691,483.4083,232.5349,116,1); //212
        AddStaticVehicle(560,-2350.2209,-1605.3473,483.3274,260.2925,3,29); //213
    	AddStaticVehicle(451,-2348.6125,-1600.0775,483.2677,260.8210,6,1); //214
    	AddStaticVehicle(415,-2351.2715,-1609.4686,483.3521,255.1363,116,1); //215
    	AddStaticVehicle(406,-2346.2666,-1596.5439,483.3297,249.0856,116,1); //216
    	AddStaticVehicle(429,-2352.1895,-1618.3301,483.3775,264.3060,116,1); //217
    	AddStaticVehicle(406,-2342.8354,-1587.4589,485.0858,245.8765,116,1); //218
    	AddStaticVehicle(451,-2344.5742,-1586.3894,490.1917,244.0628,6,1); //219
        AddStaticVehicle(406,2088.3979,1962.9679,12.5647,296.4966,1,1); //220
        AddStaticVehicle(406,2105.7163,1966.7306,12.2648,274.3681,1,1); //221



        AddStaticPickup(371, 15, 1710.3359,1614.3585,10.1191); //para
        AddStaticPickup(371, 15, 1964.4523,1917.0341,130.9375); //para
        AddStaticPickup(371, 15, 2055.7258,2395.8589,150.4766); //para
        AddStaticPickup(371, 15, 2265.0120,1672.3837,94.9219); //para
        AddStaticPickup(371, 15, 2265.9739,1623.4060,94.9219); //para

        SetTimer("MoneyGrubScoreUpdate", 1000, 1);
        SetTimer("checkpointUpdate", 1100, 1);
        SetTimer("PirateShipScoreUpdate", 2001, 1);
        SetTimer("PropertyScoreUpdate", 40005, 1);
        SetTimer("SavedUpdate",99999999999999999999, 1);
        SetTimer("AutoOpenCar",10000,1);
        SetTimer("CountdownCheck", 1000, 1);

    	gRaceid = 1;

        //SetTimer("GameModeExitFunc", gRoundTime, 0);

        return 1;
}


//mktime timestamping. By Makebo, based off the php function
public mktime() {
 new timestamp;
 new hour,minute,second;
 new year, month,day;
 gettime(hour, minute, second);
 getdate(year, month, day);

 timestamp = second;

 timestamp += minute * 60;

 timestamp += hour * 3600;

 new days_of_month[12];
 if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) {
  days_of_month = {31,29,31,30,31,30,31,31,30,31,30,31}; // Schaltjahr
 } else {
  days_of_month = {31,28,31,30,31,30,31,31,30,31,30,31}; // keins
 }
 new days_this_year = 0;
 days_this_year = day;
 if(month > 1) { // No January Calculation, because its always the 0 past months
  for(new i=0; i<month-1;i++) {
   days_this_year += days_of_month[i];
  }
 }
 timestamp += days_this_year * 86400;
// printf("Days this Year: %d",days_this_year);


 for(new j=1970;j<year;j++) {
  timestamp += 31536000;
   if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) timestamp += 86400; // Schaltjahr + 1 Tag
 }


 return timestamp;
}

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

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

strtok(const string[], &index)
{
        new length = strlen(string);
        while ((index < length) && (string[index] <= ' '))
        {
                index++;
        }

        new offset = index;
        new result[20];
        while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
        {
                result[index - offset] = string[index];
                index++;
        }
        result[index - offset] = EOS;
        return result;
}

isStringSame(const string1[], const string2[], len) {
        for(new i = 0; i < len; i++) {
            if(string1[i]!=string2[i])
                return 0;
                if(string1[i] == 0 || string1[i] == '\n')
                    return 1;
        }
        return 1;
}

public RealTimeUpdate()
{
new h=0, m=0, s=0;               //setup time flags
new string[256];                 //string for format
gettime(h,m,s);                  //Get what the real time is
SetWorldTime(h);                 //Set world time to real time (only hours work)

     format(string, sizeof(string), "The time is updated - %d:%d:%d", h, m, s);
     print(string);

SetTimer("RealTimeUpdate",1000000,0); //reset interval (1000 = 1 second, 1000000 = ten miniutes)

return 1;


}