# Configuration

{% tabs %}
{% tab title="config.js" %}

```javascript
const Config = {};

// Legend
// Outside Garages = Refers to parking the vehicle anywhere on the map and a prop model appearing in it's place.
// Inside Garages = Refers to parking the vehicle in a specific garage and despawning it.

// ⚠⚠⚠ = An option that could cause the resource to stop working as intended or cause performance issues. Use with caution!
// DISCLAIMER: NO SUPPORT WILL BE PROVIDED IF ANY OF THE OPTIONS MARKED WITH ⚠⚠⚠ ARE NOT THE DEFAULT VALUES!

// ####################################
// #                                  #
// #                                  #
// #         GLOBAL OPTIONS           #
// #                                  #
// #                                  #
// ####################################

Config.Framework = 'auto'; // auto, qbox, qb, esx, custom
// The default framework inventory is supported out of the box.
// If you use another inventory, modify the code in dist/bridge/server/(your_framework).js

Config.Debug = false // Prints additional debug messages

Config.GarageMenu = {
    enabled: true,
    command: {
        name: 'garage',
        description: 'View and manage all your vehicles'
    },
    remoteUnpark: { // Allows players to remotely unpark/spawn their outside vehicles from the menu
        enabled: true,
        giveKeyRadius: 10 // Shows all players in range of the vehicle that should receive the keys
    },
    markLocation: { // Ability for player to mark the vehicle location when parked or impounded
        inside: true,
        outside: true,
        impound: false
    }
};

Config.Interactions = {
    maxDistance: 1.7,
    canParkWhileInside: true, // Whether you can park the vehicle while sitting in it.
    canParkWithPassengers: true, // Whether you can park the vehicle if it has passengers inside.
    keybind: 38 // Used for TextUI interactions. https://docs.fivem.net/docs/game-references/controls/#controls
};

Config.Permissions = {
    canParkIfNotOwned: { // Whether anyone can park a vehicle, even if it's owned by someone else.
        outside: true,
        inside: true
    },
    canParkIfNoAccess: { // Whether anyone can park a vehicle inside a garage they do not have access to.
        inside: true
    },
};

Config.Animations = {
    park: { // Vehicle fading when parking
        outside: true,
        inside: true,
        rate: 3, // The rate at which the animation is played
        delay: 1 // The delay in miliseconds between the next animation frame
    },
    appear: { // Object appearing after vehicle has been parked
        outside: true,
        rate: 3, // The rate at which the animation is played
        delay: 1 // The delay in miliseconds between the next animation frame
    },
};

Config.SpawnOptions = {
    outside: {
        unparkLockState: 1, // 0 = default game state; 1 = unlocked; 2 = locked; This is after the vehicle has been spawned (unparked).
        engineRunning: false,
        warpIntoVehicle: false,
    },
    inside: {
        unparkLockState: 1, // 0 = default game state; 1 = unlocked; 2 = locked; This is after the vehicle has been spawned (unparked).
        engineRunning: true,
        warpIntoVehicle: true,
        checkOccupied: { // Check if the area is occupied by another vehicle when taking out of garage
            enabled: true,
            distance: 2
        },
    },
    depot: {
        unparkLockState: 1, // 0 = default game state; 1 = unlocked; 2 = locked; This is after the vehicle has been spawned.
        engineRunning: true,
        warpIntoVehicle: true,
        checkOccupied: { // Check if the area is occupied by another vehicle when taking out of garage
            enabled: true,
            distance: 2
        },
    },
    jacked: { // When the vehicle has been carjacked
        unparkLockState: 2, // 0 = default game state; 1 = unlocked; 2 = locked; This is after the vehicle has been spawned (unparked).
        engineRunning: false,
        warpIntoVehicle: false,
    },
    impound: {
        unparkLockState: 2,
        engineRunning: false,
        warpIntoVehicle: false,
        checkOccupied: { // Check if the area is occupied by another vehicle when SPAWNING non-physical vehicle from impound
            enabled: true,
            distance: 2
        },
    }
};


// When spawning a vehicle through the depot, it will be repaired with full health.
// Depending on the current state of the vehicle, the price is different. Prices can be changed below.
// When spawning via the depot, if the old vehicle exists on the map it will be deleted to prevent duplication.
Config.Depot = {
    interactions: {
        preferTarget: true, // If true, will use ox_target if available, false for text UI
        targetOptions: {
            name: 'Open Depot',
            icon: 'warehouse'
        },
    },
    prices: { // Prices depend on the vehicle state when taking out of the depot.
        missingWorking: 1500, // Vehicle is not spawned on the map and when it was last spawned it's engine was working.
        missingBroken: 10000, // Vehicle is not spawned on the map and when it was last spawned, it's engine was broken.
        spawnedBroken: 3000, // Vehicle is spawned on the map, but it's engine is broken.
        spawnedWorking: 7000 // Vehicle is spawned and it's not broken.
    },
    locations: {
        city: {
            label: 'Los Santos',
            type: 'land', // land, water, air
            points: {
                menu: [-160.6362, -1162.0336, 22.8887, 269.8439],
                spawn: [
                    [-151.9821, -1162.2888, 25.2869, 259.7493],
                    [-152.1170, -1165.7527, 25.2589, 269.0813],
                    [-152.1190, -1168.9435, 25.2176, 267.7451],
                    [-152.2957, -1172.0688, 25.1755, 265.3527],
                    [-152.5797, -1175.0745, 25.1296, 268.2219]
                ]
            },
            blip: {
                enabled: true,
                sprite: 317, // https://docs.fivem.net/docs/game-references/blips/
                color: 1, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
                scale: 0.7,
            },
            npcModel: 's_m_m_ccrew_01'
        },
        paleto: {
            label: 'Paleto Bay',
            type: 'land', // land, water, air
            points: {
                menu: [96.0323, 6363.4253, 30.3759, 10.9867],
                spawn: [
                    [95.0378, 6372.0400, 31.2258, 9.3269],
                    [98.6111, 6373.8335, 31.2258, 7.9667],
                    [101.9770, 6376.3726, 31.2258, 8.3493],
                ]
            },
            blip: {
                enabled: true,
                sprite: 317, // https://docs.fivem.net/docs/game-references/blips/
                color: 1, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
                scale: 0.7,
            },
            npcModel: 's_m_m_ccrew_01'
        },
        sandy: {
            label: 'Sandy Shores',
            type: 'land', // land, water, air
            points: {
                menu: [1898.4939, 3707.3521, 31.7805, 117.1301],
                spawn: [
                    [1894.8556, 3706.2773, 32.8254, 118.1982],
                ]
            },
            blip: {
                enabled: true,
                sprite: 317, // https://docs.fivem.net/docs/game-references/blips/
                color: 1, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
                scale: 0.7,
            },
            npcModel: 's_m_m_ccrew_01'
        },
        airport: {
            label: 'City Airport',
            type: 'air', // land, water, air
            points: {
                menu: [-1289.3459, -3350.7886, 12.9401, 239.8171],
                spawn: [
                    [-1274.1547, -3379.7485, 13.9401, 327.4670],
                ]
            },
            blip: {
                enabled: true,
                sprite: 317, // https://docs.fivem.net/docs/game-references/blips/
                color: 1, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
                scale: 0.7,
            },
            npcModel: 's_m_m_ccrew_01'
        },
        docks: {
            label: 'City Docks',
            type: 'water', // land, water, air
            points: {
                menu: [611.4539, -3204.2271, 5.0695, 0.9396],
                spawn: [
                    [621.7027, -3238.6921, 13.1654, 181.7283],
                ]
            },
            blip: {
                enabled: true,
                sprite: 317, // https://docs.fivem.net/docs/game-references/blips/
                color: 1, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
                scale: 0.7,
            },
            npcModel: 's_m_m_ccrew_01'
        },
    }
};


Config.Impound = {
    command: {
        name: 'confiscate',
        description: 'Impound a parked or spawned vehicle (police only)',
        params: ['Name of the impound (optional)', 'Slot where the vehicle should be placed, starting from 0 (optional)'],
        accessGroups: ['police'], // Add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this impound.
    },
    depotCommand: {
        name: 'depotveh',
        description: 'Remove a spawned vehicle and send it depot. (police only)',
        accessGroups: ['police'], // Add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this impound.
    },
    interactions: {
        menu: { // Impound menu
            preferTarget: true, // If true, will use ox_target if available, false for text UI
            targetOptions: {
                name: 'Open Impound',
                icon: 'warehouse'
            },
        },
        release: { // Target for physical vehicles
            enabled: true,
            targetOptions: {
                name: 'Release Vehicle',
                icon: 'car-on'
            },
        }
    },
    transferFee: 2500, // Fee for transferring a vehicle from one impound to another
    giveKeyRadius: 10, // Displays all nearby players with this radius to receive the vehicle key when releasing.
    purge: { // An option to remove all vehicles from an impound. Action is defined below
        enabled: true,
        accessGroups: { police: 4 }, // Add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this impound.

        // despawn = keep in current depot, but non-physical. depot = send to depot. delete = permanently delete vehicle from garage
        // NOTE: it will only delete vehicles from the garage table, NOT the framework's player vehicles table. Meaning, they can be spawned again, just
        // not with up-to-date information.
        action: 'depot' // 'despawn' | 'depot' | 'delete'
    },
    // When the impound is full and a new vehicle is impounded, what should happen to the first impounded vehicle (oldest).
    // deny = cannot impound new vehicles; despawn = remove first vehicle as physical but keep in impound; depot = send to depot; delete = permanently delete from garages DB
    overflowAction: 'deny', // 'deny' | 'despawn' | 'depot' | 'delete'
    locations: {
        // ##################################################################
        // #                                                                #
        // #   ALL IMPOUND LOCATIONS CAN BE FOUND IN THE ./impounds.js FILE #
        // #                                                                #
        // ##################################################################
    }
};

// ###########################################################################################################################################
// ###########################################################################################################################################


// ####################################
// #                                  #
// #                                  #
// #         OUTSIDE GARAGES          #
// #                                  #
// #                                  #
// ####################################

// The chunks determine which vehicles are loaded at the same time. They should cover the whole map.
// ATTENTION: AFTER ADJUSTING VALUES BELOW, ALL VEHICLES THAT ARE CURRENTLY PARKED OUTSIDE AND DO NOT BELONG IN THE NEW CHUNK WILL BE PUT IN THE DEPOT!
Config.Chunks = { // ⚠⚠⚠ CAUTION ⚠⚠⚠

    // These are the coordinates of the 4 corners of the map plus min and max height. 
    // If you have a map extension (like the cayo perico), you should adjust so the chunks cover that additional area.
    boundaries: {
        MAP_MIN_X: -4000,
        MAP_MAX_X: 4500,
        MAP_MIN_Y: -4000,
        MAP_MAX_Y: 8000,
        MAP_MIN_Z: -150,
        MAP_MAX_Z: 1000
    },
    CHUNK_SIZE: 200, // This determines the chunk size. The greater the value, the more stored vehicles will be loaded at a time. DISCLAIMER: TOO SMALL OF A CHUNK SIZE CAN CAUSE PERFORMANCE ISSUES!
    debug: false // Set to true to visualize the chunks (WARNING: Drastically decreases performance)
}

Config.Interactions.Outside = {
    enabled: true,
    park: {
        command: {
            enabled: true,
            name: 'park',
            description: 'Park the closest vehicle or the one you\'re in'
        },
        radial: {
            enabled: true,
            name: 'Park Vehicle',
            icon: 'square-parking'
        },
        target: {
            enabled: true,
            name: 'Park Vehicle',
            icon: 'square-parking'
        },
    },
    unpark: {
        command: {
            enabled: true,
            name: 'unpark',
            description: 'Unpark the closest vehicle'
        },
        radial: {
            enabled: true,
            name: 'Unpark Vehicle',
            icon: 'warehouse'
        },
        target: {
            enabled: true,
            name: 'Unpark Vehicle',
            icon: 'warehouse'
        }
    },
}

// An item that is used for 'jacking' (unparking) outside parked vehicles.
Config.CarJacker = {
    enabled: true,
    item: 'carjacker',
    removeOnFail: true, // Whether the item should be removed from the player if they've failed the minigame.
    removeOnSuccess: true, // Whether the item should be removed from the player after they've succeeded the minigame.
    startMinigame: () => { // This is ran on the client and must return a boolean whether the minigame is successfull.
        return exports['glitch-minigames'].StartFirewallPulse();
    },
    alarm: {
        enabled: true,
        timeout: 60, // After how many seconds the alarm stops if the minigame was failed
        requireMinigame: true, // If true, it will require a second minigame in order to stop the alarm. If false, the alarm stops as soon as the vehicle is jacked.
        startMinigame: () => {
            return exports['glitch-minigames'].StartCircuitBreaker(Math.floor(Math.random() * 2) + 1, 0, 2000, 500, 500, 0, 0);
        },
    },
    giveKeys: false // Whether the player who jacked the vehicle should receive the keys or have to lockpick it.
}

Config.VehicleClasses = [ // What object models should appear when the vehicle is parked, depending on it's class. (https://docs.fivem.net/natives/?_0x29439776AAA00A62)
    'imp_prop_covered_vehicle_02a', // Compacts
    'imp_prop_covered_vehicle_01a', // Sedans
    'imp_prop_covered_vehicle_07a', // SUVs
    'imp_prop_covered_vehicle_03a', // Coupes
    'imp_prop_covered_vehicle_03a', // Muscle
    'imp_prop_covered_vehicle_04a', // Sports Classic
    'imp_prop_covered_vehicle_01a', // Sports
    'imp_prop_covered_vehicle_01a', //Super
    'prop_rub_bike_03', // Motorcycles
    'imp_prop_covered_vehicle_07a', // Offroad
    'prop_flattrailer_01a', // Industrial
    'imp_prop_covered_vehicle_05a', // Utility
    'imp_prop_covered_vehicle_05a', // Vans
    'prop_rub_bike_02', // Cycles
    'prop_byard_boat01', // Boats
    'prop_container_03a', // Helicopters
    'hei_prop_carrier_jet', // Planes
    'imp_prop_covered_vehicle_05a', // Service
    'imp_prop_covered_vehicle_03a', // Emergency
    'prop_container_01e', // Military
    'prop_truktrailer_01a', // Commercial
    '', // Trains
    '' // Open Wheel
];

Config.VehicleModels = { // This overrides the class-based mapping and for each individual vehicle model, a parked object model can be chosen. 
    // 'vehicleModel': 'parkedModel', // Remove the '//' at the start of the line
    // 'vehicleModel': 'parkedModel',
    // 'vehicleModel': 'parkedModel',
};

Config.BlacklistedTypes = { // Prevent vehicles with this type from being parked outside.
    automobile: false, // Set to true to prevent it from being parked.
    bike: false,
    boat: false,
    heli: false,
    plane: false,
    submarine: false,
    trailer: false,
    train: false
};

Config.BlacklistedModels = [ // Prevent specific vehicle models from being parked outside.
    'kosatka',
];

Config.GroundCheck = { // Checks whether the vehicle is on all 4 wheels before parking it.
    automobile: true,
    bike: true,
    boat: true,
    heli: true,
    plane: true,
    submarine: true,
    trailer: true,
    train: true
};

Config.HighlightOwnedVehicles = { // Whether to highlight parked vehicles when the player gets near them if they own them
    enabled: true,
    options: {
        distance: 5,
        color: [255, 255, 255, 255], // RGBA
        glow: true
    },
    interactions: {
        command: {
            enabled: true,
            name: 'highlight',
            description: 'Toggle highlight for nearby parked vehicles that you own'
        },
        keybind: {
            enabled: true,
            default: 'LBRACKET', // Default keybind for new players. Can be changed by each user individually.
            toggle: false, // true = toggleable, false = hold key
            description: 'Highlight owned parked vehicles'
        }
    },
    default: false // Whether the highlight is enabled/disabled by default. If no interactions are enabled, set this to 'true'
};

// Inside garage store points and impound zones are automatically added. Only depot spawn points need to be manually added.
Config.SafeZones = {
    pointsRadius: 5, // Radius of safe zones created around Inside Garage interaction points (park, spawn, menu).
    zones: [ // Make sure each zone is large enough so players can't park a vehicle in the zone while they're outside the zone. (Config.Interactions.maxDistance)
        
        // City Depot
        {
            points: [ // PolyZone points. You can use '/pzcreate poly', '/pzadd' and '/pzfinish' for easier creation.
                vector2(-161.07232666016, -1158.0786132812),
                vector2(-161.16448974609, -1186.2835693359),
                vector2(-140.00260925293, -1186.2198486328),
                vector2(-140.75495910645, -1157.6209716797)
            ],
            minZ: 22,
            maxZ: 28
        },

        // Paleto Depot
        {
            points: [ // PolyZone points. You can use '/pzcreate poly', '/pzadd' and '/pzfinish' for easier creation.
                vector2(86.633056640625, 6377.8676757812),
                vector2(94.066596984863, 6361.9736328125),
                vector2(115.9801864624, 6372.9194335938),
                vector2(105.732421875, 6390.16015625)
            ],
            minZ: 30,
            maxZ: 33
        },

        // Sandy Depot
        {
            points: [ // PolyZone points. You can use '/pzcreate poly', '/pzadd' and '/pzfinish' for easier creation.
                vector2(1903.8697509766, 3702.1652832031),
                vector2(1893.3161621094, 3695.7080078125),
                vector2(1884.6793212891, 3706.6765136719),
                vector2(1895.2440185547, 3714.1262207031)
            ],
            minZ: 31,
            maxZ: 35
        },
    ],
    debug: false // Whether to visualize the polyzones
};

Config.Blips = {
    enabled: true, // Enables blips on the map for parked vehicles outside of garages.
    color: 0xe9a7fffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
    scale: 0.8,
    keepOnMinimap: true, // Whether the blips should always appear on the minimap, even if not near them.
    limit: 10, // If keepOnMinimap is true, shows only the last x parked vehicles after joining (Can increase after parking new vehicles). Set to <0 to show all.
    shrink: true, // If keepOnMinimap is true, shrinks the blips on the minimap so they're not in the way
    sprites: { // https://docs.fivem.net/docs/game-references/blips/
        automobile: 825,
        bike: 749,
        boat: 455,
        heli: 753,
        plane: 579,
        submarine: 308,
        trailer: 479,
        train: 795
    }
}

Config.Cache = { // ⚠⚠⚠ CAUTION ⚠⚠⚠
    ttl: 30, // After x minutes unused chunks will be deleted
    cronExpression: '*/5 * * * *', // The cron expression used to run check for expired (TTL) chunks
    maxSize: 300 // Maximum amount of cached chunks. Oldest chunks will be replaced by new ones
};

// ###########################################################################################################################################
// ###########################################################################################################################################


// ####################################
// #                                  #
// #                                  #
// #     INSIDE (BASIC) GARAGES       #
// #                                  #
// #                                  #
// ####################################

Config.Interactions.Inside = {
    enabled: true,
};

Config.Garages = {
    // ##################################################################
    // #                                                                #
    // #   ALL GARAGE LOCATIONS CAN BE FOUND IN THE ./garages.js FILE   #
    // #                                                                #
    // ##################################################################
};


// ###########################################################################################################################################
// ###########################################################################################################################################


// ####################################
// #                                  #
// #                                  #
// #        HELPER FUNCTIONS          #
// #                                  #
// #                                  #
// ####################################

function vector2(x, y) {
    return { x, y };
};
```

{% endtab %}

{% tab title="garages.js" %}

```javascript
// ####################################
// #                                  #
// #                                  #
// #         GARAGE LOCATIONS         #
// #                                  #
// #                                  #
// ####################################

Config.Garages = {
    pillbox: {
        label: 'Pillbox Garage',
        type: 'land', // land, water, air
        points: {
            store: {
                coords: [213.99, -795.06, 29.90],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // rgba
                    rotate: true,
                    hover: false,
                    scale: 1.5,
                },
            },
            menu: {
                coords: [213.8, -809.35, 30.5],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 36, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // rgba
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [228.88, -808.9, 30.2, 162.85],
        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [], // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [213.8, -809.35, 30.5],
            sprite: 357,
            color: 0xc0fdfffc,
            scale: 0.7,
        },
    },
    red: {
        label: 'Red Garage',
        type: 'land', // land, water, air
        points: {
            store: {
                coords: [-274.25, -889.94, 30.08],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // RGBA
                    rotate: true,
                    hover: false,
                    scale: 1.5,
                },
            },
            menu: {
                coords: [-281.04, -888.05, 31.00],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 36, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // RGBA
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [-274.8002, -890.5257, 31.0806, 334.2663],
        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [] // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [-281.04, -888.05, 31.32],
            sprite: 357, // https://docs.fivem.net/docs/game-references/blips/
            color: 0xc0fdfffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
    },
    groovestreet: {
        label: 'Groove Street Garage',
        type: 'land', // land, water, air
        points: {
            store: {
                coords: [-51.6202, -1832.3899, 25.6743],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // RGBA
                    rotate: true,
                    hover: false,
                    scale: 1.5,
                },
            },
            menu: {
                coords: [-52.8246, -1826.8776, 26.7011],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 36, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // RGBA
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [-51.6202, -1832.3899, 26.5743, 317.7521],
        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [] // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [-52.8246, -1826.8776, 26.7011],
            sprite: 357, // https://docs.fivem.net/docs/game-references/blips/
            color: 0xc0fdfffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
    },
    westvinewood: {
        label: 'West Vinewood Garage',
        type: 'land', // land, water, air
        points: {
            store: {
                coords: [71.5594, 11.8162, 67.98],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // RGBA
                    rotate: true,
                    hover: false,
                    scale: 1.5,
                },
            },
            menu: {
                coords: [68.4090, 13.0463, 69.2144],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 36, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // RGBA
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [71.5594, 11.8162, 68.8892, 156.8672],
        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [] // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [68.03, 12.82, 69.21],
            sprite: 357, // https://docs.fivem.net/docs/game-references/blips/
            color: 0xc0fdfffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
    },
    delperro: {
        label: 'Del Perro Garage',
        type: 'land', // land, water, air
        points: {
            store: {
                coords: [-1157.05, -745.24, 18.48],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // RGBA
                    rotate: true,
                    hover: false,
                    scale: 1.5,
                },
            },
            menu: {
                coords: [-1159.04, -740.21, 19.39],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 36, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // RGBA
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [-1151.3291, -753.7612, 18.5272, 219.4646],
        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [] // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [-1159.04, -740.21, 19.89],
            sprite: 357, // https://docs.fivem.net/docs/game-references/blips/
            color: 0xc0fdfffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
    },
    cypressflats: {
        label: 'Cypress Flats Garage',
        type: 'land', // land, water, air
        points: {
            store: {
                coords: [743.73, -2017.28, 28.3],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // RGBA
                    rotate: true,
                    hover: false,
                    scale: 1.5,
                },
            },
            menu: {
                coords: [745.56, -2026.48, 28.79],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 36, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // RGBA
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [743.6060, -2017.3599, 28.8795, 264.0300],
        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [] // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [745.56, -2026.48, 29.29],
            sprite: 357, // https://docs.fivem.net/docs/game-references/blips/
            color: 0xc0fdfffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
    },
    mirrorpark: {
        label: 'Mirror Park Garage',
        type: 'land', // land, water, air
        points: {
            store: {
                coords: [1027.03, -758.94, 57.00],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // RGBA
                    rotate: true,
                    hover: false,
                    scale: 1.5,
                },
            },
            menu: {
                coords: [1036.3, -763.3, 57.50],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 36, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // RGBA
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [1039.0846, -768.2586, 57.5937, 334.0204],
        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [] // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [1036.3, -763.3, 57.99],
            sprite: 357, // https://docs.fivem.net/docs/game-references/blips/
            color: 0xc0fdfffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
    },
    sandyshores2: {
        label: 'Sandy Shores 2 Garage',
        type: 'land', // land, water, air
        points: {
            store: {
                coords: [1137.44, 2674.38, 37.28],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // RGBA
                    rotate: true,
                    hover: false,
                    scale: 1.5,
                },
            },
            menu: {
                coords: [1141.46, 2664.17, 37.66],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 36, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // RGBA
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [1137.7538, 2664.3013, 37.5995, 359.8084],
        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [] // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [1141.46, 2664.17, 38.16],
            sprite: 357, // https://docs.fivem.net/docs/game-references/blips/
            color: 0xc0fdfffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
    },
    sandyshores: {
        label: 'Sandy Shores Garage',
        type: 'land',
        points: {
            store: {
                coords: [1711.79, 3593.21, 34.45],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // RGBA
                    rotate: true,
                    hover: false,
                    scale: 1.5,
                },
            },
            menu: {
                coords: [1708.7479, 3589.1423, 35.4305],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 36, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // RGBA
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [1717.47, 3593.92, 35.29, 117.78],

        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [] // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [1708.62, 3587.43, 35.42],
            sprite: 357, // https://docs.fivem.net/docs/game-references/blips/
            color: 0xc0fdfffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
    },
    paletobay: {
        label: 'Paleto Bay Garage',
        type: 'land',
        points: {
            store: {
                coords: [81.8, 6414.7, 30.30],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // RGBA
                    rotate: true,
                    hover: false,
                    scale: 1.5,
                },
            },
            menu: {
                coords: [83.56, 6420.53, 31.26],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 36, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // RGBA
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [87.9901, 6424.4248, 30.9498, 43.4845],
        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [] // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [83.56, 6420.53, 31.76],
            sprite: 357, // https://docs.fivem.net/docs/game-references/blips/
            color: 0xc0fdfffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
    },
    airportland: {
        label: 'Airport Garage',
        type: 'land', // land, water, air
        points: {
            store: {
                coords: [-788.01, -2032.56, 7.9],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // RGBA
                    rotate: true,
                    hover: false,
                    scale: 1.5,
                },
            },
            menu: {
                coords: [-795.85, -2023.38, 8.68],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 36, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // RGBA
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [-793.7647, -2020.2651, 8.5240, 55.8672],
        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [] // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [-795.85, -2023.38, 9.17],
            sprite: 357, // https://docs.fivem.net/docs/game-references/blips/
            color: 0xc0fdfffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
    },
    airport: {
        label: 'Airport Hangar',
        type: 'air', // land, water, air
        points: {
            store: {
                coords: [-993.75, -3009.08, 12.5],
                distance: 100, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // RGBA
                    rotate: true,
                    hover: false,
                    scale: 4,
                },
            },
            menu: {
                coords: [-998.22, -3019.62, 13.95],
                distance: 50, // How far away the marker is visible
                marker: {
                    type: 33, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // RGBA
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [-993.75, -3009.08, 12.95, 55.79],
        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [], // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [-998.22, -3019.62, 13.95],
            sprite: 359, // https://docs.fivem.net/docs/game-references/blips/
            color: 0xc0fdfffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
    },
    sandyairport: {
        label: 'Sandy Shores Hangar',
        type: 'air', // land, water, air
        points: {
            store: {
                coords: [1698.9172, 3250.6792, 40.0],
                distance: 100, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // RGBA
                    rotate: true,
                    hover: false,
                    scale: 4,
                },
            },
            menu: {
                coords: [1726.7125, 3289.1409, 41.1686],
                distance: 50, // How far away the marker is visible
                marker: {
                    type: 33, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // RGBA
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [1698.9172, 3250.6792, 40.9519, 104.9464],
        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [], // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [1740.65, 3299.57, 41.22],
            sprite: 359, // https://docs.fivem.net/docs/game-references/blips/
            color: 0xc0fdfffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
    },
    alamosea: {
        label: 'Alamo Sea',
        type: 'water', // land, water, air
        points: {
            store: {
                coords: [1296.78, 4203.76, 30.3],
                distance: 30, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // RGBA
                    rotate: true,
                    hover: false,
                    scale: 1.5,
                },
            },
            menu: {
                coords: [1298.93, 4216.5, 33.91],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 35, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // RGBA
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [1296.78, 4203.76, 30.3, 169.03],
        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [] // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [1298.93, 4216.5, 33.91],
            sprite: 356, // https://docs.fivem.net/docs/game-references/blips/
            color: 0xc0fdfffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
    },
    lsymc: {
        label: 'LSYMC',
        type: 'water', // land, water, air
        points: {
            store: {
                coords: [-798.2969, -1501.9730, 0.1780],
                distance: 30, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // RGBA
                    rotate: true,
                    hover: false,
                    scale: 1.5,
                },
            },
            menu: {
                coords: [-786.2471, -1489.6344, 1.5952],
                distance: 30, // How far away the marker is visible
                marker: {
                    type: 35, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // RGBA
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [-798.2969, -1501.9730, 0.1780, 111.2362],
        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [] // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [-786.2471, -1489.6344, 1.5952],
            sprite: 356, // https://docs.fivem.net/docs/game-references/blips/
            color: 0xc0fdfffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
    },
    paletoboathouse: {
        label: 'Paleto Bay Boathouse',
        type: 'water', // land, water, air
        points: {
            store: {
                coords: [-289.2, 6637.96, 0.17],
                distance: 30, // How far away the marker is visible
                marker: {
                    type: 27, // https://docs.fivem.net/docs/game-references/markers/
                    color: [233, 167, 255, 255], // RGBA
                    rotate: true,
                    hover: false,
                    scale: 1.5,
                },
            },
            menu: {
                coords: [-277.32, 6636.93, 7.49],
                distance: 15, // How far away the marker is visible
                marker: {
                    type: 35, // https://docs.fivem.net/docs/game-references/markers/
                    color: [90, 28, 147, 255], // RGBA
                    rotate: false,
                    hover: false,
                    scale: 1.5,
                },
            },
            spawn: [-289.2, 6637.96, 0.17, 45.5],
        },
        permissions: {
            type: 'public', // public or private
            accessGroups: [] // When above option is 'private', add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this garage.
        },
        blip: {
            enabled: true,
            coords: [-277.32, 6636.93, 7.49],
            sprite: 356, // https://docs.fivem.net/docs/game-references/blips/
            color: 0xc0fdfffc, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
    },
};
```

{% endtab %}

{% tab title="impounds.js" %}

```javascript
// ####################################
// #                                  #
// #                                  #
// #       IMPOUND LOCATIONS          #
// #                                  #
// #                                  #
// ####################################

Config.Impound.locations = {
    lspdlot: {
        label: 'LSPD Lot',
        physical: true, // Whether the impounded vehicles appear as parked objects on the slots below
        accessGroups: ['police'], // Add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this impound.
        types: { // Allowed types to be stored at the impound
            automobile: true,
            bike: true,
            boat: false,
            heli: false,
            plane: false,
            submarine: false,
            trailer: false,
            train: false,
        },
        slots: [ // physical impounds only
            [417.0617, -1627.7969, 29.2919, 136.1003],
            [419.8743, -1629.2924, 29.2919, 137.3520],
            [421.4293, -1635.8279, 29.2919, 88.0853],
            [421.0453, -1638.8785, 29.2921, 80.7112],
            [421.2091, -1641.9592, 29.2903, 87.5383],
            [418.5700, -1646.4980, 29.2920, 49.0635],
            [410.5291, -1656.8143, 29.2919, 316.4688],
            [407.8942, -1655.0428, 29.2919, 318.8490],
            [405.9343, -1652.3260, 29.2925, 317.2211],
            [403.4093, -1650.5845, 29.2941, 316.1375],
            [400.7258, -1648.6952, 29.2929, 316.7133],
            [398.2435, -1646.7185, 29.2919, 318.5959],
            [396.0146, -1644.6632, 29.2919, 316.2415],
            [410.8658, -1636.6146, 29.2919, 226.4653],
            [408.7267, -1639.0560, 29.2919, 228.3355]
        ],
        slotInfo: { // physical impounds only. Used for displaying in the menu where the vehicle is located
            slotsPerFloor: [15], // How many slots each floor has.
            floorStart: 0, // What is the lowest floor number (0 for ground floor, etc)
        },
        blip: {
            enabled: true,
            public: true, // Whether everyone can see the blip
            sprite: 317, // https://docs.fivem.net/docs/game-references/blips/
            color: 3, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
        coords: {
            menu: [407.8860, -1625.0334, 28.2920, 224.0759],
            spawn: [402.3085, -1631.8418, 29.2919, 134.2749], // Spawn for non-physical vehicles
        },
        npcModel: 'csb_trafficwarden',
        zone: {
            points: [ // PolyZone points. You can use '/pzcreate poly', '/pzadd' and '/pzfinish' for easier creation.
                vector2(408.89398193359, -1616.3669433594),
                vector2(387.22015380859, -1642.8557128906),
                vector2(410.54495239258, -1661.2303466797),
                vector2(423.38446044922, -1645.2563476562),
                vector2(424.01400756836, -1640.5024414062),
                vector2(423.89395141602, -1633.005859375),
                vector2(423.11541748047, -1628.1965332031)
            ],
            minZ: 28,
            maxZ: 33,
            debug: false,
        }
    },
    citygarage: {
        label: 'City Garage Lot',
        physical: true, // Whether the impounded vehicles appear as parked objects on the slots below
        accessGroups: ['police'], // Add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this impound.
        types: { // Allowed types to be stored at the impound
            automobile: true,
            bike: true,
            boat: false,
            heli: false,
            plane: false,
            submarine: false,
            trailer: false,
            train: false,
        },
        slots: [ // physical impounds only
            // FLOOR 0:
            [388.0189, -1654.9271, 27.31, 140],
            [390.8403, -1657.2032, 27.31, 140],
            [393.8830, -1659.1805, 27.31, 140],
            [396.4510, -1661.0850, 27.31, 140],
            [399.3957, -1663.3911, 27.31, 140],

            [385.9437, -1670.3326, 27.31, 230],
            [383.5371, -1673.1833, 27.31, 230],
            [381.3813, -1675.7515, 27.31, 230],
            [379.0182, -1678.5687, 27.31, 230],
            [376.7709, -1681.2473, 27.31, 230],
            [374.3772, -1684.1003, 27.31, 230],
            [372.1428, -1686.7637, 27.31, 230],
            [369.8409, -1689.5066, 27.31, 230],
            [367.5732, -1692.1757, 27.31, 230],

            [364.4384, -1707.5197, 27.31, 320],
            [361.6318, -1705.2019, 27.31, 320],
            [358.8676, -1702.9187, 27.31, 320],
            [356.1306, -1700.6587, 27.31, 320],
            [353.3483, -1698.3610, 27.31, 320],
            [350.6834, -1696.1598, 27.31, 320],
            [347.8816, -1693.8462, 27.31, 320],
            [345.1746, -1691.6099, 27.31, 320],

            [354.8386, -1681.3075, 27.31, 50],
            [357.3032, -1678.5126, 27.31, 50],
            [359.5312, -1675.8445, 27.31, 50],
            [361.8633, -1673.0475, 27.31, 50],
            [364.1426, -1670.2941, 27.31, 50],
            [366.2767, -1667.7255, 27.31, 50],
            [368.5593, -1664.9727, 27.31, 50],
            [370.9476, -1662.0879, 27.31, 50],
            [373.1159, -1659.4690, 27.31, 50],

            [377.0597, -1645.7563, 27.31, 140],
            [379.7595, -1647.9932, 27.31, 140],
            [382.5834, -1650.3268, 27.31, 140],
            [385.3076, -1652.5819, 27.31, 140],

            // FLOOR 1:
            [388.0189, -1654.9271, 32.53, 140],
            [390.8403, -1657.2032, 32.53, 140],
            [393.8830, -1659.1805, 32.53, 140],
            [396.4510, -1661.0850, 32.53, 140],
            [399.3957, -1663.3911, 32.53, 140],

            [385.9437, -1670.3326, 32.53, 230],
            [383.5371, -1673.1833, 32.53, 230],
            [381.3813, -1675.7515, 32.53, 230],
            [379.0182, -1678.5687, 32.53, 230],
            [376.7709, -1681.2473, 32.53, 230],
            [374.3772, -1684.1003, 32.53, 230],
            [372.1428, -1686.7637, 32.53, 230],
            [369.8409, -1689.5066, 32.53, 230],
            [367.5732, -1692.1757, 32.53, 230],

            [364.4384, -1707.5197, 32.53, 320],
            [361.6318, -1705.2019, 32.53, 320],
            [358.8676, -1702.9187, 32.53, 320],

            [354.8386, -1681.3075, 32.53, 50],
            [357.3032, -1678.5126, 32.53, 50],
            [359.5312, -1675.8445, 32.53, 50],
            [361.8633, -1673.0475, 32.53, 50],
            [364.1426, -1670.2941, 32.53, 50],
            [366.2767, -1667.7255, 32.53, 50],
            [368.5593, -1664.9727, 32.53, 50],
            [370.9476, -1662.0879, 32.53, 50],
            [373.1159, -1659.4690, 32.53, 50],

            [377.0597, -1645.7563, 32.53, 140],
            [379.7595, -1647.9932, 32.53, 140],
            [382.5834, -1650.3268, 32.53, 140],
            [385.3076, -1652.5819, 32.53, 140],

            // FLOOR 2:
            [388.0189, -1654.9271, 37.79, 140],
            [390.8403, -1657.2032, 37.79, 140],
            [393.8830, -1659.1805, 37.79, 140],
            [396.4510, -1661.0850, 37.79, 140],
            [399.3957, -1663.3911, 37.79, 140],

            [385.9437, -1670.3326, 37.79, 230],
            [383.5371, -1673.1833, 37.79, 230],
            [381.3813, -1675.7515, 37.79, 230],
            [379.0182, -1678.5687, 37.79, 230],
            [376.7709, -1681.2473, 37.79, 230],
            [374.3772, -1684.1003, 37.79, 230],
            [372.1428, -1686.7637, 37.79, 230],
            [369.8409, -1689.5066, 37.79, 230],
            [367.5732, -1692.1757, 37.79, 230],

            [364.4384, -1707.5197, 37.79, 320],
            [361.6318, -1705.2019, 37.79, 320],
            [358.8676, -1702.9187, 37.79, 320],
            [356.1306, -1700.6587, 37.79, 320],
            [353.3483, -1698.3610, 37.79, 320],
            [350.6834, -1696.1598, 37.79, 320],
            [347.8816, -1693.8462, 37.79, 320],
            [345.1746, -1691.6099, 37.79, 320],

            [354.8386, -1681.3075, 37.79, 50],
            [357.3032, -1678.5126, 37.79, 50],
            [359.5312, -1675.8445, 37.79, 50],
            [361.8633, -1673.0475, 37.79, 50],
            [364.1426, -1670.2941, 37.79, 50],
            [366.2767, -1667.7255, 37.79, 50],
            [368.5593, -1664.9727, 37.79, 50],
            [370.9476, -1662.0879, 37.79, 50],
            [373.1159, -1659.4690, 37.79, 50],

            [377.0597, -1645.7563, 37.79, 140],
            [379.7595, -1647.9932, 37.79, 140],
            [382.5834, -1650.3268, 37.79, 140],
            [385.3076, -1652.5819, 37.79, 140],

            // FLOOR 3:
            [388.0189, -1654.9271, 43.04, 140],
            [390.8403, -1657.2032, 43.04, 140],
            [393.8830, -1659.1805, 43.04, 140],
            [396.4510, -1661.0850, 43.04, 140],
            [399.3957, -1663.3911, 43.04, 140],

            [385.9437, -1670.3326, 43.04, 230],
            [383.5371, -1673.1833, 43.04, 230],
            [381.3813, -1675.7515, 43.04, 230],
            [379.0182, -1678.5687, 43.04, 230],
            [376.7709, -1681.2473, 43.04, 230],
            [374.3772, -1684.1003, 43.04, 230],
            [372.1428, -1686.7637, 43.04, 230],
            [369.8409, -1689.5066, 43.04, 230],
            [367.5732, -1692.1757, 43.04, 230],

            [364.4384, -1707.5197, 43.04, 320],
            [361.6318, -1705.2019, 43.04, 320],
            [358.8676, -1702.9187, 43.04, 320],
            [356.1306, -1700.6587, 43.04, 320],
            [353.3483, -1698.3610, 43.04, 320],
            [350.6834, -1696.1598, 43.04, 320],
            [347.8816, -1693.8462, 43.04, 320],
            [345.1746, -1691.6099, 43.04, 320],

            [354.8386, -1681.3075, 43.04, 50],
            [357.3032, -1678.5126, 43.04, 50],
            [359.5312, -1675.8445, 43.04, 50],
            [361.8633, -1673.0475, 43.04, 50],
            [364.1426, -1670.2941, 43.04, 50],
            [366.2767, -1667.7255, 43.04, 50],
            [368.5593, -1664.9727, 43.04, 50],
            [370.9476, -1662.0879, 43.04, 50],
            [373.1159, -1659.4690, 43.04, 50],

            [377.0597, -1645.7563, 43.04, 140],
            [379.7595, -1647.9932, 43.04, 140],
            [382.5834, -1650.3268, 43.04, 140],
            [385.3076, -1652.5819, 43.04, 140],

            // FLOOR 4:
            [388.0189, -1654.9271, 48.3, 140],

            [385.9437, -1670.3326, 48.3, 230],
            [383.5371, -1673.1833, 48.3, 230],
            [381.3813, -1675.7515, 48.3, 230],
            [379.0182, -1678.5687, 48.3, 230],
            [376.7709, -1681.2473, 48.3, 230],
            [374.3772, -1684.1003, 48.3, 230],
            [372.1428, -1686.7637, 48.3, 230],
            [369.8409, -1689.5066, 48.3, 230],
            [367.5732, -1692.1757, 48.3, 230],

            [364.4384, -1707.5197, 48.3, 320],
            [361.6318, -1705.2019, 48.3, 320],
            [358.8676, -1702.9187, 48.3, 320],
            [356.1306, -1700.6587, 48.3, 320],
            [353.3483, -1698.3610, 48.3, 320],
            [350.6834, -1696.1598, 48.3, 320],
            [347.8816, -1693.8462, 48.3, 320],
            [345.1746, -1691.6099, 48.3, 320],

            [354.8386, -1681.3075, 48.3, 50],
            [357.3032, -1678.5126, 48.3, 50],
            [359.5312, -1675.8445, 48.3, 50],
            [361.8633, -1673.0475, 48.3, 50],
            [364.1426, -1670.2941, 48.3, 50],
            [366.2767, -1667.7255, 48.3, 50],
            [368.5593, -1664.9727, 48.3, 50],
            [370.9476, -1662.0879, 48.3, 50],
            [373.1159, -1659.4690, 48.3, 50],

            [377.0597, -1645.7563, 48.3, 140],
            [379.7595, -1647.9932, 48.3, 140],
            [382.5834, -1650.3268, 48.3, 140],
            [385.3076, -1652.5819, 48.3, 140],
        ],
        slotInfo: { // physical impounds only. Used for displaying in the menu where the vehicle is located
            slotsPerFloor: [35, 30, 35, 35, 31], // How many slots each floor has.
            floorStart: 0, // What is the lowest floor number (0 for ground floor, etc)
        },
        blip: {
            enabled: true,
            public: true, // Whether everyone can see the blip
            sprite: 317, // https://docs.fivem.net/docs/game-references/blips/
            color: 3, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
        coords: {
            menu: [344.6250, -1691.8910, 31.5300, 230.6783],
            spawn: [349.8622, -1688.5133, 32.5301, 232.3330], // Spawn for non-physical vehicles
        },
        npcModel: 'csb_trafficwarden',
        zone: {
            points: [ // PolyZone points. You can use '/pzcreate poly', '/pzadd' and '/pzfinish' for easier creation.
                vector2(363.58560180664, -1710.8283691406),
                vector2(385.06393432617, -1684.7681884766),
                vector2(387.70324707031, -1687.8218994141),
                vector2(394.43789672852, -1680.6389160156),
                vector2(391.78369140625, -1678.314453125),
                vector2(403.35046386719, -1663.4168701172),
                vector2(376.80191040039, -1641.1566162109),
                vector2(335.93737792969, -1689.3865966797)
            ],
            minZ: 27,
            maxZ: 49,
            debug: false,
        }
    },
    paleto: {
        label: 'Paleto Lot',
        physical: true, // Whether the impounded vehicles appear as parked objects on the slots below
        accessGroups: ['police'], // Add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this impound.
        types: { // Allowed types to be stored at the impound
            automobile: true,
            bike: true,
            boat: false,
            heli: false,
            plane: false,
            submarine: false,
            trailer: false,
            train: false,
        },
        slots: [ // physical impounds only
            [-482.5453, 6024.6802, 31.3405, 224.9331],
            [-479.5080, 6028.5728, 31.3405, 223.5305],
            [-475.6634, 6031.4790, 31.3405, 221.7430],
            [-472.4994, 6035.4629, 31.3405, 219.5535],
            [-469.3138, 6038.9644, 31.3405, 221.5655],
            [-461.1234, 6047.4199, 31.3405, 133.8287],
            [-457.6038, 6044.2827, 31.3405, 132.2765],
            [-454.3171, 6041.0913, 31.3405, 131.8134],
            [-462.0776, 6009.5332, 31.3405, 84.0195],
            [-457.8050, 6005.5415, 31.3405, 87.3709],
            [-454.2788, 6002.0161, 31.3405, 88.3974],
            [-450.6518, 5998.4722, 31.3405, 89.3751],
            [-446.9384, 5994.6387, 31.3405, 87.8873],
        ],
        slotInfo: { // physical impounds only. Used for displaying in the menu where the vehicle is located
            slotsPerFloor: [13], // How many slots each floor has.
            floorStart: 0, // What is the lowest floor number (0 for ground floor, etc)
        },
        blip: {
            enabled: true,
            public: true, // Whether everyone can see the blip
            sprite: 317, // https://docs.fivem.net/docs/game-references/blips/
            color: 3, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
        coords: {
            menu: [-458.0042, 6029.5151, 30.3453, 132.8405],
            spawn: [-459.4841, 6022.4023, 31.3405, 313.3645], // Spawn for non-physical vehicles
        },
        npcModel: 'csb_trafficwarden',
        zone: {
            points: [ // PolyZone points. You can use '/pzcreate poly', '/pzadd' and '/pzfinish' for easier creation.
                vector2(-449.42846679688, 6024.0952148438),
                vector2(-458.18923950195, 6032.83203125),
                vector2(-449.82363891602, 6041.3061523438),
                vector2(-460.91101074219, 6052.642578125),
                vector2(-489.15676879883, 6024.4013671875),
                vector2(-478.98062133789, 6014.2026367188),
                vector2(-501.3323059082, 5991.697265625),
                vector2(-472.02935791016, 5962.3481445312),
                vector2(-450.95355224609, 5985.9189453125),
                vector2(-440.0964050293, 5994.6958007812),
                vector2(-460.97518920898, 6014.1967773438)
            ],
            minZ: 30,
            maxZ: 65,
            debug: false,
        }
    },
    paletoheli: {
        label: 'Paleto Heli Lot',
        physical: true, // Whether the impounded vehicles appear as parked objects on the slots below
        accessGroups: ['police'], // Add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this impound.
        types: { // Allowed types to be stored at the impound
            automobile: false,
            bike: false,
            boat: false,
            heli: true,
            plane: false,
            submarine: false,
            trailer: false,
            train: false,
        },
        slots: [ // physical impounds only
            [-479.0570, 6001.3525, 31.3328, 315],
            [-476.0440, 5998.2710, 31.3355, 315],
            [-471.9939, 5994.1943, 31.3356, 315],
            [-468.4939, 5990.7676, 31.3328, 315],
            [-465.0638, 5987.3550, 31.3327, 315],
            [-461.8354, 5984.4097, 31.3134, 315],
            [-470.3217, 5976.7783, 31.3204, 135],
            [-473.5778, 5979.9819, 31.3367, 135],
            [-476.8970, 5983.1108, 31.3367, 135],
            [-480.4001, 5986.4097, 31.3367, 135],
            [-483.9145, 5989.7646, 31.3367, 135],
            [-487.3177, 5992.8926, 31.3345, 135]
        ],
        slotInfo: { // physical impounds only. Used for displaying in the menu where the vehicle is located
            slotsPerFloor: [12], // How many slots each floor has.
            floorStart: 0, // What is the lowest floor number (0 for ground floor, etc)
        },
        blip: {
            enabled: true,
            public: true, // Whether everyone can see the blip
            sprite: 317, // https://docs.fivem.net/docs/game-references/blips/
            color: 3, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
        coords: {
            menu: [-480.1825, 5972.4185, 30.3162, 314.0261],
            spawn: [-475.7409, 5989.0352, 31.3367, 221.1059], // Spawn for non-physical vehicles
        },
        npcModel: 'csb_trafficwarden',
        zone: {
            points: [ // PolyZone points. You can use '/pzcreate poly', '/pzadd' and '/pzfinish' for easier creation.
                vector2(-449.42846679688, 6024.0952148438),
                vector2(-458.18923950195, 6032.83203125),
                vector2(-449.82363891602, 6041.3061523438),
                vector2(-460.91101074219, 6052.642578125),
                vector2(-489.15676879883, 6024.4013671875),
                vector2(-478.98062133789, 6014.2026367188),
                vector2(-501.3323059082, 5991.697265625),
                vector2(-472.02935791016, 5962.3481445312),
                vector2(-450.95355224609, 5985.9189453125),
                vector2(-440.0964050293, 5994.6958007812),
                vector2(-460.97518920898, 6014.1967773438)
            ],
            minZ: 30,
            maxZ: 100,
            debug: false,
        }
    },
    plane: {
        label: 'Fort Zancudo Plane Lot',
        physical: true, // Whether the impounded vehicles appear as parked objects on the slots below
        accessGroups: ['police'], // Add groups (jobs, gangs), CIDs or group-grade pairs (jobs: { police: 0 }) that can access this impound.
        types: { // Allowed types to be stored at the impound
            automobile: false,
            bike: false,
            boat: false,
            heli: false,
            plane: true,
            submarine: false,
            trailer: false,
            train: false,
        },
        slots: [ // physical impounds only
            [-2233.5740, 3270.9724, 32.8102, 235.5],
            [-2247.6902, 3246.6460, 32.8102, 235.5],
            [-2261.1846, 3222.1101, 32.8102, 235.5],
            [-2285.4028, 3180.8767, 32.8100, 235.5],
            [-2184.5352, 3176.1553, 32.8101, 328.5],
            [-2117.3496, 3142.7307, 32.8101, 328.5],
            [-2051.2705, 3106.4106, 32.8103, 328.5],
            [-1985.7488, 3069.9590, 32.8103, 328.5],
            [-1921.1477, 3031.8638, 32.8103, 328.5]
        ],
        slotInfo: { // physical impounds only. Used for displaying in the menu where the vehicle is located
            slotsPerFloor: [9], // How many slots each floor has.
            floorStart: 0, // What is the lowest floor number (0 for ground floor, etc)
        },
        blip: {
            enabled: true,
            public: true, // Whether everyone can see the blip
            sprite: 317, // https://docs.fivem.net/docs/game-references/blips/
            color: 3, // https://docs.fivem.net/docs/game-references/blips/#blip-colors
            scale: 0.7,
        },
        coords: {
            menu: [-2177.8450, 3244.3687, 31.8103, 153.9037],
            spawn: [-2243.4131, 3189.3015, 32.8083, 150.0], // Spawn for non-physical vehicles
        },
        npcModel: 'csb_trafficwarden',
        zone: {
            points: [ // PolyZone points. You can use '/pzcreate poly', '/pzadd' and '/pzfinish' for easier creation.
                vector2(-2838.3647460938, 3391.1774902344),
                vector2(-2883.25390625, 3313.169921875),
                vector2(-2802.3115234375, 3260.9848632812),
                vector2(-2749.2978515625, 3191.0715332031),
                vector2(-2531.9575195312, 3062.5119628906),
                vector2(-2503.0441894531, 2930.8203125),
                vector2(-2446.8991699219, 2896.9765625),
                vector2(-2408.8156738281, 2928.7573242188),
                vector2(-2349.3151855469, 2943.2277832031),
                vector2(-2270.5043945312, 2919.7121582031),
                vector2(-2154.6674804688, 2845.8403320312),
                vector2(-2102.9719238281, 2792.2321777344),
                vector2(-2020.6541748047, 2813.0895996094),
                vector2(-1837.5306396484, 2762.6809082031),
                vector2(-1804.7650146484, 2810.3110351562),
                vector2(-1717.3735351562, 2815.8823242188),
                vector2(-1683.6169433594, 2872.9946289062),
                vector2(-1662.8596191406, 2872.87890625),
                vector2(-1614.3549804688, 2807.1120605469),
                vector2(-1598.4055175781, 2822.4384765625),
                vector2(-1650.7803955078, 2900.6938476562),
                vector2(-1682.2434082031, 2995.951171875),
                vector2(-1703.7517089844, 3137.5415039062),
                vector2(-1666.8693847656, 3228.0993652344),
                vector2(-1965.7473144531, 3396.05859375),
                vector2(-2047.0560302734, 3331.2614746094),
                vector2(-2127.2712402344, 3377.1843261719)
            ],
            minZ: 30,
            maxZ: 250,
            debug: true,
        }
    },
}
```

{% endtab %}

{% tab title="lang.js" %}

```javascript
const Lang = {};

Lang.Errors = {
    vehicle_not_found: 'Vehicle not found!',
    vehicle_hash_missing: 'Vehicle not registered! Contact an admin!',
    no_park_inside: 'You can\'t park the vehicle while you\'re inside. Please get out!',
    no_park_passengers: 'You can\'t park the vehicle while there are passengers inside!',
    no_park_inuse: 'You can\'t park the vehicle while it is in use!',
    no_park: 'You can\'t park this vehicle!',
    no_park_here: 'You can\'t park vehicles here!',
    no_park_ground: 'Vehicle must be on the ground upright to park!',
    ped_not_found: 'Ped not found!',
    out_of_bounds: 'Out of bound!',
    invalid_fields: 'Invalid fields!',
    park_failed: 'Failed to park vehicle',
    cid_missing: 'Could not get player\'s Citizen ID/Identifier',
    vehicle_distance: 'Vehicle is too far or not found!',
    vehicle_blacklisted: 'Vehicle is blacklisted and cannot be parked here!',
    vehicle_owner_missing: 'Nobody owns this vehicle and it can\'t be parked!',
    vehicle_not_owned: 'You don\'t own this vehicle!',
    already_parked: 'Vehicle is already parked somewhere!',
    busy: 'You can\'t do this right now!',
    no_permission: 'You don\'t have permissions to do this!',
    invalid_garage: 'Invalid garage!',
    garage_distance: 'Garage not found or too far away!',
    space_occupied: 'There is something in the way!',
    vehicle_owner_cid_missing: 'Vehicle owner Citizen ID could not be found!',
    invalid_depot: 'Invalid depot!',
    invalid_impound: 'Invalid impound!',
    depot_distance: 'Depot not found or too far away!',
    impound_distance: 'Impound not found or too far away!',
    vehicle_type_mismatch: 'This vehicle type can not be stored inside this garage!',
    depot_type_mismatch: 'This vehicle can not be taken out of this depot type!',
    no_money: 'You don\'t have enough money!',
    impound_type_denied: 'This impound can not store vehicles of this type!',
    impound_slots_error: 'An error occured while managing the impound\'s free slots. Please contact an admin.',
    impound_full: 'The impound is full! Please choose another one.',
    impound_slot_invalid: 'Invalid impound slot!',
    impound_slot_occupied: 'The slot you\'ve chosen is already occupied!',
    not_allowed: 'This action is not allowed!',
    keys_player_not_found: 'The player you are trying to give keys to can not be found!',
};

Lang.Messages = {
    vehicle_parked: 'Vehicle parked!',
    vehicle_spawned: 'Vehicle spawned!',
    garage_empty: 'Garage is empty.',
    depot_empty: 'You don\'t have any depot vehicles of this type.',
    vehicle_jacked: 'Succesfully jacked this vehicle!',
    vehicle_not_impounded: 'Vehicle was removed but has not been impounded, because it was not player owned.',
    vehicle_impounded: 'Vehicle impounded!',
    impound_purged: 'Impound succesfully purged - vehicles %s',
    vehicle_transferred: 'Vehicle transferred!',
    vehicle_released: 'Vehicle released from impound!',
    vehicle_spawned_impound: 'Vehicle spawned at impound!',
    vehicle_marked: 'Vehicle marked on map!',
    remote_keys_received: 'You got the keys to a nearby remotely unparked vehicle!',
    vehicle_removed: 'Vehicle removed!',
};

Lang.TextUIs = {
    store_vehicle: '[E] - Store Vehicle',
    open_garage: '[E] - Open Garage',
    open_depot: '[E] - Open Depot',
    open_impound: '[E] - Open Impound',
};

Lang.Misc = {
    public_blip_name: 'Public Parking',
    parked_blip_name: 'Parked Vehicle',
    depot_blip_name: 'Depot',
    depot_charge_reason: 'Took vehicle out of depot',
    impound_blip_name: 'Impound',
};

Lang.Menus = {
    price_format: '$%s',
    percent_format: '%s%',
    confirm_depot: {
        title: 'Confirm Depot Payment',
        description: 'Take out **%s** for **$%s**?',
    },
    minigame_start: {
        title: 'Start Alarm Disable Sequence?',
        description: 'Would you like to start the hack sequence to disable the alarm?'
    },
    minigame_failed: {
        title: 'Alarm Disabling Failed',
        description: 'Would you like to try again? \n If you cancel, re-enter the vehicle to try again.'
    },
    depot_title: '%s Depot: %s',
    impound: {
        title: 'Impound Lot Options',
        search_vehicle: {
            title: 'Find Vehicle',
            description: 'Search for a vehicle in all impound locations'
        },
        list_vehicles: {
            title: 'All Vehicles',
            description: 'List of all vehicles in this current impound'
        },
        purge_impound: 'Purge Impound',
        purge_dialog: {
            title: 'Confirm Impound Purge',
            description: 'Are you sure you want to **%s** **ALL** vehicles from this lot? \n This action is irreversible!',
            despawn: 'despawn',
            depot: 'depot',
            delete: 'permanently delete'
        },
        search_dialog: {
            title: 'Search Vehicles',
            input: {
                title: 'Plate, Name or CID',
                description: 'Enter vehicle plate, owner name or CID',
            }
        },
        search_results: 'Search Results (%s)',
        all_vehicles: 'Vehicles In Current Lot (%s)',
        vehicle_footer: 'Owner: %s | Impounded: %s',
        vehicle_details: {
            title: 'Impound Vehicle Details',
            make: 'Make',
            model: 'Model',
            plate: 'License Plate',
            owner_cid: 'Owner',
            impounded_at: 'Impounded At',
            impounded_by: 'Impounded By',
            impound: 'Impound where vehicle is located',
            impound_slot: {
                title: 'Floor %s, Slot %s',
                description: 'Vehicle location inside impound'
            },
            transfer_vehicle: 'Transfer Vehicle',
            release_vehicle: 'Release Vehicle',
            spawn_vehicle: 'Spawn Vehicle',
            highlight_vehicle: 'Highlight Vehicle',
        },
        select_impound_dialog: {
            title: 'Impound Vehicle',
            input: 'Select Impound Lot'
        },
        give_keys_dialog: {
            title: 'Give Vehicle Keys',
            input: 'Select Player',
        },
        transfer_dialog: {
            title: 'Transfer Vehicle',
            description: 'Are you sure you want to transfer this vehicle to **%s** for **%s**?'
        }
    },
    garage: {
        title: 'My Garage',
        search_vehicles: {
            title: 'Search Vehicles',
            description: 'Search all your owned vehicles'
        },
        all_vehicles: {
            title: 'All Your Vehicles',
            description: 'List of all vehicles you own'
        },
        outside_vehicles: {
            title: 'Outside Vehicles',
            description: 'Vehicles parked outside on the street',
        },
        inside_vehicles: {
            title: 'Inside Vehicles',
            description: 'Vehicles parked inside a garage'
        },
        spawned_vehicles: {
            title: 'Spawned Vehicles',
            description: 'Vehicles that are spawned on the map',
        },
        impounded_vehicles: {
            title: 'Impounded Vehicles',
            description: 'Vehicles that have been confiscated by the police'
        },
        search_dialog: {
            title: 'Search Vehicles',
            input: {
                title: 'Plate, Model, Garage or Type',
                description: 'Types = automobile, bike, boat, heli, plane',
            }
        },
        search_results: 'Search Results (%s)',
        vehicle_footer: 'Status: %s',
        all_vehicles_header: 'All Vehicles (%s)',
        outside_vehicles_header: 'Outside Vehicles (%s)',
        outside_vehicle_footer: 'Parked At: %s',
        inside_vehicles_header: 'Inside Vehicles (%s)',
        inside_vehicles_footer: 'Garage: %s',
        spawned_vehicles_header: 'Spawned Vehicles (%s)',
        impound_vehicles_header: 'Impounded Vehicles (%s)',
        impound_vehicles_footer: 'Impound Name: %s',
        vehicle_details: {
            title: 'Vehicle Details',
            make: 'Make',
            model: 'Model',
            plate: 'License Plate',
            status: 'Status',
            parked_at: 'Parked At',
            impound: 'Impound where vehicle is located',
            impounded_at: 'Impounded At',
            impounded_by: 'Impounded By',
            garage: 'Garage',
            body: 'Body Health',
            engine: 'Engine Health',
            fuel: 'Fuel Level',
            unpark_vehicle: 'Unpark Vehicle',
            mark_vehicle: 'Mark Vehicle',
        },
        give_keys_dialog: {
            title: 'Give Vehicle Keys',
            description: 'These are the closest people to your vehicle',
            input: 'Select Player',
            no_players: 'No nearby players',
        },
    },
    no_results: 'No results',
};
```

{% endtab %}
{% endtabs %}
