All pastes #734311 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-10-12 16:14 UTC
rendered paste body
#include <a_samp>
#include <core>
#include <float>
#include DINI
#include dudb

// ================================================================================================

#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#define COLOR_RED   	0xFF4040FF
#define COLOR_GREEN 	0x40FF40FF
#define COLOR_BLUE  	0x4040FFFF
#define COLOR_CYAN  	0x40FFFFFF
#define COLOR_PINK  	0xFF40FFFF
#define COLOR_YELLOW    0xFFFF40FF
#define COLOR_WHITE		0xFFFFFFFF
#define COLOR_BLACK		0x000000FF

// ================================================================================================

dcmd_godcar(playerid,params[])
{
 	new pid = strval(params[7]);
 	new onoff = strval(params[9]);
	if (strlen(params)) {
 		if (pInfo[playerid][Admin] >= 2) {
 		    if (IsPlayerConnected(pid)) {
				if (IsPlayerInAnyVehicle(pid)) {
				    if (onoff == 1) {
 		    			SetVehicleHealth(GetPlayerVehicleID(pid), 13371337.0);
 		    			SendClientMessage(playerid, COLOR_YELLOW, "[Enabled GodMode for Specified ID.]");
 		    			SendClientMessage(pid, COLOR_GREEN, "[Godmode on your Vehicle enabled!]");
						}
					if (onoff == 0) {
						SetVehicleHealth(GetPlayerVehicleID(pid), 1000.0);
 		    			SendClientMessage(playerid, COLOR_YELLOW, "[Disabled GodMode for Specified ID.]");
 		    			SendClientMessage(pid, COLOR_RED, "[Godmode on your Vehicle disabled!]");
						}
					}
				else {
			    	SendClientMessage(playerid, COLOR_YELLOW, "[GodCar] Player is not in a vehicle.");
			    	}
				}
			else {
		    	SendClientMessage(playerid, COLOR_YELLOW, "[GodCar] Player is not connected.");
				}
			}
		else {
		    SendClientMessage(playerid, COLOR_YELLOW, "[GodCar] You're not admin.");
		    }
		}
	else {
	    	SendClientMessage(playerid, COLOR_YELLOW, "[GodCar] Wrong syntax: /godcar [ID] [0|1]");
	    }
 	return 1;
}
dcmd_godmode(playerid,params[])
{
	new pid = strval(params[7]);
	new onoff = strval(params[9]);
	if (strlen(params)) {
		if (pInfo[playerid][Admin] >= 2) {
			if (IsPlayerConnected(pid)) {
				if (onoff == 1) {
					SetPlayerHealth(pid, 13371337.0);
					SendClientMessage(playerid, COLOR_YELLOW, "[Enabled GodMode for Specified ID.]");
					SendClientMessage(pid, COLOR_GREEN, "[Godmode on your person enabled!]");
					}
				if (onoff == 0) {
					SetVehicleHealth(GetPlayerVehicleID(pid), 1000.0);
					SendClientMessage(playerid, COLOR_YELLOW, "[Disabled GodMode for Specified ID.]");
					SendClientMessage(pid, COLOR_RED, "[Godmode on your person disabled!]");
					}
				}
			else {
				SendClientMessage(playerid, COLOR_YELLOW, "[GodCar] Player is not connected.");
				}
			}
		else {
		    SendClientMessage(playerid, COLOR_YELLOW, "[GodCar] You're not admin.");
		    }
		}
	else {
		SendClientMessage(playerid, COLOR_YELLOW, "[GodCar] Wrong syntax: /godmode [ID] [0|1]");
		}
	return 1;
}
	    
// ================================================================================================

forward SpeedoMeterCheck();

// ================================================================================================

main()
{
	print("\n***************************************");
	print("*** HyperAirportManiac              ***");
	print("***     by miceiken                 ***");
	print("***************************************");
	print("*** Version: 2.8                    ***");
	print("*** Changelog File: changelog.txt   ***");
	print("***************************************\n");
}

// ================================================================================================

enum SavePlayerPosEnum
{
    Float:LastX,
    Float:LastY,
    Float:LastZ
}
new SavePlayerPos[MAX_PLAYERS][SavePlayerPosEnum];

// ================================================================================================

SpawnVehicles() { // Spawn vehicles to world
	CreateVehicle(411, -1236.341918, 32.706558, 13.875617, 43.297183, -1, -1, 5000);
	CreateVehicle(411, -1228.405761, 40.101295, 13.866605, 42.03165, -1, -1, 5000);
	CreateVehicle(411, -1261.091796, 29.499776, 13.877864, 132.577575, -1, -1, 5000);
	CreateVehicle(411, -1233.776977, 35.130229, 13.871915, 43.25222, -1, -1, 5000);
	CreateVehicle(411, -1231.076904, 37.682323, 13.868957, 43.548656, -1, -1, 5000);
	CreateVehicle(411, -1265.920532, 34.158710, 13.874214, 133.423171, -1, -1, 5000);
	CreateVehicle(411, -1255.998657, 24.665662, 13.877864, 134.966491, -1, -1, 5000);
	CreateVehicle(411, -1263.378295, 31.802282, 13.877864, 133.568054, -1, -1, 5000);
	CreateVehicle(411, -1258.752929, 27.017866, 13.877182, 135.172515, -1, -1, 5000);
	CreateVehicle(432, 278.987060, 1955.355468, 17.653316, 272.362915, -1, -1, 5000);
	CreateVehicle(432, 276.359466, 1988.026123, 17.653482, 270.641784, -1, -1, 5000);
	CreateVehicle(432, 277.080261, 2023.296997, 17.653497, 270.91455, -1, -1, 5000);
	CreateVehicle(425, 324.978179, 1940.239135, 18.208637, 89.632377, -1, -1, 5000);
	CreateVehicle(425, 326.881164, 1956.224243, 18.212778, 85.964118, -1, -1, 5000);
	CreateVehicle(425, 332.546997, 1923.885986, 19.640625, 0.00000, -1, -1, 5000);
	CreateVehicle(520, 298.490447, 1853.553344, 18.370679, 138.994308, -1, -1, 5000);
	CreateVehicle(520, 297.778778, 1844.131958, 18.363878, 137.605133, -1, -1, 5000);
	CreateVehicle(541, -1174.503051, 18.192783, 13.775719, 224.02243, -1, -1, 5000);
	CreateVehicle(541, -1166.621337, 26.205497, 13.775805, 226.311538, -1, -1, 5000);
	CreateVehicle(541, -1164.825317, 28.048631, 13.775840, 226.656646, -1, -1, 5000);
	CreateVehicle(541, -1172.499145, 20.092554, 13.775119, 222.995071, -1, -1, 5000);
	CreateVehicle(541, -1168.505371, 24.148653, 13.775333, 224.052108, -1, -1, 5000);
	CreateVehicle(541, -1180.105102, 12.662786, 13.775084, 224.07489, -1, -1, 5000);
	CreateVehicle(541, -1170.689453, 22.092487, 13.775708, 221.698516, -1, -1, 5000);
	CreateVehicle(541, -1178.362670, 14.271303, 13.775712, 223.857025, -1, -1, 5000);
	CreateVehicle(541, -1176.457031, 16.180868, 13.775697, 225.059707, -1, -1, 5000);
	CreateVehicle(407, -1256.478515, 65.925498, 14.385391, 43.227973, -1, -1, 5000);
	CreateVehicle(407, -1260.321777, 62.029273, 14.386359, 44.124694, -1, -1, 5000);
	CreateVehicle(584, -1243.736816, -50.361396, 15.237998, 45.383888, 0, 0, 5000);
	CreateVehicle(403, -1250.615356, -43.551414, 14.740142, 45.192646, 0, 0, 5000);
	CreateVehicle(584, -1235.778442, -41.765987, 15.239003, 46.226276, 0, 0, 5000);
	CreateVehicle(403, -1242.744506, -35.060913, 14.739863, 45.780353, 0, 0, 5000);
	CreateVehicle(475, -2019.799072, 58.148235, 29.515197, 200.233337, -1, -1, 5000); // Interior(0), Sabre
	CreateVehicle(416, -2645.522949, 630.082763, 14.567281, 269.565795, -1, -1, 5000); // Interior(0), Ambulance
	CreateVehicle(434, -1952.902221, 257.729766, 41.020389, 53.214828, -1, -1, 5000); // Interior(0), Hotknife
	CreateVehicle(416, -2675.002441, 629.855957, 14.602065, 268.030700, -1, -1, 5000); // Interior(0), Ambulance
	CreateVehicle(434, -1950.373168, 263.963867, 41.015071, 43.662631, -1, -1, 5000); // Interior(0), Hotknife
	CreateVehicle(468, -2356.020263, -1622.448364, 483.331329, 252.129653, -1, -1, 5000); // Interior(0), Sanchez
	CreateVehicle(411, -1948.148681, 262.496154, 35.198104, 128.736633, -1, -1, 5000); // Interior(0), Infernus
	CreateVehicle(451, -1950.324218, 270.560974, 35.180446, 132.779754, -1, -1, 5000); // Interior(0), Turismo
	CreateVehicle(468, -2356.876464, -1625.318603, 483.339721, 258.034179, -1, -1, 5000); // Interior(0), Sanchez
	CreateVehicle(468, -2355.302490, -1619.315795, 483.320373, 254.318054, -1, -1, 5000); // Interior(0), Sanchez
	CreateVehicle(468, -2354.385009, -1616.134521, 483.312713, 259.055633, -1, -1, 5000); // Interior(0), Sanchez
	CreateVehicle(420, -2422.533691, 521.173950, 29.712963, 226.302062, -1, -1, 5000); // Interior(0), Taxi
	CreateVehicle(438, -2425.680175, 518.307128, 29.932998, 219.419525, -1, -1, 5000); // Interior(0), Cabbie
	CreateVehicle(420, -2416.502441, 528.372192, 29.712545, 240.005859, -1, -1, 5000); // Interior(0), Taxi
	CreateVehicle(495, 334.311248, -1788.738403, 5.256219, 179.206970, -1, -1, 5000); // Interior(0), Sandking
	CreateVehicle(559, -2711.248291, 204.033081, 3.909715, 183.092880, -1, -1, 5000); // Interior(0), Jester
	CreateVehicle(558, -2710.822265, 194.442581, 3.883161, 182.565887, -1, -1, 5000); // Interior(0), Uranus
	CreateVehicle(476, 1891.793701, -2624.187500, 14.241411, 359.586486, -1, -1, 5000); // Interior(0), Rustler
	CreateVehicle(476, 1822.426879, -2625.348388, 14.259128, 0.603231, -1, -1, 5000); // Interior(0), Rustler
	CreateVehicle(511, 1754.893920, -2624.783691, 14.923164, 1.739387, -1, -1, 5000); // Interior(0), Beagle
	CreateVehicle(511, 1684.131225, -2626.366210, 14.921197, 1.585602, -1, -1, 5000); // Interior(0), Beagle
	CreateVehicle(407, -2009.885009, 84.428024, 27.857719, 267.734893, -1, -1, 5000); // Interior(0), Firetruck
	CreateVehicle(513, 1619.058959, -2628.125488, 14.101312, 359.620910, -1, -1, 5000); // Interior(0), Stunt
	CreateVehicle(495, 334.311248, -1788.738403, 5.256219, 179.206970, -1, -1, 5000); // Interior(0), Sandking
	CreateVehicle(476, 1891.793701, -2624.187500, 14.241411, 359.586486, -1, -1, 5000); // Interior(0), Rustler
	CreateVehicle(476, 1822.426879, -2625.348388, 14.259128, 0.603231, -1, -1, 5000); // Interior(0), Rustler
	CreateVehicle(511, 1754.893920, -2624.783691, 14.923164, 1.739387, -1, -1, 5000); // Interior(0), Beagle
	CreateVehicle(511, 1684.131225, -2626.366210, 14.921197, 1.585602, -1, -1, 5000); // Interior(0), Beagle
	CreateVehicle(407, -2021.961547, 84.034950, 28.268226, 270.574554, -1, -1, 5000); // Interior(0), Firetruck
	CreateVehicle(513, 1619.058959, -2628.125488, 14.101312, 359.620910, -1, -1, 5000); // Interior(0), Stunt
	CreateVehicle(493, -2952.701171, 502.579376, 0.287293, 2.694661, -1, -1, 5000); // Interior(0), Jetmax
	CreateVehicle(514, -20.804674, -285.648437, 6.005270, 198.603240, -1, -1, 5000); // Interior(0), Tanker
	CreateVehicle(477, -14.475719, -299.474151, 5.181238, 38.758781, -1, -1, 5000); // Interior(0), ZR-350
	CreateVehicle(407, -2021.959106, 75.099861, 28.336851, 274.894836, -1, -1, 5000); // Interior(0), Firetruck
	CreateVehicle(450, -22.843402, -274.419799, 5.998436, 178.826065, -1, -1, 5000); // Interior(0), Trailer 2
	CreateVehicle(567, 1412.830078, 714.704284, 10.689378, 270.621917, -1, -1, 5000); // Interior(0), Savanna
	CreateVehicle(567, 1412.853271, 781.547912, 10.693092, 271.881103, -1, -1, 5000); // Interior(0), Savanna
	CreateVehicle(567, 1548.114990, 787.549499, 10.689114, 179.649993, -1, -1, 5000); // Interior(0), Savanna
	CreateVehicle(567, 1539.559326, 676.505371, 10.689064, 180.217788, -1, -1, 5000); // Interior(0), Savanna
	CreateVehicle(567, 1479.104125, 698.308532, 10.690351, 288.302062, -1, -1, 5000); // Interior(0), Savanna
	CreateVehicle(567, 1413.145874, 673.027587, 10.692874, 269.870269, -1, -1, 5000); // Interior(0), Savanna
	CreateVehicle(599, -1606.022094, 673.799316, 7.378975, 182.525634, -1, -1, 5000); // Interior(0), Police Ranger
	CreateVehicle(427, -1611.945556, 672.839050, 7.319348, 180.059982, -1, -1, 5000); // Interior(0), Enforcer
	CreateVehicle(560, -2691.957275, 204.716125, 4.043301, 3.105062, -1, -1, 5000); // Interior(0), Sultan
	CreateVehicle(497, -1679.504272, 707.772521, 30.785001, 98.706115, -1, -1, 5000); // Interior(0), Police Maverick
	CreateVehicle(609, -544.646972, -486.942871, 25.594251, 359.673004, -1, -1, 5000); // Interior(0), Boxville
	CreateVehicle(498, -569.137573, -471.513427, 25.591232, 178.373046, -1, -1, 5000); // Interior(0), Boxville
	CreateVehicle(542, -579.986145, -487.039855, 25.268617, 178.922637, -1, -1, 5000); // Interior(0), Clover
	CreateVehicle(580, -2252.315917, 145.008605, 34.968032, 86.753845, -1, -1, 5000); // Interior(0), Stafford
	CreateVehicle(414, -529.934875, -472.403442, 25.616216, 176.253173, -1, -1, 5000); // Interior(0), Mule
	CreateVehicle(549, -524.897888, -488.298767, 25.220697, 1.322715, -1, -1, 5000); // Interior(0), Tampa
	CreateVehicle(512, -1429.738403, -952.517333, 201.296600, 265.520782, -1, -1, 5000); // Interior(0), Cropdust
	CreateVehicle(471, -1429.426513, -960.506835, 200.389099, 51.070709, -1, -1, 5000); // Interior(0), Quad
	CreateVehicle(471, -1426.606445, -960.315002, 200.337524, 351.281768, -1, -1, 5000); // Interior(0), Quad
	CreateVehicle(468, -1435.577880, -961.209289, 200.700607, 82.119384, -1, -1, 5000); // Interior(0), Sanchez
	CreateVehicle(469, -1431.489013, -939.797241, 201.139465, 265.671813, -1, -1, 5000); // Interior(0), Sparrow
	CreateVehicle(417, -1208.347900, 7.733183, 14.239973, 43.914394, -1, -1, 5000); // Interior(0), Leviathan
	CreateVehicle(408, -57.847957, -1131.603393, 1.638304, 67.870277, -1, -1, 5000); // Interior(0), Trashmaster
	CreateVehicle(605, -87.375953, -1135.623046, 0.901659, 245.690963, -1, -1, 5000); // Interior(0), Sadler
	CreateVehicle(553, -1642.872924, -150.622665, 15.480602, 315.582519, -1, -1, 5000); // Interior(0), Nevada
	CreateVehicle(429, -1226.193481, -397.211853, 13.828146, 196.029235, -1, -1, 5000); // Interior(0), Banshee
	CreateVehicle(531, -367.991027, -1440.442382, 25.691246, 86.703598, -1, -1, 5000); // Interior(0), Tractor
	CreateVehicle(478, -379.376007, -1451.660400, 25.725715, 358.886077, -1, -1, 5000); // Interior(0), Walton
	CreateVehicle(478, -373.436218, -1450.356445, 25.724819, 359.493225, -1, -1, 5000); // Interior(0), Walton
	CreateVehicle(543, -363.662261, -1409.960693, 25.547313, 91.694206, -1, -1, 5000); // Interior(0), Sadler
	CreateVehicle(522, -2254.506591, 2284.959716, 4.394299, 87.771255, -1, -1, 5000); // Interior(0), NRG-500
	CreateVehicle(417, -2228.058593, 2325.928955, 7.638569, 358.147766, -1, -1, 5000); // Interior(0), Leviathan
	CreateVehicle(522, -2254.231201, 2290.764648, 4.391130, 87.345497, -1, -1, 5000); // Interior(0), NRG-500
	CreateVehicle(522, -2254.256103, 2294.007080, 4.386201, 89.357864, -1, -1, 5000); // Interior(0), NRG-500
	CreateVehicle(522, -2254.478271, 2288.023193, 4.388803, 89.650405, -1, -1, 5000); // Interior(0), NRG-500
	CreateVehicle(484, -2223.122802, 2400.604003, 4.472990, 0.000000, -1, -1, 5000); // Interior(0), Marquis
	CreateVehicle(452, -2201.906005, 2416.449951, -0.385465, 44.205944, -1, -1, 5000); // Interior(0), Speeder
	CreateVehicle(426, -2272.137207, 2327.164550, 4.564023, 268.504608, -1, -1, 5000); // Interior(0), Premier
	CreateVehicle(532, -1113.337646, -1620.836669, 77.359382, 271.322479, -1, -1, 5000); // Interior(0), Combine
	CreateVehicle(502, -377.407348, -1417.689453, 27.726562, 0.000000, -1, -1, 5000); // Interior(0), Hotring Racer A
	CreateVehicle(468, -364.483123, -1428.565185, 25.394701, 93.105476, -1, -1, 5000); // Interior(0), Sanchez
	CreateVehicle(508, -2397.302734, -595.267517, 133.024932, 125.003059, -1, -1, 5000); // Interior(0), Journey
	CreateVehicle(468, -367.045532, -1423.835937, 27.726562, 0.000000, -1, -1, 5000); // Interior(0), Sanchez
	CreateVehicle(468, -364.468627, -1426.430175, 25.394613, 90.353752, -1, -1, 5000); // Interior(0), Sanchez
	CreateVehicle(461, -2392.078857, -601.895812, 132.224868, 124.730377, -1, -1, 5000); // Interior(0), PCJ-600
	CreateVehicle(573, -2284.324462, -1642.463989, 484.085113, 84.410369, -1, -1, 5000); // Interior(0), Duneride
	CreateVehicle(444, -1120.331787, -1658.134521, 76.738410, 278.324371, -1, -1, 5000); // Interior(0), Monster
	CreateVehicle(573, -2285.931640, -1651.676513, 483.765045, 82.432357, -1, -1, 5000); // Interior(0), Duneride
	CreateVehicle(556, -1119.780151, -1651.520996, 76.742187, 268.502746, -1, -1, 5000); // Interior(0), Monster A
	CreateVehicle(557, -1119.980957, -1645.849243, 76.742019, 269.589874, -1, -1, 5000); // Interior(0), Monster B
	CreateVehicle(568, -2411.776123, -584.756591, 132.513168, 215.838668, -1, -1, 5000); // Interior(0), Bandito
	CreateVehicle(568, -2414.639648, -586.687744, 132.514175, 213.704483, -1, -1, 5000); // Interior(0), Bandito
	CreateVehicle(508, -2349.084716, -1608.193359, 484.009643, 256.687347, -1, -1, 5000); // Interior(0), Journey
	CreateVehicle(442, -2040.506103, 1112.637695, 53.121559, 93.048484, -1, -1, 5000); // Interior(0), Romero
	CreateVehicle(442, -2040.290405, 1108.866088, 53.119251, 94.015449, -1, -1, 5000); // Interior(0), Romero
	CreateVehicle(582, -2524.257324, -602.888061, 132.622528, 180.891830, -1, -1, 5000); // Interior(0), Newsvan
	CreateVehicle(448, -1805.914428, 950.565673, 24.489538, 176.569824, -1, -1, 5000); // Interior(0), Pizzaboy
	CreateVehicle(582, -2527.779296, -603.137817, 132.622360, 180.520553, -1, -1, 5000); // Interior(0), Newsvan
	CreateVehicle(448, -1805.979248, 953.669006, 24.487567, 181.038131, -1, -1, 5000); // Interior(0), Pizzaboy
	CreateVehicle(448, -1810.413330, 943.351562, 24.461729, 289.871582, -1, -1, 5000); // Interior(0), Pizzaboy
	CreateVehicle(582, -2532.028564, -603.042114, 132.620956, 180.556198, -1, -1, 5000); // Interior(0), Newsvan
	CreateVehicle(463, -2149.808593, -754.635986, 31.563562, 269.063751, -1, -1, 5000); // Interior(0), Freeway
	CreateVehicle(463, -2149.903076, -757.831970, 31.563543, 270.571350, -1, -1, 5000); // Interior(0), Freeway
	CreateVehicle(493, -1462.419921, 1023.260009, -0.147209, 270.382690, -1, -1, 5000); // Interior(0), Jetmax
	CreateVehicle(574, -1974.392944, 170.394424, 27.416368, 93.931129, -1, -1, 5000); // Interior(0), Sweeper
	CreateVehicle(493, -1469.634765, 1090.586791, -0.195591, 268.066101, -1, -1, 5000); // Interior(0), Jetmax
	CreateVehicle(405, -2217.615478, 573.664123, 34.964977, 88.917732, -1, -1, 5000); // Interior(0), Sentinel
	CreateVehicle(405, -2227.627685, 573.681396, 34.964931, 89.344909, -1, -1, 5000); // Interior(0), Sentinel
	CreateVehicle(405, -2219.690185, 609.779235, 35.043277, 272.070129, -1, -1, 5000); // Interior(0), Sentinel
	CreateVehicle(416, 2017.922729, -1430.245727, 13.694814, 134.097412, -1, -1, 5000); // Interior(0), Ambulance
	CreateVehicle(494, 1900.353637, -1455.533569, 13.355166, 89.504219, -1, -1, 5000); // Interior(0), Hotring
	CreateVehicle(585, -2213.791748, 615.260253, 34.751556, 181.338241, -1, -1, 5000); // Interior(0), Emperor
}
SpawnPickups() { // Make the pickups spawn
	CreatePickup(371, 15, -1263.658325, 45.739883, 33.882812); // Sniper Spot 1 Parachute
	CreatePickup(371, 15, -1425.601928, -255.681625, 25.437500); // Sniper Spot 2 Parachute
	CreatePickup(371, 15, -1278.064697, 53.871955, 71.543975); // Sniper Spot 3 Parachute
	CreatePickup(371, 15, 1541.342407, -1366.697875, 329.796875); // LS High Building
}
AddClasses() { // Add classes
	AddPlayerClass(0, -1236.982666, 50.492626, 14.130695, 127.046157, 4, 1, 9, 1, 34, 100); // CJ
	AddPlayerClass(111, -1236.982666, 50.492626, 14.130695, 127.046157, 4, 1, 9, 1, 34, 100); // Mafia
	AddPlayerClass(280, -1236.982666, 50.492626, 14.130695, 127.046157, 4, 1, 9, 1, 34, 100); // Police
	AddPlayerClass(260, -1236.982666, 50.492626, 14.130695, 127.046157, 22, 272, 25, 40, 4, 1); // Worker
	AddPlayerClass(249, -1236.982666, 50.492626, 14.130695, 127.046157, 23, 272, 29, 270, 5, 1); // Pimp
	AddPlayerClass(259, -1236.982666, 50.492626, 14.130695, 127.046157, 25, 40, 32, 250, 9, 1); // Golfer
	AddPlayerClass(253, -1236.982666, 50.492626, 14.130695, 127.046157, 25, 40, 24, 70, 4, 1); // Driver
}
public SpeedoMeterCheck() {
	for (new i = 0; i < MAX_PLAYERS; i++) {
		if (IsPlayerConnected(i)) {
		    if (IsPlayerInAnyVehicle(i)) {
			    new Float:x,Float:y,Float:z;
	            new Float:distance,value;
	            GetPlayerPos(i, x, y, z);
				new msg[120];
				distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
            	value = floatround(distance * 11000);
				format(msg, 120, "%s~w~%i KPH", "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~", floatround(value/1400));
				GameTextForPlayer(i, msg, 1000, 3);
				SavePlayerPos[i][LastX] = x;
            	SavePlayerPos[i][LastY] = y;
            	SavePlayerPos[i][LastZ] = z;
			}
		}
	}
}
PName(playerid) { // Return Playername from Playerid
	new Name[MAX_PLAYER_NAME];
	GetPlayerName(playerid,Name,sizeof(Name));
	return Name;
}
ClearPlayerChat(playerid) { // Clear Chat for Playerid
	for(new i = 0; i <= 10; i ++) {
		SendClientMessage(playerid, 0x000000, " ");
	}
}
SetupPlayerForClassSelection(playerid,classid)
{
	SetPlayerPos(playerid, 398.4077, 2540.5049, 19.6311);
	SetPlayerCameraPos(playerid, 398.4077, 2530.5049, 19.6311);
	SetPlayerCameraLookAt(playerid, 398.4077, 2540.5049, 19.6311);
	SetPlayerFacingAngle(playerid, 180.0);
	if (classid == 0) {
	    GameTextForPlayer(playerid,"~r~CJ", 3000, 3);
	}
	if (classid == 1) {
	    GameTextForPlayer(playerid,"~l~Mafia", 3000, 3);
	}
	if (classid == 2) {
	    GameTextForPlayer(playerid,"~b~Police", 3000, 3);
	}
	if (classid == 3) {
	    GameTextForPlayer(playerid,"~y~Worker", 3000, 3);
	}
	if (classid == 4) {
	    GameTextForPlayer(playerid,"~p~Pimp", 3000, 3);
	}
	if (classid == 5) {
	    GameTextForPlayer(playerid,"~g~Golfer", 3000, 3);
	}
	if (classid == 6) {
	    GameTextForPlayer(playerid,"~w~Driver", 3000, 3);
	}
}
new aValidVehicles[145] = {
	477,
	554,
	456,
	555,
	529,
	421,
	478,
	412,
	491,
	540,
	552,
	558,
	451,
	583,
	408,
	531,
	525,
	576,
	459,
	420,
	549,
	566,
	574,
	601,
	506,
	550,
	560,
	409,
	561,
	439,
	580,
	458,
	535,
	405,
	428,
	567,
	495,
	605,
	543,
	475,
	440,
	442,
	505,
	432,
	534,
	479,
	515,
	564,
	594,
	441,
	489,
	547,
	436,
	426,
	413,
	600,
	603,
	514,
	404,
	470,
	443,
	467,
	582,
	516,
	414,
	423,
	572,
	418,
	500,
	551,
	410,
	517,
	403,
	400,
	571,
	508,
	559,
	546,
	411,
	545,
	579,
	494,
	503,
	502,
	434,
	588,
	474,
	492,
	604,
	466,
	526,
	530,
	455,
	565,
	407,
	544,
	533,
	528,
	490,
	587,
	419,
	427,
	585,
	562,
	507,
	486,
	578,
	598,
	597,
	599,
	596,
	480,
	532,
	437,
	589,
	542,
	415,
	524,
	483,
	527,
	457,
	438,
	431,
	482,
	541,
	402,
	518,
	575,
	401,
	498,
	609,
	422,
	504,
	496,
	536,
	424,
	499,
	433,
	429,
	568,
	485,
	416,
	602,
	539,
	445
};
IsVehicleValidForPimp(vehicleid) {
	new vehiclemodel = GetVehicleModel(vehicleid);
 	for(new i = 0; i < 145; i++) {
 	    if (aValidVehicles[i] == vehiclemodel) {
 	        return 1;
		}
	}
	return 0;
}
Teleport(playerid,teleid) {
 	if (teleid == 1) {
 		if (IsPlayerInAnyVehicle(playerid)) { // Home
         	new vehicleid = GetPlayerVehicleID(playerid);
            SetVehiclePos(vehicleid, -1236.982666, 50.492626, 14.130695);
			SetVehicleZAngle(vehicleid, 127.046157);
		}
		else {
			SetPlayerPos(playerid, -1236.982666, 50.492626, 14.130695);
			SetPlayerFacingAngle(playerid, 127.046157);
		}
	}
	 if (teleid == 2) {
 		if (IsPlayerInAnyVehicle(playerid)) { // Airport
    		new vehicleid = GetPlayerVehicleID(playerid);
            SetVehiclePos(vehicleid, -1236.982666, 50.492626, 14.130695);
			SetVehicleZAngle(vehicleid, 127.046157);
		}
		else {
			SetPlayerPos(playerid, -1236.982666, 50.492626, 14.130695);
			SetPlayerFacingAngle(playerid, 127.046157);
		}
	}
 	if (teleid == 3) {
 		if (IsPlayerInAnyVehicle(playerid)) { // Mount Chiliad
			new vehicleid = GetPlayerVehicleID(playerid);
            SetVehiclePos(vehicleid, -2322.637207, -1600.121459, 483.839782);
			SetVehicleZAngle(vehicleid, 207.573562);
		}
		else {
			SetPlayerPos(playerid, -2322.637207, -1600.121459, 483.839782);
			SetPlayerFacingAngle(playerid, 207.573562);
		}
	}
 	if (teleid == 4) {
 		if (IsPlayerInAnyVehicle(playerid)) { // Millitary Airport
 			new vehicleid = GetPlayerVehicleID(playerid);
            SetVehiclePos(vehicleid, 282.287475, 1924.882446, 17.640625);
			SetVehicleZAngle(vehicleid, 280.894287);
		}
		else {
   			SetPlayerPos(playerid, 282.287475, 1924.882446, 17.640625);
			SetPlayerFacingAngle(playerid, 280.894287);
		}
	}
	 if (teleid == 5) {
 		if (IsPlayerInAnyVehicle(playerid)) { // Plane Wreckyard
 		    new vehicleid = GetPlayerVehicleID(playerid);
            SetVehiclePos(vehicleid, 388.096130, 2591.386474, 16.484375);
			SetVehicleZAngle(vehicleid, 176.889999);
		}
		else {
			SetPlayerPos(playerid, 388.096130, 2591.386474, 16.484375);
			SetPlayerFacingAngle(playerid, 176.889999);
		}
	}
	 if (teleid == 6) {
 		if (IsPlayerInAnyVehicle(playerid)) { // Big Jump
 			new vehicleid = GetPlayerVehicleID(playerid);
            SetVehiclePos(vehicleid, -675.723510, 2306.209472, 134.287292);
			SetVehicleZAngle(vehicleid, 88.505790);
		}
		else {
			SetPlayerPos(playerid, -675.723510, 2306.209472, 134.287292);
			SetPlayerFacingAngle(playerid, 88.505790);
		}
	}
	 if (teleid == 7) {
 		if (IsPlayerInAnyVehicle(playerid)) { // Bandits Hideout
 			new vehicleid = GetPlayerVehicleID(playerid);
            SetVehiclePos(vehicleid, -790.483581, 2439.379638, 157.083557);
			SetVehicleZAngle(vehicleid, 170.023132);
		}
		else {
			SetPlayerPos(playerid, -790.483581, 2439.379638, 157.083557);
			SetPlayerFacingAngle(playerid, 170.023132);
		}
	}
	if (teleid == 8) { // Pirate Ship
		SetPlayerPos(playerid, 2000.643432, 1522.378540, 17.068162);
		SetPlayerFacingAngle(playerid, 357.664764);
	}
	if (teleid == 9) {
		SetPlayerPos(playerid, -22.390243, -54.611396, 1003.546875);
		SetPlayerFacingAngle(playerid, 187.665084);
	}
}
// ================================================================================================

public OnGameModeInit()
{
	print("GameModeInit()");
	SetGameModeText("HaM");
	EnableTirePopping(true);
	
	SpawnVehicles();
	SpawnPickups();
	AddClasses();
	
	PimpMySavanna();
	
	SetTimer("KillTaxi", 1000, 1);
	SetTimer("SpeedoMeterCheck", 500, 1);
	
	new SpecialVehicle = CreateVehicle(567, -901.238220, 2686.915527, 42.370262, 45.876628, -1, -1, 5000);
	AddVehicleComponent(SpecialVehicle, 1186);
	AddVehicleComponent(SpecialVehicle, 1188);
	AddVehicleComponent(SpecialVehicle, 1130);
	AddVehicleComponent(SpecialVehicle, 1132);
	AddVehicleComponent(SpecialVehicle, 1133); 
	AddVehicleComponent(SpecialVehicle, 1102);
	AddVehicleComponent(SpecialVehicle, 1087);
	AddVehicleComponent(SpecialVehicle, 1075);
	ChangeVehiclePaintjob(SpecialVehicle, 2);
	
	return 1;
}

PimpMySavanna() {
	new p = 0;
	for(new i = 0; i < MAX_VEHICLES; i++) {
		if (GetVehicleModel(i) == 567) {
			AddVehicleComponent(i, 1186);
			AddVehicleComponent(i, 1188);
			AddVehicleComponent(i, 1130);
			AddVehicleComponent(i, 1132);
			AddVehicleComponent(i, 1133);
			AddVehicleComponent(i, 1102);
			AddVehicleComponent(i, 1087);
			AddVehicleComponent(i, 1075);
			ChangeVehiclePaintjob(i, 2);
			p++;
		}
	}
	printf("[*] Pimped %d savanna(s)", p);
 }

// ================================================================================================

public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(register, 8, cmdtext);
	dcmd(login, 5, cmdtext);
	dcmd(godcar, 6, cmdtext);
	dcmd(godmode, 7, cmdtext);
 	if (strcmp(cmdtext, "/fix", true)==0) {
		if (IsPlayerInAnyVehicle(playerid)) {
			new vehicleid = GetPlayerVehicleID(playerid);
		    SetVehicleHealth(vehicleid, 1000.0);
			SendClientMessage(playerid, 0x40FF40FF, "*** Fixxing your Vehicle");
		}
		return 1;
	}
	if (strcmp(cmdtext, "/colorblack", true)==0) {
		if (IsPlayerInAnyVehicle(playerid)) {
			new vehicleid = GetPlayerVehicleID(playerid);
		    ChangeVehicleColor(vehicleid, 0, 0);
			SendClientMessage(playerid,  0x40FF40FF, "*** Coloring your vehicle black.");
		}
		return 1;
	}
	if (strcmp(cmdtext, "/kill", true) == 0) {
	    SendClientMessage(playerid, 0x40FF40FF, "*** Killed your character.");
	    SetPlayerHealth(playerid, 0.0);
	    return 1;
	}
 	if (strcmp(cmdtext, "/nos", true)==0) {
		if (IsPlayerInAnyVehicle(playerid)) {
			new vehicleid = GetPlayerVehicleID(playerid);
			AddVehicleComponent(vehicleid, 1010);
		}
		return 1;
	}
	if (strcmp(cmdtext, "/commands", true) == 0) {
		SendClientMessage(playerid, 0x40FF40FF, "-----------------------------------------------------------------");
	    SendClientMessage(playerid, 0x40FF40FF, "* Command List for HaM:");
	    SendClientMessage(playerid, 0x40FF40FF, "* /teles (look under) - /ss1-3 (SniperSpots)");
	    SendClientMessage(playerid, 0x40FF40FF, "* /flip (Flip Vehicle) - /kill (Kill yourself)");
	    SendClientMessage(playerid, 0x40FF40FF, "* /para (Get Parachute) - /sniper (Get Sniper)");
	    SendClientMessage(playerid, 0x40FF40FF, "* /colorblack (Coloring vehicle black) - /fix (Fix vehicle)");
	    SendClientMessage(playerid, 0x40FF40FF, "* /fixme* (Heal to 100% and full armor) - /healme* (Heal to 100%)");
	    SendClientMessage(playerid, 0x40FF40FF, "* /credits (GameMode Credits) - /rules (GameMode Rules)");
	    SendClientMessage(playerid, 0x40FF40FF, "* The command /teles will show you list of teleport locations.");
	    SendClientMessage(playerid, 0x40FF40FF, "-----------------------------------------------------------------");
	    return 1;
	}
	if (strcmp(cmdtext, "/rules", true) == 0) {
		SendClientMessage(playerid, 0x40FF40FF, "-----------------------------------------------------------------");
	    SendClientMessage(playerid, 0x40FF40FF, "* Rules for HaM:");
	    SendClientMessage(playerid, 0x40FF40FF, "* Don't tell people they are noobs.");
	    SendClientMessage(playerid, 0x40FF40FF, "* Answer politly.");
	    SendClientMessage(playerid, 0x40FF40FF, "* Don't kill people all the time unless they want it.");
	    SendClientMessage(playerid, 0x40FF40FF, "* No spawnkilling.");
	    SendClientMessage(playerid, 0x40FF40FF, "* Do not fakenick.");
	    SendClientMessage(playerid, 0x40FF40FF, "* Don't be rude.");
	    SendClientMessage(playerid, 0x40FF40FF, "* Behave or be gone!");
	    SendClientMessage(playerid, 0x40FF40FF, "-----------------------------------------------------------------");
	    return 1;
	}
	if (strcmp(cmdtext, "/credits", true) == 0) {
		SendClientMessage(playerid, 0x40FF40FF, "-----------------------------------------------------------------");
	    SendClientMessage(playerid, 0x40FF40FF, "* Credits for HaM:");
	    SendClientMessage(playerid, 0x40FF40FF, "* miceiken is the only one who built this gamemode.");
	    SendClientMessage(playerid, 0x40FF40FF, "* I might give some thanks to #sa-mp.scripting on GTANet for helping.");
	    SendClientMessage(playerid, 0x40FF40FF, "* Thanks to the SA-MP team for making SAMP.");
	    SendClientMessage(playerid, 0x40FF40FF, "* I guess thanks to Rockstar for making GTA.");
	    SendClientMessage(playerid, 0x40FF40FF, "* Thanks to PAWN for existing.");
	    SendClientMessage(playerid, 0x40FF40FF, "* miceiken - admin@miceiken.net - #miceiken @ QuakeNet");
	    SendClientMessage(playerid, 0x40FF40FF, "* (Version 2.3 - HaM)");
	    SendClientMessage(playerid, 0x40FF40FF, "-----------------------------------------------------------------");
	    return 1;
	}
	if (strcmp(cmdtext, "/sniper", true) == 0) {
	    SendClientMessage(playerid, 0x40FF40FF, "*** Adding a Sniper.");
	    GivePlayerWeapon(playerid, 34, 200);
	    return 1;
	}
	if (strcmp(cmdtext, "/currpos", true) == 0) {
	    SendClientMessage(playerid, 0x40FF40FF, "*** Checking if writing is possible.");
	    new File:F_POS = fopen("P-POS.txt", io_append);
	    if (F_POS) {
	        SendClientMessage(playerid, 0x40FF40FF, "*** Saving playerposition.");
	        new pString[255];
	        new zString[255];
       		new Float:x, Float:y, Float:z, Float:ang;
			GetPlayerPos(playerid, x, y, z);
			GetPlayerFacingAngle(playerid, ang);
			format(pString, 255, "SetPlayerPos(playerid, %f, %f, %f); // For Player\r\nSetPlayerFacingAngle(playerid, %f);\r\n", x, y, z, ang);
			format(zString, 255, "SetVehiclePos(vehicleid, %f, %f, %f); // For Vehicle\r\nSetVehicleZAngle(vehicleid, %f);\r\n", x, y, z, ang);
			fwrite(F_POS, pString);
			fwrite(F_POS, zString);
			fwrite(F_POS, "// ===============================================================\r\n");
		}
		fclose(F_POS);
	    return 1;
	}
	if (strcmp(cmdtext, "/para", true) == 0) {
	    SendClientMessage(playerid, 0x40FF40FF, "*** Adding a Parachute.");
	    GivePlayerWeapon(playerid, 46, 1);
	    return 1;
	}
	if (strcmp(cmdtext, "/id", true) == 0) {
		new msg[120];
		format(msg, 120, "*** Your Player ID is %d.", playerid);
	    SendClientMessage(playerid, 0x40FF40FF, msg);
	    return 1;
	}
	if (strcmp(cmdtext, "/home", true) == 0) {
        SendClientMessage(playerid, 0x40FF40FF, "*** Teleporting Home");
        Teleport(playerid, 1);
        return 1;
	}
	if (strcmp(cmdtext, "/mc", true) == 0) {
        SendClientMessage(playerid, 0x40FF40FF, "*** Teleporting to Mount Chiliad");
        Teleport(playerid, 3);
        return 1;
	}
	if (strcmp(cmdtext, "/pw", true) == 0) {
        SendClientMessage(playerid, 0x40FF40FF, "*** Teleporting to Plane Wreckyard");
        Teleport(playerid, 5);
        return 1;
	}
	if (strcmp(cmdtext, "/bj", true) == 0) {
        SendClientMessage(playerid, 0x40FF40FF, "*** Teleporting to Big Jump");
        Teleport(playerid, 6);
	}
	if (strcmp(cmdtext, "/bh", true) == 0) {
        SendClientMessage(playerid, 0x40FF40FF, "*** Teleporting to Bandits Hide-out");
        Teleport(playerid, 7);
        return 1;
	}
	if (strcmp(cmdtext, "/ps", true) == 0) {
        SendClientMessage(playerid, 0x40FF40FF, "*** Teleporting to Pirate Ship");
        Teleport(playerid, 8);
        return 1;
	}
	if (strcmp(cmdtext, "/ss1", true) == 0) {
	    SendClientMessage(playerid, 0x40FF40FF, "*** Teleporting to Sniping Spot 1, adding Sniper and ammo.");
		SetPlayerPos(playerid, -1263.658325, 45.739883, 34.882812);
	    GivePlayerWeapon(playerid, 34, 200);
	    return 1;
	}
	if (strcmp(cmdtext, "/ss2", true) == 0) {
	    SendClientMessage(playerid, 0x40FF40FF, "*** Teleporting to Sniping Spot 2, adding Sniper and ammo.");
		SetPlayerPos(playerid, -1425.601928, -255.681625, 27.437500);
	    GivePlayerWeapon(playerid, 34, 200);
	    return 1;
	}
	if (strcmp(cmdtext, "/ss3", true) == 0) {
	    SendClientMessage(playerid, 0x40FF40FF, "*** Teleporting to Sniping Spot 3, adding Sniper and ammo.");
		SetPlayerPos(playerid, -1278.064697, 53.871955, 72.543975);
	    GivePlayerWeapon(playerid, 34, 200);
	    return 1;
	}
	if (strcmp(cmdtext, "/healme", true) == 0) {
	    if (GetPlayerMoney(playerid) >= 2500) {
			if (IsPlayerInAnyVehicle(playerid)) {
				new vehicleid = GetPlayerVehicleID(playerid);
				GivePlayerMoney(playerid, - 2500);
		    	SetVehicleHealth(vehicleid, 1000.0);
				SendClientMessage(playerid, 0x40FF40FF, "*** Fixxing your Vehicle");
			}
		}
		else {
		    SendClientMessage(playerid, 0x40FF40FF, "*** Not enough cash ($2.500).");
		}
		return 1;
	}
	if (strcmp(cmdtext, "/flip", true) == 0) {
	    if (IsPlayerInAnyVehicle(playerid)) {
	        new vehicleid = GetPlayerVehicleID(playerid);
			new Float:x, Float:y, Float:z;
			GetVehiclePos(vehicleid, x, y, z);
			SetVehiclePos(vehicleid, x, y, z + 5);
			new Float:z_angle;
			GetVehicleZAngle(vehicleid, z_angle);
			SetVehicleZAngle(vehicleid, z_angle);
			GameTextForPlayer(playerid,"~l~Flipped your car!", 3000, 3);
			return 1;
	    }
	    else {
	    	GameTextForPlayer(playerid,"~l~Get a car first!", 3000, 3);
	    	return 1;
		}
	}
	return 0;
}

// ================================================================================================

public OnPlayerDeath(playerid, killerid, reason) {
	if (killerid != INVALID_PLAYER_ID) {
		new wantedlvl = GetPlayerWantedLevel(killerid);
		SetPlayerWantedLevel(playerid, 0);
		new killer[40];
		new player[40];
		new kmsg[80];
		new pmsg[80];
		GetPlayerName(killerid, killer, 40);
		GetPlayerName(playerid, player, 40);
		format(pmsg, 80, "*** %s killed you! Removed your wanted level! (%s)", killer, reason);
		SendClientMessage(playerid, 0x40FF40FF, pmsg);
		if (wantedlvl == 0) {
			SetPlayerWantedLevel(killerid, 1);
			format(kmsg, 80, "*** You killed %s! Increasing your wanted level to 1 star! (%s)", player, reason);
			SendClientMessage(killerid, 0x40FF40FF, kmsg);
			GivePlayerMoney(killerid, 5000);
			if (IsPlayerInAnyVehicle(playerid)) {
			    SendClientMessage(killerid, 0x40FF40F, "*** You killed someone while driving car, cashbonus!");
				GivePlayerMoney(killerid, 2500);
			}
		}
		if (wantedlvl == 1) {
			SetPlayerWantedLevel(killerid, 2);
			format(kmsg, 80, "*** You killed %s! Increasing your wanted level to 2 stars! (%s)", player, reason);
			SendClientMessage(killerid, 0x40FF40FF, kmsg);
			GivePlayerMoney(killerid, 5000);
			if (IsPlayerInAnyVehicle(playerid)) {
			    SendClientMessage(killerid, 0x40FF40F, "*** You killed someone while driving car, cashbonus!");
				GivePlayerMoney(killerid, 2500);
			}
		}
		if (wantedlvl == 2) {
			SetPlayerWantedLevel(killerid, 3);
			format(kmsg, 80, "*** You killed %s! Increasing your wanted level to 3 stars! (%s)", player, reason);
			SendClientMessage(killerid, 0x40FF40FF, kmsg);
			GivePlayerMoney(killerid, 5000);
			if (IsPlayerInAnyVehicle(playerid)) {
			    SendClientMessage(killerid, 0x40FF40F, "*** You killed someone while driving car, cashbonus!");
				GivePlayerMoney(killerid, 2500);
			}
		}
		if (wantedlvl == 3) {
			SetPlayerWantedLevel(killerid, 4);
			format(kmsg, 80, "*** You killed %s! Increasing your wanted level to 4 stars! (%s)", player, reason);
			SendClientMessage(killerid, 0x40FF40FF, kmsg);
			GivePlayerMoney(killerid, 5000);
			if (IsPlayerInAnyVehicle(playerid)) {
			    SendClientMessage(killerid, 0x40FF40F, "*** You killed someone while driving car, cashbonus!");
				GivePlayerMoney(killerid, 2500);
			}
		}
		if (wantedlvl == 4) {
			SetPlayerWantedLevel(killerid, 5);
			format(kmsg, 80, "*** You killed %s! Increasing your wanted level to 5 stars! (%s)", player, reason);
			SendClientMessage(killerid, 0x40FF40FF, kmsg);
			GivePlayerMoney(killerid, 5000);
			if (IsPlayerInAnyVehicle(playerid)) {
			    SendClientMessage(killerid, 0x40FF40F, "*** You killed someone while driving car, cashbonus!");
				GivePlayerMoney(killerid, 2500);
			}
		}
		if (wantedlvl == 5) {
			SetPlayerWantedLevel(killerid, 6);
			format(kmsg, 80, "*** You killed %s! Increasing your wanted level to 6 stars! (%s)", player, reason);
			SendClientMessage(killerid, 0x40FF40FF, kmsg);
			GivePlayerMoney(killerid, 5000);
			if (IsPlayerInAnyVehicle(playerid)) {
			    SendClientMessage(killerid, 0x40FF40F, "*** You killed someone while driving car, cashbonus!");
				GivePlayerMoney(killerid, 2500);
			}
		}
		if (wantedlvl == 6) {
			format(kmsg, 80, "*** You killed %s! Massacre, giving cashbonus! (%s)", player, reason);
			SendClientMessage(killerid, 0x40FF40FF, kmsg);
			GivePlayerMoney(killerid, 15000);
			if (IsPlayerInAnyVehicle(playerid)) {
			    SendClientMessage(killerid, 0x40FF40F, "*** You killed someone while driving car, cashbonus!");
				GivePlayerMoney(killerid, 5000);
			}
		}
	}
	return 1;
}
public OnPlayerConnect(playerid)
{
	new message[120];
	new msg[120];
    format(message, 120, "*** %s connected.", PName(playerid));
    format(msg, 120, "Welcome to SampX, %s.", PName(playerid));
    SendClientMessageToAll(0xAFAFAFAA, message);
    ClearPlayerChat(playerid);
    SendClientMessage(playerid, 0x40FF40FF, msg);
    SendClientMessage(playerid, 0x40FF40FF, "Please /login or /register and have a look at our /rules and /commands.");
	return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
	SetupPlayerForClassSelection(playerid, classid);
	return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
    new message[60];
    format(message, 60, "*** %s has left the server. (%s)", PName(playerid), reason);
    SendClientMessageToAll(0xAFAFAFAA, message);
    return 1;
}
public OnPlayerSpawn(playerid)
{
	return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) {
	new Float:x,Float:y,Float:z;
 	GetPlayerPos(playerid, x, y, z);
	SavePlayerPos[playerid][LastX] = x;
 	SavePlayerPos[playerid][LastY] = y;
    SavePlayerPos[playerid][LastZ] = z;
	if (ispassenger == 0) {
		if (IsVehicleValidForPimp(vehicleid)) {
		    AddVehicleComponent(vehicleid, 1010);
			SendClientMessage(playerid, 0xAFAFAFAA, "* Auto-Added NOS.");
			}
		}
	return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid) {
	return 1;
}
public OnVehicleDeath(vehicleid) {
	return 1;
}
public OnVehicleSpawn(vehicleid)
{
	return 1;
}
public OnPlayerText(playerid, text[])
{
	return 1;
}
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
	return 1;
}
public OnPlayerInfoChange(playerid)
{
	return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
	return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}
public OnRconCommand(cmd[])
{
	return 1;
}
public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}
public OnPlayerExitedMenu(playerid)
{
	return 1;
}

// ================================================================================================