#include #include #include #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; } // ================================================================================================