Config

Config.Locale = GetConvar('esx:locale', 'fr')

Config.check = 'key' -- use key or identifier
Config.TitleGarage = 'Garage'
Config.TitleImpound = 'Fourrière'
Config.TitleKeys = 'Double des clés'
Config.Color = 'blue'
Config.itemKey = 'carkey'
Config.CheckZoneToSpawn = 5
Config.ImpoundPrice = 500

Config.SpawnInside = false -- If true the player spawn inside car, if false the car spawn without a driver
Config.Debug = false

Config.TimeSave = 60000 -- Every 1 minute it will save the vehicles in the database
Config.TimeSpawn = 10000 -- Every 1 second, it will check if you are close or far from any vehicle registered in the database

-- ##
Config.Persistent = true
Config.isDebug = true
Config.renderScorched = true
Config.spawnDistance = 200.0
Config.DebugMsg = {
	["total_vehicle_db"] = "Trouvé %s véhicules sauvegardés dans la base de données",
	["entered_vehicle"] = "Vous venez d'entrer dans le véhicule avec la plaque %s, mise à jour réussie",
    ["entered_vehicle_npc"] = "Vous êtes entré dans un véhicule de PNJ avec la plaque %s, sauvegarde impossible",
	["left_vehicle"] = "Vous venez de sortir du véhicule avec la plaque %s, mise à jour réussie",
    ["left_vehicle_npc"] = "Vous avez quitté un véhicule de PNJ avec la plaque %s, sauvegarde impossible",
	["update_vehicle"] = "Mise à jour du véhicule %s",
	["try_delete"] = "Tentative de suppression du véhicule avec la plaque %s",
	["create_vehicle"] = "Création du véhicule avec la plaque %s à %s avec le propriétaire de l'entité %s",
	["mods_ok"] = "Paramétrage des modifications réussi...",
	["mods_failed"] = "Échec du paramétrage des modifications pour le véhicule avec la plaque %s... Nouvelle tentative...",
    ["mods_failed_time"] = "Échec du paramétrage des modifications pour le véhicule avec la plaque %s après 10s",
	["invalid_model"] = "Le modèle pour le véhicule avec la plaque %s n'existe pas. Retrait du stockage...",
	["update_plate"] = "Changement de plaque de %s à %s",
	["update_ok"] = "Mise à jour de la plaque réussie",
    ["mods_vehicle_ok"] = "Paramétrage des modifications pour le véhicule avec la plaque %s",
    ["mods_vehicle_failed"] = "Échec du paramétrage des modifications pour le véhicule avec la plaque %s. Le véhicule n'existe pas",
    ["update"] = "Déclenchement de la mise à jour manuelle du véhicule"
}
-- #

Config.NoParked = 1 -- After a reboot, if the value is set to 0, all vehicles will be impounded. If the value is set to 1, the vehicles will be stored in the garages

Config.DefaultGarage = 'San Andreas Avenue'
Config.LockedCar = 2 --If you want the car locked when it spawns https://docs.fivem.net/natives/?_0x4CDD35D0

Config.GPS = {
    Sprite = 225,
    Scale = 0.5,
    Colour = 3,
    Alpha = 200,
    Text = "Voiture (Plaque: %s)" --%s information for plate
}

Config.Notify = function(key, source, ...)
    local service = IsDuplicityVersion()
    local description, data
    if ... then
         description = (Config.Notifications[key].description):format(...)
         data = {
            id = Config.Notifications[key].id,
            title = Config.Notifications[key].title,
            description = description,
            position = Config.Notifications[key].position,
            style = Config.Notifications[key].style,
            icon = Config.Notifications[key].icon,
            type = Config.Notifications[key].type,
            iconColor = Config.Notifications[key].iconColor
         }
    end
    lib.notify(service and source or (data or Config.Notifications[key]), service and (data or Config.Notifications[key]))
end

Config.OpenGarage = function()
    lib.showTextUI('[E] - Accéder au garage', {
        position = "top-center",
        icon = 'hand',
        style = {
            borderRadius = 0,
            backgroundColor = '#48BB78',
            color = 'white'
        }
    })
end

Config.Save = function()
    lib.showTextUI('[E] - Rangé le véhicule', {
        position = "top-center",
        icon = 'hand',
        style = {
            borderRadius = 0,
            backgroundColor = '#48BB78',
            color = 'white'
        }
    })
end

Config.Impounded = function()
    lib.showTextUI('[E] - Accéder à la fourrière', {
        position = "top-center",
        icon = 'hand',
        style = {
            borderRadius = 0,
            backgroundColor = '#48BB78',
            color = 'white'
        }
    })
end

Config.SellCar = function()
    lib.showTextUI('[E] - Créer un double des clés ', {
        position = "top-center",
        icon = 'hand',
        style = {
            borderRadius = 0,
            backgroundColor = '#48BB78',
            color = 'white'
        }
    })
end

Config.ShareKeysTarget = false
Config.ShareKeys = {
    {
        Icon = 'fa-solid fa-key',
        Name = 'Créer un double des clés',
        Position = vector3(213.969238, -808.523071, 30.998535),
        SizeZone = vec3(2, 2, 2),
    }
}

Config.Garages = {
    {
        Name = "Garage Central",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(220.1418, -800.1686, 30.7227),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(229.3425, -801.4708, 30.5659, 161.8591)
    },
    {
        Name = "Garage Vinewood",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(273.0, -343.85, 44.91),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(270.75, -340.51, 44.92, 342.03)
    },
    {
        Name = "Garage Davis",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(-71.46, -1821.83, 26.94),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(-66.51, -1828.01, 26.94, 235.64)
    },
    {
        Name = "Garage Mirror Park",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(1032.84, -765.1, 58.18),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(1023.2, -764.27, 57.96, 319.66)
    },
    {
        Name = "Garage Vespucci Beach",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(-1248.69, -1425.71, 4.32),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(-1244.27, -1422.08, 4.32, 37.12)
    },
    {
        Name = "Garage Del Perro",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(-2961.58, 375.93, 15.02),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(-2964.96, 372.07, 14.78, 86.07)
    },
    {
        Name = "Garage Sandy Shores",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(217.33, 2605.65, 46.04),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(216.94, 2608.44, 46.33, 14.07)
    },
    {
        Name = "Garage Grapeseed",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(1878.44, 3760.1, 32.94),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(1880.14, 3757.73, 32.93, 215.54)
    },
    {
        Name = "Garage Downtown",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(365.21, 295.6, 103.46),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(364.84, 289.73, 103.42, 164.23)
    },
    {
        Name = "Garage Paleto Bay",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(1713.06, 4745.32, 41.96),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(1710.64, 4746.94, 41.95, 90.11)
    },
    {
        Name = "Garage Paleto Forest",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(107.32, 6611.77, 31.98),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(110.84, 6607.82, 31.86, 265.28)
    },
    {
        Name = "Garage Alta",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(328.6457, -210.4855, 54.0863),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(334.2747, -213.1827, 54.0863, 73.3548)
    },
    {
        Name = "Garage Strawberry",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(-176.8074, -1305.2096, 31.2980),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(-164.0872, -1306.4490, 31.3066, 9.2604)
    },
    {
        Name = "Garage Mission Row",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(408.0792, -998.0554, 29.2663),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(408.0792, -998.0554, 29.2663, 50.8039)
    },
    {
        Name = "Garage Mount Chiliad",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(2422.3440, 4959.5835, 45.9706),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(2422.3440, 4959.5835, 45.9706, 44.7529)
    },
    {
        Name = "Garage Little Seoul",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(-608.2778, -875.6619, 25.2812),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(-608.2778, -875.6619, 25.2812, 230.8461)
    },
    {
        Name = "Garage Morningwood",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(-1480.0311, -496.4789, 32.8068),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(-1480.0311, -496.4789, 32.8068, 215.6816)
    },
    {
        Name = "Garage Rockford Hills",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(-1667.8083, 72.3026, 63.5343),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(-1667.8083, 72.3026, 63.5343, 48.9008)
    },
    {
        Name = "Garage Pillbox Hill",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(-387.9319, -107.0117, 38.6853),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(-387.9319, -107.0117, 38.6853, 215.1336)
    },
    {
        Name = "Garage La Puerta",
        Blip = true,
        BlipSettings = {Sprite  = 227, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage'},
        Type = {'automobile', 'bike'},
        Position = vector3(-1182.7245, -2852.9495, 14.0404),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(-1178.4406, -2845.8442, 13.9457, 333.0016)
    },
    {
        Name = "Garage Avions",
        Blip = true,
        BlipSettings = {Sprite  = 90, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage Avions'},
        Type = {'heli', 'plane'},
        Position = vector3(-1252.9047, -3358.1628, 13.9451),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(-1243.2533, -3345.6367, 13.9451, 330.7068)
    },
    {
        Name = "Garage Bateaux",
        Blip = true,
        BlipSettings = {Sprite  = 471, Display = 4, Scale   = 0.7, Colour  = 40, Name = 'Garage Bateaux'},
        Type = {'boat'},
        Position = vector3(-716.0818, -1364.3236, 1.5952),
        SizeZone = vec3(15, 15, 15),
        SpawnPosition = vector4(-721.1589, -1361.3798, 0.3618, 142.0775)
    }
}

Config.Impound = {
    {
        Blip = true,
        BlipSettings = {Sprite  = 326, Display = 4, Scale   = 0.7, Colour  = 0, Name = 'Fourrière Voitures'},
        Type = {'automobile', 'bike'},
        Position = vector3(409.041748, -1622.782471, 29.279907),
        SizeZone = vec3(3, 3, 3),
        SpawnPosition = vector4(400.984619, -1631.709839, 28.875488, 138.897629)
    },
    {
        Blip = true,
        BlipSettings = {Sprite  = 90, Display = 4, Scale   = 0.7, Colour  = 0, Name = 'Fourrière Avions'},
        Type = {'heli', 'plane'},
        Position = vector3(-1229.4183, -3378.0759, 13.9451),
        SizeZone = vec3(3, 3, 3),
        SpawnPosition = vector4(-1226.8848, -3363.8835, 13.9451, 326.4372)
    },
    {
        Blip = true,
        BlipSettings = {Sprite  = 471, Display = 4, Scale   = 0.7, Colour  = 0, Name = 'Fourrière Bateaux'},
        Type = {'boat'},
        Position = vector3(-718.6262, -1326.9680, 1.5963),
        SizeZone = vec3(3, 3, 3),
        SpawnPosition = vector4(-726.1742, -1327.3658, 0.3113, 228.8548)
    }
}

Config.Class = {
    -- Automobiles
    [0] = 'automobile',   -- Compacts
    [1] = 'automobile',   -- Sedans
    [2] = 'automobile',   -- SUVs
    [3] = 'automobile',   -- Coupes
    [4] = 'automobile',   -- Muscle
    [5] = 'automobile',   -- SportsClassics
    [6] = 'automobile',   -- Sports
    [7] = 'automobile',   -- Super
    [9] = 'automobile',   -- Off-road
    [10] = 'automobile',  -- Industrial
    [11] = 'automobile',  -- Utility
    [12] = 'automobile',  -- Vans
    [17] = 'automobile',  -- Service
    [18] = 'automobile',  -- Emergency
    [19] = 'automobile',  -- Military
    [20] = 'automobile',  -- Commercial
    [21] = 'train',       -- Trains
    [22] = 'automobile',  -- Open Wheel
    -- Bikes
    [8] = 'bike',         -- Motorcycles
    [13] = 'bike',        -- Cycles
    -- Boats
    [14] = 'boat',        -- Boats
    -- Helicopters
    [15] = 'heli',        -- Helicopters
    -- Planes
    [16] = 'plane'        -- Planes
}

Last updated