Advertisement
JonathanFeitosa

JFS Velocimetro v2.0 ZCMD

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