27.09.2013, 02:18
Sistema de veнculo prуprio - Set
» Introduзгo:
• O sistema й simples, tendo como objetivo a criaзгo de veнculo que possam ser dirigidos apenas
pelos seus respectivos donos, o sistema consta com salvamento em arquivos .ini e carregamento.
» Funзoes:
• Somente um administrador RCON pode setar veнculos prуprios,
o veнculo sу poderб ser dirigido pelo seu respectivo dono,
cada veнculo pode conter uma mensagem de no mбximo 15 caracteres a escolhe de seu dono,
Caso perca ou esqueзa onde seu veнculo estб estacionado, o sistema contem um rastreador entre outras funзхes.
» Comandos:
• /SetarVeh [ Jogador ID] [ ID Veнculo ] [ Cor 1] [ Cor 2 ]
• /MeuSet
• /PintarSet
• /RespawnarSet
• /EstacionarSet
• /EmplacarSet [ Placa ]
• /MensagemSet [ Nome ]
• /LocalizarSet[ ID ]
• /LocalizarSetOff
» Imagens:
• Ao setar o veнculo:
• Veнculo de outro Dono:
• Mensagem Set:
• Lista dos comandos:
• Rastreador - GPS:
» Cуdigo:
• O code do sistema consta com as seguintes includes: DOF2 - zcmd - sscanf2 - streamer - a_samp
e com o plugin: streamer ( .dll para windows e .so para Linux )
Agradeзo aos criadores das includes citadas acima.
Код:
/* ------------------------------------------------------------------- FilterScript Sistema de veнculo prуprio criado por Maklister Arquivos necessбrios: includes a_samp, sscanf2, DOF2, zcmd, streamer Plugins streamer.dll ( Windows ) - streamer.so ( Linux ) Pasta SeuServidor\scriptfiles\Carros Crйditos: Maklister: Criaзгo do cуdigo e desenvolvimento SAMP Team, Zeex, Double o seven, ****** ----------------------------------------------------------------------- */ // --------[ Includes ]----------- #include < a_samp > #include < sscanf2 > #include < streamer > #include < zcmd > #include < DOF2 > // --------[ Defines ] ----------- #define MAX_CARROS 100 #define DIALOG_CMDSET 101 #define AMARELO 0xE8E800AA #define VERDE_CLARO 0x00FF00AA #define VERMELHO_ESCURO 0xFC0000FF #if defined MAX_PLAYERS #undef MAX_PLAYERS #define MAX_PLAYERS 100 #endif // --------[ New's ] ------------ new SetProprio = 0, Set[MAX_CARROS], Text3D:Textcarro[MAX_CARROS], GPSTimerCar[MAX_PLAYERS], Text:LocalizarDistancia[MAX_PLAYERS], Text:LocalizarLocalizacao[MAX_PLAYERS], bool: NaoUsado[MAX_VEHICLES] ; new NomeCarro[212][] = { "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel", "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife", "Trailer 1", "Previon", "Coach", "Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer 2", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic", "Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX", "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking", "Blista Compact", "Police Maverick", "Boxville", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster","Stunt", "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune", "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer", "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Firetruck LA", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite", "Windsor", "Monster A", "Monster B", "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer 3", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club", "Freight Carriage", "Trailer 4", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car (LSPD)", "Police Car (SFPD)", "Police Car (LVPD)", "Police Ranger", "Picador", "S.W.A.T", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage Trailer A", "Luggage Trailer B", "Stairs", "BoxVille", "Tiller", "Utility Trailer" }; enum GPSInfo { zone_name[30], Float:zone_minx, Float:zone_miny, Float:zone_minz, Float:zone_maxx, Float:zone_maxy, Float:zone_maxz } new Float:Zones[][GPSInfo] = { { "The Big Ear", -410.00, 1403.30, -3.00, -137.90, 1681.20, 200.00}, { "Aldea Malvada", -1372.10, 2498.50, 0.00, -1277.50, 2615.30, 200.00}, { "Angel Pine", -2324.90, -2584.20, -6.10, -1964.20, -2212.10, 200.00}, { "Arco del Oeste", -901.10, 2221.80, 0.00, -592.00, 2571.90, 200.00}, { "Avispa Country Club", -2646.40, -355.40, 0.00, -2270.00, -222.50, 200.00}, { "Avispa Country Club", -2831.80, -430.20, -6.10, -2646.40, -222.50, 200.00}, { "Avispa Country Club", -2361.50, -417.10, 0.00, -2270.00, -355.40, 200.00}, { "Avispa Country Club", -2667.80, -302.10, -28.80, -2646.40, -262.30, 71.10}, { "Avispa Country Club", -2470.00, -355.40, 0.00, -2270.00, -318.40, 46.10}, { "Avispa Country Club", -2550.00, -355.40, 0.00, -2470.00, -318.40, 39.70}, { "Back o Beyond", -1166.90, -2641.10, 0.00, -321.70, -1856.00, 200.00}, { "Battery Point", -2741.00, 1268.40, -4.50, -2533.00, 1490.40, 200.00}, { "Bayside", -2741.00, 2175.10, 0.00, -2353.10, 2722.70, 200.00}, { "Bayside Marina", -2353.10, 2275.70, 0.00, -2153.10, 2475.70, 200.00}, { "Beacon Hill", -399.60, -1075.50, -1.40, -319.00, -977.50, 198.50}, { "Blackfield", 964.30, 1203.20, -89.00, 1197.30, 1403.20, 110.90}, { "Blackfield", 964.30, 1403.20, -89.00, 1197.30, 1726.20, 110.90}, { "Blackfield Chapel", 1375.60, 596.30, -89.00, 1558.00, 823.20, 110.90}, { "Blackfield Chapel", 1325.60, 596.30, -89.00, 1375.60, 795.00, 110.90}, { "Blackfield Intersection", 1197.30, 1044.60, -89.00, 1277.00, 1163.30, 110.90}, { "Blackfield Intersection", 1166.50, 795.00, -89.00, 1375.60, 1044.60, 110.90}, { "Blackfield Intersection", 1277.00, 1044.60, -89.00, 1315.30, 1087.60, 110.90}, { "Blackfield Intersection", 1375.60, 823.20, -89.00, 1457.30, 919.40, 110.90}, { "Blueberry", 104.50, -220.10, 2.30, 349.60, 152.20, 200.00}, { "Blueberry", 19.60, -404.10, 3.80, 349.60, -220.10, 200.00}, { "Blueberry Acres", -319.60, -220.10, 0.00, 104.50, 293.30, 200.00}, { "Caligula's Palace", 2087.30, 1543.20, -89.00, 2437.30, 1703.20, 110.90}, { "Caligula's Palace", 2137.40, 1703.20, -89.00, 2437.30, 1783.20, 110.90}, { "Calton Heights", -2274.10, 744.10, -6.10, -1982.30, 1358.90, 200.00}, { "Chinatown", -2274.10, 578.30, -7.60, -2078.60, 744.10, 200.00}, { "City Hall", -2867.80, 277.40, -9.10, -2593.40, 458.40, 200.00}, { "Come-A-Lot", 2087.30, 943.20, -89.00, 2623.10, 1203.20, 110.90}, { "Commerce", 1323.90, -1842.20, -89.00, 1701.90, -1722.20, 110.90}, { "Commerce", 1323.90, -1722.20, -89.00, 1440.90, -1577.50, 110.90}, { "Commerce", 1370.80, -1577.50, -89.00, 1463.90, -1384.90, 110.90}, { "Commerce", 1463.90, -1577.50, -89.00, 1667.90, -1430.80, 110.90}, { "Commerce", 1583.50, -1722.20, -89.00, 1758.90, -1577.50, 110.90}, { "Commerce", 1667.90, -1577.50, -89.00, 1812.60, -1430.80, 110.90}, { "Conference Center", 1046.10, -1804.20, -89.00, 1323.90, -1722.20, 110.90}, { "Conference Center", 1073.20, -1842.20, -89.00, 1323.90, -1804.20, 110.90}, { "Cranberry Station", -2007.80, 56.30, 0.00, -1922.00, 224.70, 100.00}, { "Creek", 2749.90, 1937.20, -89.00, 2921.60, 2669.70, 110.90}, { "Dillimore", 580.70, -674.80, -9.50, 861.00, -404.70, 200.00}, { "Doherty", -2270.00, -324.10, -0.00, -1794.90, -222.50, 200.00}, { "Doherty", -2173.00, -222.50, -0.00, -1794.90, 265.20, 200.00}, { "Downtown", -1982.30, 744.10, -6.10, -1871.70, 1274.20, 200.00}, { "Downtown", -1871.70, 1176.40, -4.50, -1620.30, 1274.20, 200.00}, { "Downtown", -1700.00, 744.20, -6.10, -1580.00, 1176.50, 200.00}, { "Downtown", -1580.00, 744.20, -6.10, -1499.80, 1025.90, 200.00}, { "Downtown", -2078.60, 578.30, -7.60, -1499.80, 744.20, 200.00}, { "Downtown", -1993.20, 265.20, -9.10, -1794.90, 578.30, 200.00}, { "Downtown Los Santos", 1463.90, -1430.80, -89.00, 1724.70, -1290.80, 110.90}, { "Downtown Los Santos", 1724.70, -1430.80, -89.00, 1812.60, -1250.90, 110.90}, { "Downtown Los Santos", 1463.90, -1290.80, -89.00, 1724.70, -1150.80, 110.90}, { "Downtown Los Santos", 1370.80, -1384.90, -89.00, 1463.90, -1170.80, 110.90}, { "Downtown Los Santos", 1724.70, -1250.90, -89.00, 1812.60, -1150.80, 110.90}, { "Downtown Los Santos", 1370.80, -1170.80, -89.00, 1463.90, -1130.80, 110.90}, { "Downtown Los Santos", 1378.30, -1130.80, -89.00, 1463.90, -1026.30, 110.90}, { "Downtown Los Santos", 1391.00, -1026.30, -89.00, 1463.90, -926.90, 110.90}, { "Downtown Los Santos", 1507.50, -1385.20, 110.90, 1582.50, -1325.30, 335.90}, { "East Beach", 2632.80, -1852.80, -89.00, 2959.30, -1668.10, 110.90}, { "East Beach", 2632.80, -1668.10, -89.00, 2747.70, -1393.40, 110.90}, { "East Beach", 2747.70, -1668.10, -89.00, 2959.30, -1498.60, 110.90}, { "East Beach", 2747.70, -1498.60, -89.00, 2959.30, -1120.00, 110.90}, { "East Los Santos", 2421.00, -1628.50, -89.00, 2632.80, -1454.30, 110.90}, { "East Los Santos", 2222.50, -1628.50, -89.00, 2421.00, -1494.00, 110.90}, { "East Los Santos", 2266.20, -1494.00, -89.00, 2381.60, -1372.00, 110.90}, { "East Los Santos", 2381.60, -1494.00, -89.00, 2421.00, -1454.30, 110.90}, { "East Los Santos", 2281.40, -1372.00, -89.00, 2381.60, -1135.00, 110.90}, { "East Los Santos", 2381.60, -1454.30, -89.00, 2462.10, -1135.00, 110.90}, { "East Los Santos", 2462.10, -1454.30, -89.00, 2581.70, -1135.00, 110.90}, { "Easter Basin", -1794.90, 249.90, -9.10, -1242.90, 578.30, 200.00}, { "Easter Basin", -1794.90, -50.00, -0.00, -1499.80, 249.90, 200.00}, { "Aeroporto de Easter Bay", -1499.80, -50.00, -0.00, -1242.90, 249.90, 200.00}, { "Aeroporto de Easter Bay", -1794.90, -730.10, -3.00, -1213.90, -50.00, 200.00}, { "Aeroporto de Easter Bay", -1213.90, -730.10, 0.00, -1132.80, -50.00, 200.00}, { "Aeroporto de Easter Bay", -1242.90, -50.00, 0.00, -1213.90, 578.30, 200.00}, { "Aeroporto de Easter Bay", -1213.90, -50.00, -4.50, -947.90, 578.30, 200.00}, { "Aeroporto de Easter Bay", -1315.40, -405.30, 15.40, -1264.40, -209.50, 25.40}, { "Aeroporto de Easter Bay", -1354.30, -287.30, 15.40, -1315.40, -209.50, 25.40}, { "Aeroporto de Easter Bay", -1490.30, -209.50, 15.40, -1264.40, -148.30, 25.40}, { "Easter Bay Chemicals", -1132.80, -768.00, 0.00, -956.40, -578.10, 200.00}, { "Easter Bay Chemicals", -1132.80, -787.30, 0.00, -956.40, -768.00, 200.00}, { "El Castillo del Diablo", -464.50, 2217.60, 0.00, -208.50, 2580.30, 200.00}, { "El Castillo del Diablo", -208.50, 2123.00, -7.60, 114.00, 2337.10, 200.00}, { "El Castillo del Diablo", -208.50, 2337.10, 0.00, 8.40, 2487.10, 200.00}, { "El Corona", 1812.60, -2179.20, -89.00, 1970.60, -1852.80, 110.90}, { "El Corona", 1692.60, -2179.20, -89.00, 1812.60, -1842.20, 110.90}, { "El Quebrados", -1645.20, 2498.50, 0.00, -1372.10, 2777.80, 200.00}, { "Esplanade East", -1620.30, 1176.50, -4.50, -1580.00, 1274.20, 200.00}, { "Esplanade East", -1580.00, 1025.90, -6.10, -1499.80, 1274.20, 200.00}, { "Esplanade East", -1499.80, 578.30, -79.60, -1339.80, 1274.20, 20.30}, { "Esplanade North", -2533.00, 1358.90, -4.50, -1996.60, 1501.20, 200.00}, { "Esplanade North", -1996.60, 1358.90, -4.50, -1524.20, 1592.50, 200.00}, { "Esplanade North", -1982.30, 1274.20, -4.50, -1524.20, 1358.90, 200.00}, { "Fallen Tree", -792.20, -698.50, -5.30, -452.40, -380.00, 200.00}, { "Fallow Bridge", 434.30, 366.50, 0.00, 603.00, 555.60, 200.00}, { "Fern Ridge", 508.10, -139.20, 0.00, 1306.60, 119.50, 200.00}, { "Financial", -1871.70, 744.10, -6.10, -1701.30, 1176.40, 300.00}, { "Fisher's Lagoon", 1916.90, -233.30, -100.00, 2131.70, 13.80, 200.00}, { "Flint Intersection", -187.70, -1596.70, -89.00, 17.00, -1276.60, 110.90}, { "Flint Range", -594.10, -1648.50, 0.00, -187.70, -1276.60, 200.00}, { "Fort Carson", -376.20, 826.30, -3.00, 123.70, 1220.40, 200.00}, { "Foster Valley", -2270.00, -430.20, -0.00, -2178.60, -324.10, 200.00}, { "Foster Valley", -2178.60, -599.80, -0.00, -1794.90, -324.10, 200.00}, { "Foster Valley", -2178.60, -1115.50, 0.00, -1794.90, -599.80, 200.00}, { "Foster Valley", -2178.60, -1250.90, 0.00, -1794.90, -1115.50, 200.00}, { "Frederick Bridge", 2759.20, 296.50, 0.00, 2774.20, 594.70, 200.00}, { "Gant Bridge", -2741.40, 1659.60, -6.10, -2616.40, 2175.10, 200.00}, { "Gant Bridge", -2741.00, 1490.40, -6.10, -2616.40, 1659.60, 200.00}, { "Ganton", 2222.50, -1852.80, -89.00, 2632.80, -1722.30, 110.90}, { "Ganton", 2222.50, -1722.30, -89.00, 2632.80, -1628.50, 110.90}, { "Garcia", -2411.20, -222.50, -0.00, -2173.00, 265.20, 200.00}, { "Garcia", -2395.10, -222.50, -5.30, -2354.00, -204.70, 200.00}, { "Garver Bridge", -1339.80, 828.10, -89.00, -1213.90, 1057.00, 110.90}, { "~yGarver Bridge", -1213.90, 950.00, -89.00, -1087.90, 1178.90, 110.90}, { "Garver Bridge", -1499.80, 696.40, -179.60, -1339.80, 925.30, 20.30}, { "Parque Glen", 1812.60, -1449.60, -89.00, 1996.90, -1350.70, 110.90}, { "Parque Glen", 1812.60, -1100.80, -89.00, 1994.30, -973.30, 110.90}, { "Parque Glen", 1812.60, -1350.70, -89.00, 2056.80, -1100.80, 110.90}, { "Green Palms", 176.50, 1305.40, -3.00, 338.60, 1520.70, 200.00}, { "Greenglass College", 964.30, 1044.60, -89.00, 1197.30, 1203.20, 110.90}, { "Greenglass College", 964.30, 930.80, -89.00, 1166.50, 1044.60, 110.90}, { "Hampton Barns", 603.00, 264.30, 0.00, 761.90, 366.50, 200.00}, { "Hankypanky Point", 2576.90, 62.10, 0.00, 2759.20, 385.50, 200.00}, { "Harry Gold Parkway", 1777.30, 863.20, -89.00, 1817.30, 2342.80, 110.90}, { "Hashbury", -2593.40, -222.50, -0.00, -2411.20, 54.70, 200.00}, { "Hilltop Farm", 967.30, -450.30, -3.00, 1176.70, -217.90, 200.00}, { "Hunter Quarry", 337.20, 710.80, -115.20, 860.50, 1031.70, 203.70}, { "Idlewood", 1812.60, -1852.80, -89.00, 1971.60, -1742.30, 110.90}, { "Idlewood", 1812.60, -1742.30, -89.00, 1951.60, -1602.30, 110.90}, { "Idlewood", 1951.60, -1742.30, -89.00, 2124.60, -1602.30, 110.90}, { "Idlewood", 1812.60, -1602.30, -89.00, 2124.60, -1449.60, 110.90}, { "Idlewood", 2124.60, -1742.30, -89.00, 2222.50, -1494.00, 110.90}, { "Idlewood", 1971.60, -1852.80, -89.00, 2222.50, -1742.30, 110.90}, { "Jefferson", 1996.90, -1449.60, -89.00, 2056.80, -1350.70, 110.90}, { "Jefferson", 2124.60, -1494.00, -89.00, 2266.20, -1449.60, 110.90}, { "Jefferson", 2056.80, -1372.00, -89.00, 2281.40, -1210.70, 110.90}, { "Jefferson", 2056.80, -1210.70, -89.00, 2185.30, -1126.30, 110.90}, { "Jefferson", 2185.30, -1210.70, -89.00, 2281.40, -1154.50, 110.90}, { "Jefferson", 2056.80, -1449.60, -89.00, 2266.20, -1372.00, 110.90}, { "Julius Thruway East", 2623.10, 943.20, -89.00, 2749.90, 1055.90, 110.90}, { "Julius Thruway East", 2685.10, 1055.90, -89.00, 2749.90, 2626.50, 110.90}, { "Julius Thruway East", 2536.40, 2442.50, -89.00, 2685.10, 2542.50, 110.90}, { "Julius Thruway East", 2625.10, 2202.70, -89.00, 2685.10, 2442.50, 110.90}, { "Julius Thruway North", 2498.20, 2542.50, -89.00, 2685.10, 2626.50, 110.90}, { "Julius Thruway North", 2237.40, 2542.50, -89.00, 2498.20, 2663.10, 110.90}, { "Julius Thruway North", 2121.40, 2508.20, -89.00, 2237.40, 2663.10, 110.90}, { "Julius Thruway North", 1938.80, 2508.20, -89.00, 2121.40, 2624.20, 110.90}, { "Julius Thruway North", 1534.50, 2433.20, -89.00, 1848.40, 2583.20, 110.90}, { "Julius Thruway North", 1848.40, 2478.40, -89.00, 1938.80, 2553.40, 110.90}, { "Julius Thruway North", 1704.50, 2342.80, -89.00, 1848.40, 2433.20, 110.90}, { "Julius Thruway North", 1377.30, 2433.20, -89.00, 1534.50, 2507.20, 110.90}, { "Julius Thruway South", 1457.30, 823.20, -89.00, 2377.30, 863.20, 110.90}, { "Julius Thruway South", 2377.30, 788.80, -89.00, 2537.30, 897.90, 110.90}, { "Julius Thruway West", 1197.30, 1163.30, -89.00, 1236.60, 2243.20, 110.90}, { "Julius Thruway West", 1236.60, 2142.80, -89.00, 1297.40, 2243.20, 110.90}, { "Juniper Hill", -2533.00, 578.30, -7.60, -2274.10, 968.30, 200.00}, { "Juniper Hollow", -2533.00, 968.30, -6.10, -2274.10, 1358.90, 200.00}, { "K.A.C.C. Military Fuels", 2498.20, 2626.50, -89.00, 2749.90, 2861.50, 110.90}, { "Kincaid Bridge", -1339.80, 599.20, -89.00, -1213.90, 828.10, 110.90}, { "Kincaid Bridge", -1213.90, 721.10, -89.00, -1087.90, 950.00, 110.90}, { "Kincaid Bridge", -1087.90, 855.30, -89.00, -961.90, 986.20, 110.90}, { "King's", -2329.30, 458.40, -7.60, -1993.20, 578.30, 200.00}, { "King's", -2411.20, 265.20, -9.10, -1993.20, 373.50, 200.00}, { "King's", -2253.50, 373.50, -9.10, -1993.20, 458.40, 200.00}, { "LVA Freight Depot", 1457.30, 863.20, -89.00, 1777.40, 1143.20, 110.90}, { "LVA Freight Depot", 1375.60, 919.40, -89.00, 1457.30, 1203.20, 110.90}, { "LVA Freight Depot", 1277.00, 1087.60, -89.00, 1375.60, 1203.20, 110.90}, { "LVA Freight Depot", 1315.30, 1044.60, -89.00, 1375.60, 1087.60, 110.90}, { "LVA Freight Depot", 1236.60, 1163.40, -89.00, 1277.00, 1203.20, 110.90}, { "Las Barrancas", -926.10, 1398.70, -3.00, -719.20, 1634.60, 200.00}, { "Las Brujas", -365.10, 2123.00, -3.00, -208.50, 2217.60, 200.00}, { "Las Colinas", 1994.30, -1100.80, -89.00, 2056.80, -920.80, 110.90}, { "Las Colinas", 2056.80, -1126.30, -89.00, 2126.80, -920.80, 110.90}, { "Las Colinas", 2185.30, -1154.50, -89.00, 2281.40, -934.40, 110.90}, { "Las Colinas", 2126.80, -1126.30, -89.00, 2185.30, -934.40, 110.90}, { "Las Colinas", 2747.70, -1120.00, -89.00, 2959.30, -945.00, 110.90}, { "Las Colinas", 2632.70, -1135.00, -89.00, 2747.70, -945.00, 110.90}, { "Las Colinas", 2281.40, -1135.00, -89.00, 2632.70, -945.00, 110.90}, { "Las Payasadas", -354.30, 2580.30, 2.00, -133.60, 2816.80, 200.00}, { "Aeroporto de LV", 1236.60, 1203.20, -89.00, 1457.30, 1883.10, 110.90}, { "Aeroporto de LV", 1457.30, 1203.20, -89.00, 1777.30, 1883.10, 110.90}, { "Aeroporto de LV", 1457.30, 1143.20, -89.00, 1777.40, 1203.20, 110.90}, { "Aeroporto de LV", 1515.80, 1586.40, -12.50, 1729.90, 1714.50, 87.50}, { "Last Dime Motel", 1823.00, 596.30, -89.00, 1997.20, 823.20, 110.90}, { "Leafy Hollow", -1166.90, -1856.00, 0.00, -815.60, -1602.00, 200.00}, { "Lil' Probe Inn", -90.20, 1286.80, -3.00, 153.80, 1554.10, 200.00}, { "Linden Side", 2749.90, 943.20, -89.00, 2923.30, 1198.90, 110.90}, { "Linden Station", 2749.90, 1198.90, -89.00, 2923.30, 1548.90, 110.90}, { "Linden Station", 2811.20, 1229.50, -39.50, 2861.20, 1407.50, 60.40}, { "Little Mexico", 1701.90, -1842.20, -89.00, 1812.60, -1722.20, 110.90}, { "Little Mexico", 1758.90, -1722.20, -89.00, 1812.60, -1577.50, 110.90}, { "Los Flores", 2581.70, -1454.30, -89.00, 2632.80, -1393.40, 110.90}, { "Los Flores", 2581.70, -1393.40, -89.00, 2747.70, -1135.00, 110.90}, { "Aeroporto de LS", 1249.60, -2394.30, -89.00, 1852.00, -2179.20, 110.90}, { "Aeroporto de LS", 1852.00, -2394.30, -89.00, 2089.00, -2179.20, 110.90}, { "Aeroporto de LS", 1382.70, -2730.80, -89.00, 2201.80, -2394.30, 110.90}, { "Aeroporto de LS", 1974.60, -2394.30, -39.00, 2089.00, -2128.50, 60.90}, { "Aeroporto de LS", 1400.90, -2669.20, -39.00, 2189.80, -2597.20, 60.90}, { "Aeroporto de LS", 2051.60, -2597.20, -39.00, 2152.40, -2394.30, 60.90}, { "Marina", 647.70, -1804.20, -89.00, 851.40, -1577.50, 110.90}, { "Marina", 647.70, -1577.50, -89.00, 807.90, -1416.20, 110.90}, { "Marina", 807.90, -1577.50, -89.00, 926.90, -1416.20, 110.90}, { "Market", 787.40, -1416.20, -89.00, 1072.60, -1310.20, 110.90}, { "Market", 952.60, -1310.20, -89.00, 1072.60, -1130.80, 110.90}, { "Market", 1072.60, -1416.20, -89.00, 1370.80, -1130.80, 110.90}, { "Market", 926.90, -1577.50, -89.00, 1370.80, -1416.20, 110.90}, { "Market Station", 787.40, -1410.90, -34.10, 866.00, -1310.20, 65.80}, { "Martin Bridge", -222.10, 293.30, 0.00, -122.10, 476.40, 200.00}, { "Missionary Hill", -2994.40, -811.20, 0.00, -2178.60, -430.20, 200.00}, { "Montgomery", 1119.50, 119.50, -3.00, 1451.40, 493.30, 200.00}, { "Montgomery", 1451.40, 347.40, -6.10, 1582.40, 420.80, 200.00}, { "Montgomery Intersection", 1546.60, 208.10, 0.00, 1745.80, 347.40, 200.00}, { "Montgomery Intersection", 1582.40, 347.40, 0.00, 1664.60, 401.70, 200.00}, { "Mulholland", 1414.00, -768.00, -89.00, 1667.60, -452.40, 110.90}, { "Mulholland", 1281.10, -452.40, -89.00, 1641.10, -290.90, 110.90}, { "Mulholland", 1269.10, -768.00, -89.00, 1414.00, -452.40, 110.90}, { "Mulholland", 1357.00, -926.90, -89.00, 1463.90, -768.00, 110.90}, { "Mulholland", 1318.10, -910.10, -89.00, 1357.00, -768.00, 110.90}, { "Mulholland", 1169.10, -910.10, -89.00, 1318.10, -768.00, 110.90}, { "Mulholland", 768.60, -954.60, -89.00, 952.60, -860.60, 110.90}, { "Mulholland", 687.80, -860.60, -89.00, 911.80, -768.00, 110.90}, { "Mulholland", 737.50, -768.00, -89.00, 1142.20, -674.80, 110.90}, { "Mulholland", 1096.40, -910.10, -89.00, 1169.10, -768.00, 110.90}, { "Mulholland", 952.60, -937.10, -89.00, 1096.40, -860.60, 110.90}, { "Mulholland", 911.80, -860.60, -89.00, 1096.40, -768.00, 110.90}, { "Mulholland", 861.00, -674.80, -89.00, 1156.50, -600.80, 110.90}, { "Mulholland Intersection", 1463.90, -1150.80, -89.00, 1812.60, -768.00, 110.90}, { "North Rock", 2285.30, -768.00, 0.00, 2770.50, -269.70, 200.00}, { "Ocean Docks", 2373.70, -2697.00, -89.00, 2809.20, -2330.40, 110.90}, { "Ocean Docks", 2201.80, -2418.30, -89.00, 2324.00, -2095.00, 110.90}, { "Ocean Docks", 2324.00, -2302.30, -89.00, 2703.50, -2145.10, 110.90}, { "Ocean Docks", 2089.00, -2394.30, -89.00, 2201.80, -2235.80, 110.90}, { "Ocean Docks", 2201.80, -2730.80, -89.00, 2324.00, -2418.30, 110.90}, { "Ocean Docks", 2703.50, -2302.30, -89.00, 2959.30, -2126.90, 110.90}, { "Ocean Docks", 2324.00, -2145.10, -89.00, 2703.50, -2059.20, 110.90}, { "Ocean Flats", -2994.40, 277.40, -9.10, -2867.80, 458.40, 200.00}, { "Ocean Flats", -2994.40, -222.50, -0.00, -2593.40, 277.40, 200.00}, { "Ocean Flats", -2994.40, -430.20, -0.00, -2831.80, -222.50, 200.00}, { "Octane Springs", 338.60, 1228.50, 0.00, 664.30, 1655.00, 200.00}, { "Old Venturas Strip", 2162.30, 2012.10, -89.00, 2685.10, 2202.70, 110.90}, { "Palisades", -2994.40, 458.40, -6.10, -2741.00, 1339.60, 200.00}, { "Palomino Creek", 2160.20, -149.00, 0.00, 2576.90, 228.30, 200.00}, { "Paradiso", -2741.00, 793.40, -6.10, -2533.00, 1268.40, 200.00}, { "Pershing Square", 1440.90, -1722.20, -89.00, 1583.50, -1577.50, 110.90}, { "Pilgrim", 2437.30, 1383.20, -89.00, 2624.40, 1783.20, 110.90}, { "Pilgrim", 2624.40, 1383.20, -89.00, 2685.10, 1783.20, 110.90}, { "Pilson Intersection", 1098.30, 2243.20, -89.00, 1377.30, 2507.20, 110.90}, { "Pirates in Men's Pants", 1817.30, 1469.20, -89.00, 2027.40, 1703.20, 110.90}, { "Playa del Seville", 2703.50, -2126.90, -89.00, 2959.30, -1852.80, 110.90}, { "Prickle Pine", 1534.50, 2583.20, -89.00, 1848.40, 2863.20, 110.90}, { "Prickle Pine", 1117.40, 2507.20, -89.00, 1534.50, 2723.20, 110.90}, { "Prickle Pine", 1848.40, 2553.40, -89.00, 1938.80, 2863.20, 110.90}, { "Prickle Pine", 1938.80, 2624.20, -89.00, 2121.40, 2861.50, 110.90}, { "Queens", -2533.00, 458.40, 0.00, -2329.30, 578.30, 200.00}, { "Queens", -2593.40, 54.70, 0.00, -2411.20, 458.40, 200.00}, { "Queens", -2411.20, 373.50, 0.00, -2253.50, 458.40, 200.00}, { "Randolph Industrial", 1558.00, 596.30, -89.00, 1823.00, 823.20, 110.90}, { "Redsands East", 1817.30, 2011.80, -89.00, 2106.70, 2202.70, 110.90}, { "Redsands East", 1817.30, 2202.70, -89.00, 2011.90, 2342.80, 110.90}, { "Redsands East", 1848.40, 2342.80, -89.00, 2011.90, 2478.40, 110.90}, { "Redsands West", 1236.60, 1883.10, -89.00, 1777.30, 2142.80, 110.90}, { "Redsands West", 1297.40, 2142.80, -89.00, 1777.30, 2243.20, 110.90}, { "Redsands West", 1377.30, 2243.20, -89.00, 1704.50, 2433.20, 110.90}, { "Redsands West", 1704.50, 2243.20, -89.00, 1777.30, 2342.80, 110.90}, { "Regular Tom", -405.70, 1712.80, -3.00, -276.70, 1892.70, 200.00}, { "Richman", 647.50, -1118.20, -89.00, 787.40, -954.60, 110.90}, { "Richman", 647.50, -954.60, -89.00, 768.60, -860.60, 110.90}, { "Richman", 225.10, -1369.60, -89.00, 334.50, -1292.00, 110.90}, { "Richman", 225.10, -1292.00, -89.00, 466.20, -1235.00, 110.90}, { "Richman", 72.60, -1404.90, -89.00, 225.10, -1235.00, 110.90}, { "Richman", 72.60, -1235.00, -89.00, 321.30, -1008.10, 110.90}, { "Richman", 321.30, -1235.00, -89.00, 647.50, -1044.00, 110.90}, { "Richman", 321.30, -1044.00, -89.00, 647.50, -860.60, 110.90}, { "Richman", 321.30, -860.60, -89.00, 687.80, -768.00, 110.90}, { "Richman", 321.30, -768.00, -89.00, 700.70, -674.80, 110.90}, { "Robada Intersection", -1119.00, 1178.90, -89.00, -862.00, 1351.40, 110.90}, { "Roca Escalante", 2237.40, 2202.70, -89.00, 2536.40, 2542.50, 110.90}, { "Roca Escalante", 2536.40, 2202.70, -89.00, 2625.10, 2442.50, 110.90}, { "Rockshore East", 2537.30, 676.50, -89.00, 2902.30, 943.20, 110.90}, { "Rockshore West", 1997.20, 596.30, -89.00, 2377.30, 823.20, 110.90}, { "Rockshore West", 2377.30, 596.30, -89.00, 2537.30, 788.80, 110.90}, { "Rodeo", 72.60, -1684.60, -89.00, 225.10, -1544.10, 110.90}, { "Rodeo", 72.60, -1544.10, -89.00, 225.10, -1404.90, 110.90}, { "Rodeo", 225.10, -1684.60, -89.00, 312.80, -1501.90, 110.90}, { "Rodeo", 225.10, -1501.90, -89.00, 334.50, -1369.60, 110.90}, { "Rodeo", 334.50, -1501.90, -89.00, 422.60, -1406.00, 110.90}, { "Rodeo", 312.80, -1684.60, -89.00, 422.60, -1501.90, 110.90}, { "Rodeo", 422.60, -1684.60, -89.00, 558.00, -1570.20, 110.90}, { "Rodeo", 558.00, -1684.60, -89.00, 647.50, -1384.90, 110.90}, { "Rodeo", 466.20, -1570.20, -89.00, 558.00, -1385.00, 110.90}, { "Rodeo", 422.60, -1570.20, -89.00, 466.20, -1406.00, 110.90}, { "Rodeo", 466.20, -1385.00, -89.00, 647.50, -1235.00, 110.90}, { "Rodeo", 334.50, -1406.00, -89.00, 466.20, -1292.00, 110.90}, { "Royal Cassino", 2087.30, 1383.20, -89.00, 2437.30, 1543.20, 110.90}, { "San Andreas Sound", 2450.30, 385.50, -100.00, 2759.20, 562.30, 200.00}, { "Santa Flora", -2741.00, 458.40, -7.60, -2533.00, 793.40, 200.00}, { "Praia de Santa Maria", 342.60, -2173.20, -89.00, 647.70, -1684.60, 110.90}, { "Praia de Santa Maria", 72.60, -2173.20, -89.00, 342.60, -1684.60, 110.90}, { "Shady Cabin", -1632.80, -2263.40, -3.00, -1601.30, -2231.70, 200.00}, { "Shady Creeks", -1820.60, -2643.60, -8.00, -1226.70, -1771.60, 200.00}, { "Shady Creeks", -2030.10, -2174.80, -6.10, -1820.60, -1771.60, 200.00}, { "Sobell Rail Yards", 2749.90, 1548.90, -89.00, 2923.30, 1937.20, 110.90}, { "Spinybed", 2121.40, 2663.10, -89.00, 2498.20, 2861.50, 110.90}, { "Starfish Cassino", 2437.30, 1783.20, -89.00, 2685.10, 2012.10, 110.90}, { "Starfish Cassino", 2437.30, 1858.10, -39.00, 2495.00, 1970.80, 60.90}, { "Starfish Cassino", 2162.30, 1883.20, -89.00, 2437.30, 2012.10, 110.90}, { "Temple", 1252.30, -1130.80, -89.00, 1378.30, -1026.30, 110.90}, { "Temple", 1252.30, -1026.30, -89.00, 1391.00, -926.90, 110.90}, { "Temple", 1252.30, -926.90, -89.00, 1357.00, -910.10, 110.90}, { "Temple", 952.60, -1130.80, -89.00, 1096.40, -937.10, 110.90}, { "Temple", 1096.40, -1130.80, -89.00, 1252.30, -1026.30, 110.90}, { "Temple", 1096.40, -1026.30, -89.00, 1252.30, -910.10, 110.90}, { "The Camel's Toe", 2087.30, 1203.20, -89.00, 2640.40, 1383.20, 110.90}, { "The Clown's Pocket", 2162.30, 1783.20, -89.00, 2437.30, 1883.20, 110.90}, { "The Emerald Isle", 2011.90, 2202.70, -89.00, 2237.40, 2508.20, 110.90}, { "Fazenda do Guh & Xeh", -1209.60, -1317.10, 114.90, -908.10, -787.30, 251.90}, { "The Four Dragons Casino", 1817.30, 863.20, -89.00, 2027.30, 1083.20, 110.90}, { "The High Roller", 1817.30, 1283.20, -89.00, 2027.30, 1469.20, 110.90}, { "The Mako Span", 1664.60, 401.70, 0.00, 1785.10, 567.20, 200.00}, { "The Panopticon", -947.90, -304.30, -1.10, -319.60, 327.00, 200.00}, { "The Pink Swan", 1817.30, 1083.20, -89.00, 2027.30, 1283.20, 110.90}, { "The Sherman Dam", -968.70, 1929.40, -3.00, -481.10, 2155.20, 200.00}, { "The Strip", 2027.40, 863.20, -89.00, 2087.30, 1703.20, 110.90}, { "The Strip", 2106.70, 1863.20, -89.00, 2162.30, 2202.70, 110.90}, { "The Strip", 2027.40, 1783.20, -89.00, 2162.30, 1863.20, 110.90}, { "The Strip", 2027.40, 1703.20, -89.00, 2137.40, 1783.20, 110.90}, { "The Visage", 1817.30, 1863.20, -89.00, 2106.70, 2011.80, 110.90}, { "The Visage", 1817.30, 1703.20, -89.00, 2027.40, 1863.20, 110.90}, { "Unity Station", 1692.60, -1971.80, -20.40, 1812.60, -1932.80, 79.50}, { "Valle Ocultado", -936.60, 2611.40, 2.00, -715.90, 2847.90, 200.00}, { "Verdant Bluffs", 930.20, -2488.40, -89.00, 1249.60, -2006.70, 110.90}, { "Verdant Bluffs", 1073.20, -2006.70, -89.00, 1249.60, -1842.20, 110.90}, { "Verdant Bluffs", 1249.60, -2179.20, -89.00, 1692.60, -1842.20, 110.90}, { "Verdant Meadows", 37.00, 2337.10, -3.00, 435.90, 2677.90, 200.00}, { "Praia de Verona", 647.70, -2173.20, -89.00, 930.20, -1804.20, 110.90}, { "Praia de Verona", 930.20, -2006.70, -89.00, 1073.20, -1804.20, 110.90}, { "Praia de Verona", 851.40, -1804.20, -89.00, 1046.10, -1577.50, 110.90}, { "Praia de Verona", 1161.50, -1722.20, -89.00, 1323.90, -1577.50, 110.90}, { "Praia de Verona", 1046.10, -1722.20, -89.00, 1161.50, -1577.50, 110.90}, { "Vinewood", 787.40, -1310.20, -89.00, 952.60, -1130.80, 110.90}, { "Vinewood", 787.40, -1130.80, -89.00, 952.60, -954.60, 110.90}, { "Vinewood", 647.50, -1227.20, -89.00, 787.40, -1118.20, 110.90}, { "Vinewood", 647.70, -1416.20, -89.00, 787.40, -1227.20, 110.90}, { "Whitewood Estates", 883.30, 1726.20, -89.00, 1098.30, 2507.20, 110.90}, { "Whitewood Estates", 1098.30, 1726.20, -89.00, 1197.30, 2243.20, 110.90}, { "Willowfield", 1970.60, -2179.20, -89.00, 2089.00, -1852.80, 110.90}, { "Willowfield", 2089.00, -2235.80, -89.00, 2201.80, -1989.90, 110.90}, { "Willowfield", 2089.00, -1989.90, -89.00, 2324.00, -1852.80, 110.90}, { "Willowfield", 2201.80, -2095.00, -89.00, 2324.00, -1989.90, 110.90}, { "Willowfield", 2541.70, -1941.40, -89.00, 2703.50, -1852.80, 110.90}, { "Willowfield", 2324.00, -2059.20, -89.00, 2541.70, -1852.80, 110.90}, { "Willowfield", 2541.70, -2059.20, -89.00, 2703.50, -1941.40, 110.90}, { "Yellow Bell Station", 1377.40, 2600.40, -21.90, 1492.40, 2687.30, 78.00}, { "Los Santos", 44.60, -2892.90, -242.90, 2997.00, -768.00, 900.00}, { "Las Venturas", 869.40, 596.30, -242.90, 2997.00, 2993.80, 900.00}, { "Bone County", -480.50, 596.30, -242.90, 869.40, 2993.80, 900.00}, { "Tierra Robada", -2997.40, 1659.60, -242.90, -480.50, 2993.80, 900.00}, { "Tierra Robada", -1213.90, 596.30, -242.90, -480.50, 1659.60, 900.00}, { "San Fierro", -2997.40, -1115.50, -242.90, -1213.90, 1659.60, 900.00}, { "Red County", -1213.90, -768.00, -242.90, 2997.00, 596.30, 900.00}, { "Flint County", -1213.90, -2892.90, -242.90, 44.60, -768.00, 900.00}, { "Whetstone", -2997.40, -2892.90, -242.90, -1213.90, -1115.50, 900.00} }; // ---------[ Publics ] ----------- public OnFilterScriptInit() { // TextDraw GPS for(new i = 0; i < MAX_PLAYERS; i++) { LocalizarDistancia[i] = TextDrawCreate(254.000000, 384.000000, " "); TextDrawBackgroundColor(LocalizarDistancia[i], 255); TextDrawFont(LocalizarDistancia[i], 2); TextDrawLetterSize(LocalizarDistancia[i], 0.290000, 1.300000); TextDrawColor(LocalizarDistancia[i], -2130771798); TextDrawSetOutline(LocalizarDistancia[i], 0); TextDrawSetProportional(LocalizarDistancia[i], 1); TextDrawSetShadow(LocalizarDistancia[i], 1); LocalizarLocalizacao[i] = TextDrawCreate(235.000000, 408.000000, " "); TextDrawBackgroundColor(LocalizarLocalizacao[i], 255); TextDrawFont(LocalizarLocalizacao[i], 2); TextDrawLetterSize(LocalizarLocalizacao[i], 0.290000, 1.300000); TextDrawColor(LocalizarLocalizacao[i], -14408534); TextDrawSetOutline(LocalizarLocalizacao[i], 0); TextDrawSetProportional(LocalizarLocalizacao[i], 1); TextDrawSetShadow(LocalizarLocalizacao[i], 1); } // Contagem dos Sets new iSetsCount ; for(new car = 0; car < MAX_CARROS; car++) { new string[80], strings[80] ; format(string,sizeof(string),"Carros/carro%d.ini",car); if(DOF2_FileExists(string)) { Set[car] = AddStaticVehicleEx(DOF2_GetInt(string,"Modelo"),DOF2_GetInt(string,"CarroX"),DOF2_GetInt(string,"CarroY"),DOF2_GetInt(string,"CarroZ"), DOF2_GetInt(string,"CarroR"),DOF2_GetInt(string,"Cor1"),DOF2_GetInt(string,"Cor2"), -1); format(strings,sizeof(strings),"%s", DOF2_GetString(string,"Mensagem")); Textcarro[car] = CreateDynamic3DTextLabel(strings, -1, 0.0, -2.5, 0.5, 50.0, INVALID_PLAYER_ID, Set[car]); SetVehicleNumberPlate(Set[car], DOF2_GetString(string, "Placa")); iSetsCount ++; SetProprio = iSetsCount; } } print("\n--------------------------------------\n"); print(" Sistema de veнculo \n"); print(" Carregado com sucesso \n"); printf(" Total de %i set(s) carregado(s) \n", iSetsCount); printf(" Limite de %i Set(s) prуprio(s) \n", MAX_CARROS); print("--------------------------------------"); return 1; } public OnFilterScriptExit() { DOF2_Exit(); return 1; } public OnPlayerConnect(playerid) { // Crйditos for(new i = 0; i < 50; i++) { SendClientMessage(playerid, -1, " "); } SendClientMessage(playerid, -1, "------------------------------------------------------------------------------------" ); SendClientMessage(playerid, -1, " Esse gamemode contйm o sistema de veнculo prуprio "); SendClientMessage(playerid, -1, " desenvolvido por Maklister, Bom jogo !"); SendClientMessage(playerid, -1, "------------------------------------------------------------------------------------" ); return 1; } public OnPlayerDisconnect(playerid, reason) { new vid ; vid = GetPlayerVehicleID(playerid); NaoUsado[vid] = false; TextDrawHideForPlayer(playerid, LocalizarDistancia[playerid]); TextDrawHideForPlayer(playerid, LocalizarLocalizacao[playerid]); DisablePlayerCheckpoint(playerid); KillTimer(GPSTimerCar[playerid]); return 1; } public OnPlayerEnterVehicle(playerid, vehicleid) { new vid = GetPlayerVehicleID(playerid); NaoUsado[vid] = false; return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { new vid = GetPlayerVehicleID(playerid); NaoUsado[vid] = true; return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { new vid, Float:X, Float:Y, Float:Z, msg[80], string[80] ; vid = GetPlayerVehicleID(playerid); GetPlayerPos(playerid, X, Y, Z); if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { for(new car = 0; car < MAX_CARROS; car++) { if(vid == Set[car]) { format(string,sizeof(string),"Carros/carro%d.ini",car); if(strcmp(DOF2_GetString(string,"Dono"),Nome(playerid), true) == 0) { format(msg,sizeof(msg),"» %s Seja bem vindo ao seu veнculo prуprio ( Modelo: %s )",Nome(playerid) ,NomeCarro[GetVehicleModel(vid)-400]); SendClientMessage(playerid, AMARELO,msg); } else { PlayerPlaySound(playerid, 1147, X, Y, Z); SendClientMessage(playerid, VERMELHO_ESCURO,"» {FFFFFF}Vocк nгo й dono(a) deste veнculo."); format(msg,sizeof(msg), "• Dono: {FFFFFF}%s", DOF2_GetString(string,"Dono")); SendClientMessage(playerid, VERMELHO_ESCURO ,msg); format(msg,sizeof(msg), "• Modelo: {FFFFFF}%s", NomeCarro[GetVehicleModel(vid)-400]); SendClientMessage(playerid, VERMELHO_ESCURO ,msg); RemovePlayerFromVehicle(playerid); } } } } return 1; } forward GPSUpdateSet(playerid, car); public GPSUpdateSet(playerid, car) { new Float:X, Float:Y, Float:Z, Float:Distancia, string[80], string2[80] ; Distancia = GetarDistanciaVeiculo(playerid, car); GetVehiclePos(Set[car],X,Y,Z); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,X,Y,Z,1.0); format(string, sizeof(string), "Distancia: ~w~%0.1f Metros", Distancia); TextDrawSetString(LocalizarDistancia[playerid], string); format(string2, sizeof(string2), "Localizacao: ~w~%s", GetarAreaVeiculo(Set[car])); TextDrawSetString(LocalizarLocalizacao[playerid], string2); TextDrawShowForPlayer(playerid, LocalizarDistancia[playerid]); TextDrawShowForPlayer(playerid, LocalizarLocalizacao[playerid]); if(Distancia <= 4.0) { DisablePlayerCheckpoint(playerid); KillTimer(GPSTimerCar[playerid]); TextDrawHideForPlayer(playerid, LocalizarDistancia[playerid]); TextDrawHideForPlayer(playerid, LocalizarLocalizacao[playerid]); } return 1; } // ---------- [ Comandos ] ---------- CMD:setarveh(playerid, params[]) { new msg[126], msg2[126], string[80], strings[80], giverid, Modeloset, Cor1, Cor2 ; if(IsPlayerAdmin(playerid)) { if(sscanf(params, "uiii", giverid, Modeloset, Cor1, Cor2)) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Uso: /Setarveh [ ID ] [ Modelo ] [ Cor 1 ] [ Cor 2 ]"); if(giverid == INVALID_PLAYER_ID) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | ID Invбlido."); if(!IsPlayerConnected(giverid)) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Jogador nгo estб conectado."); if(Modeloset < 400 || Modeloset > 611 ) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Modelos apenas de 400 a 611"); if(Cor1 < 0|| Cor1 > 255) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Primeira cor entre 0 e 255"); if(Cor2 < 0|| Cor2 > 255) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Segunda cor entre 0 e 255"); new Float:PlayerX, Float:PlayerY, Float:PlayerZ, Float:PlayerR ; GetPlayerPos(playerid,PlayerX,PlayerY,PlayerZ); GetPlayerFacingAngle(playerid,PlayerR); for(new car = 0; car < MAX_CARROS; car++) { format(string,sizeof(string),"Carros/carro%d.ini",car); if(!DOF2_FileExists(string)) { DOF2_CreateFile(string); DOF2_SetString(string,"Dono", Nome(giverid)); DOF2_SetString(string,"Mensagem", Nome(giverid)); DOF2_SetInt(string,"Modelo",Modeloset); DOF2_SetInt(string,"Cor1", Cor1); DOF2_SetInt(string,"Cor2", Cor2); DOF2_SetString(string, "Placa", "SemPlaca"); DOF2_SetFloat(string,"CarroX",PlayerX); DOF2_SetFloat(string,"CarroY",PlayerY); DOF2_SetFloat(string,"CarroZ",PlayerZ); DOF2_SetFloat(string,"CarroR",PlayerR); format(strings,sizeof(strings), "%s", Nome(giverid)); DestroyDynamic3DTextLabel(Textcarro[car]); Delete3DTextLabel(Textcarro[car]); Set[car] = AddStaticVehicleEx(Modeloset,PlayerX,PlayerY,PlayerZ,PlayerR,Cor1,Cor2, -1); Textcarro[car] = CreateDynamic3DTextLabel(strings, -1, 0.0, -2.5, 0.5, 50.0, INVALID_PLAYER_ID, Set[car]); GameTextForPlayer(giverid, "~g~SET PROPRIO ~n~~r~SETADO", 5000, 0); PlayerPlaySound(giverid, 1057, 0.0, 0.0, 10.0); format( msg, sizeof( msg ),"[ Servidor ] Set prуprio setado com sucesso para o jogador %s ( Modelo: %s )", Nome(giverid), NomeCarro[Modeloset -400]); SendClientMessage(playerid, VERDE_CLARO, msg); format( msg2, sizeof( msg2 ), "[ Servidor ] O Administrador(a) %s setou um set prуprio para vocк ( Modelo: %s )", Nome(playerid), NomeCarro[Modeloset -400]); SendClientMessage(giverid, AMARELO, msg2); SetVehicleNumberPlate(Set[car], "SemPlaca"); SetProprio ++; DOF2_SaveFile(); break; } } } else { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Comando extremamente reservado!"); } return 1; } CMD:meuset(playerid, params[]) { new msg[80], string[80], result = 0 ; for(new car = 0; car < MAX_CARROS; car++) { format(string,sizeof(string),"Carros/carro%d.ini", car); if(DOF2_FileExists(string)) { if(strcmp(DOF2_GetString(string,"Dono"), Nome(playerid), true) == 0) { format(msg, sizeof(msg), "| x | Set Modelo: %s {FF0000}» {FFFFFF}Set ID: %d", NomeCarro[DOF2_GetInt(string, "Modelo") -400], car); SendClientMessage(playerid, VERMELHO_ESCURO, msg); PlayerPlaySound(playerid, 1057, 0.0, 0.0, 10.0); result = 1; } } } if(result == 0) { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Vocк nгo possui nenhum set."); } return 1; } CMD:respawnarset(playerid, params[]) { new id, string[80] ; if(sscanf(params, "d", id)) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Uso: /Respawnarset [ ID ]"); if(id < 0 || id > MAX_CARROS) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | ID Invбlido."); for(new car = 0; car < MAX_CARROS; car++) { format(string,sizeof(string),"Carros/carro%d.ini", car); if(DOF2_FileExists(string)) { if(car == id) { if(strcmp(DOF2_GetString(string,"Dono"), Nome(playerid), true) == 0) { SetVehicleToRespawn(Set[car]); SetVehiclePos(Set[car], DOF2_GetFloat(string, "CarroX"),DOF2_GetFloat(string, "CarroY"),DOF2_GetFloat(string, "CarroZ")); SetVehicleZAngle(Set[car],DOF2_GetFloat(string, "CarroR")); SendClientMessage(playerid, AMARELO, "» Veнculo set respawnado."); PlayerPlaySound(playerid, 1057, 0.0, 0.0, 10.0); DOF2_SaveFile(); return 1; } else { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Vocк nгo pode estacionar um veiculo que nгo й seu."); return 1; } } } } return 1; } CMD:estacionarset(playerid) { new string[80], strings[80], Float:PlayerX[MAX_PLAYERS], Float:PlayerY[MAX_PLAYERS], Float:PlayerZ[MAX_PLAYERS], Float:PlayerR[MAX_PLAYERS], vid = GetPlayerVehicleID(playerid) ; for(new car = 0; car < MAX_CARROS; car++) { format(string,sizeof(string),"Carros/carro%d.ini", car); if(DOF2_FileExists(string)) { if(vid == Set[car]) { if(strcmp(DOF2_GetString(string,"Dono"), Nome(playerid), true) == 0) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { GetVehiclePos(vid, PlayerX[playerid],PlayerY[playerid], PlayerZ[playerid]); GetVehicleZAngle(vid, PlayerR[playerid]); DOF2_SetFloat(string,"CarroX", PlayerX[playerid]); DOF2_SetFloat(string,"CarroY", PlayerY[playerid]); DOF2_SetFloat(string,"CarroZ", PlayerZ[playerid]); DOF2_SetFloat(string,"CarroR", PlayerR[playerid]); SendClientMessage(playerid, AMARELO, "» Veнculo set estacionado."); PlayerPlaySound(playerid, 1057, 0.0, 0.0, 10.0); DestroyDynamic3DTextLabel(Textcarro[car]); Delete3DTextLabel(Textcarro[car]); DestroyVehicle(Set[car]); format(strings,sizeof(strings),"%s", DOF2_GetString(string,"Mensagem")); Set[car] = AddStaticVehicleEx(DOF2_GetInt(string,"Modelo"),DOF2_GetInt(string,"CarroX"),DOF2_GetInt(string,"CarroY"),DOF2_GetInt(string,"CarroZ"), DOF2_GetInt(string,"CarroR"),DOF2_GetInt(string,"Cor1"),DOF2_GetInt(string,"Cor2"), -1); Textcarro[car] = CreateDynamic3DTextLabel(strings, -1, 0.0, -2.5, 0.5, 50.0, INVALID_PLAYER_ID, Set[car]); PutPlayerInVehicle(playerid, Set[car], 0); DOF2_SaveFile(); return 1; } else { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Vocк sу pode estacionar seu veiculo, caso esteja dirigindo o mesmo."); } } else { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Vocк nгo pode estacionar um veiculo que nгo й seu."); } } } } return 1; } CMD:emplacarset(playerid, params[]) { new Float:X, Float:Y, Float:Z, Float:A, msg[60], Placa[12], string[80], strings[80], vid = GetPlayerVehicleID(playerid) ; GetVehiclePos(vid, X, Y, Z); GetVehicleZAngle(vid, A); for(new car = 0; car < MAX_CARROS; car++) { format(string,sizeof(string),"Carros/carro%d.ini", car); if(DOF2_FileExists(string)) { if(vid == Set[car]) { if(strcmp(DOF2_GetString(string,"Dono"), Nome(playerid), true) == 0) { if(sscanf(params, "s[12]", Placa)) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Uso: /EmplacarSet [ Placa ]"); if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { if(strlen(Placa) < 4) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Digite no minimo 4 Letras"); if(strlen(Placa) > 12) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Digite no mбximo 12 Letras"); DOF2_SetString(string, "Placa", Placa); DestroyDynamic3DTextLabel(Textcarro[car]); Delete3DTextLabel(Textcarro[car]); DestroyVehicle(Set[car]); format(strings,sizeof(strings),"%s", DOF2_GetString(string,"Mensagem")); Set[car] = AddStaticVehicleEx(DOF2_GetInt(string,"Modelo"), X, Y, Z, A, DOF2_GetInt(string,"Cor1"),DOF2_GetInt(string,"Cor2"), -1); Textcarro[car] = CreateDynamic3DTextLabel(strings, -1, 0.0, -2.5, 0.5, 50.0, INVALID_PLAYER_ID, Set[car]); PutPlayerInVehicle(playerid, Set[car], 0); SetVehicleNumberPlate(Set[car], Placa); format( msg, sizeof(msg), "» Vocк trocou a placa de seu veнculo para: {FF0000}%s ", Placa); SendClientMessage(playerid, AMARELO, msg); } else { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Vocк sу pode mudar a placa do seu veнculo, caso esteja dirigindo o mesmo."); } } else { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Vocк nгo pode mudar a placa de um veiculo que nгo й seu."); } } } } return 1; } CMD:mensagemset(playerid, params[]) { new Float:X, Float:Y, Float:Z, Float:A, msg[126], string[80], NomeSet[15], strings[80], vid = GetPlayerVehicleID(playerid) ; GetVehiclePos(vid, X, Y, Z); GetVehicleZAngle(vid, A); for(new car = 0; car < MAX_CARROS; car++) { format(string,sizeof(string),"Carros/carro%d.ini", car); if(DOF2_FileExists(string)) { if(vid == Set[car]) { if(strcmp(DOF2_GetString(string,"Dono"), Nome(playerid), true) == 0) { if(sscanf(params, "s[15]", NomeSet)) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Uso: /MensagemSet [ Nome ]"); if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { if(strlen(NomeSet) < 4) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Digite no minimo 4 Letras"); if(strlen(NomeSet) > 15) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Digite no mбximo 15 Letras"); DOF2_SetString(string,"Mensagem", NomeSet); format( msg, sizeof( msg ), "» Vocк mudou o Nome do seu veiculo para: {FF0000}%s", NomeSet); SendClientMessage(playerid, AMARELO, msg); format(strings,sizeof(strings), "%s", NomeSet); DestroyDynamic3DTextLabel(Textcarro[car]); Delete3DTextLabel(Textcarro[car]); DestroyVehicle(Set[car]); Set[car] = AddStaticVehicleEx(DOF2_GetInt(string,"Modelo"), X, Y, Z, A, DOF2_GetInt(string,"Cor1"),DOF2_GetInt(string,"Cor2"), -1); Textcarro[car] = CreateDynamic3DTextLabel(strings, -1, 0.0, -2.5, 0.5, 50.0, INVALID_PLAYER_ID, Set[car]); PutPlayerInVehicle(playerid, Set[car], 0); SetVehicleNumberPlate(Set[car], DOF2_GetString(string, "Placa")); DOF2_SaveFile(); return 1; } else { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Vocк sу pode mudar o Nome do seu veiculo, caso esteja dirigindo o mesmo."); } } else { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Vocк nгo pode mudar o Nome de um veiculo que nгo й seu."); } } } } return 1; } CMD:pintarset(playerid, params[]) { new cor1, cor2, Float:X, Float:Y, Float:Z, Float:A, msg[126], string[80], strings[80], vid = GetPlayerVehicleID(playerid) ; GetVehiclePos(vid, X, Y, Z); GetVehicleZAngle(vid, A); for(new car = 0; car < MAX_CARROS; car++) { format(string,sizeof(string),"Carros/carro%d.ini",car); if(DOF2_FileExists(string)) { if(vid == Set[car]) { if(strcmp(DOF2_GetString(string,"Dono"), Nome(playerid), true) == 0) { if(sscanf(params, "dd", cor1, cor2)) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Uso: /PintarSet [ cor1 ] [ cor2 ]"); if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { DOF2_SetInt(string,"Cor1", cor1); DOF2_SetInt(string,"Cor2", cor2); format( msg, sizeof( msg ), "» Vocк mudou as cores de seu veiculo para: {FFFFFF}| Cor 1: %d | Cor 2: %d |", cor1, cor2); SendClientMessage(playerid, AMARELO, msg); DestroyDynamic3DTextLabel(Textcarro[car]); Delete3DTextLabel(Textcarro[car]); DestroyVehicle(Set[car]); Set[car] = AddStaticVehicleEx(DOF2_GetInt(string,"Modelo"), X, Y, Z, A, DOF2_GetInt(string,"Cor1"),DOF2_GetInt(string,"Cor2"), -1); format(strings,sizeof(strings),"%s", DOF2_GetString(string,"Mensagem")); Textcarro[car] = CreateDynamic3DTextLabel(strings, -1, 0.0, -2.5, 0.5, 50.0, INVALID_PLAYER_ID, Set[car]); PutPlayerInVehicle(playerid, Set[car], 0); SetVehicleNumberPlate(Set[car], DOF2_GetString(string, "Placa")); DOF2_SaveFile(); return 1; } else { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Vocк sу pode mudar a cor do seu veiculo, caso esteja dirigindo o mesmo."); } } else { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Vocк nгo pode mudar a cor de um veiculo que nгo й seu."); } } } } return 1; } CMD:localizarsetoff(playerid) { new string[80], result = 0 ; for(new car = 0; car < MAX_CARROS; car++) { format(string,sizeof(string),"Carros/carro%d.ini", car); if(DOF2_FileExists(string)) { if(strcmp(DOF2_GetString(string,"Dono"), Nome(playerid), false) == 0) { result = 1; DisablePlayerCheckpoint(playerid); KillTimer(GPSTimerCar[playerid]); TextDrawHideForPlayer(playerid, LocalizarDistancia[playerid]); TextDrawHideForPlayer(playerid, LocalizarLocalizacao[playerid]); SendClientMessage(playerid, AMARELO, "[ GPS Set ] Vocк desativou seu GPS ! "); } } } if(result == 0) { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Vocк nгo possui nenhum set."); return 1; } return 1; } CMD:localizarset(playerid, params[]) { new str[80], string[80], result = 0 ; for(new car = 0; car < MAX_CARROS; car++) { if(sscanf(params, "d", car)) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Uso: /LocalizarSet [ ID Set ]"); format(string,sizeof(string),"Carros/carro%d.ini", car); if(DOF2_FileExists(string)) { if(strcmp(DOF2_GetString(string,"Dono"), Nome(playerid), false) == 0) { DisablePlayerCheckpoint(playerid); KillTimer(GPSTimerCar[playerid]); GPSTimerCar[playerid] = SetTimerEx("GPSUpdateSet", 1000, true, "ii", playerid, car); format(str,80,"[ GPS Set ] Vocк estб localizando o set ID %i ", car); SendClientMessage(playerid, AMARELO, str); result = 1; return 1; } else { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Esse Set nгo й seu."); return 1; } } else { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Esse Set nгo existe."); return 1; } } if(result == 0) { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Vocк nгo possui nenhum set."); return 1; } return 1; } CMD:comandosset(playerid) { new var[348] ; strcat(var, "{CFCFCF}• {FFFF00}/MeuSet \ \n{CFCFCF}• {FFFF00}/PintarSet \ \n{CFCFCF}• {FFFF00}/RespawnarSet \ \n{CFCFCF}• {FFFF00}/EstacionarSet \ \n{CFCFCF}• {FFFF00}/EmplacarSet [ Placa ] \ \n{CFCFCF}• {FFFF00}/MensagemSet [ Nome ] \n \ \n{CFCFCF}• {FFFF00}/LocalizarSet [ ID ] \ \n{CFCFCF}• {FFFF00}/localizarSetOff "); ShowPlayerDialog(playerid, DIALOG_CMDSET, DIALOG_STYLE_MSGBOX, "» Comandos - Set ", var, "Ok", ""); return 1; } CMD:rvsets(playerid) { new string[80] ; if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Vocк nгo й um Administrador(a)!"); for(new car = 0; car < MAX_CARROS; car++) { if(NaoUsado[Set[car]] == true) { if(!IsVehicleOccupied(Set[car])) { SetVehicleToRespawn(Set[car]); NaoUsado[Set[car]] = false; } } } format(string, sizeof(string), "[ Servidor ] O Administrador(a) %s respawnou todos os veнculos Setґs.", Nome(playerid)); SendClientMessageToAll(VERDE_CLARO, string); return 1; } // ---------------------------------------- // // // Caso tenha um comando para Deletar // veнculos em seu servidor, adcione // esse cуdigo abaixo no comando para nгo // deletar Set's e bugar seus veнculos ! CMD:dv(playerid) { new vid = GetPlayerVehicleID(playerid) ; for(new car = 0; car < MAX_CARROS; car++) { if(vid == Set[car]) { SendClientMessage(playerid, VERMELHO_ESCURO, "| x | Vocк nгo pode deletar um veнculo prуprio !"); return 1; } } return 1; } // ------------ [ Stock's ] ----------- stock Nome(playerid) { new GetNome[MAX_PLAYER_NAME]; GetPlayerName(playerid, GetNome, sizeof(GetNome)); return GetNome; } stock IsVehicleOccupied(vid) { for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(GetPlayerState(i) == PLAYER_STATE_DRIVER || GetPlayerState(i) == PLAYER_STATE_PASSENGER) { if(GetPlayerVehicleID(i) == vid) { return 1; } } } } return 0; } stock GetarAreaVeiculo(car) { new str[126]; format(str,sizeof(str),"%s",Zones[GetarZonaVeiculo(car)][zone_name]); return str; } stock GetarZonaVeiculo(car) { new Float:x, Float:y, Float:z ; GetVehiclePos(car,x,y,z); for(new i = 0; i <sizeof(Zones); i++) { if(x > Zones[i][zone_minx] && y > Zones[i][zone_miny] && z > Zones[i][zone_minz] && x < Zones[i][zone_maxx] && y < Zones[i][zone_maxy] && z < Zones[i][zone_maxz]) return i; } return 0; } stock GetarDistanciaVeiculo(playerid, car) { new Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2, Float:dis ; GetPlayerPos(playerid,x1,y1,z1); GetVehiclePos(Set[car],x2,y2,z2); dis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); return floatround(dis); } /* ------------------------[ FIM DO SISTEMA ] --------------------------------*/
• Se caso houver BUG irei procurar arrumar o mesmo, mais creio que nгo farei um update do sistema pois estou meio afastado do SAMP.
» Download:
• Pasterbin
» Agradecimentos:
• Aos criadores das includes e a mim pela criaзгo do cуdigo.
P.S: As imagens ficaram grandes, mais vai desse jeito mesmo ! ashuash'