Guest User

Untitled

a guest
May 27th, 2015
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  
  3.                     JFS Speedometer v1.0 English
  4. ================================================================================
  5.             Created by: Jonathan Feitosa ( JFS )
  6.             Credits: URSS_Morelli, Drakins, Bruno Tadeu
  7. ================================================================================
  8.             Contato: MSN - jonathan_feitosa@hotmail.com.br
  9.                            rafaelmorelliromano@live.com
  10.                      Skype: jonathanfeitosajfs
  11.                             urss_morelli
  12.                      Facebook: fb.com/JonathanFeitosaJFS
  13. ================================================================================
  14.             Like on Facebook: Facebook.com/GoHumorGTA <<
  15. ================================================================================
  16.  
  17.  
  18.                     DO NOT REMOVE THE CREDITS!
  19.  
  20.  
  21. ================================================================================
  22.  
  23. */
  24.  
  25.  
  26. #include <a_samp>
  27. #include <zcmd>
  28.  
  29. #define MAXZN 28
  30. #define POSICAO 1
  31.  
  32. #define MAXPLAYERSJFS 50 // Slots do seu Servidor
  33.  
  34. #define BlindagemTodosVeiculos 0//  Bote 1 se quiser por blindagem em todos os veiculos logo no comeco e 0 para não !
  35. #define DesgasteMAX 100 // Maximo de Desgaste do Pneu ( 100% )
  36. #define BlindagemMAX 100 // Maximo de Blindagem ( 100% )
  37. #define GasMAX 100 // Maximo de GAS ( 100% )
  38.  
  39. #define Time 15000 // Time para Diminuir o GAS
  40. #define TimeDes 30000 // Time para Diminuir o Desgaste do Pneu
  41.  
  42.  
  43. main()
  44. {
  45.     print("\n\n----------------------------------------");
  46.     print(" JFS Speedometer - Created by Jonathan Feitosa :)");
  47.     print(" DO NOT REMOVE THE CREDITS OF THE FILTERSCRIPT");
  48.     print("----------------------------------------\n\n");
  49. }
  50.  
  51. enum
  52.     SavePlayerPosEnum
  53. {
  54.     Float:LastX,
  55.     Float:LastY,
  56.     Float:LastZ
  57. };
  58.  
  59. new
  60.     OutOfGas[MAXPLAYERSJFS],
  61.     KMP[MAX_VEHICLES],
  62.     Valor,
  63.     UpdateSeconds = 1,
  64.     Float:distance,
  65.     CheckGasT,
  66.     CheckDesT,
  67.     StoppedVehicleT,
  68.     Gas[MAX_VEHICLES],
  69.     Blindagem[MAX_VEHICLES],
  70.     Desgaste[MAX_VEHICLES],
  71.     Abastecendo[MAXPLAYERSJFS],
  72.     ArrumandoPneu[MAXPLAYERSJFS],
  73.     gGasBiz[MAXPLAYERSJFS],
  74.     Float:GasX,
  75.     Float:GasY,
  76.     Float:GasZ,
  77.     JFSAACC,
  78.     JFSACPreco,
  79.     Float:olddistance,
  80.     Float:newdistance,
  81.     Float:x,
  82.     Float:y,
  83.     Float:z,
  84.     Float:x1,
  85.     Float:y1,
  86.     Float:z1,
  87.     Float:x2,
  88.     Float:y2,
  89.     Float:z2,
  90.     closest = -1,
  91.     ZoneSA[MAXZN],
  92.     Text:TextDrawJFS[MAXPLAYERSJFS],
  93.     Text:TextDrawJFSV[MAXPLAYERSJFS],
  94.     bool:Speedometer,
  95.     SavePlayerPos[MAXPLAYERSJFS][SavePlayerPosEnum],
  96.     Celula[128]
  97. ;
  98. new
  99.     Float:LocaisGAS[13][3] =
  100. {
  101.     {1004.0070,-939.3102,42.1797}, // LS
  102.     {1944.3260,-1772.9254,13.3906}, // LS
  103.     {-90.5515,-1169.4578,2.4079}, // LS
  104.     {-1609.7958,-2718.2048,48.5391}, // LS
  105.     {2202.2349,2474.3494,10.5258}, // LV
  106.     {614.9333,1689.7418,6.6968}, // LV
  107.     {-1328.8250,2677.2173,49.7665}, // LV
  108.     {70.3882,1218.6783,18.5165}, // LV
  109.     {2113.7390,920.1079,10.5255}, // LV
  110.     {-2029.4968,156.4366,28.9498}, // SF
  111.     {-2408.7590,976.0934,45.4175}, // SF
  112.     {-2243.9629,-2560.6477,31.8841}, // LS/SF
  113.     {-1676.6323,414.0262,6.9484} // LS/SF
  114. };
  115.  
  116. forward
  117.     JFSAC();
  118. forward
  119.     NoPosto(playerid);
  120. forward
  121.     Float:DistanciaPosto(p1,Float:px,Float:py,Float:pz);
  122. forward
  123.     StoppedVehicle();
  124. forward
  125.     CheckGas();
  126. forward
  127.     CheckDes();
  128.    
  129. //Nome dos Carros - Retirado do ThugLife City v4.0 Desenvolvido por mim :)
  130. new
  131.     NomesVeiculos[][] = {
  132.     "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster",
  133.     "Stretch","Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulancia","Leviathan","Moonbeam","Esperanto",
  134.     "Taxi","Washington","Bobcat","Mr Whoopee","BF Injection","Hunter","Premier","Enforcer","Securicar","Banshee",
  135.     "Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie","Stallion","Rumpo",
  136.     "RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer",
  137.     "Turismo","Speeder","Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer",
  138.     "PCJ-600","Faggio","Freeway","RC Baron","RC Raider","Glendale","Oceanic","Sanchez","Sparrow","Patriot",
  139.     "Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR-350","Walton","Regina","Comet","BMX",
  140.     "Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo",
  141.     "Greenwood","Jetmax","Hotring","Sandking","Blista Compact","Maverick Policial","Boxville","Benson","Mesa",
  142.     "RC Goblin","Hotring Racer A","Hotring Racer B","Bloodring Banger","Rancher","Super GT","Elegant",
  143.     "Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain","Nebula","Majestic",
  144.     "Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona",
  145.     "FBI Truck","Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight",
  146.     "Streak","Vortex","Vincent","Bullet","Clover","Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob",
  147.     "Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A","Monster B","Uranus",
  148.     "Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight",
  149.     "Trailer","Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford",
  150.     "BF-400","Newsvan","Tug","Trailer A","Emperor","Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C",
  151.     "Andromada","Dodo","RC Cam","Launch","Viatura (LSPD)","Viatura (SFPD)","Viatura (LVPD)","Police Ranger",
  152.     "Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
  153.     "Stair Trailer","Boxville","Farm Plow","Utility Trailer"
  154. };
  155.  
  156. enum
  157.     SAZones
  158. {
  159.     Zone_Nomes[28],
  160.     Float:Zone_Coords[6]
  161. };
  162.  
  163. static const ZoneLS[][SAZones] =
  164. {
  165.     {"The Big Ear",                 {-410.00,1403.30,-3.00,-137.90,1681.20,200.00}},
  166.     {"Aldea Malvada",               {-1372.10,2498.50,0.00,-1277.50,2615.30,200.00}},
  167.     {"Angel Pine",                  {-2324.90,-2584.20,-6.10,-1964.20,-2212.10,200.00}},
  168.     {"Arco del Oeste",              {-901.10,2221.80,0.00,-592.00,2571.90,200.00}},
  169.     {"Avispa Country Club",         {-2646.40,-355.40,0.00,-2270.00,-222.50,200.00}},
  170.     {"Avispa Country Club",         {-2831.80,-430.20,-6.10,-2646.40,-222.50,200.00}},
  171.     {"Avispa Country Club",         {-2361.50,-417.10,0.00,-2270.00,-355.40,200.00}},
  172.     {"Avispa Country Club",         {-2667.80,-302.10,-28.80,-2646.40,-262.30,71.10}},
  173.     {"Avispa Country Club",         {-2470.00,-355.40,0.00,-2270.00,-318.40,46.10}},
  174.     {"Avispa Country Club",         {-2550.00,-355.40,0.00,-2470.00,-318.40,39.70}},
  175.     {"Back o Beyond",               {-1166.90,-2641.10,0.00,-321.70,-1856.00,200.00}},
  176.     {"Battery Point",               {-2741.00,1268.40,-4.50,-2533.00,1490.40,200.00}},
  177.     {"Bayside",                     {-2741.00,2175.10,0.00,-2353.10,2722.70,200.00}},
  178.     {"Bayside Marina",              {-2353.10,2275.70,0.00,-2153.10,2475.70,200.00}},
  179.     {"Beacon Hill",                 {-399.60,-1075.50,-1.40,-319.00,-977.50,198.50}},
  180.     {"Blackfield",                  {964.30,1203.20,-89.00,1197.30,1403.20,110.90}},
  181.     {"Blackfield",                  {964.30,1403.20,-89.00,1197.30,1726.20,110.90}},
  182.     {"Blackfield Chapel",           {1375.60,596.30,-89.00,1558.00,823.20,110.90}},
  183.     {"Blackfield Chapel",           {1325.60,596.30,-89.00,1375.60,795.00,110.90}},
  184.     {"Blackfield Intersection",     {1197.30,1044.60,-89.00,1277.00,1163.30,110.90}},
  185.     {"Blackfield Intersection",     {1166.50,795.00,-89.00,1375.60,1044.60,110.90}},
  186.     {"Blackfield Intersection",     {1277.00,1044.60,-89.00,1315.30,1087.60,110.90}},
  187.     {"Blackfield Intersection",     {1375.60,823.20,-89.00,1457.30,919.40,110.90}},
  188.     {"Blueberry",                   {104.50,-220.10,2.30,349.60,152.20,200.00}},
  189.     {"Blueberry",                   {19.60,-404.10,3.80,349.60,-220.10,200.00}},
  190.     {"Blueberry Acres",             {-319.60,-220.10,0.00,104.50,293.30,200.00}},
  191.     {"Caligula's Palace",           {2087.30,1543.20,-89.00,2437.30,1703.20,110.90}},
  192.     {"Caligula's Palace",           {2137.40,1703.20,-89.00,2437.30,1783.20,110.90}},
  193.     {"Calton Heights",              {-2274.10,744.10,-6.10,-1982.30,1358.90,200.00}},
  194.     {"Chinatown",                   {-2274.10,578.30,-7.60,-2078.60,744.10,200.00}},
  195.     {"City Hall",                   {-2867.80,277.40,-9.10,-2593.40,458.40,200.00}},
  196.     {"Come-A-Lot",                  {2087.30,943.20,-89.00,2623.10,1203.20,110.90}},
  197.     {"Commerce",                    {1323.90,-1842.20,-89.00,1701.90,-1722.20,110.90}},
  198.     {"Commerce",                    {1323.90,-1722.20,-89.00,1440.90,-1577.50,110.90}},
  199.     {"Commerce",                    {1370.80,-1577.50,-89.00,1463.90,-1384.90,110.90}},
  200.     {"Commerce",                    {1463.90,-1577.50,-89.00,1667.90,-1430.80,110.90}},
  201.     {"Commerce",                    {1583.50,-1722.20,-89.00,1758.90,-1577.50,110.90}},
  202.     {"Commerce",                    {1667.90,-1577.50,-89.00,1812.60,-1430.80,110.90}},
  203.     {"Conference Center",           {1046.10,-1804.20,-89.00,1323.90,-1722.20,110.90}},
  204.     {"Conference Center",           {1073.20,-1842.20,-89.00,1323.90,-1804.20,110.90}},
  205.     {"Cranberry Station",           {-2007.80,56.30,0.00,-1922.00,224.70,100.00}},
  206.     {"Creek",                       {2749.90,1937.20,-89.00,2921.60,2669.70,110.90}},
  207.     {"Dillimore",                   {580.70,-674.80,-9.50,861.00,-404.70,200.00}},
  208.     {"Doherty",                     {-2270.00,-324.10,-0.00,-1794.90,-222.50,200.00}},
  209.     {"Doherty",                     {-2173.00,-222.50,-0.00,-1794.90,265.20,200.00}},
  210.     {"Downtown",                    {-1982.30,744.10,-6.10,-1871.70,1274.20,200.00}},
  211.     {"Downtown",                    {-1871.70,1176.40,-4.50,-1620.30,1274.20,200.00}},
  212.     {"Downtown",                    {-1700.00,744.20,-6.10,-1580.00,1176.50,200.00}},
  213.     {"Downtown",                    {-1580.00,744.20,-6.10,-1499.80,1025.90,200.00}},
  214.     {"Downtown",                    {-2078.60,578.30,-7.60,-1499.80,744.20,200.00}},
  215.     {"Downtown",                    {-1993.20,265.20,-9.10,-1794.90,578.30,200.00}},
  216.     {"Downtown Los Santos",         {1463.90,-1430.80,-89.00,1724.70,-1290.80,110.90}},
  217.     {"Downtown Los Santos",         {1724.70,-1430.80,-89.00,1812.60,-1250.90,110.90}},
  218.     {"Downtown Los Santos",         {1463.90,-1290.80,-89.00,1724.70,-1150.80,110.90}},
  219.     {"Downtown Los Santos",         {1370.80,-1384.90,-89.00,1463.90,-1170.80,110.90}},
  220.     {"Downtown Los Santos",         {1724.70,-1250.90,-89.00,1812.60,-1150.80,110.90}},
  221.     {"Downtown Los Santos",         {1370.80,-1170.80,-89.00,1463.90,-1130.80,110.90}},
  222.     {"Downtown Los Santos",         {1378.30,-1130.80,-89.00,1463.90,-1026.30,110.90}},
  223.     {"Downtown Los Santos",         {1391.00,-1026.30,-89.00,1463.90,-926.90,110.90}},
  224.     {"Downtown Los Santos",         {1507.50,-1385.20,110.90,1582.50,-1325.30,335.90}},
  225.     {"East Beach",                  {2632.80,-1852.80,-89.00,2959.30,-1668.10,110.90}},
  226.     {"East Beach",                  {2632.80,-1668.10,-89.00,2747.70,-1393.40,110.90}},
  227.     {"East Beach",                  {2747.70,-1668.10,-89.00,2959.30,-1498.60,110.90}},
  228.     {"East Beach",                  {2747.70,-1498.60,-89.00,2959.30,-1120.00,110.90}},
  229.     {"East Los Santos",             {2421.00,-1628.50,-89.00,2632.80,-1454.30,110.90}},
  230.     {"East Los Santos",             {2222.50,-1628.50,-89.00,2421.00,-1494.00,110.90}},
  231.     {"East Los Santos",             {2266.20,-1494.00,-89.00,2381.60,-1372.00,110.90}},
  232.     {"East Los Santos",             {2381.60,-1494.00,-89.00,2421.00,-1454.30,110.90}},
  233.     {"East Los Santos",             {2281.40,-1372.00,-89.00,2381.60,-1135.00,110.90}},
  234.     {"East Los Santos",             {2381.60,-1454.30,-89.00,2462.10,-1135.00,110.90}},
  235.     {"East Los Santos",             {2462.10,-1454.30,-89.00,2581.70,-1135.00,110.90}},
  236.     {"Easter Basin",                {-1794.90,249.90,-9.10,-1242.90,578.30,200.00}},
  237.     {"Easter Basin",                {-1794.90,-50.00,-0.00,-1499.80,249.90,200.00}},
  238.     {"Easter Bay Airport",          {-1499.80,-50.00,-0.00,-1242.90,249.90,200.00}},
  239.     {"Easter Bay Airport",          {-1794.90,-730.10,-3.00,-1213.90,-50.00,200.00}},
  240.     {"Easter Bay Airport",          {-1213.90,-730.10,0.00,-1132.80,-50.00,200.00}},
  241.     {"Easter Bay Airport",          {-1242.90,-50.00,0.00,-1213.90,578.30,200.00}},
  242.     {"Easter Bay Airport",          {-1213.90,-50.00,-4.50,-947.90,578.30,200.00}},
  243.     {"Easter Bay Airport",          {-1315.40,-405.30,15.40,-1264.40,-209.50,25.40}},
  244.     {"Easter Bay Airport",          {-1354.30,-287.30,15.40,-1315.40,-209.50,25.40}},
  245.     {"Easter Bay Airport",          {-1490.30,-209.50,15.40,-1264.40,-148.30,25.40}},
  246.     {"Easter Bay Chemicals",        {-1132.80,-768.00,0.00,-956.40,-578.10,200.00}},
  247.     {"Easter Bay Chemicals",        {-1132.80,-787.30,0.00,-956.40,-768.00,200.00}},
  248.     {"El Castillo del Diablo",      {-464.50,2217.60,0.00,-208.50,2580.30,200.00}},
  249.     {"El Castillo del Diablo",      {-208.50,2123.00,-7.60,114.00,2337.10,200.00}},
  250.     {"El Castillo del Diablo",      {-208.50,2337.10,0.00,8.40,2487.10,200.00}},
  251.     {"El Corona",                   {1812.60,-2179.20,-89.00,1970.60,-1852.80,110.90}},
  252.     {"El Corona",                   {1692.60,-2179.20,-89.00,1812.60,-1842.20,110.90}},
  253.     {"El Quebrados",                {-1645.20,2498.50,0.00,-1372.10,2777.80,200.00}},
  254.     {"Esplanade East",              {-1620.30,1176.50,-4.50,-1580.00,1274.20,200.00}},
  255.     {"Esplanade East",              {-1580.00,1025.90,-6.10,-1499.80,1274.20,200.00}},
  256.     {"Esplanade East",              {-1499.80,578.30,-79.60,-1339.80,1274.20,20.30}},
  257.     {"Esplanade North",             {-2533.00,1358.90,-4.50,-1996.60,1501.20,200.00}},
  258.     {"Esplanade North",             {-1996.60,1358.90,-4.50,-1524.20,1592.50,200.00}},
  259.     {"Esplanade North",             {-1982.30,1274.20,-4.50,-1524.20,1358.90,200.00}},
  260.     {"Fallen Tree",                 {-792.20,-698.50,-5.30,-452.40,-380.00,200.00}},
  261.     {"Fallow Bridge",               {434.30,366.50,0.00,603.00,555.60,200.00}},
  262.     {"Fern Ridge",                  {508.10,-139.20,0.00,1306.60,119.50,200.00}},
  263.     {"Financial",                   {-1871.70,744.10,-6.10,-1701.30,1176.40,300.00}},
  264.     {"Fisher's Lagoon",             {1916.90,-233.30,-100.00,2131.70,13.80,200.00}},
  265.     {"Flint Intersection",          {-187.70,-1596.70,-89.00,17.00,-1276.60,110.90}},
  266.     {"Flint Range",                 {-594.10,-1648.50,0.00,-187.70,-1276.60,200.00}},
  267.     {"Fort Carson",                 {-376.20,826.30,-3.00,123.70,1220.40,200.00}},
  268.     {"Foster Valley",               {-2270.00,-430.20,-0.00,-2178.60,-324.10,200.00}},
  269.     {"Foster Valley",               {-2178.60,-599.80,-0.00,-1794.90,-324.10,200.00}},
  270.     {"Foster Valley",               {-2178.60,-1115.50,0.00,-1794.90,-599.80,200.00}},
  271.     {"Foster Valley",               {-2178.60,-1250.90,0.00,-1794.90,-1115.50,200.00}},
  272.     {"Frederick Bridge",            {2759.20,296.50,0.00,2774.20,594.70,200.00}},
  273.     {"Gant Bridge",                 {-2741.40,1659.60,-6.10,-2616.40,2175.10,200.00}},
  274.     {"Gant Bridge",                 {-2741.00,1490.40,-6.10,-2616.40,1659.60,200.00}},
  275.     {"Ganton",                      {2222.50,-1852.80,-89.00,2632.80,-1722.30,110.90}},
  276.     {"Ganton",                      {2222.50,-1722.30,-89.00,2632.80,-1628.50,110.90}},
  277.     {"Garcia",                      {-2411.20,-222.50,-0.00,-2173.00,265.20,200.00}},
  278.     {"Garcia",                      {-2395.10,-222.50,-5.30,-2354.00,-204.70,200.00}},
  279.     {"Garver Bridge",               {-1339.80,828.10,-89.00,-1213.90,1057.00,110.90}},
  280.     {"Garver Bridge",               {-1213.90,950.00,-89.00,-1087.90,1178.90,110.90}},
  281.     {"Garver Bridge",               {-1499.80,696.40,-179.60,-1339.80,925.30,20.30}},
  282.     {"Glen Park",                   {1812.60,-1449.60,-89.00,1996.90,-1350.70,110.90}},
  283.     {"Glen Park",                   {1812.60,-1100.80,-89.00,1994.30,-973.30,110.90}},
  284.     {"Glen Park",                   {1812.60,-1350.70,-89.00,2056.80,-1100.80,110.90}},
  285.     {"Green Palms",                 {176.50,1305.40,-3.00,338.60,1520.70,200.00}},
  286.     {"Greenglass College",          {964.30,1044.60,-89.00,1197.30,1203.20,110.90}},
  287.     {"Greenglass College",          {964.30,930.80,-89.00,1166.50,1044.60,110.90}},
  288.     {"Hampton Barns",               {603.00,264.30,0.00,761.90,366.50,200.00}},
  289.     {"Hankypanky Point",            {2576.90,62.10,0.00,2759.20,385.50,200.00}},
  290.     {"Harry Gold Parkway",          {1777.30,863.20,-89.00,1817.30,2342.80,110.90}},
  291.     {"Hashbury",                    {-2593.40,-222.50,-0.00,-2411.20,54.70,200.00}},
  292.     {"Hilltop Farm",                {967.30,-450.30,-3.00,1176.70,-217.90,200.00}},
  293.     {"Hunter Quarry",               {337.20,710.80,-115.20,860.50,1031.70,203.70}},
  294.     {"Idlewood",                    {1812.60,-1852.80,-89.00,1971.60,-1742.30,110.90}},
  295.     {"Idlewood",                    {1812.60,-1742.30,-89.00,1951.60,-1602.30,110.90}},
  296.     {"Idlewood",                    {1951.60,-1742.30,-89.00,2124.60,-1602.30,110.90}},
  297.     {"Idlewood",                    {1812.60,-1602.30,-89.00,2124.60,-1449.60,110.90}},
  298.     {"Idlewood",                    {2124.60,-1742.30,-89.00,2222.50,-1494.00,110.90}},
  299.     {"Idlewood",                    {1971.60,-1852.80,-89.00,2222.50,-1742.30,110.90}},
  300.     {"Jefferson",                   {1996.90,-1449.60,-89.00,2056.80,-1350.70,110.90}},
  301.     {"Jefferson",                   {2124.60,-1494.00,-89.00,2266.20,-1449.60,110.90}},
  302.     {"Jefferson",                   {2056.80,-1372.00,-89.00,2281.40,-1210.70,110.90}},
  303.     {"Jefferson",                   {2056.80,-1210.70,-89.00,2185.30,-1126.30,110.90}},
  304.     {"Jefferson",                   {2185.30,-1210.70,-89.00,2281.40,-1154.50,110.90}},
  305.     {"Jefferson",                   {2056.80,-1449.60,-89.00,2266.20,-1372.00,110.90}},
  306.     {"Julius Thruway East",         {2623.10,943.20,-89.00,2749.90,1055.90,110.90}},
  307.     {"Julius Thruway East",         {2685.10,1055.90,-89.00,2749.90,2626.50,110.90}},
  308.     {"Julius Thruway East",         {2536.40,2442.50,-89.00,2685.10,2542.50,110.90}},
  309.     {"Julius Thruway East",         {2625.10,2202.70,-89.00,2685.10,2442.50,110.90}},
  310.     {"Julius Thruway North",        {2498.20,2542.50,-89.00,2685.10,2626.50,110.90}},
  311.     {"Julius Thruway North",        {2237.40,2542.50,-89.00,2498.20,2663.10,110.90}},
  312.     {"Julius Thruway North",        {2121.40,2508.20,-89.00,2237.40,2663.10,110.90}},
  313.     {"Julius Thruway North",        {1938.80,2508.20,-89.00,2121.40,2624.20,110.90}},
  314.     {"Julius Thruway North",        {1534.50,2433.20,-89.00,1848.40,2583.20,110.90}},
  315.     {"Julius Thruway North",        {1848.40,2478.40,-89.00,1938.80,2553.40,110.90}},
  316.     {"Julius Thruway North",        {1704.50,2342.80,-89.00,1848.40,2433.20,110.90}},
  317.     {"Julius Thruway North",        {1377.30,2433.20,-89.00,1534.50,2507.20,110.90}},
  318.     {"Julius Thruway South",        {1457.30,823.20,-89.00,2377.30,863.20,110.90}},
  319.     {"Julius Thruway South",        {2377.30,788.80,-89.00,2537.30,897.90,110.90}},
  320.     {"Julius Thruway West",         {1197.30,1163.30,-89.00,1236.60,2243.20,110.90}},
  321.     {"Julius Thruway West",         {1236.60,2142.80,-89.00,1297.40,2243.20,110.90}},
  322.     {"Juniper Hill",                {-2533.00,578.30,-7.60,-2274.10,968.30,200.00}},
  323.     {"Juniper Hollow",              {-2533.00,968.30,-6.10,-2274.10,1358.90,200.00}},
  324.     {"K.A.C.C. Military Fuels",     {2498.20,2626.50,-89.00,2749.90,2861.50,110.90}},
  325.     {"Kincaid Bridge",              {-1339.80,599.20,-89.00,-1213.90,828.10,110.90}},
  326.     {"Kincaid Bridge",              {-1213.90,721.10,-89.00,-1087.90,950.00,110.90}},
  327.     {"Kincaid Bridge",              {-1087.90,855.30,-89.00,-961.90,986.20,110.90}},
  328.     {"King's",                      {-2329.30,458.40,-7.60,-1993.20,578.30,200.00}},
  329.     {"King's",                      {-2411.20,265.20,-9.10,-1993.20,373.50,200.00}},
  330.     {"King's",                      {-2253.50,373.50,-9.10,-1993.20,458.40,200.00}},
  331.     {"LVA Freight Depot",           {1457.30,863.20,-89.00,1777.40,1143.20,110.90}},
  332.     {"LVA Freight Depot",           {1375.60,919.40,-89.00,1457.30,1203.20,110.90}},
  333.     {"LVA Freight Depot",           {1277.00,1087.60,-89.00,1375.60,1203.20,110.90}},
  334.     {"LVA Freight Depot",           {1315.30,1044.60,-89.00,1375.60,1087.60,110.90}},
  335.     {"LVA Freight Depot",           {1236.60,1163.40,-89.00,1277.00,1203.20,110.90}},
  336.     {"Las Barrancas",               {-926.10,1398.70,-3.00,-719.20,1634.60,200.00}},
  337.     {"Las Brujas",                  {-365.10,2123.00,-3.00,-208.50,2217.60,200.00}},
  338.     {"Las Colinas",                 {1994.30,-1100.80,-89.00,2056.80,-920.80,110.90}},
  339.     {"Las Colinas",                 {2056.80,-1126.30,-89.00,2126.80,-920.80,110.90}},
  340.     {"Las Colinas",                 {2185.30,-1154.50,-89.00,2281.40,-934.40,110.90}},
  341.     {"Las Colinas",                 {2126.80,-1126.30,-89.00,2185.30,-934.40,110.90}},
  342.     {"Las Colinas",                 {2747.70,-1120.00,-89.00,2959.30,-945.00,110.90}},
  343.     {"Las Colinas",                 {2632.70,-1135.00,-89.00,2747.70,-945.00,110.90}},
  344.     {"Las Colinas",                 {2281.40,-1135.00,-89.00,2632.70,-945.00,110.90}},
  345.     {"Las Payasadas",               {-354.30,2580.30,2.00,-133.60,2816.80,200.00}},
  346.     {"Las Venturas Airport",        {1236.60,1203.20,-89.00,1457.30,1883.10,110.90}},
  347.     {"Las Venturas Airport",        {1457.30,1203.20,-89.00,1777.30,1883.10,110.90}},
  348.     {"Las Venturas Airport",        {1457.30,1143.20,-89.00,1777.40,1203.20,110.90}},
  349.     {"Las Venturas Airport",        {1515.80,1586.40,-12.50,1729.90,1714.50,87.50}},
  350.     {"Last Dime Motel",             {1823.00,596.30,-89.00,1997.20,823.20,110.90}},
  351.     {"Leafy Hollow",                {-1166.90,-1856.00,0.00,-815.60,-1602.00,200.00}},
  352.     {"Liberty City",                {-1000.00,400.00,1300.00,-700.00,600.00,1400.00}},
  353.     {"Lil' Probe Inn",              {-90.20,1286.80,-3.00,153.80,1554.10,200.00}},
  354.     {"Linden Side",                 {2749.90,943.20,-89.00,2923.30,1198.90,110.90}},
  355.     {"Linden Station",              {2749.90,1198.90,-89.00,2923.30,1548.90,110.90}},
  356.     {"Linden Station",              {2811.20,1229.50,-39.50,2861.20,1407.50,60.40}},
  357.     {"Little Mexico",               {1701.90,-1842.20,-89.00,1812.60,-1722.20,110.90}},
  358.     {"Little Mexico",               {1758.90,-1722.20,-89.00,1812.60,-1577.50,110.90}},
  359.     {"Los Flores",                  {2581.70,-1454.30,-89.00,2632.80,-1393.40,110.90}},
  360.     {"Los Flores",                  {2581.70,-1393.40,-89.00,2747.70,-1135.00,110.90}},
  361.     {"Los Santos International",    {1249.60,-2394.30,-89.00,1852.00,-2179.20,110.90}},
  362.     {"Los Santos International",    {1852.00,-2394.30,-89.00,2089.00,-2179.20,110.90}},
  363.     {"Los Santos International",    {1382.70,-2730.80,-89.00,2201.80,-2394.30,110.90}},
  364.     {"Los Santos International",    {1974.60,-2394.30,-39.00,2089.00,-2256.50,60.90}},
  365.     {"Los Santos International",    {1400.90,-2669.20,-39.00,2189.80,-2597.20,60.90}},
  366.     {"Los Santos International",    {2051.60,-2597.20,-39.00,2152.40,-2394.30,60.90}},
  367.     {"Marina",                      {647.70,-1804.20,-89.00,851.40,-1577.50,110.90}},
  368.     {"Marina",                      {647.70,-1577.50,-89.00,807.90,-1416.20,110.90}},
  369.     {"Marina",                      {807.90,-1577.50,-89.00,926.90,-1416.20,110.90}},
  370.     {"Market",                      {787.40,-1416.20,-89.00,1072.60,-1310.20,110.90}},
  371.     {"Market",                      {952.60,-1310.20,-89.00,1072.60,-1130.80,110.90}},
  372.     {"Market",                      {1072.60,-1416.20,-89.00,1370.80,-1130.80,110.90}},
  373.     {"Market",                      {926.90,-1577.50,-89.00,1370.80,-1416.20,110.90}},
  374.     {"Market Station",              {787.40,-1410.90,-34.10,866.00,-1310.20,65.80}},
  375.     {"Martin Bridge",               {-222.10,293.30,0.00,-122.10,476.40,200.00}},
  376.     {"Missionary Hill",             {-2994.40,-811.20,0.00,-2178.60,-430.20,200.00}},
  377.     {"Montgomery",                  {1119.50,119.50,-3.00,1451.40,493.30,200.00}},
  378.     {"Montgomery",                  {1451.40,347.40,-6.10,1582.40,420.80,200.00}},
  379.     {"Montgomery Intersection",     {1546.60,208.10,0.00,1745.80,347.40,200.00}},
  380.     {"Montgomery Intersection",     {1582.40,347.40,0.00,1664.60,401.70,200.00}},
  381.     {"Mulholland",                  {1414.00,-768.00,-89.00,1667.60,-452.40,110.90}},
  382.     {"Mulholland",                  {1281.10,-452.40,-89.00,1641.10,-290.90,110.90}},
  383.     {"Mulholland",                  {1269.10,-768.00,-89.00,1414.00,-452.40,110.90}},
  384.     {"Mulholland",                  {1357.00,-926.90,-89.00,1463.90,-768.00,110.90}},
  385.     {"Mulholland",                  {1318.10,-910.10,-89.00,1357.00,-768.00,110.90}},
  386.     {"Mulholland",                  {1169.10,-910.10,-89.00,1318.10,-768.00,110.90}},
  387.     {"Mulholland",                  {768.60,-954.60,-89.00,952.60,-860.60,110.90}},
  388.     {"Mulholland",                  {687.80,-860.60,-89.00,911.80,-768.00,110.90}},
  389.     {"Mulholland",                  {737.50,-768.00,-89.00,1142.20,-674.80,110.90}},
  390.     {"Mulholland",                  {1096.40,-910.10,-89.00,1169.10,-768.00,110.90}},
  391.     {"Mulholland",                  {952.60,-937.10,-89.00,1096.40,-860.60,110.90}},
  392.     {"Mulholland",                  {911.80,-860.60,-89.00,1096.40,-768.00,110.90}},
  393.     {"Mulholland",                  {861.00,-674.80,-89.00,1156.50,-600.80,110.90}},
  394.     {"Mulholland Intersection",     {1463.90,-1150.80,-89.00,1812.60,-768.00,110.90}},
  395.     {"North Rock",                  {2285.30,-768.00,0.00,2770.50,-269.70,200.00}},
  396.     {"Ocean Docks",                 {2373.70,-2697.00,-89.00,2809.20,-2330.40,110.90}},
  397.     {"Ocean Docks",                 {2201.80,-2418.30,-89.00,2324.00,-2095.00,110.90}},
  398.     {"Ocean Docks",                 {2324.00,-2302.30,-89.00,2703.50,-2145.10,110.90}},
  399.     {"Ocean Docks",                 {2089.00,-2394.30,-89.00,2201.80,-2235.80,110.90}},
  400.     {"Ocean Docks",                 {2201.80,-2730.80,-89.00,2324.00,-2418.30,110.90}},
  401.     {"Ocean Docks",                 {2703.50,-2302.30,-89.00,2959.30,-2126.90,110.90}},
  402.     {"Ocean Docks",                 {2324.00,-2145.10,-89.00,2703.50,-2059.20,110.90}},
  403.     {"Ocean Flats",                 {-2994.40,277.40,-9.10,-2867.80,458.40,200.00}},
  404.     {"Ocean Flats",                 {-2994.40,-222.50,-0.00,-2593.40,277.40,200.00}},
  405.     {"Ocean Flats",                 {-2994.40,-430.20,-0.00,-2831.80,-222.50,200.00}},
  406.     {"Octane Springs",              {338.60,1228.50,0.00,664.30,1655.00,200.00}},
  407.     {"Old Venturas Strip",          {2162.30,2012.10,-89.00,2685.10,2202.70,110.90}},
  408.     {"Palisades",                   {-2994.40,458.40,-6.10,-2741.00,1339.60,200.00}},
  409.     {"Palomino Creek",              {2160.20,-149.00,0.00,2576.90,228.30,200.00}},
  410.     {"Paradiso",                    {-2741.00,793.40,-6.10,-2533.00,1268.40,200.00}},
  411.     {"Pershing Square",             {1440.90,-1722.20,-89.00,1583.50,-1577.50,110.90}},
  412.     {"Pilgrim",                     {2437.30,1383.20,-89.00,2624.40,1783.20,110.90}},
  413.     {"Pilgrim",                     {2624.40,1383.20,-89.00,2685.10,1783.20,110.90}},
  414.     {"Pilson Intersection",         {1098.30,2243.20,-89.00,1377.30,2507.20,110.90}},
  415.     {"Pirates in Men's Pants",      {1817.30,1469.20,-89.00,2027.40,1703.20,110.90}},
  416.     {"Playa del Seville",           {2703.50,-2126.90,-89.00,2959.30,-1852.80,110.90}},
  417.     {"Prickle Pine",                {1534.50,2583.20,-89.00,1848.40,2863.20,110.90}},
  418.     {"Prickle Pine",                {1117.40,2507.20,-89.00,1534.50,2723.20,110.90}},
  419.     {"Prickle Pine",                {1848.40,2553.40,-89.00,1938.80,2863.20,110.90}},
  420.     {"Prickle Pine",                {1938.80,2624.20,-89.00,2121.40,2861.50,110.90}},
  421.     {"Queens",                      {-2533.00,458.40,0.00,-2329.30,578.30,200.00}},
  422.     {"Queens",                      {-2593.40,54.70,0.00,-2411.20,458.40,200.00}},
  423.     {"Queens",                      {-2411.20,373.50,0.00,-2253.50,458.40,200.00}},
  424.     {"Randolph Industrial Estate",  {1558.00,596.30,-89.00,1823.00,823.20,110.90}},
  425.     {"Redsands East",               {1817.30,2011.80,-89.00,2106.70,2202.70,110.90}},
  426.     {"Redsands East",               {1817.30,2202.70,-89.00,2011.90,2342.80,110.90}},
  427.     {"Redsands East",               {1848.40,2342.80,-89.00,2011.90,2478.40,110.90}},
  428.     {"Redsands West",               {1236.60,1883.10,-89.00,1777.30,2142.80,110.90}},
  429.     {"Redsands West",               {1297.40,2142.80,-89.00,1777.30,2243.20,110.90}},
  430.     {"Redsands West",               {1377.30,2243.20,-89.00,1704.50,2433.20,110.90}},
  431.     {"Redsands West",               {1704.50,2243.20,-89.00,1777.30,2342.80,110.90}},
  432.     {"Regular Tom",                 {-405.70,1712.80,-3.00,-276.70,1892.70,200.00}},
  433.     {"Richman",                     {647.50,-1118.20,-89.00,787.40,-954.60,110.90}},
  434.     {"Richman",                     {647.50,-954.60,-89.00,768.60,-860.60,110.90}},
  435.     {"Richman",                     {225.10,-1369.60,-89.00,334.50,-1292.00,110.90}},
  436.     {"Richman",                     {225.10,-1292.00,-89.00,466.20,-1235.00,110.90}},
  437.     {"Richman",                     {72.60,-1404.90,-89.00,225.10,-1235.00,110.90}},
  438.     {"Richman",                     {72.60,-1235.00,-89.00,321.30,-1008.10,110.90}},
  439.     {"Richman",                     {321.30,-1235.00,-89.00,647.50,-1044.00,110.90}},
  440.     {"Richman",                     {321.30,-1044.00,-89.00,647.50,-860.60,110.90}},
  441.     {"Richman",                     {321.30,-860.60,-89.00,687.80,-768.00,110.90}},
  442.     {"Richman",                     {321.30,-768.00,-89.00,700.70,-674.80,110.90}},
  443.     {"Robada Intersection",         {-1119.00,1178.90,-89.00,-862.00,1351.40,110.90}},
  444.     {"Roca Escalante",              {2237.40,2202.70,-89.00,2536.40,2542.50,110.90}},
  445.     {"Roca Escalante",              {2536.40,2202.70,-89.00,2625.10,2442.50,110.90}},
  446.     {"Rockshore East",              {2537.30,676.50,-89.00,2902.30,943.20,110.90}},
  447.     {"Rockshore West",              {1997.20,596.30,-89.00,2377.30,823.20,110.90}},
  448.     {"Rockshore West",              {2377.30,596.30,-89.00,2537.30,788.80,110.90}},
  449.     {"Rodeo",                       {72.60,-1684.60,-89.00,225.10,-1544.10,110.90}},
  450.     {"Rodeo",                       {72.60,-1544.10,-89.00,225.10,-1404.90,110.90}},
  451.     {"Rodeo",                       {225.10,-1684.60,-89.00,312.80,-1501.90,110.90}},
  452.     {"Rodeo",                       {225.10,-1501.90,-89.00,334.50,-1369.60,110.90}},
  453.     {"Rodeo",                       {334.50,-1501.90,-89.00,422.60,-1406.00,110.90}},
  454.     {"Rodeo",                       {312.80,-1684.60,-89.00,422.60,-1501.90,110.90}},
  455.     {"Rodeo",                       {422.60,-1684.60,-89.00,558.00,-1570.20,110.90}},
  456.     {"Rodeo",                       {558.00,-1684.60,-89.00,647.50,-1384.90,110.90}},
  457.     {"Rodeo",                       {466.20,-1570.20,-89.00,558.00,-1385.00,110.90}},
  458.     {"Rodeo",                       {422.60,-1570.20,-89.00,466.20,-1406.00,110.90}},
  459.     {"Rodeo",                       {466.20,-1385.00,-89.00,647.50,-1235.00,110.90}},
  460.     {"Rodeo",                       {334.50,-1406.00,-89.00,466.20,-1292.00,110.90}},
  461.     {"Royal Casino",                {2087.30,1383.20,-89.00,2437.30,1543.20,110.90}},
  462.     {"San Andreas Sound",           {2450.30,385.50,-100.00,2759.20,562.30,200.00}},
  463.     {"Santa Flora",                 {-2741.00,458.40,-7.60,-2533.00,793.40,200.00}},
  464.     {"Santa Maria Beach",           {342.60,-2173.20,-89.00,647.70,-1684.60,110.90}},
  465.     {"Santa Maria Beach",           {72.60,-2173.20,-89.00,342.60,-1684.60,110.90}},
  466.     {"Shady Cabin",                 {-1632.80,-2263.40,-3.00,-1601.30,-2231.70,200.00}},
  467.     {"Shady Creeks",                {-1820.60,-2643.60,-8.00,-1226.70,-1771.60,200.00}},
  468.     {"Shady Creeks",                {-2030.10,-2174.80,-6.10,-1820.60,-1771.60,200.00}},
  469.     {"Sobell Rail Yards",           {2749.90,1548.90,-89.00,2923.30,1937.20,110.90}},
  470.     {"Spinybed",                    {2121.40,2663.10,-89.00,2498.20,2861.50,110.90}},
  471.     {"Starfish Casino",             {2437.30,1783.20,-89.00,2685.10,2012.10,110.90}},
  472.     {"Starfish Casino",             {2437.30,1858.10,-39.00,2495.00,1970.80,60.90}},
  473.     {"Starfish Casino",             {2162.30,1883.20,-89.00,2437.30,2012.10,110.90}},
  474.     {"Temple",                      {1252.30,-1130.80,-89.00,1378.30,-1026.30,110.90}},
  475.     {"Temple",                      {1252.30,-1026.30,-89.00,1391.00,-926.90,110.90}},
  476.     {"Temple",                      {1252.30,-926.90,-89.00,1357.00,-910.10,110.90}},
  477.     {"Temple",                      {952.60,-1130.80,-89.00,1096.40,-937.10,110.90}},
  478.     {"Temple",                      {1096.40,-1130.80,-89.00,1252.30,-1026.30,110.90}},
  479.     {"Temple",                      {1096.40,-1026.30,-89.00,1252.30,-910.10,110.90}},
  480.     {"The Camel's Toe",             {2087.30,1203.20,-89.00,2640.40,1383.20,110.90}},
  481.     {"The Clown's Pocket",          {2162.30,1783.20,-89.00,2437.30,1883.20,110.90}},
  482.     {"The Emerald Isle",            {2011.90,2202.70,-89.00,2237.40,2508.20,110.90}},
  483.     {"The Farm",                    {-1209.60,-1317.10,114.90,-908.10,-787.30,251.90}},
  484.     {"The Four Dragons Casino",     {1817.30,863.20,-89.00,2027.30,1083.20,110.90}},
  485.     {"The High Roller",             {1817.30,1283.20,-89.00,2027.30,1469.20,110.90}},
  486.     {"The Mako Span",               {1664.60,401.70,0.00,1785.10,567.20,200.00}},
  487.     {"The Panopticon",              {-947.90,-304.30,-1.10,-319.60,327.00,200.00}},
  488.     {"The Pink Swan",               {1817.30,1083.20,-89.00,2027.30,1283.20,110.90}},
  489.     {"The Sherman Dam",             {-968.70,1929.40,-3.00,-481.10,2155.20,200.00}},
  490.     {"The Strip",                   {2027.40,863.20,-89.00,2087.30,1703.20,110.90}},
  491.     {"The Strip",                   {2106.70,1863.20,-89.00,2162.30,2202.70,110.90}},
  492.     {"The Strip",                   {2027.40,1783.20,-89.00,2162.30,1863.20,110.90}},
  493.     {"The Strip",                   {2027.40,1703.20,-89.00,2137.40,1783.20,110.90}},
  494.     {"The Visage",                  {1817.30,1863.20,-89.00,2106.70,2011.80,110.90}},
  495.     {"The Visage",                  {1817.30,1703.20,-89.00,2027.40,1863.20,110.90}},
  496.     {"Unity Station",               {1692.60,-1971.80,-20.40,1812.60,-1932.80,79.50}},
  497.     {"Valle Ocultado",              {-936.60,2611.40,2.00,-715.90,2847.90,200.00}},
  498.     {"Verdant Bluffs",              {930.20,-2488.40,-89.00,1249.60,-2006.70,110.90}},
  499.     {"Verdant Bluffs",              {1073.20,-2006.70,-89.00,1249.60,-1842.20,110.90}},
  500.     {"Verdant Bluffs",              {1249.60,-2179.20,-89.00,1692.60,-1842.20,110.90}},
  501.     {"Verdant Meadows",             {37.00,2337.10,-3.00,435.90,2677.90,200.00}},
  502.     {"Verona Beach",                {647.70,-2173.20,-89.00,930.20,-1804.20,110.90}},
  503.     {"Verona Beach",                {930.20,-2006.70,-89.00,1073.20,-1804.20,110.90}},
  504.     {"Verona Beach",                {851.40,-1804.20,-89.00,1046.10,-1577.50,110.90}},
  505.     {"Verona Beach",                {1161.50,-1722.20,-89.00,1323.90,-1577.50,110.90}},
  506.     {"Verona Beach",                {1046.10,-1722.20,-89.00,1161.50,-1577.50,110.90}},
  507.     {"Vinewood",                    {787.40,-1310.20,-89.00,952.60,-1130.80,110.90}},
  508.     {"Vinewood",                    {787.40,-1130.80,-89.00,952.60,-954.60,110.90}},
  509.     {"Vinewood",                    {647.50,-1227.20,-89.00,787.40,-1118.20,110.90}},
  510.     {"Vinewood",                    {647.70,-1416.20,-89.00,787.40,-1227.20,110.90}},
  511.     {"Whitewood Estates",           {883.30,1726.20,-89.00,1098.30,2507.20,110.90}},
  512.     {"Whitewood Estates",           {1098.30,1726.20,-89.00,1197.30,2243.20,110.90}},
  513.     {"Willowfield",                 {1970.60,-2179.20,-89.00,2089.00,-1852.80,110.90}},
  514.     {"Willowfield",                 {2089.00,-2235.80,-89.00,2201.80,-1989.90,110.90}},
  515.     {"Willowfield",                 {2089.00,-1989.90,-89.00,2324.00,-1852.80,110.90}},
  516.     {"Willowfield",                 {2201.80,-2095.00,-89.00,2324.00,-1989.90,110.90}},
  517.     {"Willowfield",                 {2541.70,-1941.40,-89.00,2703.50,-1852.80,110.90}},
  518.     {"Willowfield",                 {2324.00,-2059.20,-89.00,2541.70,-1852.80,110.90}},
  519.     {"Willowfield",                 {2541.70,-2059.20,-89.00,2703.50,-1941.40,110.90}},
  520.     {"Yellow Bell Station",         {1377.40,2600.40,-21.90,1492.40,2687.30,78.00}},
  521.     {"Los Santos",                  {44.60,-2892.90,-242.90,2997.00,-768.00,900.00}},
  522.     {"Las Venturas",                {869.40,596.30,-242.90,2997.00,2993.80,900.00}},
  523.     {"Bone County",                 {-480.50,596.30,-242.90,869.40,2993.80,900.00}},
  524.     {"Tierra Robada",               {-2997.40,1659.60,-242.90,-480.50,2993.80,900.00}},
  525.     {"Tierra Robada",               {-1213.90,596.30,-242.90,-480.50,1659.60,900.00}},
  526.     {"San Fierro",                  {-2997.40,-1115.50,-242.90,-1213.90,1659.60,900.00}},
  527.     {"Red County",                  {-1213.90,-768.00,-242.90,2997.00,596.30,900.00}},
  528.     {"Flint County",                {-1213.90,-2892.90,-242.90,44.60,-768.00,900.00}},
  529.     {"Whetstone",                   {-2997.40,-2892.90,-242.90,-1213.90,-1115.50,900.00}}
  530. };
  531.  
  532. public OnFilterScriptInit()
  533. {
  534.     for(new c = 0;c < MAX_VEHICLES;c++)
  535.     {
  536.         Gas[c] = GasMAX;
  537.         Desgaste[c] = DesgasteMAX;
  538.         #if(BlindagemTodosVeiculos == 1)
  539.         Blindagem[c] = 100;
  540.         #endif
  541.     }
  542.     SetTimer("UpdateSpeedometer", 200, true);
  543.     StoppedVehicleT = SetTimer("StoppedVehicle", Time, 1);
  544.     CheckGasT = SetTimer("CheckGas", Time, 1);
  545.     CheckDesT = SetTimer("CheckDes", TimeDes, 1);
  546.     SetTimer("KMTraversed", 1000, true);
  547.    
  548.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, 1004.0070,-939.3102,42.1797, 20.0, 0, 1);
  549.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, 1944.3260,-1772.9254,13.3906, 20.0, 0, 1);
  550.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, -90.5515,-1169.4578,2.4079, 20.0, 0, 1);
  551.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, -1609.7958,-2718.2048,48.5391, 20.0, 0, 1);
  552.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, -2029.4968,156.4366,28.949, 20.0, 0, 1);
  553.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, -2408.7590,976.0934,45.4175, 20.0, 0, 1);
  554.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, -2243.9629,-2560.6477,31.8841, 20.0, 0, 1);
  555.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, -1676.6323,414.0262,6.9484, 20.0, 0, 1);
  556.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, 2202.2349,2474.3494,10.5258, 20.0, 0, 1);
  557.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, 614.9333,1689.7418,6.6968, 20.0, 0, 1);
  558.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, -1328.8250,2677.2173,49.7665, 20.0, 0, 1);
  559.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, 70.3882,1218.6783,18.5165, 20.0, 0, 1);
  560.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, 2113.7390,920.1079,10.5255, 20.0, 0, 1);
  561.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, -1327.7218,2678.8723,50.0625, 20.0, 0, 1);
  562.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, 2146.5759,2750.8442,10.6447, 20.0, 0, 1);
  563.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, 2146.8779,2739.6157,10.6435, 20.0, 0, 1);
  564.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, 1595.3046,2191.1331,10.6454, 20.0, 0, 1);
  565.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, 1596.3274,2206.7070,10.6449, 20.0, 0, 1);
  566.     Create3DTextLabel("Refueling, Tire Repair, Shield\n{FF7777}/jfsSpeedometer", -1, -736.9305,2742.6138,47.015, 20.0, 0, 1);
  567.  
  568.     return true;
  569. }
  570.  
  571. public OnFilterScriptExit()
  572. {
  573.     KillTimer(StoppedVehicleT);
  574.     KillTimer(CheckGasT);
  575.     KillTimer(CheckDesT);
  576.     for(new i=0; i<MAXPLAYERSJFS; i++)
  577.     {
  578.         TextDrawDestroy(Text:TextDrawJFS[i]);
  579.         TextDrawDestroy(Text:TextDrawJFSV[i]);
  580.     }
  581.     return true;
  582. }
  583.  
  584. public OnPlayerConnect(playerid)
  585. {
  586.     #if(POSICAO == 1)
  587.     TextDrawJFS[playerid] = TextDrawCreate(479.000000, 340.000000, "   "); // 288
  588.     TextDrawBackgroundColor(TextDrawJFS[playerid], 255);
  589.     TextDrawLetterSize(TextDrawJFS[playerid], 0.255555, 0.999999);
  590.     TextDrawFont(TextDrawJFS[playerid], 1);
  591.     TextDrawTextSize(TextDrawJFS[playerid], 630.000000,-18.000000);
  592.     TextDrawColor(TextDrawJFS[playerid], 16777215);
  593.     TextDrawSetOutline(TextDrawJFS[playerid], 0);
  594.     TextDrawSetProportional(TextDrawJFS[playerid], 1);
  595.     TextDrawSetShadow(TextDrawJFS[playerid], 1);
  596.     TextDrawUseBox(TextDrawJFS[playerid], 1);
  597.     TextDrawBoxColor(TextDrawJFS[playerid], 80);
  598.  
  599.     TextDrawJFSV[playerid] = TextDrawCreate(556.000000, 325.000000, "JFS Speedometer");
  600.     TextDrawAlignment(TextDrawJFSV[playerid], 2);
  601.     TextDrawBackgroundColor(TextDrawJFSV[playerid], 255);
  602.     TextDrawFont(TextDrawJFSV[playerid], 3);
  603.     TextDrawLetterSize(TextDrawJFSV[playerid], 0.379999, 1.299999);
  604.     TextDrawColor(TextDrawJFSV[playerid], -1);
  605.     TextDrawSetOutline(TextDrawJFSV[playerid], 1);
  606.     TextDrawSetProportional(TextDrawJFSV[playerid], 1);
  607.  
  608.     #endif
  609.     #if(POSICAO == 2)
  610.     TextDrawJFS[playerid] = TextDrawCreate(150.000000, 349.000000, "   ");
  611.     TextDrawBackgroundColor(TextDrawJFS[playerid], 255);
  612.     TextDrawLetterSize(TextDrawJFS[playerid], 0.255555, 0.999999);
  613.     TextDrawFont(TextDrawJFS[playerid], 1);
  614.     TextDrawTextSize(TextDrawJFS[playerid], 300.000000, 380.000000);
  615.     TextDrawColor(TextDrawJFS[playerid], 16777215);
  616.     TextDrawSetOutline(TextDrawJFS[playerid], 0);
  617.     TextDrawSetProportional(TextDrawJFS[playerid], 1);
  618.     TextDrawSetShadow(TextDrawJFS[playerid], 1);
  619.     TextDrawUseBox(TextDrawJFS[playerid], 1);
  620.     TextDrawBoxColor(TextDrawJFS[playerid], 80);
  621.  
  622.     TextDrawJFSV[playerid] = TextDrawCreate(224.000000, 334.000000, "JFS Speedometer");
  623.     TextDrawAlignment(TextDrawJFSV[playerid], 2);
  624.     TextDrawBackgroundColor(TextDrawJFSV[playerid], 255);
  625.     TextDrawFont(TextDrawJFSV[playerid], 3);
  626.     TextDrawLetterSize(TextDrawJFSV[playerid], 0.379999, 1.299999);
  627.     TextDrawColor(TextDrawJFSV[playerid], -1);
  628.     TextDrawSetOutline(TextDrawJFSV[playerid], 1);
  629.     TextDrawSetProportional(TextDrawJFSV[playerid], 1);
  630.     #endif
  631.     return 1;
  632. }
  633.  
  634. public OnPlayerCommandText(playerid, cmdtext[])
  635. {
  636.     return 0;
  637. }
  638.  
  639. public OnVehicleDamageStatusUpdate(vehicleid, playerid)
  640. {
  641.         if(Blindagem[vehicleid] > 0)
  642.         {
  643.             Blindagem[vehicleid] --;
  644.             RepairVehicle(vehicleid);
  645.         }
  646.         return 1;
  647. }
  648.  
  649. public OnPlayerStateChange(playerid, newstate, oldstate)
  650. {
  651.     if(newstate == PLAYER_STATE_DRIVER)
  652.     {
  653.         Speedometer = true;
  654.         UpdateSpeedometer(playerid);
  655.         TextDrawShowForPlayer(playerid, Text:TextDrawJFS[playerid]);
  656.         TextDrawShowForPlayer(playerid, Text:TextDrawJFSV[playerid]);
  657.     }
  658.     return true;
  659. }
  660.  
  661. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  662. {
  663.     if(dialogid == 4567)
  664.     {
  665.            if(response)
  666.            {
  667.                 if(listitem == 0)
  668.                 {
  669.                     new ModeloID =  GetVehicleModel(GetPlayerVehicleID(playerid));
  670.                     if(Bikes(ModeloID)) return SendClientMessage(playerid, 0x696969AA, "Can not put gasoline on a Bike!");
  671.                     olddistance = 999999;
  672.                     for(new i = 0; i < sizeof(LocaisGAS); i++)
  673.                     {
  674.                         GasX = LocaisGAS[i][0];
  675.                         GasY = LocaisGAS[i][1];
  676.                         GasZ = LocaisGAS[i][2];
  677.                         newdistance = DistanciaPosto(playerid,GasX,GasY,GasZ);
  678.                         if (newdistance < olddistance)
  679.                         {
  680.                             olddistance = newdistance;
  681.                             closest = i;
  682.                         }
  683.                     }
  684.                     GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~~n~~n~~n~~n~Abastecendo Veiculo, Aguarde...",2000,3);
  685.                     SetTimer("JFSAC", 5000,0);
  686.                     gGasBiz[playerid] = closest+12;
  687.                     Abastecendo[playerid] = 1;
  688.                     return true;
  689.                 }
  690.                 else if(listitem == 1)
  691.                 {
  692.                     new ModeloID =  GetVehicleModel(GetPlayerVehicleID(playerid));
  693.                     if(VeiculosNaoTerrestres(ModeloID)) return SendClientMessage(playerid, 0x696969AA, "This Vehicle has no tire!");
  694.                     olddistance = 999999;
  695.                     for(new i = 0; i < sizeof(LocaisGAS); i++)
  696.                     {
  697.                         GasX = LocaisGAS[i][0];
  698.                         GasY = LocaisGAS[i][1];
  699.                         GasZ = LocaisGAS[i][2];
  700.                         newdistance = DistanciaPosto(playerid,GasX,GasY,GasZ);
  701.                         if (newdistance < olddistance)
  702.                         {
  703.                             olddistance = newdistance;
  704.                             closest = i;
  705.                         }
  706.                     }
  707.                     GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~~n~~n~~n~~n~Arranging your tire, Wait ...",2000,3);
  708.                     SetTimer("JFSAC", 5000,0);
  709.                     gGasBiz[playerid] = closest+12;
  710.                     ArrumandoPneu[playerid] = 1;
  711.                     new l,pn,pa,po;
  712.                     new vehicle = GetPlayerVehicleID(playerid);
  713.                     GetVehicleDamageStatus(vehicle,pa,po,l,pn);
  714.                     UpdateVehicleDamageStatus(vehicle, pa, po, l, 0);
  715.                     return true;
  716.                 }
  717.                 else if(listitem == 2)
  718.                 {
  719.                     new ModeloID =  GetVehicleModel(GetPlayerVehicleID(playerid));
  720.                     if(Bikes(ModeloID)) return SendClientMessage(playerid, 0x696969AA, "Can not Shield the Bike!");
  721.                     new vehicle = GetPlayerVehicleID(playerid);
  722.                     GameTextForPlayer(playerid,"~r~~n~~n~~n~~n~~n~~n~~n~~n~~n~~>~ Armored! ~<~",2000,3);
  723.                     Blindagem[vehicle] = BlindagemMAX;
  724.                     SendClientMessage(playerid, -1, "You spent $ 10,000 To Shield your Vehicle!");
  725.                     GivePlayerMoney(playerid, - 10000);
  726.                     return true;
  727.                 }
  728.            }
  729.            return true;
  730.     }
  731.     return 1;
  732. }
  733.  
  734. COMMAND:refuel(playerid, params[])
  735. {
  736.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xAFAFAFAA,"Do not you are in a vehicle.");
  737.     if(!NoPosto(playerid)) return SendClientMessage(playerid,0xAFAFAFAA,"You're not in a gas station.");
  738.     ShowPlayerDialog(playerid, 4567, DIALOG_STYLE_LIST, "JFS Speedometer v1.0 English - Panel", "Put gasoline\nArrange tire - $ 200\nShield vehicle - $ 10.000", "Select", "Close");
  739.     return true;
  740. }
  741. COMMAND:leavingvehicle(playerid, params[])
  742. {
  743.     if(OutOfGas[playerid] == 1)
  744.     {
  745.         TogglePlayerControllable(playerid, 1);
  746.         RemovePlayerFromVehicle(playerid);
  747.         OutOfGas[playerid] = 0;
  748.     }
  749.     return true;
  750. }
  751.  
  752.  
  753. public Float:DistanciaPosto(p1,Float:px,Float:py,Float:pz)
  754. {
  755.     if(!IsPlayerConnected(p1))
  756.         return -1.00;
  757.  
  758.     GetPlayerPos(p1,x1,y1,z1);
  759.     x2 = px;
  760.     y2 = py;
  761.     z2 = pz;
  762.     return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  763. }
  764.  
  765. public NoPosto(playerid)
  766. {
  767.     if(IsPlayerConnected(playerid))
  768.     {
  769.         if(IsPlayerInRangeOfPoint(playerid,6.0,1004.0070,-939.3102,42.1797) || IsPlayerInRangeOfPoint(playerid,6.0,1944.3260,-1772.9254,13.3906))
  770.         {//LS
  771.             return 1;
  772.         }
  773.         else if(IsPlayerInRangeOfPoint(playerid,6.0,-90.5515,-1169.4578,2.4079) || IsPlayerInRangeOfPoint(playerid,6.0,-1609.7958,-2718.2048,48.5391))
  774.         {//LS
  775.             return 1;
  776.         }
  777.         else if(IsPlayerInRangeOfPoint(playerid,6.0,-2029.4968,156.4366,28.9498) || IsPlayerInRangeOfPoint(playerid,8.0,-2408.7590,976.0934,45.4175))
  778.         {//SF
  779.             return 1;
  780.         }
  781.         else if(IsPlayerInRangeOfPoint(playerid,5.0,-2243.9629,-2560.6477,31.8841) || IsPlayerInRangeOfPoint(playerid,8.0,-1676.6323,414.0262,6.9484))
  782.         {//Between LS and SF
  783.             return 1;
  784.         }
  785.         else if(IsPlayerInRangeOfPoint(playerid,6.0,2202.2349,2474.3494,10.5258) || IsPlayerInRangeOfPoint(playerid,10.0,614.9333,1689.7418,6.6968))
  786.         {//LV
  787.             return 1;
  788.         }
  789.         else if(IsPlayerInRangeOfPoint(playerid,8.0,-1328.8250,2677.2173,49.7665) || IsPlayerInRangeOfPoint(playerid,6.0,70.3882,1218.6783,18.5165))
  790.         {//LV
  791.             return 1;
  792.         }
  793.         else if(IsPlayerInRangeOfPoint(playerid,8.0,2113.7390,920.1079,10.5255) || IsPlayerInRangeOfPoint(playerid,6.0,-1327.7218,2678.8723,50.0625))
  794.         {//LV
  795.             return 1;
  796.         }
  797.         else if(IsPlayerInRangeOfPoint(playerid,8.0,2146.5759,2750.8442,10.6447) || IsPlayerInRangeOfPoint(playerid,6.0,2146.8779,2739.6157,10.6435))
  798.         {//LV2
  799.             return 1;
  800.         }
  801.         else if(IsPlayerInRangeOfPoint(playerid,8.0,1595.3046,2191.1331,10.6454) || IsPlayerInRangeOfPoint(playerid,6.0,1596.3274,2206.7070,10.6449))
  802.         {//LV3
  803.             return 1;
  804.         }
  805.         else if(IsPlayerInRangeOfPoint(playerid,8.0,-736.9305,2742.6138,47.0158))
  806.         {//Landtankstelle
  807.             return 1;
  808.         }
  809.     }
  810.     return 0;
  811. }
  812.  
  813. public CheckDes()
  814. {
  815.     for(new i=0;i<MAXPLAYERSJFS;i++)
  816.     {
  817.         if(IsPlayerConnected(i))
  818.         {
  819.             if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
  820.             {
  821.                 new l,pn,pa,po;
  822.                 new vehicle = GetPlayerVehicleID(i);
  823.                 if(Desgaste[vehicle] >= 1)
  824.                 {
  825.                     Desgaste[vehicle]--;
  826.                 }
  827.                 new VGas[MAXPLAYERSJFS];
  828.                 if(Desgaste[vehicle] == 15)
  829.                 {
  830.                     VGas[i] = 1;
  831.                     if(VGas[i] == 1)
  832.                     {
  833.                         SendClientMessage(i, -1, "Your tire is Worn out and the tire was punctured right front, Go to gas staation arrange !");
  834.                         GetVehicleDamageStatus(vehicle,pa,po,l,pn);
  835.                         UpdateVehicleDamageStatus(vehicle, pa, po, l, 2);
  836.                     }
  837.                 }
  838.                 if(Desgaste[vehicle] == 14)
  839.                 {
  840.                     VGas[i] = 0;
  841.                 }
  842.                 if(Desgaste[vehicle] == 10)
  843.                 {
  844.                     VGas[i] = 1;
  845.                     if(VGas[i] == 1)
  846.                     {
  847.                         SendClientMessage(i, -1, "Your tire is Worn out and the tire was punctured left front, Go to gas staation arrange !");
  848.                         GetVehicleDamageStatus(vehicle,pa,po,l,pn);
  849.                         UpdateVehicleDamageStatus(vehicle, pa, po, l, 10);
  850.                     }
  851.                 }
  852.                 if(Desgaste[vehicle] == 9)
  853.                 {
  854.                     VGas[i] = 0;
  855.                 }
  856.                 if(Desgaste[vehicle] == 5)
  857.                 {
  858.                     VGas[i] = 1;
  859.                     if(VGas[i] == 1)
  860.                     {
  861.                         SendClientMessage(i, -1, "This is your last chance to go in gas station arrange your tire!");
  862.                         GetVehicleDamageStatus(vehicle,pa,po,l,pn);
  863.                         UpdateVehicleDamageStatus(vehicle, pa, po, l, 11);
  864.                     }
  865.                 }
  866.                 if(Desgaste[vehicle] == 4)
  867.                 {
  868.                     VGas[i] = 0;
  869.                 }
  870.                 if(Desgaste[vehicle] == 1)
  871.                 {
  872.                     VGas[i] = 1;
  873.                     if(VGas[i] == 1)
  874.                     {
  875.                         OutOfGas[i] = 1;
  876.                         SendClientMessage(i, -1, "Your tire have be punctured, get out of the car!");
  877.                         GetVehicleDamageStatus(vehicle,pa,po,l,pn);
  878.                         UpdateVehicleDamageStatus(vehicle, pa, po, l, 15);
  879.                     }
  880.                 }
  881.                 if(Desgaste[vehicle] == 0)
  882.                 {
  883.                     VGas[i] = 0;
  884.                 }
  885.             }
  886.         }
  887.     }
  888.     return 1;
  889. }
  890.  
  891. public CheckGas()
  892. {
  893.     for(new i=0;i<MAXPLAYERSJFS;i++)
  894.     {
  895.         if(IsPlayerConnected(i))
  896.         {
  897.             new vehicle = GetPlayerVehicleID(i);
  898.             if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
  899.             {
  900.                 if(Gas[vehicle] >= 1)
  901.                 {
  902.                     Gas[vehicle]--;
  903.                 }
  904.                 if(Gas[vehicle] < 1)
  905.                 {
  906.                     OutOfGas[i] = 1;
  907.                     TogglePlayerControllable(i, 0);
  908.                     SendClientMessage(i, -1, "Finished gasoline ! Use /leavingvehicle to exit the vehicle.");
  909.                 }
  910.             }
  911.         }
  912.     }
  913.     return 1;
  914. }
  915.  
  916. public StoppedVehicle()
  917. {
  918.     for(new i=0; i<MAXPLAYERSJFS; i++)
  919.     {
  920.         if(IsPlayerConnected(i))
  921.         {
  922.             if(IsPlayerInAnyVehicle(i))
  923.             {
  924.                 GetPlayerPos(i, x, y, z);
  925.                 distance = floatsqroot(floatpower(floatabs(floatsub(x,SavePlayerPos[i][LastX])),2)+floatpower(floatabs(floatsub(y,SavePlayerPos[i][LastY])),2)+floatpower(floatabs(floatsub(z,SavePlayerPos[i][LastZ])),2));
  926.                 Valor = floatround(distance * 3600);
  927.                 if(UpdateSeconds > 1)
  928.                 {
  929.                     Valor = floatround(Valor / UpdateSeconds);
  930.                 }
  931.                 if(Valor == 0)
  932.                 {
  933.                     Gas[GetPlayerVehicleID(i)]++;
  934.                     Desgaste[GetPlayerVehicleID(i)]++;
  935.                 }
  936.                 SavePlayerPos[i][LastX] = x;
  937.                 SavePlayerPos[i][LastY] = y;
  938.                 SavePlayerPos[i][LastZ] = z;
  939.             }
  940.         }
  941.     }
  942.     return 1;
  943. }
  944.  
  945. public JFSAC()
  946. {
  947.     for(new i=0; i<MAXPLAYERSJFS; i++)
  948.     {
  949.         if(IsPlayerConnected(i))
  950.         {
  951.             if(Abastecendo[i] == 1)
  952.             {
  953.                 JFSAACC = GasMAX - Gas[GetPlayerVehicleID(i)];
  954.                 JFSACPreco = JFSAACC * 10;
  955.                 if(GetPlayerMoney(i) >= JFSACPreco)
  956.                 {
  957.                     Gas[GetPlayerVehicleID(i)] += JFSAACC;
  958.                     format(Celula,sizeof(Celula),"you load your vehicle $ %d",JFSACPreco);
  959.                     SendClientMessage(i,0x33CCFFAA, Celula);
  960.                     GivePlayerMoney(i,-JFSACPreco);
  961.                     if(JFSACPreco > 0)
  962.                     JFSACPreco = 0;
  963.                     Abastecendo[i] = 0;
  964.                 }
  965.                 else
  966.                 {
  967.                     format(Celula,sizeof(Celula),"you don't have money to fuel their vehicle. ($ %d)",JFSACPreco);
  968.                     SendClientMessage(i,0x33CCFFAA,Celula);
  969.                 }
  970.             }
  971.             if(ArrumandoPneu[i] == 1)
  972.             {
  973.                 if(GetPlayerMoney(i) >= 2000)
  974.                 {
  975.                     Desgaste[GetPlayerVehicleID(i)] = 100;
  976.                     format(Celula,sizeof(Celula),"you fixed the tire of your vehicle ($ 200)");
  977.                     SendClientMessage(i,0x33CCFFAA, Celula);
  978.                     GivePlayerMoney(i, -2000);
  979.                 }
  980.                 else
  981.                 {
  982.                     format(Celula,sizeof(Celula),"you don't have money to fix the tire ($ 200)");
  983.                     SendClientMessage(i,0x33CCFFAA,Celula);
  984.                 }
  985.             }
  986.         }
  987.     }
  988.     return 1;
  989. }
  990.  
  991. stock PlayerInZone(playerid, Zone[], String)
  992. {
  993.     GetPlayerPos(playerid, x, y, z);
  994.     for(new i = 0; i != sizeof(ZoneLS); i++ )
  995.     {
  996.         if(x >= ZoneLS[i][Zone_Coords][0] && x <= ZoneLS[i][Zone_Coords][3] && y >= ZoneLS[i][Zone_Coords][1] && y <= ZoneLS[i][Zone_Coords][4])
  997.         {
  998.             return format(Zone, String, ZoneLS[i][Zone_Nomes], 0);
  999.         }
  1000.     }
  1001.     return 0;
  1002. }
  1003.  
  1004. stock GetPlayerSpeed(playerid)
  1005. {
  1006.     new Float:ST[4];
  1007.     if(IsPlayerInAnyVehicle(playerid))
  1008.     GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
  1009.     else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
  1010.     ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 179.28625;
  1011.     return floatround(ST[3]);
  1012. }
  1013.  
  1014. forward UpdateSpeedometer(playerid);
  1015. public UpdateSpeedometer(playerid)
  1016. {
  1017.     if(Speedometer == true)
  1018.     {
  1019.         if(IsPlayerInAnyVehicle(playerid))
  1020.         {
  1021.             new vehicleid = GetPlayerVehicleID(playerid);
  1022.             new CVel[200], Float:SangueV;
  1023.             GetVehicleHealth(vehicleid, SangueV);
  1024.             PlayerInZone(playerid, ZoneSA, MAXZN);
  1025.             new ModeloID =  GetVehicleModel(GetPlayerVehicleID(playerid));
  1026.             if(VeiculosNaoTerrestres(ModeloID))
  1027.             {
  1028.                 format(CVel,sizeof(CVel),"~p~%d ~g~KM/H~n~~p~KM Traveled: ~g~%d~n~~p~Location: ~g~%s~n~~p~Vehicle Name: ~g~%s~n~~p~Bodywork: ~g~%d%%~n~~p~Gas: ~g~%d%%~n~~p~Shield: ~g~%d%", GetPlayerSpeed(playerid), KMP[vehicleid], ZoneSA, NomesVeiculos[GetVehicleModel(vehicleid)-400], floatround(SangueV)/10, Gas[vehicleid], Blindagem[vehicleid]);
  1029.                 TextDrawSetString(Text:TextDrawJFS[playerid], CVel);
  1030.             }
  1031.             else if(Bikes(ModeloID))
  1032.             {
  1033.                 format(CVel,sizeof(CVel),"~p~%d ~g~KM/H~n~~p~KM Traveled: ~g~%d~n~~p~Location: ~g~%s~n~~p~Vehicle Name: ~g~%s~n~~p~Bodywork: ~g~%d%%~n~~p~Tire wear: ~g~%d%%~n~~p~Shield: ~g~%d%", GetPlayerSpeed(playerid), KMP[vehicleid], ZoneSA, NomesVeiculos[GetVehicleModel(vehicleid)-400], floatround(SangueV)/10, Desgaste[vehicleid], Blindagem[vehicleid]);
  1034.                 TextDrawSetString(Text:TextDrawJFS[playerid], CVel);
  1035.             }
  1036.             else if(!VeiculosNaoTerrestres(ModeloID) && !Bikes(ModeloID))
  1037.             {
  1038.                 format(CVel,sizeof(CVel),"~p~%d ~g~KM/H~n~~p~KM Traveled: ~g~%d~n~~p~Location: ~g~%s~n~~p~Vehicle Name: ~g~%s~n~~p~Bodywork: ~g~%d%%~n~~p~Gas: ~g~%d%%~n~~p~Tire wear: ~g~%d%%~n~~p~Shield: ~g~%d%", GetPlayerSpeed(playerid), KMP[vehicleid], ZoneSA, NomesVeiculos[GetVehicleModel(vehicleid)-400], floatround(SangueV)/10, Gas[vehicleid], Desgaste[vehicleid], Blindagem[vehicleid]);
  1039.                 TextDrawSetString(Text:TextDrawJFS[playerid], CVel);
  1040.             }
  1041.         }
  1042.         else
  1043.         {
  1044.             TextDrawHideForPlayer(playerid, Text:TextDrawJFS[playerid]);
  1045.             TextDrawHideForPlayer(playerid, Text:TextDrawJFSV[playerid]);
  1046.             Speedometer = false;
  1047.         }
  1048.     }
  1049.     return true;
  1050. }
  1051. forward KMTraversed(playerid);
  1052. public KMTraversed(playerid)
  1053. {
  1054.         if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  1055.         {
  1056.                 new vehicle = GetPlayerVehicleID(playerid);
  1057.                 static Float:PosX,Float:PosY,Float:PosZ;
  1058.                 GetVehicleVelocity(vehicle, PosX, PosY, PosZ);
  1059.                 // Codigo Abaixo Por DranKinS
  1060.                 KMP[vehicle] += (floatround(floatmul(((floatmul(floatsqroot(floatadd(floatadd(floatpower(PosX, 2), floatpower(PosY, 2)),  floatpower(PosZ, 2))), 170.0) * 1)),1000)) / 3600);
  1061.         }
  1062.         return true;
  1063. }
  1064.  
  1065. forward VeiculosNaoTerrestres(ID);
  1066. public VeiculosNaoTerrestres(ID)
  1067. {
  1068.     if(ID == 417 || ID == 425 || ID == 430 || ID == 435 || ID == 446 || ID == 447 || ID == 449 || ID == 450 || ID == 452 ||
  1069.     ID == 453 || ID == 454 || ID == 460 || ID == 464 || ID == 465 || ID == 472 || ID == 473 || ID == 484 || ID == 487 || ID == 488 ||
  1070.     ID == 493 || ID == 501 || ID == 511 || ID == 512 || ID == 513 || ID == 519 || ID == 520 ||
  1071.     ID == 539 || ID == 548 || ID == 553 || ID == 563 || ID == 577 || ID == 592 || ID == 593 || ID == 594 || ID == 595)
  1072.     {
  1073.         return true;
  1074.     }
  1075.     return false;
  1076. }
  1077.  
  1078. forward Bikes(ID);
  1079. public Bikes(ID)
  1080. {
  1081.     if(ID == 481 || ID == 509 || ID == 510)
  1082.     {
  1083.         return true;
  1084.     }
  1085.     return false;
  1086. }
Add Comment
Please, Sign In to add comment