Configuration

All configuration is done in the config/ folder.

General Settings (config/config.lua)

Option Default Description
Config.Framework 'auto' Framework detection. 'qbcore', 'qbox', 'esx', or 'auto'
Config.Locale 'en' Language file to use
Config.CurrencySymbol '$' Currency symbol shown in UI
Config.Blips true Show garage blips on the map
Config.UseTarget true Use target system (ox_target/qb-target) for NPCs
Config.UseNPC false true = spawn NPCs, false = ground markers
Config.SpawnDistance 5.0 Distance to spawn vehicles from garage point
Config.WarpIntoVehicle false Warp player into vehicle on spawn
Config.StoreZoneRadius 10.0 Radius around garage for drive-in storage
Config.DistanceUnit 'km' Distance display unit ('km' or 'mi')

Fuel Integration

Option Default Description
Config.FuelResource 'auto' Fuel resource to sync with. 'auto' = detect, false = native only

Supported: ox_fuel, LegacyFuel, cdn-fuel, ps-fuel, lc_fuel, Renewed-Fuel, x-fuel, jg-fuel, lb-fuel, okokGasStation, nd_fuel, myFuel, ti_fuel

Vehicle Images

Option Default Description
Config.VehicleImageSource 'https://docs.fivem.net/vehicles/%s.webp' URL pattern for vehicle images. %s = model name
Config.NopixelReplace true Use local images for Nopixel replacement vehicles

Impound Settings

Option Default Description
Config.ImpoundPrice 500 Base retrieval fee
Config.ImpoundPricePerHour 50 Additional fee per hour impounded
Config.ImpoundMaxFee 5000 Maximum impound fee cap
Config.ImpoundCommand 'impound' Command to impound a vehicle
Config.ImpoundJobs { 'police' } Jobs allowed to impound

Impound Durations

Configure available durations for the impound dropdown:

Config.ImpoundDurations = {
    { label = 'Indefinite', value = 0 },
    { label = '1 Hour', value = 3600 },
    { label = '6 Hours', value = 21600 },
    { label = '12 Hours', value = 43200 },
    { label = '24 Hours', value = 86400 },
    { label = '3 Days', value = 259200 },
    { label = '7 Days', value = 604800 },
}

Flatbed Tow

Option Default Description
Config.ImpoundFlatbed.enabled true Enable flatbed tow animation
Config.ImpoundFlatbed.flatbedModel 'flatbed' Flatbed vehicle model
Config.ImpoundFlatbed.npcModel 's_m_y_xmech_02_mp' NPC driver model
Config.ImpoundFlatbed.spawnDistance 30.0 Spawn distance from target vehicle
Config.ImpoundFlatbed.driveSpeed 12.0 Drive speed (m/s)
Config.ImpoundFlatbed.animDuration 6000 Clipboard inspection duration (ms)
Config.ImpoundFlatbed.despawnDistance 80.0 Distance to despawn after leaving

Inter-Garage Transfer

Option Default Description
Config.AllowInterGarageTransfer true Allow retrieving vehicles from other garages
Config.InterGarageTransferPrice 500 Fee for inter-garage retrieval

Marker Settings

When Config.UseNPC = false, markers are drawn at garage locations:

Config.Marker = {
    type = 1,
    scale = vector3(2.4, 2.4, 0.5),
    color = { r = 255, g = 255, b = 255, a = 150 },
    bobUpAndDown = false,
    rotate = false,
    zOffset = -1.0,
}

Purchasable Garages (config/config.lua)

Option Default Description
Config.PurchasableGarages.enabled true Enable purchasable garage system
Config.PurchasableGarages.resellPercentage 70 Refund percentage when selling (0–100)

Shop NPC

Config.PurchasableGarages.shop = {
    npc = {
        enabled = true,
        model = 's_m_y_valet_01',
        coords = vector4(-640.63, 297.35, 82.46, 175.48),
    },
    blip = {
        enabled = true,
        sprite = 475,
        colour = 5,
        scale = 0.8,
        label = 'Garage Shop',
    },
}

Adding Garages (config/purchasable_garages.lua)

Each purchasable garage is defined with:

{
    id = 'my_garage',             -- Unique ID
    label = 'My Cool Garage',     -- Display name
    price = 50000,                -- Purchase price
    type = 'car',                 -- Vehicle type: 'car', 'air', 'sea'
    interior = 'garage_6car',     -- Interior template name (from config/interior.lua)
    enter = vector4(x, y, z, h), -- Entrance location (outside)
    blip = {                      -- Map blip (when owned)
        sprite = 357,
        colour = 3,
        scale = 0.7,
    },
}

Interiors (config/interior.lua)

Each interior defines:

  • Spawn point inside
  • Exit marker position
  • Vehicle slot positions per floor
  • Drive-out exit points
  • Customization options (entity sets)
PurchasableInteriors = {
    ['garage_6car'] = {
        insideSpawn = vector4(x, y, z, h),
        exitMarker = vector3(x, y, z),
        Vehicles = {
            [1] = {  -- Floor 1
                vector4(x, y, z, h),  -- Slot 1
                vector4(x, y, z, h),  -- Slot 2
                -- ...
            },
        },
        driveOutExits = { vector3(x, y, z) },
        Customization = { ... },
    },
}

Garage Locations (config/garages.lua)

Public garages are defined with:

{
    id = 'legion_square',
    label = 'Legion Square Parking',
    type = 'car',
    spawn = vector4(x, y, z, h),
    npc = {
        model = 's_m_y_valet_01',
        coords = vector4(x, y, z, h),
    },
    blip = {
        sprite = 357,
        colour = 3,
        scale = 0.7,
    },
}
Last updated 1 month ago