Advertisement
Xaviour212

Stefan Speedometer

Mar 25th, 2011
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 51.65 KB | None | 0 0
  1. //Speedometer, engine (on/off), Fuel system made by Stefan / kevin974
  2. #include <a_samp>
  3. #include <utils>
  4.  
  5. new FALSE = false;
  6. #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
  7. #define SendFormattedMessage(%0,%1,%2) do{new _str[128]; format(_str,128,%2); SendClientMessage(%0,%1,_str);}while(FALSE)
  8.  
  9. enum pSpeed
  10. {
  11.     Text:Speedom,
  12.     ShowSpeed,
  13.     ReFuelTimer,
  14.     Refueling,
  15.     Float:OldCoordsX,
  16.     Float:OldCoordsY
  17. };
  18. new Speed[MAX_PLAYERS][pSpeed];
  19.  
  20. enum pVeh
  21. {
  22.     Float:Fuel,
  23.     OldFuel,
  24.     Engine,
  25.     IsLocked
  26. };
  27. new Vehicle[MAX_VEHICLES][pVeh];
  28.  
  29. enum zoneinfo {
  30.     zone_name[27],
  31.     Float:zone_minx,
  32.     Float:zone_miny,
  33.     Float:zone_minz,
  34.     Float:zone_maxx,
  35.     Float:zone_maxy,
  36.     Float:zone_maxz
  37. }
  38.  
  39. #define COLOR_YELLOW    0xFFFF00AA
  40. #define COLOR_WHITE     0xFFFFFFAA
  41. #define COLOR_GREY      0xAFAFAFAA
  42. #define COLOR_ORANGE    0xFF9900AA
  43.  
  44. #define SPAWN_GAS_MIN   35
  45. #define SPAWN_GAS_MAX   100
  46. #define MAX_START_TIME  3
  47.  
  48. forward Speedometer(playerid);
  49. forward UnlockVehicle(vehicleid);
  50. forward TurnOnEngine(playerid, vehicle);
  51. forward TurnOffEngine(playerid, vehicle);
  52. forward ReFill(playerid);
  53. forward IsAtFuelStation(playerid);
  54. forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
  55.  
  56. new VehiclesName[][] = {
  57.     "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus",
  58.     "Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection",
  59.     "Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie",
  60.     "Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
  61.     "Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider",
  62.     "Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","Walton","Regina",
  63.     "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood",
  64.     "Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa","RC Goblin","Hotring Racer","Hotring Racer",
  65.     "Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain",
  66.     "Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
  67.     "Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover",
  68.     "Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A",
  69.     "Monster B","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
  70.     "Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer","Emperor",
  71.     "Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car","Police Car",
  72.     "Police Car","Police Ranger","Picador","S.W.A.T.","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer","Luggage Trailer",
  73.     "Stair Trailer","Boxville","Farm Plow","Utility Trailer"
  74. };
  75.  
  76. new zones[][zoneinfo] = {
  77. { "'The Big Ear'",                -410.00,  1403.30,    -3.00,  -137.90,  1681.20,   200.00},
  78. { "Aldea Malvada",               -1372.10,  2498.50,     0.00, -1277.50,  2615.30,   200.00},
  79. { "Angel Pine",                  -2324.90, -2584.20,    -6.10, -1964.20, -2212.10,   200.00},
  80. { "Arco del Oeste",               -901.10,  2221.80,     0.00,  -592.00,  2571.90,   200.00},
  81. { "Avispa Country Club",         -2646.40,  -355.40,     0.00, -2270.00,  -222.50,   200.00},
  82. { "Avispa Country Club",         -2831.80,  -430.20,    -6.10, -2646.40,  -222.50,   200.00},
  83. { "Avispa Country Club",         -2361.50,  -417.10,     0.00, -2270.00,  -355.40,   200.00},
  84. { "Avispa Country Club",         -2667.80,  -302.10,   -28.80, -2646.40,  -262.30,    71.10},
  85. { "Avispa Country Club",         -2470.00,  -355.40,     0.00, -2270.00,  -318.40,    46.10},
  86. { "Avispa Country Club",         -2550.00,  -355.40,     0.00, -2470.00,  -318.40,    39.70},
  87. { "Back o Beyond",               -1166.90, -2641.10,     0.00,  -321.70, -1856.00,   200.00},
  88. { "Battery Point",               -2741.00,  1268.40,    -4.50, -2533.00,  1490.40,   200.00},
  89. { "Bayside",                     -2741.00,  2175.10,     0.00, -2353.10,  2722.70,   200.00},
  90. { "Bayside Marina",              -2353.10,  2275.70,     0.00, -2153.10,  2475.70,   200.00},
  91. { "Beacon Hill",                  -399.60, -1075.50,    -1.40,  -319.00,  -977.50,   198.50},
  92. { "Blackfield",                    964.30,  1203.20,   -89.00,  1197.30,  1403.20,   110.90},
  93. { "Blackfield",                    964.30,  1403.20,   -89.00,  1197.30,  1726.20,   110.90},
  94. { "Blackfield Chapel",            1375.60,   596.30,   -89.00,  1558.00,   823.20,   110.90},
  95. { "Blackfield Chapel",            1325.60,   596.30,   -89.00,  1375.60,   795.00,   110.90},
  96. { "Blackfield Intersection",      1197.30,  1044.60,   -89.00,  1277.00,  1163.30,   110.90},
  97. { "Blackfield Intersection",      1166.50,   795.00,   -89.00,  1375.60,  1044.60,   110.90},
  98. { "Blackfield Intersection",      1277.00,  1044.60,   -89.00,  1315.30,  1087.60,   110.90},
  99. { "Blackfield Intersection",      1375.60,   823.20,   -89.00,  1457.30,   919.40,   110.90},
  100. { "Blueberry",                     104.50,  -220.10,     2.30,   349.60,   152.20,   200.00},
  101. { "Blueberry",                      19.60,  -404.10,     3.80,   349.60,  -220.10,   200.00},
  102. { "Blueberry Acres",              -319.60,  -220.10,     0.00,   104.50,   293.30,   200.00},
  103. { "Caligula's Palace",            2087.30,  1543.20,   -89.00,  2437.30,  1703.20,   110.90},
  104. { "Caligula's Palace",            2137.40,  1703.20,   -89.00,  2437.30,  1783.20,   110.90},
  105. { "Calton Heights",              -2274.10,   744.10,    -6.10, -1982.30,  1358.90,   200.00},
  106. { "Chinatown",                   -2274.10,   578.30,    -7.60, -2078.60,   744.10,   200.00},
  107. { "City Hall",                   -2867.80,   277.40,    -9.10, -2593.40,   458.40,   200.00},
  108. { "Come-A-Lot",                   2087.30,   943.20,   -89.00,  2623.10,  1203.20,   110.90},
  109. { "Commerce",                     1323.90, -1842.20,   -89.00,  1701.90, -1722.20,   110.90},
  110. { "Commerce",                     1323.90, -1722.20,   -89.00,  1440.90, -1577.50,   110.90},
  111. { "Commerce",                     1370.80, -1577.50,   -89.00,  1463.90, -1384.90,   110.90},
  112. { "Commerce",                     1463.90, -1577.50,   -89.00,  1667.90, -1430.80,   110.90},
  113. { "Commerce",                     1583.50, -1722.20,   -89.00,  1758.90, -1577.50,   110.90},
  114. { "Commerce",                     1667.90, -1577.50,   -89.00,  1812.60, -1430.80,   110.90},
  115. { "Conference Center",            1046.10, -1804.20,   -89.00,  1323.90, -1722.20,   110.90},
  116. { "Conference Center",            1073.20, -1842.20,   -89.00,  1323.90, -1804.20,   110.90},
  117. { "Cranberry Station",           -2007.80,    56.30,     0.00, -1922.00,   224.70,   100.00},
  118. { "Creek",                        2749.90,  1937.20,   -89.00,  2921.60,  2669.70,   110.90},
  119. { "Dillimore",                     580.70,  -674.80,    -9.50,   861.00,  -404.70,   200.00},
  120. { "Doherty",                     -2270.00,  -324.10,    -0.00, -1794.90,  -222.50,   200.00},
  121. { "Doherty",                     -2173.00,  -222.50,    -0.00, -1794.90,   265.20,   200.00},
  122. { "Downtown",                    -1982.30,   744.10,    -6.10, -1871.70,  1274.20,   200.00},
  123. { "Downtown",                    -1871.70,  1176.40,    -4.50, -1620.30,  1274.20,   200.00},
  124. { "Downtown",                    -1700.00,   744.20,    -6.10, -1580.00,  1176.50,   200.00},
  125. { "Downtown",                    -1580.00,   744.20,    -6.10, -1499.80,  1025.90,   200.00},
  126. { "Downtown",                    -2078.60,   578.30,    -7.60, -1499.80,   744.20,   200.00},
  127. { "Downtown",                    -1993.20,   265.20,    -9.10, -1794.90,   578.30,   200.00},
  128. { "Downtown Los Santos",          1463.90, -1430.80,   -89.00,  1724.70, -1290.80,   110.90},
  129. { "Downtown Los Santos",          1724.70, -1430.80,   -89.00,  1812.60, -1250.90,   110.90},
  130. { "Downtown Los Santos",          1463.90, -1290.80,   -89.00,  1724.70, -1150.80,   110.90},
  131. { "Downtown Los Santos",          1370.80, -1384.90,   -89.00,  1463.90, -1170.80,   110.90},
  132. { "Downtown Los Santos",          1724.70, -1250.90,   -89.00,  1812.60, -1150.80,   110.90},
  133. { "Downtown Los Santos",          1370.80, -1170.80,   -89.00,  1463.90, -1130.80,   110.90},
  134. { "Downtown Los Santos",          1378.30, -1130.80,   -89.00,  1463.90, -1026.30,   110.90},
  135. { "Downtown Los Santos",          1391.00, -1026.30,   -89.00,  1463.90,  -926.90,   110.90},
  136. { "Downtown Los Santos",          1507.50, -1385.20,   110.90,  1582.50, -1325.30,   335.90},
  137. { "East Beach",                   2632.80, -1852.80,   -89.00,  2959.30, -1668.10,   110.90},
  138. { "East Beach",                   2632.80, -1668.10,   -89.00,  2747.70, -1393.40,   110.90},
  139. { "East Beach",                   2747.70, -1668.10,   -89.00,  2959.30, -1498.60,   110.90},
  140. { "East Beach",                   2747.70, -1498.60,   -89.00,  2959.30, -1120.00,   110.90},
  141. { "East Los Santos",              2421.00, -1628.50,   -89.00,  2632.80, -1454.30,   110.90},
  142. { "East Los Santos",              2222.50, -1628.50,   -89.00,  2421.00, -1494.00,   110.90},
  143. { "East Los Santos",              2266.20, -1494.00,   -89.00,  2381.60, -1372.00,   110.90},
  144. { "East Los Santos",              2381.60, -1494.00,   -89.00,  2421.00, -1454.30,   110.90},
  145. { "East Los Santos",              2281.40, -1372.00,   -89.00,  2381.60, -1135.00,   110.90},
  146. { "East Los Santos",              2381.60, -1454.30,   -89.00,  2462.10, -1135.00,   110.90},
  147. { "East Los Santos",              2462.10, -1454.30,   -89.00,  2581.70, -1135.00,   110.90},
  148. { "Easter Basin",                -1794.90,   249.90,    -9.10, -1242.90,   578.30,   200.00},
  149. { "Easter Basin",                -1794.90,   -50.00,    -0.00, -1499.80,   249.90,   200.00},
  150. { "Easter Bay Airport",          -1499.80,   -50.00,    -0.00, -1242.90,   249.90,   200.00},
  151. { "Easter Bay Airport",          -1794.90,  -730.10,    -3.00, -1213.90,   -50.00,   200.00},
  152. { "Easter Bay Airport",          -1213.90,  -730.10,     0.00, -1132.80,   -50.00,   200.00},
  153. { "Easter Bay Airport",          -1242.90,   -50.00,     0.00, -1213.90,   578.30,   200.00},
  154. { "Easter Bay Airport",          -1213.90,   -50.00,    -4.50,  -947.90,   578.30,   200.00},
  155. { "Easter Bay Airport",          -1315.40,  -405.30,    15.40, -1264.40,  -209.50,    25.40},
  156. { "Easter Bay Airport",          -1354.30,  -287.30,    15.40, -1315.40,  -209.50,    25.40},
  157. { "Easter Bay Airport",          -1490.30,  -209.50,    15.40, -1264.40,  -148.30,    25.40},
  158. { "Easter Bay Chemicals",        -1132.80,  -768.00,     0.00,  -956.40,  -578.10,   200.00},
  159. { "Easter Bay Chemicals",        -1132.80,  -787.30,     0.00,  -956.40,  -768.00,   200.00},
  160. { "El Castillo del Diablo",       -464.50,  2217.60,     0.00,  -208.50,  2580.30,   200.00},
  161. { "El Castillo del Diablo",       -208.50,  2123.00,    -7.60,   114.00,  2337.10,   200.00},
  162. { "El Castillo del Diablo",       -208.50,  2337.10,     0.00,     8.40,  2487.10,   200.00},
  163. { "El Corona",                    1812.60, -2179.20,   -89.00,  1970.60, -1852.80,   110.90},
  164. { "El Corona",                    1692.60, -2179.20,   -89.00,  1812.60, -1842.20,   110.90},
  165. { "El Quebrados",                -1645.20,  2498.50,     0.00, -1372.10,  2777.80,   200.00},
  166. { "Esplanade East",              -1620.30,  1176.50,    -4.50, -1580.00,  1274.20,   200.00},
  167. { "Esplanade East",              -1580.00,  1025.90,    -6.10, -1499.80,  1274.20,   200.00},
  168. { "Esplanade East",              -1499.80,   578.30,   -79.60, -1339.80,  1274.20,    20.30},
  169. { "Esplanade North",             -2533.00,  1358.90,    -4.50, -1996.60,  1501.20,   200.00},
  170. { "Esplanade North",             -1996.60,  1358.90,    -4.50, -1524.20,  1592.50,   200.00},
  171. { "Esplanade North",             -1982.30,  1274.20,    -4.50, -1524.20,  1358.90,   200.00},
  172. { "Fallen Tree",                  -792.20,  -698.50,    -5.30,  -452.40,  -380.00,   200.00},
  173. { "Fallow Bridge",                 434.30,   366.50,     0.00,   603.00,   555.60,   200.00},
  174. { "Fern Ridge",                    508.10,  -139.20,     0.00,  1306.60,   119.50,   200.00},
  175. { "Financial",                   -1871.70,   744.10,    -6.10, -1701.30,  1176.40,   300.00},
  176. { "Fisher's Lagoon",              1916.90,  -233.30,  -100.00,  2131.70,    13.80,   200.00},
  177. { "Flint Intersection",           -187.70, -1596.70,   -89.00,    17.00, -1276.60,   110.90},
  178. { "Flint Range",                  -594.10, -1648.50,     0.00,  -187.70, -1276.60,   200.00},
  179. { "Fort Carson",                  -376.20,   826.30,    -3.00,   123.70,  1220.40,   200.00},
  180. { "Foster Valley",               -2270.00,  -430.20,    -0.00, -2178.60,  -324.10,   200.00},
  181. { "Foster Valley",               -2178.60,  -599.80,    -0.00, -1794.90,  -324.10,   200.00},
  182. { "Foster Valley",               -2178.60, -1115.50,     0.00, -1794.90,  -599.80,   200.00},
  183. { "Foster Valley",               -2178.60, -1250.90,     0.00, -1794.90, -1115.50,   200.00},
  184. { "Frederick Bridge",             2759.20,   296.50,     0.00,  2774.20,   594.70,   200.00},
  185. { "Gant Bridge",                 -2741.40,  1659.60,    -6.10, -2616.40,  2175.10,   200.00},
  186. { "Gant Bridge",                 -2741.00,  1490.40,    -6.10, -2616.40,  1659.60,   200.00},
  187. { "Ganton",                       2222.50, -1852.80,   -89.00,  2632.80, -1722.30,   110.90},
  188. { "Ganton",                       2222.50, -1722.30,   -89.00,  2632.80, -1628.50,   110.90},
  189. { "Garcia",                      -2411.20,  -222.50,    -0.00, -2173.00,   265.20,   200.00},
  190. { "Garcia",                      -2395.10,  -222.50,    -5.30, -2354.00,  -204.70,   200.00},
  191. { "Garver Bridge",               -1339.80,   828.10,   -89.00, -1213.90,  1057.00,   110.90},
  192. { "Garver Bridge",               -1213.90,   950.00,   -89.00, -1087.90,  1178.90,   110.90},
  193. { "Garver Bridge",               -1499.80,   696.40,  -179.60, -1339.80,   925.30,    20.30},
  194. { "Glen Park",                    1812.60, -1449.60,   -89.00,  1996.90, -1350.70,   110.90},
  195. { "Glen Park",                    1812.60, -1100.80,   -89.00,  1994.30,  -973.30,   110.90},
  196. { "Glen Park",                    1812.60, -1350.70,   -89.00,  2056.80, -1100.80,   110.90},
  197. { "Green Palms",                   176.50,  1305.40,    -3.00,   338.60,  1520.70,   200.00},
  198. { "Greenglass College",            964.30,  1044.60,   -89.00,  1197.30,  1203.20,   110.90},
  199. { "Greenglass College",            964.30,   930.80,   -89.00,  1166.50,  1044.60,   110.90},
  200. { "Hampton Barns",                 603.00,   264.30,     0.00,   761.90,   366.50,   200.00},
  201. { "Hankypanky Point",             2576.90,    62.10,     0.00,  2759.20,   385.50,   200.00},
  202. { "Harry Gold Parkway",           1777.30,   863.20,   -89.00,  1817.30,  2342.80,   110.90},
  203. { "Hashbury",                    -2593.40,  -222.50,    -0.00, -2411.20,    54.70,   200.00},
  204. { "Hilltop Farm",                  967.30,  -450.30,    -3.00,  1176.70,  -217.90,   200.00},
  205. { "Hunter Quarry",                 337.20,   710.80,  -115.20,   860.50,  1031.70,   203.70},
  206. { "Idlewood",                     1812.60, -1852.80,   -89.00,  1971.60, -1742.30,   110.90},
  207. { "Idlewood",                     1812.60, -1742.30,   -89.00,  1951.60, -1602.30,   110.90},
  208. { "Idlewood",                     1951.60, -1742.30,   -89.00,  2124.60, -1602.30,   110.90},
  209. { "Idlewood",                     1812.60, -1602.30,   -89.00,  2124.60, -1449.60,   110.90},
  210. { "Idlewood",                     2124.60, -1742.30,   -89.00,  2222.50, -1494.00,   110.90},
  211. { "Idlewood",                     1971.60, -1852.80,   -89.00,  2222.50, -1742.30,   110.90},
  212. { "Jefferson",                    1996.90, -1449.60,   -89.00,  2056.80, -1350.70,   110.90},
  213. { "Jefferson",                    2124.60, -1494.00,   -89.00,  2266.20, -1449.60,   110.90},
  214. { "Jefferson",                    2056.80, -1372.00,   -89.00,  2281.40, -1210.70,   110.90},
  215. { "Jefferson",                    2056.80, -1210.70,   -89.00,  2185.30, -1126.30,   110.90},
  216. { "Jefferson",                    2185.30, -1210.70,   -89.00,  2281.40, -1154.50,   110.90},
  217. { "Jefferson",                    2056.80, -1449.60,   -89.00,  2266.20, -1372.00,   110.90},
  218. { "Julius Thruway East",          2623.10,   943.20,   -89.00,  2749.90,  1055.90,   110.90},
  219. { "Julius Thruway East",          2685.10,  1055.90,   -89.00,  2749.90,  2626.50,   110.90},
  220. { "Julius Thruway East",          2536.40,  2442.50,   -89.00,  2685.10,  2542.50,   110.90},
  221. { "Julius Thruway East",          2625.10,  2202.70,   -89.00,  2685.10,  2442.50,   110.90},
  222. { "Julius Thruway North",         2498.20,  2542.50,   -89.00,  2685.10,  2626.50,   110.90},
  223. { "Julius Thruway North",         2237.40,  2542.50,   -89.00,  2498.20,  2663.10,   110.90},
  224. { "Julius Thruway North",         2121.40,  2508.20,   -89.00,  2237.40,  2663.10,   110.90},
  225. { "Julius Thruway North",         1938.80,  2508.20,   -89.00,  2121.40,  2624.20,   110.90},
  226. { "Julius Thruway North",         1534.50,  2433.20,   -89.00,  1848.40,  2583.20,   110.90},
  227. { "Julius Thruway North",         1848.40,  2478.40,   -89.00,  1938.80,  2553.40,   110.90},
  228. { "Julius Thruway North",         1704.50,  2342.80,   -89.00,  1848.40,  2433.20,   110.90},
  229. { "Julius Thruway North",         1377.30,  2433.20,   -89.00,  1534.50,  2507.20,   110.90},
  230. { "Julius Thruway South",         1457.30,   823.20,   -89.00,  2377.30,   863.20,   110.90},
  231. { "Julius Thruway South",         2377.30,   788.80,   -89.00,  2537.30,   897.90,   110.90},
  232. { "Julius Thruway West",          1197.30,  1163.30,   -89.00,  1236.60,  2243.20,   110.90},
  233. { "Julius Thruway West",          1236.60,  2142.80,   -89.00,  1297.40,  2243.20,   110.90},
  234. { "Juniper Hill",                -2533.00,   578.30,    -7.60, -2274.10,   968.30,   200.00},
  235. { "Juniper Hollow",              -2533.00,   968.30,    -6.10, -2274.10,  1358.90,   200.00},
  236. { "K.A.C.C. Military Fuels",      2498.20,  2626.50,   -89.00,  2749.90,  2861.50,   110.90},
  237. { "Kincaid Bridge",              -1339.80,   599.20,   -89.00, -1213.90,   828.10,   110.90},
  238. { "Kincaid Bridge",              -1213.90,   721.10,   -89.00, -1087.90,   950.00,   110.90},
  239. { "Kincaid Bridge",              -1087.90,   855.30,   -89.00,  -961.90,   986.20,   110.90},
  240. { "King's",                      -2329.30,   458.40,    -7.60, -1993.20,   578.30,   200.00},
  241. { "King's",                      -2411.20,   265.20,    -9.10, -1993.20,   373.50,   200.00},
  242. { "King's",                      -2253.50,   373.50,    -9.10, -1993.20,   458.40,   200.00},
  243. { "LVA Freight Depot",            1457.30,   863.20,   -89.00,  1777.40,  1143.20,   110.90},
  244. { "LVA Freight Depot",            1375.60,   919.40,   -89.00,  1457.30,  1203.20,   110.90},
  245. { "LVA Freight Depot",            1277.00,  1087.60,   -89.00,  1375.60,  1203.20,   110.90},
  246. { "LVA Freight Depot",            1315.30,  1044.60,   -89.00,  1375.60,  1087.60,   110.90},
  247. { "LVA Freight Depot",            1236.60,  1163.40,   -89.00,  1277.00,  1203.20,   110.90},
  248. { "Las Barrancas",                -926.10,  1398.70,    -3.00,  -719.20,  1634.60,   200.00},
  249. { "Las Brujas",                   -365.10,  2123.00,    -3.00,  -208.50,  2217.60,   200.00},
  250. { "Las Colinas",                  1994.30, -1100.80,   -89.00,  2056.80,  -920.80,   110.90},
  251. { "Las Colinas",                  2056.80, -1126.30,   -89.00,  2126.80,  -920.80,   110.90},
  252. { "Las Colinas",                  2185.30, -1154.50,   -89.00,  2281.40,  -934.40,   110.90},
  253. { "Las Colinas",                  2126.80, -1126.30,   -89.00,  2185.30,  -934.40,   110.90},
  254. { "Las Colinas",                  2747.70, -1120.00,   -89.00,  2959.30,  -945.00,   110.90},
  255. { "Las Colinas",                  2632.70, -1135.00,   -89.00,  2747.70,  -945.00,   110.90},
  256. { "Las Colinas",                  2281.40, -1135.00,   -89.00,  2632.70,  -945.00,   110.90},
  257. { "Las Payasadas",                -354.30,  2580.30,     2.00,  -133.60,  2816.80,   200.00},
  258. { "Las Venturas Airport",         1236.60,  1203.20,   -89.00,  1457.30,  1883.10,   110.90},
  259. { "Las Venturas Airport",         1457.30,  1203.20,   -89.00,  1777.30,  1883.10,   110.90},
  260. { "Las Venturas Airport",         1457.30,  1143.20,   -89.00,  1777.40,  1203.20,   110.90},
  261. { "Las Venturas Airport",         1515.80,  1586.40,   -12.50,  1729.90,  1714.50,    87.50},
  262. { "Last Dime Motel",              1823.00,   596.30,   -89.00,  1997.20,   823.20,   110.90},
  263. { "Leafy Hollow",                -1166.90, -1856.00,     0.00,  -815.60, -1602.00,   200.00},
  264. { "Lil' Probe Inn",                -90.20,  1286.80,    -3.00,   153.80,  1554.10,   200.00},
  265. { "Linden Side",                  2749.90,   943.20,   -89.00,  2923.30,  1198.90,   110.90},
  266. { "Linden Station",               2749.90,  1198.90,   -89.00,  2923.30,  1548.90,   110.90},
  267. { "Linden Station",               2811.20,  1229.50,   -39.50,  2861.20,  1407.50,    60.40},
  268. { "Little Mexico",                1701.90, -1842.20,   -89.00,  1812.60, -1722.20,   110.90},
  269. { "Little Mexico",                1758.90, -1722.20,   -89.00,  1812.60, -1577.50,   110.90},
  270. { "Los Flores",                   2581.70, -1454.30,   -89.00,  2632.80, -1393.40,   110.90},
  271. { "Los Flores",                   2581.70, -1393.40,   -89.00,  2747.70, -1135.00,   110.90},
  272. { "Los Santos International",     1249.60, -2394.30,   -89.00,  1852.00, -2179.20,   110.90},
  273. { "Los Santos International",     1852.00, -2394.30,   -89.00,  2089.00, -2179.20,   110.90},
  274. { "Los Santos International",     1382.70, -2730.80,   -89.00,  2201.80, -2394.30,   110.90},
  275. { "Los Santos International",     1974.60, -2394.30,   -39.00,  2089.00, -2256.50,    60.90},
  276. { "Los Santos International",     1400.90, -2669.20,   -39.00,  2189.80, -2597.20,    60.90},
  277. { "Los Santos International",     2051.60, -2597.20,   -39.00,  2152.40, -2394.30,    60.90},
  278. { "Marina",                        647.70, -1804.20,   -89.00,   851.40, -1577.50,   110.90},
  279. { "Marina",                        647.70, -1577.50,   -89.00,   807.90, -1416.20,   110.90},
  280. { "Marina",                        807.90, -1577.50,   -89.00,   926.90, -1416.20,   110.90},
  281. { "Market",                        787.40, -1416.20,   -89.00,  1072.60, -1310.20,   110.90},
  282. { "Market",                        952.60, -1310.20,   -89.00,  1072.60, -1130.80,   110.90},
  283. { "Market",                       1072.60, -1416.20,   -89.00,  1370.80, -1130.80,   110.90},
  284. { "Market",                        926.90, -1577.50,   -89.00,  1370.80, -1416.20,   110.90},
  285. { "Market Station",                787.40, -1410.90,   -34.10,   866.00, -1310.20,    65.80},
  286. { "Martin Bridge",                -222.10,   293.30,     0.00,  -122.10,   476.40,   200.00},
  287. { "Missionary Hill",             -2994.40,  -811.20,     0.00, -2178.60,  -430.20,   200.00},
  288. { "Montgomery",                   1119.50,   119.50,    -3.00,  1451.40,   493.30,   200.00},
  289. { "Montgomery",                   1451.40,   347.40,    -6.10,  1582.40,   420.80,   200.00},
  290. { "Montgomery Intersection",      1546.60,   208.10,     0.00,  1745.80,   347.40,   200.00},
  291. { "Montgomery Intersection",      1582.40,   347.40,     0.00,  1664.60,   401.70,   200.00},
  292. { "Mulholland",                   1414.00,  -768.00,   -89.00,  1667.60,  -452.40,   110.90},
  293. { "Mulholland",                   1281.10,  -452.40,   -89.00,  1641.10,  -290.90,   110.90},
  294. { "Mulholland",                   1269.10,  -768.00,   -89.00,  1414.00,  -452.40,   110.90},
  295. { "Mulholland",                   1357.00,  -926.90,   -89.00,  1463.90,  -768.00,   110.90},
  296. { "Mulholland",                   1318.10,  -910.10,   -89.00,  1357.00,  -768.00,   110.90},
  297. { "Mulholland",                   1169.10,  -910.10,   -89.00,  1318.10,  -768.00,   110.90},
  298. { "Mulholland",                    768.60,  -954.60,   -89.00,   952.60,  -860.60,   110.90},
  299. { "Mulholland",                    687.80,  -860.60,   -89.00,   911.80,  -768.00,   110.90},
  300. { "Mulholland",                    737.50,  -768.00,   -89.00,  1142.20,  -674.80,   110.90},
  301. { "Mulholland",                   1096.40,  -910.10,   -89.00,  1169.10,  -768.00,   110.90},
  302. { "Mulholland",                    952.60,  -937.10,   -89.00,  1096.40,  -860.60,   110.90},
  303. { "Mulholland",                    911.80,  -860.60,   -89.00,  1096.40,  -768.00,   110.90},
  304. { "Mulholland",                    861.00,  -674.80,   -89.00,  1156.50,  -600.80,   110.90},
  305. { "Mulholland Intersection",      1463.90, -1150.80,   -89.00,  1812.60,  -768.00,   110.90},
  306. { "North Rock",                   2285.30,  -768.00,     0.00,  2770.50,  -269.70,   200.00},
  307. { "Ocean Docks",                  2373.70, -2697.00,   -89.00,  2809.20, -2330.40,   110.90},
  308. { "Ocean Docks",                  2201.80, -2418.30,   -89.00,  2324.00, -2095.00,   110.90},
  309. { "Ocean Docks",                  2324.00, -2302.30,   -89.00,  2703.50, -2145.10,   110.90},
  310. { "Ocean Docks",                  2089.00, -2394.30,   -89.00,  2201.80, -2235.80,   110.90},
  311. { "Ocean Docks",                  2201.80, -2730.80,   -89.00,  2324.00, -2418.30,   110.90},
  312. { "Ocean Docks",                  2703.50, -2302.30,   -89.00,  2959.30, -2126.90,   110.90},
  313. { "Ocean Docks",                  2324.00, -2145.10,   -89.00,  2703.50, -2059.20,   110.90},
  314. { "Ocean Flats",                 -2994.40,   277.40,    -9.10, -2867.80,   458.40,   200.00},
  315. { "Ocean Flats",                 -2994.40,  -222.50,    -0.00, -2593.40,   277.40,   200.00},
  316. { "Ocean Flats",                 -2994.40,  -430.20,    -0.00, -2831.80,  -222.50,   200.00},
  317. { "Octane Springs",                338.60,  1228.50,     0.00,   664.30,  1655.00,   200.00},
  318. { "Old Venturas Strip",           2162.30,  2012.10,   -89.00,  2685.10,  2202.70,   110.90},
  319. { "Palisades",                   -2994.40,   458.40,    -6.10, -2741.00,  1339.60,   200.00},
  320. { "Palomino Creek",               2160.20,  -149.00,     0.00,  2576.90,   228.30,   200.00},
  321. { "Paradiso",                    -2741.00,   793.40,    -6.10, -2533.00,  1268.40,   200.00},
  322. { "Pershing Square",              1440.90, -1722.20,   -89.00,  1583.50, -1577.50,   110.90},
  323. { "Pilgrim",                      2437.30,  1383.20,   -89.00,  2624.40,  1783.20,   110.90},
  324. { "Pilgrim",                      2624.40,  1383.20,   -89.00,  2685.10,  1783.20,   110.90},
  325. { "Pilson Intersection",          1098.30,  2243.20,   -89.00,  1377.30,  2507.20,   110.90},
  326. { "Pirates in Men's Pants",       1817.30,  1469.20,   -89.00,  2027.40,  1703.20,   110.90},
  327. { "Playa del Seville",            2703.50, -2126.90,   -89.00,  2959.30, -1852.80,   110.90},
  328. { "Prickle Pine",                 1534.50,  2583.20,   -89.00,  1848.40,  2863.20,   110.90},
  329. { "Prickle Pine",                 1117.40,  2507.20,   -89.00,  1534.50,  2723.20,   110.90},
  330. { "Prickle Pine",                 1848.40,  2553.40,   -89.00,  1938.80,  2863.20,   110.90},
  331. { "Prickle Pine",                 1938.80,  2624.20,   -89.00,  2121.40,  2861.50,   110.90},
  332. { "Queens",                      -2533.00,   458.40,     0.00, -2329.30,   578.30,   200.00},
  333. { "Queens",                      -2593.40,    54.70,     0.00, -2411.20,   458.40,   200.00},
  334. { "Queens",                      -2411.20,   373.50,     0.00, -2253.50,   458.40,   200.00},
  335. { "Randolph Industrial Estate",   1558.00,   596.30,   -89.00,  1823.00,   823.20,   110.90},
  336. { "Redsands East",                1817.30,  2011.80,   -89.00,  2106.70,  2202.70,   110.90},
  337. { "Redsands East",                1817.30,  2202.70,   -89.00,  2011.90,  2342.80,   110.90},
  338. { "Redsands East",                1848.40,  2342.80,   -89.00,  2011.90,  2478.40,   110.90},
  339. { "Redsands West",                1236.60,  1883.10,   -89.00,  1777.30,  2142.80,   110.90},
  340. { "Redsands West",                1297.40,  2142.80,   -89.00,  1777.30,  2243.20,   110.90},
  341. { "Redsands West",                1377.30,  2243.20,   -89.00,  1704.50,  2433.20,   110.90},
  342. { "Redsands West",                1704.50,  2243.20,   -89.00,  1777.30,  2342.80,   110.90},
  343. { "Regular Tom",                  -405.70,  1712.80,    -3.00,  -276.70,  1892.70,   200.00},
  344. { "Richman",                       647.50, -1118.20,   -89.00,   787.40,  -954.60,   110.90},
  345. { "Richman",                       647.50,  -954.60,   -89.00,   768.60,  -860.60,   110.90},
  346. { "Richman",                       225.10, -1369.60,   -89.00,   334.50, -1292.00,   110.90},
  347. { "Richman",                       225.10, -1292.00,   -89.00,   466.20, -1235.00,   110.90},
  348. { "Richman",                        72.60, -1404.90,   -89.00,   225.10, -1235.00,   110.90},
  349. { "Richman",                        72.60, -1235.00,   -89.00,   321.30, -1008.10,   110.90},
  350. { "Richman",                       321.30, -1235.00,   -89.00,   647.50, -1044.00,   110.90},
  351. { "Richman",                       321.30, -1044.00,   -89.00,   647.50,  -860.60,   110.90},
  352. { "Richman",                       321.30,  -860.60,   -89.00,   687.80,  -768.00,   110.90},
  353. { "Richman",                       321.30,  -768.00,   -89.00,   700.70,  -674.80,   110.90},
  354. { "Robada Intersection",         -1119.00,  1178.90,   -89.00,  -862.00,  1351.40,   110.90},
  355. { "Roca Escalante",               2237.40,  2202.70,   -89.00,  2536.40,  2542.50,   110.90},
  356. { "Roca Escalante",               2536.40,  2202.70,   -89.00,  2625.10,  2442.50,   110.90},
  357. { "Rockshore East",               2537.30,   676.50,   -89.00,  2902.30,   943.20,   110.90},
  358. { "Rockshore West",               1997.20,   596.30,   -89.00,  2377.30,   823.20,   110.90},
  359. { "Rockshore West",               2377.30,   596.30,   -89.00,  2537.30,   788.80,   110.90},
  360. { "Rodeo",                          72.60, -1684.60,   -89.00,   225.10, -1544.10,   110.90},
  361. { "Rodeo",                          72.60, -1544.10,   -89.00,   225.10, -1404.90,   110.90},
  362. { "Rodeo",                         225.10, -1684.60,   -89.00,   312.80, -1501.90,   110.90},
  363. { "Rodeo",                         225.10, -1501.90,   -89.00,   334.50, -1369.60,   110.90},
  364. { "Rodeo",                         334.50, -1501.90,   -89.00,   422.60, -1406.00,   110.90},
  365. { "Rodeo",                         312.80, -1684.60,   -89.00,   422.60, -1501.90,   110.90},
  366. { "Rodeo",                         422.60, -1684.60,   -89.00,   558.00, -1570.20,   110.90},
  367. { "Rodeo",                         558.00, -1684.60,   -89.00,   647.50, -1384.90,   110.90},
  368. { "Rodeo",                         466.20, -1570.20,   -89.00,   558.00, -1385.00,   110.90},
  369. { "Rodeo",                         422.60, -1570.20,   -89.00,   466.20, -1406.00,   110.90},
  370. { "Rodeo",                         466.20, -1385.00,   -89.00,   647.50, -1235.00,   110.90},
  371. { "Rodeo",                         334.50, -1406.00,   -89.00,   466.20, -1292.00,   110.90},
  372. { "Royal Casino",                 2087.30,  1383.20,   -89.00,  2437.30,  1543.20,   110.90},
  373. { "San Andreas Sound",            2450.30,   385.50,  -100.00,  2759.20,   562.30,   200.00},
  374. { "Santa Flora",                 -2741.00,   458.40,    -7.60, -2533.00,   793.40,   200.00},
  375. { "Santa Maria Beach",             342.60, -2173.20,   -89.00,   647.70, -1684.60,   110.90},
  376. { "Santa Maria Beach",              72.60, -2173.20,   -89.00,   342.60, -1684.60,   110.90},
  377. { "Shady Cabin",                 -1632.80, -2263.40,    -3.00, -1601.30, -2231.70,   200.00},
  378. { "Shady Creeks",                -1820.60, -2643.60,    -8.00, -1226.70, -1771.60,   200.00},
  379. { "Shady Creeks",                -2030.10, -2174.80,    -6.10, -1820.60, -1771.60,   200.00},
  380. { "Sobell Rail Yards",            2749.90,  1548.90,   -89.00,  2923.30,  1937.20,   110.90},
  381. { "Spinybed",                     2121.40,  2663.10,   -89.00,  2498.20,  2861.50,   110.90},
  382. { "Starfish Casino",              2437.30,  1783.20,   -89.00,  2685.10,  2012.10,   110.90},
  383. { "Starfish Casino",              2437.30,  1858.10,   -39.00,  2495.00,  1970.80,    60.90},
  384. { "Starfish Casino",              2162.30,  1883.20,   -89.00,  2437.30,  2012.10,   110.90},
  385. { "Temple",                       1252.30, -1130.80,   -89.00,  1378.30, -1026.30,   110.90},
  386. { "Temple",                       1252.30, -1026.30,   -89.00,  1391.00,  -926.90,   110.90},
  387. { "Temple",                       1252.30,  -926.90,   -89.00,  1357.00,  -910.10,   110.90},
  388. { "Temple",                        952.60, -1130.80,   -89.00,  1096.40,  -937.10,   110.90},
  389. { "Temple",                       1096.40, -1130.80,   -89.00,  1252.30, -1026.30,   110.90},
  390. { "Temple",                       1096.40, -1026.30,   -89.00,  1252.30,  -910.10,   110.90},
  391. { "The Camel's Toe",              2087.30,  1203.20,   -89.00,  2640.40,  1383.20,   110.90},
  392. { "The Clown's Pocket",           2162.30,  1783.20,   -89.00,  2437.30,  1883.20,   110.90},
  393. { "The Emerald Isle",             2011.90,  2202.70,   -89.00,  2237.40,  2508.20,   110.90},
  394. { "The Farm",                    -1209.60, -1317.10,   114.90,  -908.10,  -787.30,   251.90},
  395. { "The Four Dragons Casino",      1817.30,   863.20,   -89.00,  2027.30,  1083.20,   110.90},
  396. { "The High Roller",              1817.30,  1283.20,   -89.00,  2027.30,  1469.20,   110.90},
  397. { "The Mako Span",                1664.60,   401.70,     0.00,  1785.10,   567.20,   200.00},
  398. { "The Panopticon",               -947.90,  -304.30,    -1.10,  -319.60,   327.00,   200.00},
  399. { "The Pink Swan",                1817.30,  1083.20,   -89.00,  2027.30,  1283.20,   110.90},
  400. { "The Sherman Dam",              -968.70,  1929.40,    -3.00,  -481.10,  2155.20,   200.00},
  401. { "The Strip",                    2027.40,   863.20,   -89.00,  2087.30,  1703.20,   110.90},
  402. { "The Strip",                    2106.70,  1863.20,   -89.00,  2162.30,  2202.70,   110.90},
  403. { "The Strip",                    2027.40,  1783.20,   -89.00,  2162.30,  1863.20,   110.90},
  404. { "The Strip",                    2027.40,  1703.20,   -89.00,  2137.40,  1783.20,   110.90},
  405. { "The Visage",                   1817.30,  1863.20,   -89.00,  2106.70,  2011.80,   110.90},
  406. { "The Visage",                   1817.30,  1703.20,   -89.00,  2027.40,  1863.20,   110.90},
  407. { "Unity Station",                1692.60, -1971.80,   -20.40,  1812.60, -1932.80,    79.50},
  408. { "Valle Ocultado",               -936.60,  2611.40,     2.00,  -715.90,  2847.90,   200.00},
  409. { "Verdant Bluffs",                930.20, -2488.40,   -89.00,  1249.60, -2006.70,   110.90},
  410. { "Verdant Bluffs",               1073.20, -2006.70,   -89.00,  1249.60, -1842.20,   110.90},
  411. { "Verdant Bluffs",               1249.60, -2179.20,   -89.00,  1692.60, -1842.20,   110.90},
  412. { "Verdant Meadows",                37.00,  2337.10,    -3.00,   435.90,  2677.90,   200.00},
  413. { "Verona Beach",                  647.70, -2173.20,   -89.00,   930.20, -1804.20,   110.90},
  414. { "Verona Beach",                  930.20, -2006.70,   -89.00,  1073.20, -1804.20,   110.90},
  415. { "Verona Beach",                  851.40, -1804.20,   -89.00,  1046.10, -1577.50,   110.90},
  416. { "Verona Beach",                 1161.50, -1722.20,   -89.00,  1323.90, -1577.50,   110.90},
  417. { "Verona Beach",                 1046.10, -1722.20,   -89.00,  1161.50, -1577.50,   110.90},
  418. { "Vinewood",                      787.40, -1310.20,   -89.00,   952.60, -1130.80,   110.90},
  419. { "Vinewood",                      787.40, -1130.80,   -89.00,   952.60,  -954.60,   110.90},
  420. { "Vinewood",                      647.50, -1227.20,   -89.00,   787.40, -1118.20,   110.90},
  421. { "Vinewood",                      647.70, -1416.20,   -89.00,   787.40, -1227.20,   110.90},
  422. { "Whitewood Estates",             883.30,  1726.20,   -89.00,  1098.30,  2507.20,   110.90},
  423. { "Whitewood Estates",            1098.30,  1726.20,   -89.00,  1197.30,  2243.20,   110.90},
  424. { "Willowfield",                  1970.60, -2179.20,   -89.00,  2089.00, -1852.80,   110.90},
  425. { "Willowfield",                  2089.00, -2235.80,   -89.00,  2201.80, -1989.90,   110.90},
  426. { "Willowfield",                  2089.00, -1989.90,   -89.00,  2324.00, -1852.80,   110.90},
  427. { "Willowfield",                  2201.80, -2095.00,   -89.00,  2324.00, -1989.90,   110.90},
  428. { "Willowfield",                  2541.70, -1941.40,   -89.00,  2703.50, -1852.80,   110.90},
  429. { "Willowfield",                  2324.00, -2059.20,   -89.00,  2541.70, -1852.80,   110.90},
  430. { "Willowfield",                  2541.70, -2059.20,   -89.00,  2703.50, -1941.40,   110.90},
  431. { "Yellow Bell Station",          1377.40,  2600.40,   -21.90,  1492.40,  2687.30,    78.00},
  432. // Main Zones
  433. { "Los Santos",                     44.60, -2892.90,  -242.90,  2997.00,  -768.00,   900.00},
  434. { "Las Venturas",                  869.40,   596.30,  -242.90,  2997.00,  2993.80,   900.00},
  435. { "Bone County",                  -480.50,   596.30,  -242.90,   869.40,  2993.80,   900.00},
  436. { "Tierra Robada",               -2997.40,  1659.60,  -242.90,  -480.50,  2993.80,   900.00},
  437. { "Tierra Robada",               -1213.90,   596.30,  -242.90,  -480.50,  1659.60,   900.00},
  438. { "San Fierro",                  -2997.40, -1115.50,  -242.90, -1213.90,  1659.60,   900.00},
  439. { "Red County",                  -1213.90,  -768.00,  -242.90,  2997.00,   596.30,   900.00},
  440. { "Flint County",                -1213.90, -2892.90,  -242.90,    44.60,  -768.00,   900.00},
  441. { "Whetstone",                   -2997.40, -2892.90,  -242.90, -1213.90, -1115.50,   900.00}};
  442.  
  443.  
  444. public OnFilterScriptInit()
  445. {
  446.     print("\n-----------------------------------------");
  447.     print("Stefan/Kevin974 - Speedometer/Fuel/Engine system");
  448.     print("-----------------------------------------\n");
  449.    
  450.     for(new Vehicles = 0; Vehicles < MAX_VEHICLES; Vehicles++)
  451.     {
  452.         Vehicle[Vehicles][Fuel] = Random(SPAWN_GAS_MIN, SPAWN_GAS_MAX);
  453.         Vehicle[Vehicles][Engine] = random(1); //Vehicle[vehicle][Engine] = 0;
  454.     }
  455.     for(new i = 0; i < MAX_PLAYERS; i++)
  456.     {
  457.         Speed[i][ShowSpeed] = 1;
  458.         Speed[i][Refueling] = 0;
  459.        
  460.         Speed[i][Speedom] = TextDrawCreate(506.000000,351.000000,"_");
  461.         TextDrawUseBox(Speed[i][Speedom],1);
  462.         TextDrawBoxColor(Speed[i][Speedom],0x00000065);
  463.         TextDrawTextSize(Speed[i][Speedom],625.000000,0.000000);
  464.         TextDrawAlignment(Speed[i][Speedom],0);
  465.         TextDrawBackgroundColor(Speed[i][Speedom],0x000000FF);
  466.         TextDrawFont(Speed[i][Speedom],2);
  467.         TextDrawLetterSize(Speed[i][Speedom],0.25,1.0);
  468.         TextDrawColor(Speed[i][Speedom],0xFFFFFFFF);
  469.         TextDrawSetOutline(Speed[i][Speedom],1);
  470.         TextDrawSetProportional(Speed[i][Speedom],1);
  471.         TextDrawSetShadow(Speed[i][Speedom],1);
  472.        
  473.         SetTimerEx("Speedometer",1000,true,"i",i);
  474.     }
  475.                
  476.     return 1;
  477. }
  478.  
  479. public OnFilterScriptExit()
  480. {
  481.     for(new i = 0; i <MAX_PLAYERS; i++)
  482.     {
  483.         TextDrawDestroy(Text:Speed[i][Speedom]);
  484.     }
  485. }
  486.  
  487. public OnPlayerCommandText(playerid,cmdtext[])
  488. {
  489.     dcmd(refuel,6,cmdtext);
  490.     dcmd(speed,5,cmdtext);
  491.     dcmd(lock,4,cmdtext);
  492.     dcmd(unlock,6,cmdtext);
  493.     dcmd(eject,5,cmdtext);
  494.     dcmd(engine,6,cmdtext);
  495.     return false;
  496. }
  497.  
  498. public OnVehicleSpawn(vehicleid)
  499. {
  500.     Vehicle[vehicleid][Fuel] = Random(SPAWN_GAS_MIN, SPAWN_GAS_MAX);
  501.     Vehicle[vehicleid][Engine] = random(1); //Vehicle[vehicle][Engine] = 0;
  502.     return true;
  503. }
  504.  
  505. public OnPlayerStateChange(playerid, newstate, oldstate)
  506. {
  507.     if(newstate == PLAYER_STATE_ONFOOT)
  508.     {
  509.         TextDrawHideForPlayer(playerid, Speed[playerid][Speedom]);
  510.     }
  511.     if(newstate == PLAYER_STATE_DRIVER)
  512.     {
  513.         new vehicle = GetPlayerVehicleID(playerid);
  514.         new VehicleModel = GetVehicleModel(GetPlayerVehicleID(playerid));
  515.         if( VehicleModel == 509 || VehicleModel == 481 || VehicleModel == 510 )
  516.         {
  517.             TogglePlayerControllable(playerid, true);
  518.             Vehicle[vehicle][Engine] = 1;
  519.         } else if(Vehicle[vehicle][Engine] == 0)
  520.         {
  521.             GameTextForPlayer(playerid,"~w~Turn Engine on with '~r~/Engine On~w~'",4000,3);
  522.             TogglePlayerControllable(playerid, false);
  523.             SetTimerEx("VehicleCheckStatus",1000,true,"i",playerid);
  524.         }
  525.     }
  526.     return true;
  527. }
  528.  
  529. public OnPlayerExitVehicle(playerid, vehicleid)
  530. {
  531.     if(Speed[playerid][Refueling] == 1) return StopRefueling(playerid);
  532.     return true;
  533. }
  534.  
  535. public Speedometer(playerid)
  536. {
  537.     new State = GetPlayerState(playerid);
  538.     if(State == PLAYER_STATE_DRIVER && IsPlayerInAnyVehicle(playerid))
  539.     {
  540.         if(Speed[playerid][ShowSpeed] == 1)
  541.         {
  542.             #define MULTIPLY_SPEED  4
  543.             new vehicleid = GetPlayerVehicleID(playerid);
  544.             new VehicleModel = GetVehicleModel(vehicleid);
  545.  
  546.             new Float:x, Float:y, Float:z, Float:health, string[256];
  547.             GetPlayerPos(playerid, x, y, z); GetVehicleHealth(vehicleid, health);
  548.             new Float:Dis = floatsqroot(floatpower(floatabs(floatsub(Speed[playerid][OldCoordsX],x)),2) + floatpower(floatabs(floatsub(Speed[playerid][OldCoordsY],y)),2));
  549.  
  550.             if(Vehicle[vehicleid][Fuel] <= 0){ RemovePlayerFromVehicle(playerid); SendClientMessage(playerid, COLOR_YELLOW, "[FUEL]: There is no fuel in the vehicle."); }
  551.             if(VehicleModel==509||VehicleModel==481||VehicleModel==510) { SetVehicleHealth(GetPlayerVehicleID(playerid), 1000); Vehicle[vehicleid][Fuel] = 100; }
  552.             if(VehicleModel==520||VehicleModel==476||VehicleModel==593||VehicleModel==553||VehicleModel==513||VehicleModel==512||VehicleModel==577||VehicleModel==592||VehicleModel==511||VehicleModel==539||VehicleModel==464||VehicleModel==519) { Vehicle[vehicleid][Fuel] = 100; }
  553.             new speed = (floatround(Dis)*MULTIPLY_SPEED);
  554.  
  555.             new locked[15], Sspeed[15];
  556.             if(Vehicle[vehicleid][IsLocked] == 1) { locked = "~R~Locked"; } else { locked = "~G~Unlocked"; }
  557.  
  558.             if( speed == 0) {
  559.                 format(Sspeed,sizeof(Sspeed),"~G~%dm/h",(floatround(Dis)*MULTIPLY_SPEED));
  560.             } else if( speed >= 1 && speed <= 65 ){
  561.                 format(Sspeed,sizeof(Sspeed),"~G~%dm/h",(floatround(Dis)*MULTIPLY_SPEED));
  562.                 Vehicle[vehicleid][Fuel] -= 0.01;
  563.             } else if( speed >= 66 && speed <= 120 ){
  564.                 format(Sspeed,sizeof(Sspeed),"~Y~%dm/h",(floatround(Dis)*MULTIPLY_SPEED));
  565.                 Vehicle[vehicleid][Fuel] -= 0.02;
  566.             } else {
  567.                 format(Sspeed,sizeof(Sspeed),"~R~%dm/h",(floatround(Dis)*MULTIPLY_SPEED));
  568.                 Vehicle[vehicleid][Fuel] -= 0.03;
  569.             }
  570.  
  571.             format(string,sizeof(string),"~B~Vehicle:~n~~w~%s~n~~B~Speed: %s~n~~B~Fuel: ~W~%.1f~n~~B~Health: ~W~%.1f~n~~b~Status: %s~n~~B~Location:~n~~w~%s" ,VehiclesName[GetVehicleModel(vehicleid)-400], Sspeed, Vehicle[vehicleid][Fuel], health/10, locked, ReturnPlayerZone(playerid));
  572.             TextDrawSetString(Speed[playerid][Speedom], string);
  573.             TextDrawShowForPlayer(playerid, Speed[playerid][Speedom]);
  574.             Speed[playerid][OldCoordsX] = x; Speed[playerid][OldCoordsY]  = y;
  575.         } else { TextDrawHideForPlayer(playerid, Speed[playerid][Speedom]); }
  576.     }
  577.     return true;
  578. }
  579.    
  580. ///////////////////////////
  581. //       Functions
  582. //////////////////////////
  583.  
  584. stock Random(min, max)
  585. {
  586.     new a = random(max - min) + min;
  587.     return a;
  588. }
  589.  
  590. stock GetName(playerid)
  591. {
  592.     new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name));
  593.     return name;
  594. }
  595.  
  596. public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
  597. {
  598.     new Float:oldposx, Float:oldposy, Float:oldposz;
  599.     new Float:tempposx, Float:tempposy, Float:tempposz;
  600.     GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  601.     tempposx = (oldposx -x); tempposy = (oldposy -y); tempposz = (oldposz -z);
  602.     if(((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  603.     { return true; }
  604.     return false;
  605. }
  606.  
  607. ///////////////////////////
  608. //       Commands
  609. //////////////////////////
  610.  
  611. dcmd_refuel(playerid,params[]){
  612.     #pragma unused params
  613.     if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid)){
  614.         if(IsAtFuelStation(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
  615.             new vehicleid = GetPlayerVehicleID(playerid);
  616.             if(Speed[playerid][Refueling] == 0){
  617.                 if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessage(playerid,COLOR_YELLOW,".:: [ERROR]: This vehicle does not need fuel :.");
  618.                 if(Vehicle[vehicleid][Fuel] >= 100){
  619.                     SendClientMessage(playerid,COLOR_YELLOW,".:: [FUEL]: Your gas tank is already full.");
  620.                 } else {
  621.                     Vehicle[GetPlayerVehicleID(playerid)][OldFuel] = 0; Speed[playerid][Refueling] = 1;
  622.                     Speed[playerid][ReFuelTimer] = SetTimerEx("ReFill", 1000, true, "i", playerid); }
  623.             } else { SendClientMessage(playerid,COLOR_YELLOW,".:: [FUEL]: You are allready refueling your car."); }
  624.         } else { SendClientMessage(playerid,COLOR_YELLOW,".:: [FUEL]: You must be at a gas station to refuel"); } }
  625.     return true;
  626. }
  627.  
  628. dcmd_lock(playerid,params[]){
  629.     #pragma unused params
  630.     if(IsPlayerConnected(playerid) && Vehicle[GetPlayerVehicleID(playerid)][IsLocked] == 0){
  631.         if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
  632.             for(new i = 0; i <MAX_PLAYERS; i++) { if (i != playerid) { SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1); } }
  633.             SendClientMessage(playerid,COLOR_GREY, ".:: [VEHICLE]: Vehicle is Locked! (10 minutes)");
  634.             new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid,X,Y,Z);
  635.             PlayerPlaySound(playerid,1057,X,Y,Z); Vehicle[GetPlayerVehicleID(playerid)][IsLocked] = 1;
  636.             SetTimerEx("UnlockVehicle",600000,false,"i",GetPlayerVehicleID(playerid)); } }
  637.     return true;
  638. }
  639.  
  640. dcmd_unlock(playerid,params[]){
  641.     #pragma unused params
  642.     if(IsPlayerConnected(playerid) && Vehicle[GetPlayerVehicleID(playerid)][IsLocked] == 1){
  643.         if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
  644.             for(new i = 0; i <MAX_PLAYERS; i++) { SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 0); }
  645.             SendClientMessage(playerid,COLOR_GREY, ".:: [VEHICLE]: Vehicle is Unlocked!");
  646.             new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid,X,Y,Z);
  647.             PlayerPlaySound(playerid,1057,X,Y,Z); Vehicle[GetPlayerVehicleID(playerid)][IsLocked] = 0; } }
  648.     return true;
  649. }
  650.  
  651. dcmd_eject(playerid,params[]) {
  652.     #pragma unused params
  653.     if(IsPlayerConnected(playerid)){
  654.             if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "[USAGE]: /eject [Player/ID]");
  655.             new giveplayerid = ReturnUser(params);
  656.             if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && IsPlayerInVehicle(giveplayerid, GetPlayerVehicleID(playerid))){
  657.                 if(IsPlayerConnected(giveplayerid) && playerid != giveplayerid){
  658.                     SendFormattedMessage(playerid,COLOR_ORANGE,"[EJECT]: You have ejected %s(%i)from your vehicle.", GetName(giveplayerid), giveplayerid);
  659.                     SendFormattedMessage(giveplayerid,COLOR_ORANGE,"[EJECT]: You got ejected from %s's(%d) vehicle.", GetName(playerid), playerid);
  660.                     RemovePlayerFromVehicle(giveplayerid);} }
  661.         }
  662.     return true;
  663. }
  664.  
  665. dcmd_engine(playerid,params[]){
  666.     #pragma unused params
  667.     if(IsPlayerConnected(playerid)){
  668.         if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "[USAGE]: /engine [on/off]");
  669.         new vehicle = GetPlayerVehicleID(playerid);
  670.         if(strcmp(params,"on",true) == 0) {
  671.             if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
  672.                 if(Vehicle[vehicle][Engine] == 0) { GameTextForPlayer(playerid,"~W~Starting engine",3000,3); SetTimerEx("TurnOnEngine", MAX_START_TIME*1000, 0, "dd", playerid, vehicle); }
  673.             } }
  674.         if(strcmp(params,"off",true) == 0) { TurnOffEngine(playerid, vehicle); }
  675.     }
  676.     return true;
  677. }
  678.  
  679. dcmd_speed(playerid,params[]){
  680.     #pragma unused params
  681.     if(IsPlayerConnected(playerid)){
  682.         if(!strlen(params)) return SendClientMessage(playerid, COLOR_WHITE, "[USAGE]: /speed [on/off]");
  683.         if(strcmp(params,"on",true) == 0) { Speed[playerid][ShowSpeed]= 1; GameTextForPlayer(playerid,"~w~Speedometer ~g~On",2000,3); }
  684.         if(strcmp(params,"off",true) == 0) { Speed[playerid][ShowSpeed] = 0; GameTextForPlayer(playerid,"~w~Speedometer ~r~Off",2000,3); }
  685.     }
  686.     return true;
  687. }
  688.  
  689. ///////////////////////////
  690. //   Vehicle Functions
  691. //////////////////////////
  692.  
  693. public UnlockVehicle(vehicleid)
  694. {
  695.     for(new i = 0; i <MAX_PLAYERS; i++)
  696.     {
  697.         SetVehicleParamsForPlayer(vehicleid,i, 0, 0);
  698.     }
  699.     Vehicle[vehicleid][IsLocked] = 0;
  700. }
  701.  
  702. public TurnOnEngine(playerid, vehicle)
  703. {
  704.     if(Vehicle[vehicle][Engine] == 0)
  705.     {
  706.         GameTextForPlayer(playerid,"~W~Engine turned ~g~On",3000,1);
  707.         TogglePlayerControllable(playerid, true);
  708.         Vehicle[vehicle][Engine] = 1;
  709.     }
  710.     return true;
  711. }
  712.  
  713. public TurnOffEngine(playerid, vehicle)
  714. {
  715.     if(Vehicle[vehicle][Engine] == 1)
  716.     {
  717.         GameTextForPlayer(playerid,"~W~Engine turned ~r~Off",3000,1);
  718.         RemovePlayerFromVehicle(playerid);
  719.         Vehicle[vehicle][Engine] = 0;
  720.     }
  721.     return true;
  722. }
  723.  
  724. stock VehicleCheckStatus(playerid)
  725. {
  726.     new vehicle = GetPlayerVehicleID(playerid);
  727.     new VehicleModel = GetVehicleModel(GetPlayerVehicleID(playerid));
  728.     if( VehicleModel == 509 || VehicleModel == 481 || VehicleModel == 510 )// Bikes
  729.     {
  730.         TogglePlayerControllable(playerid, true);
  731.         Vehicle[vehicle][Engine] = 1;
  732.     }
  733.     if(Vehicle[vehicle][Engine] == 0)
  734.     {
  735.         TogglePlayerControllable(playerid, false);
  736.     } else {
  737.         TogglePlayerControllable(playerid, true);
  738.     }
  739. }
  740.  
  741. ///////////////////////////
  742. //    Fuel Functions
  743. //////////////////////////
  744.  
  745. public ReFill(playerid)
  746. {
  747.     new Float:x, Float:y, Float:z;
  748.     if(GetPlayerPos(playerid, x, y, z) != IsAtFuelStation(playerid) || Vehicle[GetPlayerVehicleID(playerid)][Fuel] >= 100){
  749.         StopRefueling(playerid);
  750.      } else { Vehicle[GetPlayerVehicleID(playerid)][Fuel] ++; Vehicle[GetPlayerVehicleID(playerid)][OldFuel] ++; }
  751.     return true;
  752. }
  753.  
  754. stock StopRefueling(playerid)
  755. {
  756.     GivePlayerMoney(playerid, -Vehicle[GetPlayerVehicleID(playerid)][OldFuel]);
  757.     SendFormattedMessage(playerid, COLOR_YELLOW,".:: [FUEL]: Your vehicle has been refueled for $%d.", Vehicle[GetPlayerVehicleID(playerid)][OldFuel]);
  758.     Speed[playerid][Refueling] = 0; KillTimer(Speed[playerid][ReFuelTimer]);
  759.     return true;
  760. }
  761.  
  762. public IsAtFuelStation(playerid)
  763. {
  764.     if(PlayerToPoint(10,playerid,1595.5406, 2198.0520, 10.3863) || PlayerToPoint(10,playerid,2202.0649, 2472.6697, 10.5677) ||
  765.     PlayerToPoint(10,playerid,2115.1929, 919.9908, 10.5266) || PlayerToPoint(10,playerid,2640.7209, 1105.9565, 10.5274) ||
  766.     PlayerToPoint(10,playerid,608.5971, 1699.6238, 6.9922) || PlayerToPoint(10,playerid,618.4878, 1684.5792, 6.9922) ||
  767.     PlayerToPoint(10,playerid,2146.3467, 2748.2893, 10.5245) || PlayerToPoint(10,playerid,-1679.4595, 412.5129, 6.9973) ||
  768.     PlayerToPoint(10,playerid,-1327.5607, 2677.4316, 49.8093) || PlayerToPoint(10,playerid,-1470.0050, 1863.2375, 32.3521) ||
  769.     PlayerToPoint(10,playerid,-2409.2200, 976.2798, 45.2969) || PlayerToPoint(10,playerid,-2244.1396, -2560.5833, 31.9219) ||
  770.     PlayerToPoint(10,playerid,-1606.0544, -2714.3083, 48.5335) || PlayerToPoint(10,playerid,1937.4293, -1773.1865, 13.3828) ||
  771.     PlayerToPoint(10,playerid,-91.3854, -1169.9175, 2.4213) || PlayerToPoint(10,playerid,1383.4221, 462.5385, 20.1506) ||
  772.     PlayerToPoint(10,playerid,660.4590, -565.0394, 16.3359) || PlayerToPoint(10,playerid,1381.7206, 459.1907, 20.3452) ||
  773.     PlayerToPoint(10,playerid,-1605.7156, -2714.4573, 48.5335))
  774.     { return true; }
  775.     return false;
  776. }
  777.  
  778. ///////////////////////////
  779. //    Zone Functions
  780. //////////////////////////
  781.  
  782. stock IsPlayerInZone(playerid, zoneid) {
  783.     if(zoneid == -1) return false;
  784.     new Float:x, Float:y, Float:z;
  785.     GetPlayerPos(playerid, x, y, z);
  786.     if(x >= zones[zoneid][zone_minx] && x < zones[zoneid][zone_maxx] && y >= zones[zoneid][zone_miny] && y < zones[zoneid][zone_maxy] && z >= zones[zoneid][zone_minz] && z < zones[zoneid][zone_maxz] && z < 900.0) return true;
  787.     return false;
  788. }
  789.  
  790. stock ReturnPlayerZone(playerid)
  791. {
  792.     new playerzone[256] = "Unknown";
  793.     for(new j; j < sizeof(zones); j++) {
  794.         if(IsPlayerInZone(playerid,j)) {
  795.             memcpy(playerzone, zones[j][zone_name], 0, 108);
  796.             break;
  797.         }
  798.     }
  799.     return playerzone;
  800. }
  801.  
  802. stock GetPlayerZoneID(playerid)
  803. {
  804.     for(new j; j < sizeof(zones); j++) {
  805.         if(IsPlayerInZone(playerid, j)) return j;
  806.         }
  807. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement