Advertisement
Guest User

PPC

a guest
Dec 28th, 2017
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 70.03 KB | None | 0 0
  1. Erro ppc
  2.  
  3. // Forward the function needed to update the speedometer (used by a timer)
  4. forward Speedometer_Update(playerid);
  5. forward RefuelVehicle(playerid);
  6. #define MAX_ZONE_NAME 28
  7. new Text:Alt[MAX_PLAYERS];
  8. new Float:Speedo_X,Float:Speedo_Y,Float:Speedo_Z;
  9. new zone[MAX_ZONE_NAME];
  10. new TmpZone[MAX_ZONE_NAME];
  11. new
  12. Veiculos[][] =
  13. {
  14. "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
  15. "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
  16. "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
  17. "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection",
  18. "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus",
  19. "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
  20. "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral",
  21. "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
  22. "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van",
  23. "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale",
  24. "Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy",
  25. "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX",
  26. "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper",
  27. "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking",
  28. "Blista Compact", "Police Maverick", "Boxvillde", "Benson", "Mesa", "RC Goblin",
  29. "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT",
  30. "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt",
  31. "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra",
  32. "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune",
  33. "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer",
  34. "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent",
  35. "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo",
  36. "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite",
  37. "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
  38. "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
  39. "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
  40. "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400",
  41. "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
  42. "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car",
  43. "Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
  44. "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
  45. "Tiller", "Utility Trailer"
  46. };
  47. enum
  48. SAZONE_MAIN
  49. {
  50. SAZONE_NAME[28],
  51. Float:SAZONE_AREA[6]
  52. };
  53. static const gSAZones[][SAZONE_MAIN] =
  54. {
  55. {"The Big Ear", {-410.00,1403.30,-3.00,-137.90,1681.20,200.00}},
  56. {"Aldea Malvada", {-1372.10,2498.50,0.00,-1277.50,2615.30,200.00}},
  57. {"Angel Pine", {-2324.90,-2584.20,-6.10,-1964.20,-2212.10,200.00}},
  58. {"Arco del Oeste", {-901.10,2221.80,0.00,-592.00,2571.90,200.00}},
  59. {"Avispa Country Club", {-2646.40,-355.40,0.00,-2270.00,-222.50,200.00}},
  60. {"Avispa Country Club", {-2831.80,-430.20,-6.10,-2646.40,-222.50,200.00}},
  61. {"Avispa Country Club", {-2361.50,-417.10,0.00,-2270.00,-355.40,200.00}},
  62. {"Avispa Country Club", {-2667.80,-302.10,-28.80,-2646.40,-262.30,71.10}},
  63. {"Avispa Country Club", {-2470.00,-355.40,0.00,-2270.00,-318.40,46.10}},
  64. {"Avispa Country Club", {-2550.00,-355.40,0.00,-2470.00,-318.40,39.70}},
  65. {"Back o Beyond", {-1166.90,-2641.10,0.00,-321.70,-1856.00,200.00}},
  66. {"Battery Point", {-2741.00,1268.40,-4.50,-2533.00,1490.40,200.00}},
  67. {"Bayside", {-2741.00,2175.10,0.00,-2353.10,2722.70,200.00}},
  68. {"Bayside Marina", {-2353.10,2275.70,0.00,-2153.10,2475.70,200.00}},
  69. {"Beacon Hill", {-399.60,-1075.50,-1.40,-319.00,-977.50,198.50}},
  70. {"Blackfield", {964.30,1203.20,-89.00,1197.30,1403.20,110.90}},
  71. {"Blackfield", {964.30,1403.20,-89.00,1197.30,1726.20,110.90}},
  72. {"Blackfield Chapel", {1375.60,596.30,-89.00,1558.00,823.20,110.90}},
  73. {"Blackfield Chapel", {1325.60,596.30,-89.00,1375.60,795.00,110.90}},
  74. {"Blackfield Intersection", {1197.30,1044.60,-89.00,1277.00,1163.30,110.90}},
  75. {"Blackfield Intersection", {1166.50,795.00,-89.00,1375.60,1044.60,110.90}},
  76. {"Blackfield Intersection", {1277.00,1044.60,-89.00,1315.30,1087.60,110.90}},
  77. {"Blackfield Intersection", {1375.60,823.20,-89.00,1457.30,919.40,110.90}},
  78. {"Blueberry", {104.50,-220.10,2.30,349.60,152.20,200.00}},
  79. {"Blueberry", {19.60,-404.10,3.80,349.60,-220.10,200.00}},
  80. {"Blueberry Acres", {-319.60,-220.10,0.00,104.50,293.30,200.00}},
  81. {"Caligula's Palace", {2087.30,1543.20,-89.00,2437.30,1703.20,110.90}},
  82. {"Caligula's Palace", {2137.40,1703.20,-89.00,2437.30,1783.20,110.90}},
  83. {"Calton Heights", {-2274.10,744.10,-6.10,-1982.30,1358.90,200.00}},
  84. {"Chinatown", {-2274.10,578.30,-7.60,-2078.60,744.10,200.00}},
  85. {"City Hall", {-2867.80,277.40,-9.10,-2593.40,458.40,200.00}},
  86. {"Come-A-Lot", {2087.30,943.20,-89.00,2623.10,1203.20,110.90}},
  87. {"Commerce", {1323.90,-1842.20,-89.00,1701.90,-1722.20,110.90}},
  88. {"Commerce", {1323.90,-1722.20,-89.00,1440.90,-1577.50,110.90}},
  89. {"Commerce", {1370.80,-1577.50,-89.00,1463.90,-1384.90,110.90}},
  90. {"Commerce", {1463.90,-1577.50,-89.00,1667.90,-1430.80,110.90}},
  91. {"Commerce", {1583.50,-1722.20,-89.00,1758.90,-1577.50,110.90}},
  92. {"Commerce", {1667.90,-1577.50,-89.00,1812.60,-1430.80,110.90}},
  93. {"Conference Center", {1046.10,-1804.20,-89.00,1323.90,-1722.20,110.90}},
  94. {"Conference Center", {1073.20,-1842.20,-89.00,1323.90,-1804.20,110.90}},
  95. {"Cranberry Station", {-2007.80,56.30,0.00,-1922.00,224.70,100.00}},
  96. {"Creek", {2749.90,1937.20,-89.00,2921.60,2669.70,110.90}},
  97. {"Dillimore", {580.70,-674.80,-9.50,861.00,-404.70,200.00}},
  98. {"Doherty", {-2270.00,-324.10,-0.00,-1794.90,-222.50,200.00}},
  99. {"Doherty", {-2173.00,-222.50,-0.00,-1794.90,265.20,200.00}},
  100. {"Downtown", {-1982.30,744.10,-6.10,-1871.70,1274.20,200.00}},
  101. {"Downtown", {-1871.70,1176.40,-4.50,-1620.30,1274.20,200.00}},
  102. {"Downtown", {-1700.00,744.20,-6.10,-1580.00,1176.50,200.00}},
  103. {"Downtown", {-1580.00,744.20,-6.10,-1499.80,1025.90,200.00}},
  104. {"Downtown", {-2078.60,578.30,-7.60,-1499.80,744.20,200.00}},
  105. {"Downtown", {-1993.20,265.20,-9.10,-1794.90,578.30,200.00}},
  106. {"Downtown Los Santos", {1463.90,-1430.80,-89.00,1724.70,-1290.80,110.90}},
  107. {"Downtown Los Santos", {1724.70,-1430.80,-89.00,1812.60,-1250.90,110.90}},
  108. {"Downtown Los Santos", {1463.90,-1290.80,-89.00,1724.70,-1150.80,110.90}},
  109. {"Downtown Los Santos", {1370.80,-1384.90,-89.00,1463.90,-1170.80,110.90}},
  110. {"Downtown Los Santos", {1724.70,-1250.90,-89.00,1812.60,-1150.80,110.90}},
  111. {"Downtown Los Santos", {1370.80,-1170.80,-89.00,1463.90,-1130.80,110.90}},
  112. {"Downtown Los Santos", {1378.30,-1130.80,-89.00,1463.90,-1026.30,110.90}},
  113. {"Downtown Los Santos", {1391.00,-1026.30,-89.00,1463.90,-926.90,110.90}},
  114. {"Downtown Los Santos", {1507.50,-1385.20,110.90,1582.50,-1325.30,335.90}},
  115. {"East Beach", {2632.80,-1852.80,-89.00,2959.30,-1668.10,110.90}},
  116. {"East Beach", {2632.80,-1668.10,-89.00,2747.70,-1393.40,110.90}},
  117. {"East Beach", {2747.70,-1668.10,-89.00,2959.30,-1498.60,110.90}},
  118. {"East Beach", {2747.70,-1498.60,-89.00,2959.30,-1120.00,110.90}},
  119. {"East Los Santos", {2421.00,-1628.50,-89.00,2632.80,-1454.30,110.90}},
  120. {"East Los Santos", {2222.50,-1628.50,-89.00,2421.00,-1494.00,110.90}},
  121. {"East Los Santos", {2266.20,-1494.00,-89.00,2381.60,-1372.00,110.90}},
  122. {"East Los Santos", {2381.60,-1494.00,-89.00,2421.00,-1454.30,110.90}},
  123. {"East Los Santos", {2281.40,-1372.00,-89.00,2381.60,-1135.00,110.90}},
  124. {"East Los Santos", {2381.60,-1454.30,-89.00,2462.10,-1135.00,110.90}},
  125. {"East Los Santos", {2462.10,-1454.30,-89.00,2581.70,-1135.00,110.90}},
  126. {"Easter Basin", {-1794.90,249.90,-9.10,-1242.90,578.30,200.00}},
  127. {"Easter Basin", {-1794.90,-50.00,-0.00,-1499.80,249.90,200.00}},
  128. {"Easter Bay Airport", {-1499.80,-50.00,-0.00,-1242.90,249.90,200.00}},
  129. {"Easter Bay Airport", {-1794.90,-730.10,-3.00,-1213.90,-50.00,200.00}},
  130. {"Easter Bay Airport", {-1213.90,-730.10,0.00,-1132.80,-50.00,200.00}},
  131. {"Easter Bay Airport", {-1242.90,-50.00,0.00,-1213.90,578.30,200.00}},
  132. {"Easter Bay Airport", {-1213.90,-50.00,-4.50,-947.90,578.30,200.00}},
  133. {"Easter Bay Airport", {-1315.40,-405.30,15.40,-1264.40,-209.50,25.40}},
  134. {"Easter Bay Airport", {-1354.30,-287.30,15.40,-1315.40,-209.50,25.40}},
  135. {"Easter Bay Airport", {-1490.30,-209.50,15.40,-1264.40,-148.30,25.40}},
  136. {"Easter Bay Chemicals", {-1132.80,-768.00,0.00,-956.40,-578.10,200.00}},
  137. {"Easter Bay Chemicals", {-1132.80,-787.30,0.00,-956.40,-768.00,200.00}},
  138. {"El Castillo del Diablo", {-464.50,2217.60,0.00,-208.50,2580.30,200.00}},
  139. {"El Castillo del Diablo", {-208.50,2123.00,-7.60,114.00,2337.10,200.00}},
  140. {"El Castillo del Diablo", {-208.50,2337.10,0.00,8.40,2487.10,200.00}},
  141. {"El Corona", {1812.60,-2179.20,-89.00,1970.60,-1852.80,110.90}},
  142. {"El Corona", {1692.60,-2179.20,-89.00,1812.60,-1842.20,110.90}},
  143. {"El Quebrados", {-1645.20,2498.50,0.00,-1372.10,2777.80,200.00}},
  144. {"Esplanade East", {-1620.30,1176.50,-4.50,-1580.00,1274.20,200.00}},
  145. {"Esplanade East", {-1580.00,1025.90,-6.10,-1499.80,1274.20,200.00}},
  146. {"Esplanade East", {-1499.80,578.30,-79.60,-1339.80,1274.20,20.30}},
  147. {"Esplanade North", {-2533.00,1358.90,-4.50,-1996.60,1501.20,200.00}},
  148. {"Esplanade North", {-1996.60,1358.90,-4.50,-1524.20,1592.50,200.00}},
  149. {"Esplanade North", {-1982.30,1274.20,-4.50,-1524.20,1358.90,200.00}},
  150. {"Fallen Tree", {-792.20,-698.50,-5.30,-452.40,-380.00,200.00}},
  151. {"Fallow Bridge", {434.30,366.50,0.00,603.00,555.60,200.00}},
  152. {"Fern Ridge", {508.10,-139.20,0.00,1306.60,119.50,200.00}},
  153. {"Financial", {-1871.70,744.10,-6.10,-1701.30,1176.40,300.00}},
  154. {"Fisher's Lagoon", {1916.90,-233.30,-100.00,2131.70,13.80,200.00}},
  155. {"Flint Intersection", {-187.70,-1596.70,-89.00,17.00,-1276.60,110.90}},
  156. {"Flint Range", {-594.10,-1648.50,0.00,-187.70,-1276.60,200.00}},
  157. {"Fort Carson", {-376.20,826.30,-3.00,123.70,1220.40,200.00}},
  158. {"Foster Valley", {-2270.00,-430.20,-0.00,-2178.60,-324.10,200.00}},
  159. {"Foster Valley", {-2178.60,-599.80,-0.00,-1794.90,-324.10,200.00}},
  160. {"Foster Valley", {-2178.60,-1115.50,0.00,-1794.90,-599.80,200.00}},
  161. {"Foster Valley", {-2178.60,-1250.90,0.00,-1794.90,-1115.50,200.00}},
  162. {"Frederick Bridge", {2759.20,296.50,0.00,2774.20,594.70,200.00}},
  163. {"Gant Bridge", {-2741.40,1659.60,-6.10,-2616.40,2175.10,200.00}},
  164. {"Gant Bridge", {-2741.00,1490.40,-6.10,-2616.40,1659.60,200.00}},
  165. {"Ganton", {2222.50,-1852.80,-89.00,2632.80,-1722.30,110.90}},
  166. {"Ganton", {2222.50,-1722.30,-89.00,2632.80,-1628.50,110.90}},
  167. {"Garcia", {-2411.20,-222.50,-0.00,-2173.00,265.20,200.00}},
  168. {"Garcia", {-2395.10,-222.50,-5.30,-2354.00,-204.70,200.00}},
  169. {"Garver Bridge", {-1339.80,828.10,-89.00,-1213.90,1057.00,110.90}},
  170. {"Garver Bridge", {-1213.90,950.00,-89.00,-1087.90,1178.90,110.90}},
  171. {"Garver Bridge", {-1499.80,696.40,-179.60,-1339.80,925.30,20.30}},
  172. {"Glen Park", {1812.60,-1449.60,-89.00,1996.90,-1350.70,110.90}},
  173. {"Glen Park", {1812.60,-1100.80,-89.00,1994.30,-973.30,110.90}},
  174. {"Glen Park", {1812.60,-1350.70,-89.00,2056.80,-1100.80,110.90}},
  175. {"Green Palms", {176.50,1305.40,-3.00,338.60,1520.70,200.00}},
  176. {"Greenglass College", {964.30,1044.60,-89.00,1197.30,1203.20,110.90}},
  177. {"Greenglass College", {964.30,930.80,-89.00,1166.50,1044.60,110.90}},
  178. {"Hampton Barns", {603.00,264.30,0.00,761.90,366.50,200.00}},
  179. {"Hankypanky Point", {2576.90,62.10,0.00,2759.20,385.50,200.00}},
  180. {"Harry Gold Parkway", {1777.30,863.20,-89.00,1817.30,2342.80,110.90}},
  181. {"Hashbury", {-2593.40,-222.50,-0.00,-2411.20,54.70,200.00}},
  182. {"Hilltop Farm", {967.30,-450.30,-3.00,1176.70,-217.90,200.00}},
  183. {"Hunter Quarry", {337.20,710.80,-115.20,860.50,1031.70,203.70}},
  184. {"Idlewood", {1812.60,-1852.80,-89.00,1971.60,-1742.30,110.90}},
  185. {"Idlewood", {1812.60,-1742.30,-89.00,1951.60,-1602.30,110.90}},
  186. {"Idlewood", {1951.60,-1742.30,-89.00,2124.60,-1602.30,110.90}},
  187. {"Idlewood", {1812.60,-1602.30,-89.00,2124.60,-1449.60,110.90}},
  188. {"Idlewood", {2124.60,-1742.30,-89.00,2222.50,-1494.00,110.90}},
  189. {"Idlewood", {1971.60,-1852.80,-89.00,2222.50,-1742.30,110.90}},
  190. {"Jefferson", {1996.90,-1449.60,-89.00,2056.80,-1350.70,110.90}},
  191. {"Jefferson", {2124.60,-1494.00,-89.00,2266.20,-1449.60,110.90}},
  192. {"Jefferson", {2056.80,-1372.00,-89.00,2281.40,-1210.70,110.90}},
  193. {"Jefferson", {2056.80,-1210.70,-89.00,2185.30,-1126.30,110.90}},
  194. {"Jefferson", {2185.30,-1210.70,-89.00,2281.40,-1154.50,110.90}},
  195. {"Jefferson", {2056.80,-1449.60,-89.00,2266.20,-1372.00,110.90}},
  196. {"Julius Thruway East", {2623.10,943.20,-89.00,2749.90,1055.90,110.90}},
  197. {"Julius Thruway East", {2685.10,1055.90,-89.00,2749.90,2626.50,110.90}},
  198. {"Julius Thruway East", {2536.40,2442.50,-89.00,2685.10,2542.50,110.90}},
  199. {"Julius Thruway East", {2625.10,2202.70,-89.00,2685.10,2442.50,110.90}},
  200. {"Julius Thruway North", {2498.20,2542.50,-89.00,2685.10,2626.50,110.90}},
  201. {"Julius Thruway North", {2237.40,2542.50,-89.00,2498.20,2663.10,110.90}},
  202. {"Julius Thruway North", {2121.40,2508.20,-89.00,2237.40,2663.10,110.90}},
  203. {"Julius Thruway North", {1938.80,2508.20,-89.00,2121.40,2624.20,110.90}},
  204. {"Julius Thruway North", {1534.50,2433.20,-89.00,1848.40,2583.20,110.90}},
  205. {"Julius Thruway North", {1848.40,2478.40,-89.00,1938.80,2553.40,110.90}},
  206. {"Julius Thruway North", {1704.50,2342.80,-89.00,1848.40,2433.20,110.90}},
  207. {"Julius Thruway North", {1377.30,2433.20,-89.00,1534.50,2507.20,110.90}},
  208. {"Julius Thruway South", {1457.30,823.20,-89.00,2377.30,863.20,110.90}},
  209. {"Julius Thruway South", {2377.30,788.80,-89.00,2537.30,897.90,110.90}},
  210. {"Julius Thruway West", {1197.30,1163.30,-89.00,1236.60,2243.20,110.90}},
  211. {"Julius Thruway West", {1236.60,2142.80,-89.00,1297.40,2243.20,110.90}},
  212. {"Juniper Hill", {-2533.00,578.30,-7.60,-2274.10,968.30,200.00}},
  213. {"Juniper Hollow", {-2533.00,968.30,-6.10,-2274.10,1358.90,200.00}},
  214. {"K.A.C.C. Military Fuels", {2498.20,2626.50,-89.00,2749.90,2861.50,110.90}},
  215. {"Kincaid Bridge", {-1339.80,599.20,-89.00,-1213.90,828.10,110.90}},
  216. {"Kincaid Bridge", {-1213.90,721.10,-89.00,-1087.90,950.00,110.90}},
  217. {"Kincaid Bridge", {-1087.90,855.30,-89.00,-961.90,986.20,110.90}},
  218. {"King's", {-2329.30,458.40,-7.60,-1993.20,578.30,200.00}},
  219. {"King's", {-2411.20,265.20,-9.10,-1993.20,373.50,200.00}},
  220. {"King's", {-2253.50,373.50,-9.10,-1993.20,458.40,200.00}},
  221. {"LVA Freight Depot", {1457.30,863.20,-89.00,1777.40,1143.20,110.90}},
  222. {"LVA Freight Depot", {1375.60,919.40,-89.00,1457.30,1203.20,110.90}},
  223. {"LVA Freight Depot", {1277.00,1087.60,-89.00,1375.60,1203.20,110.90}},
  224. {"LVA Freight Depot", {1315.30,1044.60,-89.00,1375.60,1087.60,110.90}},
  225. {"LVA Freight Depot", {1236.60,1163.40,-89.00,1277.00,1203.20,110.90}},
  226. {"Las Barrancas", {-926.10,1398.70,-3.00,-719.20,1634.60,200.00}},
  227. {"Las Brujas", {-365.10,2123.00,-3.00,-208.50,2217.60,200.00}},
  228. {"Las Colinas", {1994.30,-1100.80,-89.00,2056.80,-920.80,110.90}},
  229. {"Las Colinas", {2056.80,-1126.30,-89.00,2126.80,-920.80,110.90}},
  230. {"Las Colinas", {2185.30,-1154.50,-89.00,2281.40,-934.40,110.90}},
  231. {"Las Colinas", {2126.80,-1126.30,-89.00,2185.30,-934.40,110.90}},
  232. {"Las Colinas", {2747.70,-1120.00,-89.00,2959.30,-945.00,110.90}},
  233. {"Las Colinas", {2632.70,-1135.00,-89.00,2747.70,-945.00,110.90}},
  234. {"Las Colinas", {2281.40,-1135.00,-89.00,2632.70,-945.00,110.90}},
  235. {"Las Payasadas", {-354.30,2580.30,2.00,-133.60,2816.80,200.00}},
  236. {"Las Venturas Airport", {1236.60,1203.20,-89.00,1457.30,1883.10,110.90}},
  237. {"Las Venturas Airport", {1457.30,1203.20,-89.00,1777.30,1883.10,110.90}},
  238. {"Las Venturas Airport", {1457.30,1143.20,-89.00,1777.40,1203.20,110.90}},
  239. {"Las Venturas Airport", {1515.80,1586.40,-12.50,1729.90,1714.50,87.50}},
  240. {"Last Dime Motel", {1823.00,596.30,-89.00,1997.20,823.20,110.90}},
  241. {"Leafy Hollow", {-1166.90,-1856.00,0.00,-815.60,-1602.00,200.00}},
  242. {"Liberty City", {-1000.00,400.00,1300.00,-700.00,600.00,1400.00}},
  243. {"Lil' Probe Inn", {-90.20,1286.80,-3.00,153.80,1554.10,200.00}},
  244. {"Linden Side", {2749.90,943.20,-89.00,2923.30,1198.90,110.90}},
  245. {"Linden Station", {2749.90,1198.90,-89.00,2923.30,1548.90,110.90}},
  246. {"Linden Station", {2811.20,1229.50,-39.50,2861.20,1407.50,60.40}},
  247. {"Little Mexico", {1701.90,-1842.20,-89.00,1812.60,-1722.20,110.90}},
  248. {"Little Mexico", {1758.90,-1722.20,-89.00,1812.60,-1577.50,110.90}},
  249. {"Los Flores", {2581.70,-1454.30,-89.00,2632.80,-1393.40,110.90}},
  250. {"Los Flores", {2581.70,-1393.40,-89.00,2747.70,-1135.00,110.90}},
  251. {"Los Santos International", {1249.60,-2394.30,-89.00,1852.00,-2179.20,110.90}},
  252. {"Los Santos International", {1852.00,-2394.30,-89.00,2089.00,-2179.20,110.90}},
  253. {"Los Santos International", {1382.70,-2730.80,-89.00,2201.80,-2394.30,110.90}},
  254. {"Los Santos International", {1974.60,-2394.30,-39.00,2089.00,-2256.50,60.90}},
  255. {"Los Santos International", {1400.90,-2669.20,-39.00,2189.80,-2597.20,60.90}},
  256. {"Los Santos International", {2051.60,-2597.20,-39.00,2152.40,-2394.30,60.90}},
  257. {"Marina", {647.70,-1804.20,-89.00,851.40,-1577.50,110.90}},
  258. {"Marina", {647.70,-1577.50,-89.00,807.90,-1416.20,110.90}},
  259. {"Marina", {807.90,-1577.50,-89.00,926.90,-1416.20,110.90}},
  260. {"Market", {787.40,-1416.20,-89.00,1072.60,-1310.20,110.90}},
  261. {"Market", {952.60,-1310.20,-89.00,1072.60,-1130.80,110.90}},
  262. {"Market", {1072.60,-1416.20,-89.00,1370.80,-1130.80,110.90}},
  263. {"Market", {926.90,-1577.50,-89.00,1370.80,-1416.20,110.90}},
  264. {"Market Station", {787.40,-1410.90,-34.10,866.00,-1310.20,65.80}},
  265. {"Martin Bridge", {-222.10,293.30,0.00,-122.10,476.40,200.00}},
  266. {"Missionary Hill", {-2994.40,-811.20,0.00,-2178.60,-430.20,200.00}},
  267. {"Montgomery", {1119.50,119.50,-3.00,1451.40,493.30,200.00}},
  268. {"Montgomery", {1451.40,347.40,-6.10,1582.40,420.80,200.00}},
  269. {"Montgomery Intersection", {1546.60,208.10,0.00,1745.80,347.40,200.00}},
  270. {"Montgomery Intersection", {1582.40,347.40,0.00,1664.60,401.70,200.00}},
  271. {"Mulholland", {1414.00,-768.00,-89.00,1667.60,-452.40,110.90}},
  272. {"Mulholland", {1281.10,-452.40,-89.00,1641.10,-290.90,110.90}},
  273. {"Mulholland", {1269.10,-768.00,-89.00,1414.00,-452.40,110.90}},
  274. {"Mulholland", {1357.00,-926.90,-89.00,1463.90,-768.00,110.90}},
  275. {"Mulholland", {1318.10,-910.10,-89.00,1357.00,-768.00,110.90}},
  276. {"Mulholland", {1169.10,-910.10,-89.00,1318.10,-768.00,110.90}},
  277. {"Mulholland", {768.60,-954.60,-89.00,952.60,-860.60,110.90}},
  278. {"Mulholland", {687.80,-860.60,-89.00,911.80,-768.00,110.90}},
  279. {"Mulholland", {737.50,-768.00,-89.00,1142.20,-674.80,110.90}},
  280. {"Mulholland", {1096.40,-910.10,-89.00,1169.10,-768.00,110.90}},
  281. {"Mulholland", {952.60,-937.10,-89.00,1096.40,-860.60,110.90}},
  282. {"Mulholland", {911.80,-860.60,-89.00,1096.40,-768.00,110.90}},
  283. {"Mulholland", {861.00,-674.80,-89.00,1156.50,-600.80,110.90}},
  284. {"Mulholland Intersection", {1463.90,-1150.80,-89.00,1812.60,-768.00,110.90}},
  285. {"North Rock", {2285.30,-768.00,0.00,2770.50,-269.70,200.00}},
  286. {"Ocean Docks", {2373.70,-2697.00,-89.00,2809.20,-2330.40,110.90}},
  287. {"Ocean Docks", {2201.80,-2418.30,-89.00,2324.00,-2095.00,110.90}},
  288. {"Ocean Docks", {2324.00,-2302.30,-89.00,2703.50,-2145.10,110.90}},
  289. {"Ocean Docks", {2089.00,-2394.30,-89.00,2201.80,-2235.80,110.90}},
  290. {"Ocean Docks", {2201.80,-2730.80,-89.00,2324.00,-2418.30,110.90}},
  291. {"Ocean Docks", {2703.50,-2302.30,-89.00,2959.30,-2126.90,110.90}},
  292. {"Ocean Docks", {2324.00,-2145.10,-89.00,2703.50,-2059.20,110.90}},
  293. {"Ocean Flats", {-2994.40,277.40,-9.10,-2867.80,458.40,200.00}},
  294. {"Ocean Flats", {-2994.40,-222.50,-0.00,-2593.40,277.40,200.00}},
  295. {"Ocean Flats", {-2994.40,-430.20,-0.00,-2831.80,-222.50,200.00}},
  296. {"Octane Springs", {338.60,1228.50,0.00,664.30,1655.00,200.00}},
  297. {"Old Venturas Strip", {2162.30,2012.10,-89.00,2685.10,2202.70,110.90}},
  298. {"Palisades", {-2994.40,458.40,-6.10,-2741.00,1339.60,200.00}},
  299. {"Palomino Creek", {2160.20,-149.00,0.00,2576.90,228.30,200.00}},
  300. {"Paradiso", {-2741.00,793.40,-6.10,-2533.00,1268.40,200.00}},
  301. {"Pershing Square", {1440.90,-1722.20,-89.00,1583.50,-1577.50,110.90}},
  302. {"Pilgrim", {2437.30,1383.20,-89.00,2624.40,1783.20,110.90}},
  303. {"Pilgrim", {2624.40,1383.20,-89.00,2685.10,1783.20,110.90}},
  304. {"Pilson Intersection", {1098.30,2243.20,-89.00,1377.30,2507.20,110.90}},
  305. {"Pirates in Men's Pants", {1817.30,1469.20,-89.00,2027.40,1703.20,110.90}},
  306. {"Playa del Seville", {2703.50,-2126.90,-89.00,2959.30,-1852.80,110.90}},
  307. {"Prickle Pine", {1534.50,2583.20,-89.00,1848.40,2863.20,110.90}},
  308. {"Prickle Pine", {1117.40,2507.20,-89.00,1534.50,2723.20,110.90}},
  309. {"Prickle Pine", {1848.40,2553.40,-89.00,1938.80,2863.20,110.90}},
  310. {"Prickle Pine", {1938.80,2624.20,-89.00,2121.40,2861.50,110.90}},
  311. {"Queens", {-2533.00,458.40,0.00,-2329.30,578.30,200.00}},
  312. {"Queens", {-2593.40,54.70,0.00,-2411.20,458.40,200.00}},
  313. {"Queens", {-2411.20,373.50,0.00,-2253.50,458.40,200.00}},
  314. {"Randolph Industrial Estate", {1558.00,596.30,-89.00,1823.00,823.20,110.90}},
  315. {"Redsands East", {1817.30,2011.80,-89.00,2106.70,2202.70,110.90}},
  316. {"Redsands East", {1817.30,2202.70,-89.00,2011.90,2342.80,110.90}},
  317. {"Redsands East", {1848.40,2342.80,-89.00,2011.90,2478.40,110.90}},
  318. {"Redsands West", {1236.60,1883.10,-89.00,1777.30,2142.80,110.90}},
  319. {"Redsands West", {1297.40,2142.80,-89.00,1777.30,2243.20,110.90}},
  320. {"Redsands West", {1377.30,2243.20,-89.00,1704.50,2433.20,110.90}},
  321. {"Redsands West", {1704.50,2243.20,-89.00,1777.30,2342.80,110.90}},
  322. {"Regular Tom", {-405.70,1712.80,-3.00,-276.70,1892.70,200.00}},
  323. {"Richman", {647.50,-1118.20,-89.00,787.40,-954.60,110.90}},
  324. {"Richman", {647.50,-954.60,-89.00,768.60,-860.60,110.90}},
  325. {"Richman", {225.10,-1369.60,-89.00,334.50,-1292.00,110.90}},
  326. {"Richman", {225.10,-1292.00,-89.00,466.20,-1235.00,110.90}},
  327. {"Richman", {72.60,-1404.90,-89.00,225.10,-1235.00,110.90}},
  328. {"Richman", {72.60,-1235.00,-89.00,321.30,-1008.10,110.90}},
  329. {"Richman", {321.30,-1235.00,-89.00,647.50,-1044.00,110.90}},
  330. {"Richman", {321.30,-1044.00,-89.00,647.50,-860.60,110.90}},
  331. {"Richman", {321.30,-860.60,-89.00,687.80,-768.00,110.90}},
  332. {"Richman", {321.30,-768.00,-89.00,700.70,-674.80,110.90}},
  333. {"Robada Intersection", {-1119.00,1178.90,-89.00,-862.00,1351.40,110.90}},
  334. {"Roca Escalante", {2237.40,2202.70,-89.00,2536.40,2542.50,110.90}},
  335. {"Roca Escalante", {2536.40,2202.70,-89.00,2625.10,2442.50,110.90}},
  336. {"Rockshore East", {2537.30,676.50,-89.00,2902.30,943.20,110.90}},
  337. {"Rockshore West", {1997.20,596.30,-89.00,2377.30,823.20,110.90}},
  338. {"Rockshore West", {2377.30,596.30,-89.00,2537.30,788.80,110.90}},
  339. {"Rodeo", {72.60,-1684.60,-89.00,225.10,-1544.10,110.90}},
  340. {"Rodeo", {72.60,-1544.10,-89.00,225.10,-1404.90,110.90}},
  341. {"Rodeo", {225.10,-1684.60,-89.00,312.80,-1501.90,110.90}},
  342. {"Rodeo", {225.10,-1501.90,-89.00,334.50,-1369.60,110.90}},
  343. {"Rodeo", {334.50,-1501.90,-89.00,422.60,-1406.00,110.90}},
  344. {"Rodeo", {312.80,-1684.60,-89.00,422.60,-1501.90,110.90}},
  345. {"Rodeo", {422.60,-1684.60,-89.00,558.00,-1570.20,110.90}},
  346. {"Rodeo", {558.00,-1684.60,-89.00,647.50,-1384.90,110.90}},
  347. {"Rodeo", {466.20,-1570.20,-89.00,558.00,-1385.00,110.90}},
  348. {"Rodeo", {422.60,-1570.20,-89.00,466.20,-1406.00,110.90}},
  349. {"Rodeo", {466.20,-1385.00,-89.00,647.50,-1235.00,110.90}},
  350. {"Rodeo", {334.50,-1406.00,-89.00,466.20,-1292.00,110.90}},
  351. {"Royal Casino", {2087.30,1383.20,-89.00,2437.30,1543.20,110.90}},
  352. {"San Andreas Sound", {2450.30,385.50,-100.00,2759.20,562.30,200.00}},
  353. {"Santa Flora", {-2741.00,458.40,-7.60,-2533.00,793.40,200.00}},
  354. {"Santa Maria Beach", {342.60,-2173.20,-89.00,647.70,-1684.60,110.90}},
  355. {"Santa Maria Beach", {72.60,-2173.20,-89.00,342.60,-1684.60,110.90}},
  356. {"Shady Cabin", {-1632.80,-2263.40,-3.00,-1601.30,-2231.70,200.00}},
  357. {"Shady Creeks", {-1820.60,-2643.60,-8.00,-1226.70,-1771.60,200.00}},
  358. {"Shady Creeks", {-2030.10,-2174.80,-6.10,-1820.60,-1771.60,200.00}},
  359. {"Sobell Rail Yards", {2749.90,1548.90,-89.00,2923.30,1937.20,110.90}},
  360. {"Spinybed", {2121.40,2663.10,-89.00,2498.20,2861.50,110.90}},
  361. {"Starfish Casino", {2437.30,1783.20,-89.00,2685.10,2012.10,110.90}},
  362. {"Starfish Casino", {2437.30,1858.10,-39.00,2495.00,1970.80,60.90}},
  363. {"Starfish Casino", {2162.30,1883.20,-89.00,2437.30,2012.10,110.90}},
  364. {"Temple", {1252.30,-1130.80,-89.00,1378.30,-1026.30,110.90}},
  365. {"Temple", {1252.30,-1026.30,-89.00,1391.00,-926.90,110.90}},
  366. {"Temple", {1252.30,-926.90,-89.00,1357.00,-910.10,110.90}},
  367. {"Temple", {952.60,-1130.80,-89.00,1096.40,-937.10,110.90}},
  368. {"Temple", {1096.40,-1130.80,-89.00,1252.30,-1026.30,110.90}},
  369. {"Temple", {1096.40,-1026.30,-89.00,1252.30,-910.10,110.90}},
  370. {"The Camel's Toe", {2087.30,1203.20,-89.00,2640.40,1383.20,110.90}},
  371. {"The Clown's Pocket", {2162.30,1783.20,-89.00,2437.30,1883.20,110.90}},
  372. {"The Emerald Isle", {2011.90,2202.70,-89.00,2237.40,2508.20,110.90}},
  373. {"The Farm", {-1209.60,-1317.10,114.90,-908.10,-787.30,251.90}},
  374. {"The Four Dragons Casino", {1817.30,863.20,-89.00,2027.30,1083.20,110.90}},
  375. {"The High Roller", {1817.30,1283.20,-89.00,2027.30,1469.20,110.90}},
  376. {"The Mako Span", {1664.60,401.70,0.00,1785.10,567.20,200.00}},
  377. {"The Panopticon", {-947.90,-304.30,-1.10,-319.60,327.00,200.00}},
  378. {"The Pink Swan", {1817.30,1083.20,-89.00,2027.30,1283.20,110.90}},
  379. {"The Sherman Dam", {-968.70,1929.40,-3.00,-481.10,2155.20,200.00}},
  380. {"The Strip", {2027.40,863.20,-89.00,2087.30,1703.20,110.90}},
  381. {"The Strip", {2106.70,1863.20,-89.00,2162.30,2202.70,110.90}},
  382. {"The Strip", {2027.40,1783.20,-89.00,2162.30,1863.20,110.90}},
  383. {"The Strip", {2027.40,1703.20,-89.00,2137.40,1783.20,110.90}},
  384. {"The Visage", {1817.30,1863.20,-89.00,2106.70,2011.80,110.90}},
  385. {"The Visage", {1817.30,1703.20,-89.00,2027.40,1863.20,110.90}},
  386. {"Unity Station", {1692.60,-1971.80,-20.40,1812.60,-1932.80,79.50}},
  387. {"Valle Ocultado", {-936.60,2611.40,2.00,-715.90,2847.90,200.00}},
  388. {"Verdant Bluffs", {930.20,-2488.40,-89.00,1249.60,-2006.70,110.90}},
  389. {"Verdant Bluffs", {1073.20,-2006.70,-89.00,1249.60,-1842.20,110.90}},
  390. {"Verdant Bluffs", {1249.60,-2179.20,-89.00,1692.60,-1842.20,110.90}},
  391. {"Verdant Meadows", {37.00,2337.10,-3.00,435.90,2677.90,200.00}},
  392. {"Verona Beach", {647.70,-2173.20,-89.00,930.20,-1804.20,110.90}},
  393. {"Verona Beach", {930.20,-2006.70,-89.00,1073.20,-1804.20,110.90}},
  394. {"Verona Beach", {851.40,-1804.20,-89.00,1046.10,-1577.50,110.90}},
  395. {"Verona Beach", {1161.50,-1722.20,-89.00,1323.90,-1577.50,110.90}},
  396. {"Verona Beach", {1046.10,-1722.20,-89.00,1161.50,-1577.50,110.90}},
  397. {"Vinewood", {787.40,-1310.20,-89.00,952.60,-1130.80,110.90}},
  398. {"Vinewood", {787.40,-1130.80,-89.00,952.60,-954.60,110.90}},
  399. {"Vinewood", {647.50,-1227.20,-89.00,787.40,-1118.20,110.90}},
  400. {"Vinewood", {647.70,-1416.20,-89.00,787.40,-1227.20,110.90}},
  401. {"Whitewood Estates", {883.30,1726.20,-89.00,1098.30,2507.20,110.90}},
  402. {"Whitewood Estates", {1098.30,1726.20,-89.00,1197.30,2243.20,110.90}},
  403. {"Willowfield", {1970.60,-2179.20,-89.00,2089.00,-1852.80,110.90}},
  404. {"Willowfield", {2089.00,-2235.80,-89.00,2201.80,-1989.90,110.90}},
  405. {"Willowfield", {2089.00,-1989.90,-89.00,2324.00,-1852.80,110.90}},
  406. {"Willowfield", {2201.80,-2095.00,-89.00,2324.00,-1989.90,110.90}},
  407. {"Willowfield", {2541.70,-1941.40,-89.00,2703.50,-1852.80,110.90}},
  408. {"Willowfield", {2324.00,-2059.20,-89.00,2541.70,-1852.80,110.90}},
  409. {"Willowfield", {2541.70,-2059.20,-89.00,2703.50,-1941.40,110.90}},
  410. {"Yellow Bell Station", {1377.40,2600.40,-21.90,1492.40,2687.30,78.00}},
  411. {"Los Santos", {44.60,-2892.90,-242.90,2997.00,-768.00,900.00}},
  412. {"Las Venturas", {869.40,596.30,-242.90,2997.00,2993.80,900.00}},
  413. {"Bone County", {-480.50,596.30,-242.90,869.40,2993.80,900.00}},
  414. {"Tierra Robada", {-2997.40,1659.60,-242.90,-480.50,2993.80,900.00}},
  415. {"Tierra Robada", {-1213.90,596.30,-242.90,-480.50,1659.60,900.00}},
  416. {"San Fierro", {-2997.40,-1115.50,-242.90,-1213.90,1659.60,900.00}},
  417. {"Red County", {-1213.90,-768.00,-242.90,2997.00,596.30,900.00}},
  418. {"Flint County", {-1213.90,-2892.90,-242.90,44.60,-768.00,900.00}},
  419. {"Whetstone", {-2997.40,-2892.90,-242.90,-1213.90,-1115.50,900.00}}
  420. };
  421. new Text:Textdraw0[MAX_PLAYERS];
  422. Text1_Setup(){
  423. for(new c=0;c<MAX_PLAYERS;++c){
  424. Textdraw0[c] = TextDrawCreate(509.000000, 388.000000, "_");
  425. TextDrawBackgroundColor(Textdraw0[c], 255);
  426. TextDrawFont(Textdraw0[c], 1);
  427. TextDrawLetterSize(Textdraw0[c], 0.590000, -12.300001);
  428. TextDrawColor(Textdraw0[c], -1);
  429. TextDrawSetOutline(Textdraw0[c], 0);
  430. TextDrawSetProportional(Textdraw0[c], 1);
  431. TextDrawSetShadow(Textdraw0[c], 1);
  432. TextDrawUseBox(Textdraw0[c], 1);
  433. TextDrawBoxColor(Textdraw0[c], 50);
  434. TextDrawTextSize(Textdraw0[c], 623.000000, -41.000000);
  435. }
  436. SetTimer("Text1",100,1);
  437. return 1;
  438. }
  439. new Text:Textdraw1[MAX_PLAYERS];
  440. Text2_Setup(){
  441. for(new c=0;c<MAX_PLAYERS;++c){
  442. Textdraw1[c] = TextDrawCreate(576.000000, 350.000000, ".");
  443. TextDrawAlignment(Textdraw1[c], 2);
  444. TextDrawBackgroundColor(Textdraw1[c], 255);
  445. TextDrawFont(Textdraw1[c], 2);
  446. TextDrawLetterSize(Textdraw1[c], 13.380016, 1.200000);
  447. TextDrawColor(Textdraw1[c], -1);
  448. TextDrawSetOutline(Textdraw1[c], 0);
  449. TextDrawSetProportional(Textdraw1[c], 1);
  450. TextDrawSetShadow(Textdraw1[c], 0);
  451. }
  452. SetTimer("Text2",100,1);
  453. return 1;
  454. }
  455. new Text:Textdraw2[MAX_PLAYERS];
  456. Text3_Setup(){
  457. for(new c=0;c<MAX_PLAYERS;++c){
  458. Textdraw2[c] = TextDrawCreate(509.000000, 303.000000, "_");
  459. TextDrawBackgroundColor(Textdraw2[c], 255);
  460. TextDrawFont(Textdraw2[c], 1);
  461. TextDrawLetterSize(Textdraw2[c], 0.589999, -2.810001);
  462. TextDrawColor(Textdraw2[c], -1);
  463. TextDrawSetOutline(Textdraw2[c], 0);
  464. TextDrawSetProportional(Textdraw2[c], 1);
  465. TextDrawSetShadow(Textdraw2[c], 1);
  466. TextDrawUseBox(Textdraw2[c], 1);
  467. TextDrawBoxColor(Textdraw2[c], 255);
  468. TextDrawTextSize(Textdraw2[c], 623.000000, 38.000000);
  469. }
  470. SetTimer("Text3",100,1);
  471. return 1;
  472. }
  473. new Text:Textdraw7[MAX_PLAYERS];
  474. Local_Setup(){
  475. for(new c=0;c<MAX_PLAYERS;++c){
  476. Textdraw7[c] = TextDrawCreate(558.000000, 365.000000, "Local:");
  477. TextDrawAlignment(Textdraw7[c], 2);
  478. TextDrawBackgroundColor(Textdraw7[c], 255);
  479. TextDrawFont(Textdraw7[c], 2);
  480. TextDrawLetterSize(Textdraw7[c], 0.230000, 1.300000);
  481. TextDrawColor(Textdraw7[c], -1);
  482. TextDrawSetOutline(Textdraw7[c], 0);
  483. TextDrawSetProportional(Textdraw7[c], 1);
  484. TextDrawSetShadow(Textdraw7[c], 1);
  485. }
  486. SetTimer("Local",100,1);
  487. return 1;
  488. }
  489. new Text:Textdraw3[MAX_PLAYERS];
  490. Veiculo_Setup(){
  491. for(new c=0;c<MAX_PLAYERS;++c){
  492. Textdraw3[c] = TextDrawCreate(512.000000, 340.000000, "Veiculo:");
  493. TextDrawBackgroundColor(Textdraw3[c], 255);
  494. TextDrawFont(Textdraw3[c], 2);
  495. TextDrawLetterSize(Textdraw3[c], 0.230000, 1.300000);
  496. TextDrawColor(Textdraw3[c], -1);
  497. TextDrawSetOutline(Textdraw3[c], 0);
  498. TextDrawSetProportional(Textdraw3[c], 1);
  499. TextDrawSetShadow(Textdraw3[c], 1);
  500. }
  501. SetTimer("Veiculo",100,1);
  502. return 1;
  503. }
  504. Altitude_Setup(){
  505. for(new c=0;c<MAX_PLAYERS;++c){
  506. Alt[c] = TextDrawCreate(512.000000, 328.000000, "~w~Altitude:");
  507. TextDrawBackgroundColor(Alt[c], 255);
  508. TextDrawFont(Alt[c], 2);
  509. TextDrawLetterSize(Alt[c], 0.230000, 1.300000);
  510. TextDrawColor(Alt[c], -1);
  511. TextDrawSetOutline(Alt[c], 0);
  512. TextDrawSetProportional(Alt[c], 1);
  513. TextDrawSetShadow(Alt[c], 1);
  514. }
  515. SetTimer("Altitude",100,1);
  516. return 1;
  517. }
  518. new Text:Lataria[MAX_PLAYERS];
  519. Lataria_Setup(){
  520. for(new c=0;c<MAX_PLAYERS;++c){
  521. Lataria[c] = TextDrawCreate(512.000000, 316.000000, "~w~Lataria:");
  522. TextDrawBackgroundColor(Lataria[c], 255);
  523. TextDrawFont(Lataria[c], 2);
  524. TextDrawLetterSize(Lataria[c], 0.230000, 1.300000);
  525. TextDrawColor(Lataria[c], -1);
  526. TextDrawSetOutline(Lataria[c], 0);
  527. TextDrawSetProportional(Lataria[c], 1);
  528. TextDrawSetShadow(Lataria[c], 1);
  529. }
  530. SetTimer("Update",100,1);
  531. return 1;
  532. }
  533. Lataria_Destroy(){
  534. for(new c=0;c<MAX_PLAYERS;++c)TextDrawDestroy(Lataria[c]);
  535. return 1;
  536. }
  537. //função desativada oldstate
  538. //Lataria_OnPlayerStateChange(){
  539. //if(newstate == PLAYER_STATE_DRIVER){
  540. /* for(new playerid=0;playerid<MAX_PLAYERS;playerid++)
  541. {
  542. if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
  543. {
  544. new String_xD[256],Float:Health;
  545. GetVehicleHealth(GetPlayerVehicleID(playerid),Health);
  546. if(Health >= 1000.0)format(String_xD,256,"~w~~h~Lataria: ~g~%s~r~%s","//////////","");
  547. else if(Health >= 900.0 && Health < 1000.0)format(String_xD,256,"~w~~h~Lataria: ~g~%s~r~%s","/////////","/");
  548. else if(Health >= 800.0 && Health < 900.0)format(String_xD,256,"~w~~h~Lataria: ~g~%s~r~%s","////////","//");
  549. else if(Health >= 700.0 && Health < 800.0)format(String_xD,256,"~w~~h~Lataria: ~g~%s~r~%s","///////","///");
  550. else if(Health >= 600.0 && Health < 700.0)format(String_xD,256,"~w~~h~Lataria: ~g~%s~r~%s","//////","////");
  551. else if(Health >= 500.0 && Health < 600.0)format(String_xD,256,"~w~~h~Lataria: ~g~%s~r~%s","/////","/////");
  552. else if(Health >= 400.0 && Health < 500.0)format(String_xD,256,"~w~~h~Lataria: ~g~%s~r~%s","////","//////");
  553. else if(Health >= 300.0 && Health < 400.0)format(String_xD,256,"~w~~h~Lataria: ~g~%s~r~%s","///","///////");
  554. else if(Health >= 200.0 && Health < 300.0)format(String_xD,256,"~w~~h~Lataria: ~g~%s~r~%s","//","////////");
  555. else if(Health >= 100.0 && Health < 200.0)format(String_xD,256,"~w~~h~Lataria: ~g~%s~r~%s","/","/////////");
  556. else if(Health >= 0.0 && Health < 100.0)format(String_xD,256,"~w~~h~Lataria: ~g~%s~r~%s","","//////////");
  557. TextDrawSetString(Lataria[playerid],String_xD);
  558. TextDrawShowForPlayer(playerid,Lataria[playerid]);
  559. }
  560. else
  561. {
  562. TextDrawHideForPlayer(playerid,Textdraw3[playerid]);
  563. }
  564. //}else if(newstate == PLAYER_STATE_ONFOOT)TextDrawHideForPlayer(playerid,Lataria[playerid]);
  565. // return 1;
  566. }
  567. }*/
  568. // This function sets up the speedometer for the given player
  569. Speedometer_Setup(playerid)
  570. {
  571. // Setup the speedometer for the player
  572. APlayerData[playerid][SpeedometerText] = TextDrawCreate(562.000000, 284.000000, " ");
  573. APlayerData[playerid][FuelGauge] = TextDrawCreate(512.000000, 305.000000, " ");
  574. //APlayerData[playerid][FuelGauge] = TextDrawCreate(376.000000, 398.000000, " ");
  575.  
  576. TextDrawAlignment(APlayerData[playerid][SpeedometerText], 2);
  577. TextDrawBackgroundColor(APlayerData[playerid][SpeedometerText], 255);
  578. TextDrawFont(APlayerData[playerid][SpeedometerText], 2);
  579. TextDrawLetterSize(APlayerData[playerid][SpeedometerText], 0.330000, 2.100000);
  580. TextDrawColor(APlayerData[playerid][SpeedometerText], -1);
  581. TextDrawSetOutline(APlayerData[playerid][SpeedometerText], 0);
  582. TextDrawSetProportional(APlayerData[playerid][SpeedometerText], 1);
  583. TextDrawSetShadow(APlayerData[playerid][SpeedometerText], 1);
  584.  
  585. TextDrawBackgroundColor(APlayerData[playerid][FuelGauge], 255);
  586. TextDrawFont(APlayerData[playerid][FuelGauge], 2);
  587. TextDrawLetterSize(APlayerData[playerid][FuelGauge], 0.230000, 1.300000);
  588. TextDrawColor(APlayerData[playerid][FuelGauge], -1);
  589. TextDrawSetOutline(APlayerData[playerid][FuelGauge], 0);
  590. TextDrawSetProportional(APlayerData[playerid][FuelGauge], 1);
  591. TextDrawSetShadow(APlayerData[playerid][FuelGauge], 1);
  592.  
  593. /*APlayerData[playerid][KmhV] = TextDrawCreate(542.000000, 290.500000, "");
  594. TextDrawBackgroundColor(APlayerData[playerid][KmhV], 255);
  595. TextDrawFont(APlayerData[playerid][KmhV], 1);
  596. TextDrawLetterSize(APlayerData[playerid][KmhV], 0.239999, 1.599998);
  597. TextDrawColor(APlayerData[playerid][KmhV], 16777215);
  598. TextDrawSetOutline(APlayerData[playerid][KmhV], 0);
  599. TextDrawSetProportional(APlayerData[playerid][KmhV], 1);
  600. TextDrawSetShadow(APlayerData[playerid][KmhV], 1);*/
  601.  
  602. APlayerData[playerid][TextRadar] = TextDrawCreate(540.000000, 385.000000, "");
  603. TextDrawBackgroundColor(APlayerData[playerid][TextRadar], -16776961);
  604. TextDrawFont(APlayerData[playerid][TextRadar], 1);
  605. TextDrawLetterSize(APlayerData[playerid][TextRadar], 0.390000, 2.000000);
  606. TextDrawColor(APlayerData[playerid][TextRadar], 255);
  607. TextDrawSetOutline(APlayerData[playerid][TextRadar], 1);
  608. TextDrawSetProportional(APlayerData[playerid][TextRadar], 1);
  609.  
  610. APlayerData[playerid][MotorDraw] = TextDrawCreate(512.000000, 285.000000, " ");//Motor
  611. //APlayerData[playerid][MotorDraw] = TextDrawCreate(524.000000, 382.000000, " ");//Motor
  612. TextDrawBackgroundColor(APlayerData[playerid][MotorDraw], 255);
  613. TextDrawFont(APlayerData[playerid][MotorDraw], 2);
  614. TextDrawLetterSize(APlayerData[playerid][MotorDraw], 0.220000, 1.200000);
  615. TextDrawColor(APlayerData[playerid][MotorDraw], -1);
  616. TextDrawSetOutline(APlayerData[playerid][MotorDraw], 0);
  617. TextDrawSetProportional(APlayerData[playerid][MotorDraw], 1);
  618. TextDrawSetShadow(APlayerData[playerid][MotorDraw], 1);
  619.  
  620. APlayerData[playerid][FarolDraw] = TextDrawCreate(548.000000, 285.000000, " ");//Farois
  621. //APlayerData[playerid][FarolDraw] = TextDrawCreate(557.000000, 382.000000, " ");//Farois
  622. TextDrawBackgroundColor(APlayerData[playerid][FarolDraw], 255);
  623. TextDrawFont(APlayerData[playerid][FarolDraw], 2);
  624. TextDrawLetterSize(APlayerData[playerid][FarolDraw], 0.220000, 1.200000);
  625. TextDrawColor(APlayerData[playerid][FarolDraw], -1);
  626. TextDrawSetOutline(APlayerData[playerid][FarolDraw], 0);
  627. TextDrawSetProportional(APlayerData[playerid][FarolDraw], 1);
  628. TextDrawSetShadow(APlayerData[playerid][FarolDraw], 1);
  629.  
  630. APlayerData[playerid][AtreladoDraw] = TextDrawCreate(584.000000, 285.000000, "");//Trailer
  631. TextDrawBackgroundColor(APlayerData[playerid][AtreladoDraw], 255);
  632. TextDrawFont(APlayerData[playerid][AtreladoDraw], 2);
  633. TextDrawLetterSize(APlayerData[playerid][AtreladoDraw], 0.220000, 1.200000);
  634. TextDrawColor(APlayerData[playerid][AtreladoDraw], -1);
  635. TextDrawSetOutline(APlayerData[playerid][AtreladoDraw], 0);
  636. TextDrawSetProportional(APlayerData[playerid][AtreladoDraw], 1);
  637. TextDrawSetShadow(APlayerData[playerid][AtreladoDraw], 1);
  638.  
  639. // Enable the TextDraw for this player
  640. TextDrawShowForPlayer(playerid, APlayerData[playerid][FuelGauge]);
  641. //TextDrawShowForPlayer(playerid, APlayerData[playerid][SpeedometerText]);
  642. TextDrawShowForPlayer(playerid, APlayerData[playerid][MotorDraw]);
  643. TextDrawShowForPlayer(playerid, APlayerData[playerid][FarolDraw]);
  644. TextDrawShowForPlayer(playerid, APlayerData[playerid][AtreladoDraw]);
  645. TextDrawShowForPlayer(playerid, APlayerData[playerid][TextRadar]);
  646.  
  647. //TextDrawShowForPlayer(playerid, APlayerData[playerid][KmhV]);
  648.  
  649. // Start the speedometer timer
  650. APlayerData[playerid][SpeedometerTimer] = SetTimerEx("Speedometer_Update", 300, true, "i", playerid);
  651.  
  652. return 1;
  653. }
  654.  
  655. // This function cleans up the speedometer for the given player
  656. Speedometer_Cleanup(playerid)
  657. {
  658. // Destroy the speedometer textdraw
  659. //TextDrawDestroy(APlayerData[playerid][SpeedometerText]);
  660. TextDrawDestroy(APlayerData[playerid][FuelGauge]);
  661. TextDrawDestroy(APlayerData[playerid][MotorDraw]);
  662. TextDrawDestroy(APlayerData[playerid][FarolDraw]);
  663. TextDrawDestroy(APlayerData[playerid][AtreladoDraw]);
  664. TextDrawDestroy(APlayerData[playerid][TextRadar]);
  665. //TextDrawDestroy(APlayerData[playerid][KmhV]);
  666. // Kill the speedometer timer
  667. KillTimer(APlayerData[playerid][SpeedometerTimer]);
  668. // Set player speed to 0
  669. APlayerData[playerid][PlayerSpeed] = 0;
  670.  
  671. return 1;
  672. }
  673. forward Altitude();
  674. public Altitude()
  675. {
  676. for(new playerid=0;playerid<MAX_PLAYERS;playerid++)
  677. {
  678. if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
  679. {
  680. new string[256];
  681. GetPlayerPos(playerid, Speedo_X, Speedo_Y, Speedo_Z);
  682. format(string,sizeof(string),"~g~Altitude: ~w~%.1f",Speedo_Z);
  683. TextDrawSetString(Alt[playerid], string);
  684. TextDrawShowForPlayer(playerid, Alt[playerid]);
  685. }
  686. else
  687. {
  688. TextDrawHideForPlayer(playerid,Alt[playerid]);
  689. }
  690. }
  691. }
  692. forward Veiculo();
  693. public Veiculo()
  694. {
  695. for(new playerid=0;playerid<MAX_PLAYERS;playerid++)
  696. {
  697. if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
  698. {
  699. //if(newstate == PLAYER_STATE_DRIVER){
  700. new string[256];
  701. format(string,sizeof(string),"~y~Veiculo: ~w~%s", Veiculos[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
  702. TextDrawSetString(Textdraw3[playerid], string);
  703. TextDrawShowForPlayer(playerid, Textdraw3[playerid]);
  704. //}else if(newstate == PLAYER_STATE_ONFOOT)TextDrawHideForPlayer(playerid,Textdraw3[playerid]);
  705. }
  706. else
  707. {
  708. TextDrawHideForPlayer(playerid,Textdraw3[playerid]);
  709. }
  710. }
  711. }
  712. forward Text1();
  713. public Text1()
  714. {
  715. for(new playerid=0;playerid<MAX_PLAYERS;playerid++)
  716. {
  717. if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
  718. {
  719. //if(newstate == PLAYER_STATE_DRIVER){
  720. TextDrawShowForPlayer(playerid, Textdraw0[playerid]);
  721. //}else if(newstate == PLAYER_STATE_ONFOOT)TextDrawHideForPlayer(playerid,Textdraw3[playerid]);
  722. }
  723. else
  724. {
  725. TextDrawHideForPlayer(playerid,Textdraw0[playerid]);
  726. }
  727. }
  728. }
  729. forward Text2();
  730. public Text2()
  731. {
  732. for(new playerid=0;playerid<MAX_PLAYERS;playerid++)
  733. {
  734. if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
  735. {
  736. //if(newstate == PLAYER_STATE_DRIVER){
  737. TextDrawShowForPlayer(playerid, Textdraw1[playerid]);
  738. //}else if(newstate == PLAYER_STATE_ONFOOT)TextDrawHideForPlayer(playerid,Textdraw3[playerid]);
  739. }
  740. else
  741. {
  742. TextDrawHideForPlayer(playerid,Textdraw1[playerid]);
  743. }
  744. }
  745. }
  746. forward Text3();
  747. public Text3()
  748. {
  749. for(new playerid=0;playerid<MAX_PLAYERS;playerid++)
  750. {
  751. if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
  752. {
  753. //if(newstate == PLAYER_STATE_DRIVER){
  754. TextDrawShowForPlayer(playerid, Textdraw2[playerid]);
  755. //}else if(newstate == PLAYER_STATE_ONFOOT)TextDrawHideForPlayer(playerid,Textdraw3[playerid]);
  756. }
  757. else
  758. {
  759. TextDrawHideForPlayer(playerid,Textdraw2[playerid]);
  760. }
  761. }
  762. }
  763. forward Local();
  764. public Local()
  765. {
  766. for(new playerid=0;playerid<MAX_PLAYERS;playerid++)
  767. {
  768. if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
  769. {
  770. //if(newstate == PLAYER_STATE_DRIVER){
  771. new string[128];
  772. GetPlayer2DZone(playerid, zone, MAX_ZONE_NAME);
  773. format(string,sizeof(string),"~r~%s", zone);
  774. TextDrawSetString(Textdraw7[playerid], string);
  775. TextDrawShowForPlayer(playerid, Textdraw7[playerid]);
  776. //}else if(newstate == PLAYER_STATE_ONFOOT)TextDrawHideForPlayer(playerid,Textdraw7[playerid]);
  777. }
  778. else
  779. {
  780. TextDrawHideForPlayer(playerid,Textdraw7[playerid]);
  781. }
  782. }
  783. }
  784. // This function gets called by a timer which runs every 500ms to display and update the speedometer
  785. public Speedometer_Update(playerid)
  786. {
  787. // Setup local variables
  788. new vehicleid, Float:speed_x, Float:speed_y, Float:speed_z, Float:final_speed, final_speed_int, Float:vehiclehealth;
  789. new FuelString[50], Tipo[25];
  790. //new FuelStatus[20];
  791. new Name[24];
  792. //new speed_string[50];
  793. new Eng[25], Far[25];
  794.  
  795. // Get the ID of the player's vehicle
  796. vehicleid = GetPlayerVehicleID(playerid);
  797.  
  798. //******************************************************************************************************************************
  799. // Anti-hack stuff
  800. //******************************************************************************************************************************
  801.  
  802. AntiHack(playerid);
  803.  
  804. //******************************************************************************************************************************
  805. // End of anti-hack stuff
  806. //******************************************************************************************************************************
  807.  
  808. // Check and toggle spectate-mode when needed (when target player entered or exited his vehicle)
  809. if (GetPlayerState(playerid) == PLAYER_STATE_SPECTATING)
  810. {
  811. new OtherPlayer = APlayerData[playerid][SpectateID];
  812. GetPlayerName(OtherPlayer, Name, sizeof(Name));
  813. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(OtherPlayer));
  814. SetPlayerInterior(playerid, GetPlayerInterior(OtherPlayer));
  815.  
  816. if (APlayerData[playerid][SpectateType] == ADMIN_SPEC_TYPE_PLAYER)
  817. {
  818. if (GetPlayerVehicleSeat(OtherPlayer) != -1)
  819. {
  820. TextDrawShowForPlayer(playerid, BARRAESPIAR);
  821. TextDrawShowForPlayer(playerid, BOXESPIAR);
  822. TextDrawShowForPlayer(playerid, BARRAESPIAR);
  823. TextDrawShowForPlayer(playerid, Statusespiar[playerid]);
  824. TextDrawShowForPlayer(playerid, StatusespiarxD[playerid]);
  825. TextDrawShowForPlayer(playerid, StatusespiarxDDDD[playerid]);
  826. TextDrawShowForPlayer(playerid, Velooooo[playerid]);
  827. TextDrawShowForPlayer(playerid, samp);
  828. TextDrawShowForPlayer(playerid, PararEspiar);
  829. TextDrawShowForPlayer(playerid, Avisar[playerid]);
  830.  
  831. PlayerSpectateVehicle(playerid, GetPlayerVehicleID(OtherPlayer));
  832. APlayerData[playerid][SpectateID] = OtherPlayer;
  833. APlayerData[playerid][SpectateVehicle] = GetPlayerVehicleID(OtherPlayer);
  834. APlayerData[playerid][SpectateType] = ADMIN_SPEC_TYPE_VEHICLE;
  835. }
  836. }
  837. else
  838. {
  839. if (GetPlayerVehicleSeat(OtherPlayer) == -1)
  840. {
  841. TextDrawShowForPlayer(playerid, BARRAESPIAR);
  842. TextDrawShowForPlayer(playerid, BOXESPIAR);
  843. TextDrawShowForPlayer(playerid, BARRAESPIAR);
  844. TextDrawShowForPlayer(playerid, Statusespiar[playerid]);
  845. TextDrawShowForPlayer(playerid, StatusespiarxD[playerid]);
  846. TextDrawShowForPlayer(playerid, StatusespiarxDDDD[playerid]);
  847.  
  848. TextDrawShowForPlayer(playerid, samp);
  849. TextDrawShowForPlayer(playerid, PararEspiar);
  850. TextDrawShowForPlayer(playerid, Avisar[playerid]);
  851. TextDrawHideForPlayer(playerid, Velooooo[playerid]);
  852.  
  853. PlayerSpectatePlayer(playerid, OtherPlayer);
  854. SetPlayerInterior(playerid, GetPlayerInterior(OtherPlayer));
  855. APlayerData[playerid][SpectateID] = OtherPlayer;
  856. APlayerData[playerid][SpectateType] = ADMIN_SPEC_TYPE_PLAYER;
  857. }
  858. }
  859. }
  860.  
  861. // When the player got a wanted level and a police player warned him to stop, a timer is started and a variable is set to "true"
  862. // Check if this variable has been set
  863. if (APlayerData[playerid][PoliceWarnedMe] == true)
  864. {
  865. // Check if the player has no wanted level anymore (after finishing a overloaded mission, player got fined, ...)
  866. if (GetPlayerWantedLevel(playerid) == 0)
  867. {
  868. APlayerData[playerid][PoliceCanJailMe] = false; // Clear the variable
  869. APlayerData[playerid][PoliceWarnedMe] = false; // Clear the variable
  870. APlayerData[playerid][Value_PoliceCanJailMe] = 0; // Clear the remaining time for the timer
  871. KillTimer(APlayerData[playerid][Timer_PoliceCanJailMe]); // Kill the timer
  872. }
  873. }
  874.  
  875. // If the player is inside a vehicle
  876. //if(vehicleid != 0)
  877. if(IsPlayerInAnyVehicle(playerid))
  878. {
  879. new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
  880. // Get the vehicles velocity
  881. GetVehicleVelocity(vehicleid, speed_x, speed_y, speed_z);
  882. // Calculate the speed (in kph)
  883. final_speed = floatsqroot(((speed_x * speed_x) + (speed_y * speed_y)) + (speed_z * speed_z)) * 158.179;
  884. // Convert the float value to an int value
  885. final_speed_int = floatround(final_speed, floatround_round);
  886. // Also save the speed for the player
  887. APlayerData[playerid][PlayerSpeed] = final_speed_int;
  888. // Setup the string to display for the player and display it
  889. //format(speed_string, 50, TXT_SpeedometerSpeed, final_speed_int);
  890. //TextDrawSetString(APlayerData[playerid][SpeedometerText], speed_string);
  891.  
  892. // Add the speed to the stats (this will be the meters driven in total)
  893. APlayerData[playerid][StatsMetersDriven] = APlayerData[playerid][StatsMetersDriven] + (final_speed / 7.2 / 1000);
  894.  
  895. // Also display the vehicle's health through the player-health bar
  896. GetVehicleHealth(vehicleid, vehiclehealth);
  897. //SetPlayerHealth(playerid, vehiclehealth / 10.0);
  898. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  899. if (engine == false)
  900. format(Eng, 25, "~r~~h~%s", "Motor");
  901. if (engine == true)
  902. format(Eng, 25, "~g~~h~%s", "Motor");
  903. TextDrawSetString(APlayerData[playerid][MotorDraw], Eng);
  904. if (lights == false)
  905. format(Far, 25, "~r~~h~%s", "Farol");//Far¦is
  906. if (lights == true)
  907. format(Far, 25, "~g~~h~%s", "Farol");//Far¦is
  908. TextDrawSetString(APlayerData[playerid][FarolDraw], Far);
  909. if (IsADiesel(vehicleid))
  910. format(Tipo, 22, "%s", "Diesel");
  911. if (IsAAlcool(vehicleid))
  912. format(Tipo, 22, "%s", "Alcool");
  913. if (IsAGasolina(vehicleid))
  914. format(Tipo, 22, "%s", "Gasolina");
  915. if (IsAQuerosene(vehicleid))
  916. format(Tipo, 22, "%s", "Querosene");
  917. if (IsANeutro(vehicleid))
  918. format(Tipo, 22, "%s", "Neutro");
  919. if(IsTrailerAttachedToVehicle(vehicleid))
  920. //if(GetVehicleTrailer(GetPlayerVehicleID(playerid)) != 0)
  921. TextDrawSetString(APlayerData[playerid][AtreladoDraw], "~g~~h~Trailer");
  922. else
  923. TextDrawSetString(APlayerData[playerid][AtreladoDraw], "~r~~h~Trailer");
  924. //new K[30];
  925. //format(K, 30, "Km/h");
  926. //TextDrawSetString(APlayerData[playerid][KmhV], K);
  927. //APlayerData[playerid][PlayerSpeed] = final_speed_int;
  928. //format(speed_string, 50, "%i", final_speed_int);
  929. //if(final_speed_int <= 90)
  930. //format(speed_string, 50, "~w~%i Km/h", final_speed_int);//normal
  931. //if(final_speed_int > 90 && final_speed_int <= 120)
  932. //format(speed_string, 50, "~y~%i ~w~Km/h", final_speed_int);//normal != amarelo
  933. //if(final_speed_int > 120)
  934. //format(speed_string, 50, "~r~%i ~w~Km/h", final_speed_int);//vermelho
  935. //TextDrawSetString(APlayerData[playerid][SpeedometerText], speed_string);
  936. //Check if the speed is above 10kph and the fuel of the vehicle isn't empty yet
  937. if ((final_speed_int > 10) && (AVehicleData[vehicleid][Fuel] > 0))
  938. AVehicleData[vehicleid][Fuel] = AVehicleData[vehicleid][Fuel] - 1; // Decrease the fuel for this vehicle every time the timer is run
  939.  
  940. // Construct the fuelgauge
  941. /*if ((AVehicleData[vehicleid][Fuel] > 0) && (AVehicleData[vehicleid][Fuel] < 100000))
  942. format(FuelStatus, 20, "~w~%s~r~~h~%s", "/", "/////////"); // Fuel is between 0% and 10% full
  943.  
  944. if ((AVehicleData[vehicleid][Fuel] >= ((MaxFuel / 10) * 1)) && (AVehicleData[vehicleid][Fuel] < ((MaxFuel / 10) * 2)))
  945. format(FuelStatus, 20, "~w~%s~r~~h~%s", "//", "////////"); // Fuel is between 10% and 20% full
  946.  
  947. if ((AVehicleData[vehicleid][Fuel] >= ((MaxFuel / 10) * 2)) && (AVehicleData[vehicleid][Fuel] < ((MaxFuel / 10) * 3)))
  948. format(FuelStatus, 20, "~w~%s~r~~h~%s", "///", "///////"); // Fuel is between 20% and 30% full
  949.  
  950. if ((AVehicleData[vehicleid][Fuel] >= ((MaxFuel / 10) * 3)) && (AVehicleData[vehicleid][Fuel] < ((MaxFuel / 10) * 4)))
  951. format(FuelStatus, 20, "~w~%s~r~~h~%s", "////", "//////"); // Fuel is between 30% and 40% full
  952.  
  953. if ((AVehicleData[vehicleid][Fuel] >= ((MaxFuel / 10) * 4)) && (AVehicleData[vehicleid][Fuel] < ((MaxFuel / 10) * 5)))
  954. format(FuelStatus, 20, "~w~%s~r~~h~%s", "/////", "/////"); // Fuel is between 40% and 50% full
  955.  
  956. if ((AVehicleData[vehicleid][Fuel] >= ((MaxFuel / 10) * 5)) && (AVehicleData[vehicleid][Fuel] < ((MaxFuel / 10) * 6)))
  957. format(FuelStatus, 20, "~w~%s~r~~h~%s", "//////", "////"); // Fuel is between 50% and 60% full
  958.  
  959. if ((AVehicleData[vehicleid][Fuel] >= ((MaxFuel / 10) * 6)) && (AVehicleData[vehicleid][Fuel] < ((MaxFuel / 10) * 7)))
  960. format(FuelStatus, 20, "~w~%s~r~~h~%s", "///////", "///"); // Fuel is between 60% and 70% full
  961.  
  962. if ((AVehicleData[vehicleid][Fuel] >= ((MaxFuel / 10) * 7)) && (AVehicleData[vehicleid][Fuel] < ((MaxFuel / 10) * 8)))
  963. format(FuelStatus, 20, "~w~%s~r~~h~%s", "////////", "//"); // Fuel is between 70% and 80% full
  964.  
  965. if ((AVehicleData[vehicleid][Fuel] >= ((MaxFuel / 10) * 8)) && (AVehicleData[vehicleid][Fuel] < ((MaxFuel / 10) * 9)))
  966. format(FuelStatus, 20, "~w~%s~r~~h~%s", "/////////", "/"); // Fuel is between 80% and 90% full
  967.  
  968. if ((AVehicleData[vehicleid][Fuel] >= ((MaxFuel / 10) * 9)) && (AVehicleData[vehicleid][Fuel] <= MaxFuel))
  969. format(FuelStatus, 20, "~w~%s", "//////////"); // Fuel is between 90% and 100% full (all bars are green)
  970.  
  971. if (AVehicleData[vehicleid][Fuel] == 0)
  972. format(FuelStatus, 20, "~r~~h~%s", "//////////"); // Fuel is empty (all bars are red)*/
  973.  
  974. // Format the final fuel-gauge readout
  975. //format(FuelString, 50, TXT_SpeedometerFuel, Tipo, FuelStatus);
  976. new Float:Gasosa;
  977. Gasosa = AVehicleData[vehicleid][Fuel];
  978. format(FuelString, 50, TXT_SpeedometerFuel, Tipo, floatround(Gasosa)/ 100);
  979. if(Gasosa <= 4000)
  980. format(FuelString, 50, "~p~%s: ~r~%d%%", Tipo, floatround(Gasosa)/ 100);//normal
  981. // Display the fuel-gauge
  982. TextDrawSetString(APlayerData[playerid][FuelGauge], FuelString);
  983. new xdddd[900];
  984. format(xdddd, 50, " ");
  985. TextDrawSetString(APlayerData[playerid][TextRadar], xdddd);
  986. for (new CamID; CamID < MAX_CAMERAS; CamID++)
  987. {
  988. if (IsPlayerInRangeOfPoint(playerid, 100.0, ACameras[CamID][CamX], ACameras[CamID][CamY], ACameras[CamID][CamZ]))
  989. {
  990. new xdd[900];
  991. format(xdd, 50, "Radar");
  992. TextDrawSetString(APlayerData[playerid][TextRadar], xdd);
  993. }
  994. }
  995.  
  996. // Check if the vehicle is out of fuel
  997. if (AVehicleData[vehicleid][Fuel] == 0)
  998. {
  999. // Stop the engine and turn off the lights
  1000. //new engine,alarm,doors,bonnet,boot,objective;
  1001. GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
  1002. SetVehicleParamsEx(vehicleid, false, false, alarm, doors, bonnet, boot, objective);
  1003. }
  1004.  
  1005. // Check if the player is not in any plane or helicopter (those cannot be caught by speedcamera's)
  1006. if (IsVehicleAirVehicle(vehicleid) == 0)
  1007. if (APlayerData[playerid][PlayerClass] != ClassPolice && APlayerData[playerid][PlayerClass] != ClassBombeiro) // Check if the player isn't speeding (cops won't get caught)
  1008. CheckPlayerSpeeding(playerid);
  1009. }
  1010. else
  1011. {
  1012. // If the player is not inside a vehicle, display an empty string (looks like the speedometer is gone)
  1013. //TextDrawSetString(APlayerData[playerid][SpeedometerText], " ");
  1014. TextDrawSetString(APlayerData[playerid][FuelGauge], " ");
  1015. TextDrawSetString(APlayerData[playerid][MotorDraw], " ");
  1016. TextDrawSetString(APlayerData[playerid][FarolDraw], " ");
  1017. TextDrawSetString(APlayerData[playerid][AtreladoDraw], " ");
  1018. TextDrawSetString(APlayerData[playerid][TextRadar], " ");
  1019. //TextDrawSetString(APlayerData[playerid][KmhV], " ");
  1020.  
  1021. // Set the speed of the player to 0
  1022. APlayerData[playerid][PlayerSpeed] = 0;
  1023. }
  1024. }
  1025.  
  1026.  
  1027.  
  1028. // This timer-function is called when a player picks up a refuelpickup
  1029. public RefuelVehicle(playerid)
  1030. {
  1031. new RefuelMsg[128];
  1032. // Get the vehicle-id of the player's vehicle
  1033. new vID = GetPlayerVehicleID(playerid);
  1034. // Calculate the amount of fuel that needs to be refuelled
  1035. new Amount = MaxFuel - AVehicleData[vID][Fuel];
  1036. // Calculate the price to refuel
  1037. new RefuelPrice = (Amount * RefuelMaxPrice) / MaxFuel;
  1038.  
  1039. // Check if the player has enough cash
  1040. if (APlayerData[playerid][PlayerMoney] >= RefuelPrice)
  1041. {
  1042. // Refuel the vehicle
  1043. AVehicleData[vID][Fuel] = MaxFuel;
  1044. // Withdraw the money from the player
  1045. RewardPlayer(playerid, -RefuelPrice, 0);
  1046. // Let the player know he refuelled his vehicle
  1047. format(RefuelMsg, 128, TXT_RefuelledVehicle, RefuelPrice);
  1048. SendClientMessage(playerid, 0xFFFFFFFF, RefuelMsg);
  1049. }
  1050. else
  1051. SendClientMessage(playerid, 0xFFFFFFFF, TXT_CannotRefuelVehicle);
  1052.  
  1053. // Allow the player to move again
  1054. TogglePlayerControllable(playerid, 1);
  1055.  
  1056. return 1;
  1057. }
  1058.  
  1059.  
  1060.  
  1061.  
  1062. // This function checks if the player is speeding near a speedcamera
  1063. CheckPlayerSpeeding(playerid)
  1064. {
  1065. // Setup local variables
  1066. new Name[24], Msg[128];
  1067. new Msg2[128];
  1068. if (APlayerData[playerid][PlayerCaughtSpeeding] == 0)
  1069. {
  1070. for (new CamID; CamID < MAX_CAMERAS; CamID++)
  1071. {
  1072. if (ACameras[CamID][CamSpeed] != 0)
  1073. {
  1074. /*if (IsPlayerInRangeOfPoint(playerid, 100.0, ACameras[CamID][CamX], ACameras[CamID][CamY], ACameras[CamID][CamZ]))
  1075. {
  1076. TextDrawShowForPlayer(playerid, RadarRadar[playerid]);
  1077. SetTimer("DestruirTextRadar", 3000, false);
  1078. }*/
  1079. if (GetPlayerVehicleSeat(playerid) == 0)
  1080. {
  1081. if (APlayerData[playerid][PlayerSpeed] > ACameras[CamID][CamSpeed])
  1082. {
  1083. if (IsPlayerInRangeOfPoint(playerid, 30.0, ACameras[CamID][CamX], ACameras[CamID][CamY], ACameras[CamID][CamZ]))
  1084. {
  1085. GetPlayer2DZone(playerid, zone, MAX_ZONE_NAME);
  1086. APlayerData[playerid][PlayerCaughtSpeeding] = 20;
  1087. SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid) + 1);
  1088. SendClientMessage(playerid, 0xFFFFFFFF, TXT_PlayerCaughtSpeeding);
  1089. GetPlayerName(playerid, Name, sizeof(Name));
  1090. format(Msg, 128, "{FFFF00}[INFO] {009D4F}Player %s está dirigindo em alta velocidade, pare-o e multe-o", Name);
  1091. Police_SendMessage(Msg);
  1092. format(Msg2, sizeof(Msg2), "{009D4F}Visto pela última vez nas redondezas de: {AFAFAF}%s", zone);
  1093. Police_SendMessage(Msg2);
  1094. }
  1095. }
  1096. }
  1097. }
  1098. }
  1099. }
  1100. else // If the player has been caught before, reduce the value until it's 0 again, then he can be caught again
  1101. APlayerData[playerid][PlayerCaughtSpeeding]--;
  1102. }
  1103. stock AntiHack(playerid)
  1104. {
  1105. // Setup local variables
  1106. new Float:Armour;
  1107.  
  1108. // Skip checking for hacks used by the player if he was reported by the Anti-Hack system already
  1109. if (APlayerData[playerid][AutoReportTime] > 0)
  1110. {
  1111. // Reduce the time so the player can be reported again soon if he doesn't stop using hacks
  1112. APlayerData[playerid][AutoReportTime]--;
  1113. // Exit the function, this skips the hack-checks until the AutoReportTime has reached 0
  1114. // Otherwise the player is reported every half a second until he stops using hacks
  1115. return 1;
  1116. }
  1117.  
  1118.  
  1119.  
  1120. // Check if a filterscript gave some money (or took it) to the player
  1121. if (GetPVarInt(playerid, "PVarMoney") != 0)
  1122. {
  1123. // Add the money to the players account
  1124. APlayerData[playerid][PlayerMoney] = APlayerData[playerid][PlayerMoney] + GetPVarInt(playerid, "PVarMoney");
  1125. // Clear the PVar
  1126. SetPVarInt(playerid, "PVarMoney", 0);
  1127. }
  1128. if (GetPVarInt(playerid, "PVarScore") != 0)
  1129. {
  1130. // Add the money to the players account
  1131. APlayerData[playerid][PlayerScore] = APlayerData[playerid][PlayerScore] + GetPVarInt(playerid, "PVarScore");
  1132. // Clear the PVar
  1133. SetPVarInt(playerid, "PVarScore", 0);
  1134. }
  1135.  
  1136. // Reset the player's money and set it to the stored value in the player's account (do the same for scorepoints)
  1137. ResetPlayerMoney(playerid);
  1138. GivePlayerMoney(playerid, APlayerData[playerid][PlayerMoney]);
  1139. SetPlayerScore(playerid, APlayerData[playerid][PlayerScore]);
  1140.  
  1141. // Limit the cash that the player can have
  1142. if (APlayerData[playerid][PlayerMoney] > 999000000)
  1143. APlayerData[playerid][PlayerMoney] = 999000000;
  1144.  
  1145. // Limit the cash that the player can have below 0
  1146. if (APlayerData[playerid][PlayerMoney] < -1000000)
  1147. APlayerData[playerid][PlayerMoney] = -1000000;
  1148.  
  1149. // Port anyone out of the area who is not an admin and inside the area 69
  1150. //Player_PortOutAdminZone(playerid, 106.0, 1805.0, -50.0, 285.0, 1940.0, 40.0, 15.0, 1732.0, 25.0);
  1151.  
  1152. // Weapon hacks are also neutralized here, except for police players (if they are allowed to have weapons)
  1153.  
  1154. // Check if the player got any armour (= health-hack)
  1155. GetPlayerArmour(playerid, Armour);
  1156. if (APlayerData[playerid][PlayerLevel] < 6)
  1157. {
  1158. // Send an automated report to the admins so they're informed about it and can take action
  1159. if (Armour > 1.0 && PlayerInfo[playerid][NoEvento] == 0 && IsAHuman[playerid] ==0 && IsAZombie[playerid] ==0)
  1160. SendReportToAdmins(playerid, "Health-hack", true);
  1161. }
  1162. if (APlayerData[playerid][PlayerLevel] < 6)
  1163. {
  1164. // Check if the speed is higher than 300 (kick player if it is)
  1165. // Send an automated report to the admins so they're informed about it and can take action
  1166. if (APlayerData[playerid][PlayerSpeed] > 300)
  1167. SendReportToAdmins(playerid, "Speed-hack", true);
  1168. }
  1169. // Check if the player is not allowed to have a jetpack (admins lvl 3 and higher can use /fly, so they will be excluded)
  1170. if (APlayerData[playerid][PlayerLevel] < 3)
  1171. {
  1172. // Check if the player is using a jetpack
  1173. // Send an automated report to the admins so they're informed about it and can take action
  1174. if (GetPlayerSpecialAction(playerid) == 2)
  1175. SendReportToAdmins(playerid, "Jetpack-hack", true);
  1176. }
  1177.  
  1178. // Detect airbreak hack
  1179. if (GetPlayerVehicleSeat(playerid) == 0)
  1180. {
  1181. // Check if the player is nearly standing still
  1182. if (APlayerData[playerid][PlayerSpeed] < 10)
  1183. {
  1184. // Check if the player switched interior-id's
  1185. if (GetPlayerInterior(playerid) != APlayerData[playerid][PreviousInt])
  1186. {
  1187. // Check if the new interior is the normal world or any mod-shop
  1188. switch (GetPlayerInterior(playerid))
  1189. {
  1190. case 0, 1, 2, 3: // Check interiors 0, 1, 2 and 3 (normal world and all mod-shops)
  1191. {
  1192. // Store the player's current location and interior-id for the next iteration
  1193. GetPlayerPos(playerid, APlayerData[playerid][PreviousX], APlayerData[playerid][PreviousY], APlayerData[playerid][PreviousZ]);
  1194. APlayerData[playerid][PreviousInt] = GetPlayerInterior(playerid);
  1195. // Exit the function
  1196. return 1;
  1197. }
  1198. }
  1199. }
  1200.  
  1201. // Check if the player is still near the same place he was half a second ago
  1202. if (IsPlayerInRangeOfPoint(playerid, 7.5, APlayerData[playerid][PreviousX], APlayerData[playerid][PreviousY], APlayerData[playerid][PreviousZ]))
  1203. {
  1204. }
  1205. else// Send an automated report to the admins so they're informed about it and can take action
  1206. if(!IsPlayerInRace(playerid))
  1207. {
  1208. if (APlayerData[playerid][PlayerLevel] < 6)
  1209. SendReportToAdmins(playerid, "Airbreak-hack", true);
  1210. }
  1211. }
  1212. }
  1213. // Store the player's current location and interior-id for the next iteration
  1214. GetPlayerPos(playerid, APlayerData[playerid][PreviousX], APlayerData[playerid][PreviousY], APlayerData[playerid][PreviousZ]);
  1215. APlayerData[playerid][PreviousInt] = GetPlayerInterior(playerid);
  1216.  
  1217. return 1;
  1218. }
  1219.  
  1220. forward Update();
  1221. public Update(){
  1222. for(new p=0;p<MAX_PLAYERS;++p)
  1223. {
  1224. if(IsPlayerConnected(p) && IsPlayerInAnyVehicle(p))
  1225. {
  1226. new String_xD[256],Float:Health;
  1227. GetVehicleHealth(GetPlayerVehicleID(p),Health);
  1228. format(String_xD,256,"~b~Lataria: ~w~%d%%", floatround(Health)/10);
  1229. if(Health <= 400)
  1230. format(String_xD, 256, "~b~Lataria: ~r~%d%%", floatround(Health)/10);//normal
  1231. /*if(Health >= 1000.0)format(String_xD,256,"~g~~h~~h~Lataria: ~b~%s~r~~h~%s","//////////","");
  1232. else if(Health >= 900.0 && Health < 1000.0)format(String_xD,256,"~g~~h~~h~Lataria: ~b~%s~r~~h~%s","/////////","/");
  1233. else if(Health >= 800.0 && Health < 900.0)format(String_xD,256,"~g~~h~~h~Lataria: ~b~%s~r~~h~%s","////////","//");
  1234. else if(Health >= 700.0 && Health < 800.0)format(String_xD,256,"~g~~h~~h~Lataria: ~b~%s~r~~h~%s","///////","///");
  1235. else if(Health >= 600.0 && Health < 700.0)format(String_xD,256,"~g~~h~~h~Lataria: ~b~%s~r~~h~%s","//////","////");
  1236. else if(Health >= 500.0 && Health < 600.0)format(String_xD,256,"~g~~h~~h~Lataria: ~b~%s~r~~h~%s","/////","/////");
  1237. else if(Health >= 400.0 && Health < 500.0)format(String_xD,256,"~g~~h~~h~Lataria: ~b~%s~r~~h~%s","////","//////");
  1238. else if(Health >= 300.0 && Health < 400.0)format(String_xD,256,"~g~~h~~h~Lataria: ~b~%s~r~~h~%s","///","///////");
  1239. else if(Health >= 200.0 && Health < 300.0)format(String_xD,256,"~g~~h~~h~Lataria: ~b~%s~r~~h~%s","//","////////");
  1240. else if(Health >= 100.0 && Health < 200.0)format(String_xD,256,"~g~~h~~h~Lataria: ~b~%s~r~~h~%s","/","/////////");
  1241. else if(Health >= 0.0 && Health < 100.0)format(String_xD,256,"~g~~h~~h~Lataria: ~b~%s~r~~h~%s","","//////////");*/
  1242. TextDrawSetString(Lataria[p],String_xD);
  1243. TextDrawShowForPlayer(p,Lataria[p]);
  1244. }
  1245. else
  1246. {
  1247. TextDrawHideForPlayer(p,Lataria[p]);
  1248. }
  1249. }
  1250. }
  1251. stock IsPlayerInZone(playerid, zoneada[])
  1252. {
  1253. GetPlayer3DZone(playerid, TmpZone, sizeof(TmpZone));
  1254. for(new i = 0; i != sizeof(gSAZones); i++)
  1255. {
  1256. if(strfind(TmpZone, zoneada, true) != -1)
  1257. return 1;
  1258. }
  1259. return 0;
  1260. }
  1261.  
  1262. stock GetPlayer2DZone(playerid, zoneada[], len)
  1263. {
  1264. new Float:x, Float:y, Float:z;
  1265. GetPlayerPos(playerid, x, y, z);
  1266. for(new i = 0; i != sizeof(gSAZones); i++ )
  1267. {
  1268. if(x >= gSAZones[i][SAZONE_AREA][0] && x <= gSAZones[i][SAZONE_AREA][3] && y >= gSAZones[i][SAZONE_AREA][1] && y <= gSAZones[i][SAZONE_AREA][4])
  1269. {
  1270. return format(zoneada, len, gSAZones[i][SAZONE_NAME], 0);
  1271. }
  1272. }
  1273. return 0;
  1274. }
  1275.  
  1276. stock GetPlayer3DZone(playerid, zoneada[], len)
  1277. {
  1278. GetPlayerPos(playerid, x, y, z);
  1279. for(new i = 0; i != sizeof(gSAZones); i++ )
  1280. {
  1281. if(x >= gSAZones[i][SAZONE_AREA][0] && x <= gSAZones[i][SAZONE_AREA][3] && y >= gSAZones[i][SAZONE_AREA][1] && y <= gSAZones[i][SAZONE_AREA][4] && z >= gSAZones[i][SAZONE_AREA][2] && z <= gSAZones[i][SAZONE_AREA][5])
  1282. {
  1283. return format(zoneada, len, gSAZones[i][SAZONE_NAME], 0);
  1284. }
  1285. }
  1286. return 0;
  1287. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement