[FilterScript] Sistema de veнculo prуprio - Set
#1



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 ] --------------------------------*/
» Bugs e Releases:

• 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'
Reply
#2

Simplismente Foda, Parabйns,Nгo vejo uma coisa boa assim б anos...
Talvez vocк possa colocar para alterar a cor da mensagem do veнculo
Reply
#3

Quote:
Originally Posted by ThuuGLif3
Посмотреть сообщение
Simplismente Foda, Parabйns,Nгo vejo uma coisa boa assim б anos...
Talvez vocк possa colocar para alterar a cor da mensagem do veнculo
Talvez se eu for lanзar um update sei lб .....

#OFF

Que raiva que dб, vocк faz um tуpico moh ajeitadinho e as imagens fica grande e buga seu tуpico
Reply
#4

@OFF:
KKKKKKKKKKK Acabei de ver isso no seu tуpico tambйm rs
Reply
#5

Quote:
Originally Posted by Maklister
Посмотреть сообщение
Talvez se eu for lanзar um update sei lб .....

#OFF

Que raiva que dб, vocк faz um tуpico moh ajeitadinho e as imagens fica grande e buga seu tуpico
isso e o menos ta muito bom parabens

+REP

@ edit

com isso poderia fazer 1 sistema de conce, onde o adm seta carros para os players, ae os player vao e compram, isso e bom pra rpg.

pense em fazer um update :P
Reply
#6

Maklister, Sugestгo MINHA...
Seria bom para o Proximo/Esse Filterscript o Comando, /CriarSet ...
Mais enfim, +REP
Reply
#7

Bom trabalho!


+Reputado + 7!
Reply
#8

Quote:
Originally Posted by ThuuGLif3
Посмотреть сообщение
Maklister, Sugestгo MINHA...
Seria bom para o Proximo/Esse Filterscript o Comando, /CriarSet ...
Mais enfim, +REP
/SetarVeh '-'

o comando para criar - setar e /SetarVeh :P

#Garfield, Thanks
Reply
#9

Bom trabalho.
+Rep.
Reply
#10

Cadк meus crйditos?
Vou denunciб-lo por remoзгo de crйditos seu morfetico!

10/10
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)