> For the complete documentation index, see [llms.txt](https://infinite-mod.gitbook.io/infinite-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://infinite-mod.gitbook.io/infinite-documentation/infinite-resources/publish-your-docs/config-settings.md).

# Config Settings

## Base Settings

### Framework Configuration

Here you can change the base system to esx or qbcore

```lua
Config.Framework = "esx" -- options : esx, qbcore
```

### Compatibility Options

Here you can change as your additional script use. But all can self configuration on folder `/modules/**`

```lua
Config.compatibility = {-- all script in directory modules/... can adjust as you need
    -- [Fuel script Compatibility] 
    ["fuel"] = "cdn-fuel", -- options : cdn-fuel | LegacyFuel | standalone 
    -- [Keys script Compatibility]
    ["keys"] = "qb-vehiclekeys", -- options : qb-vehiclekeys | standalone
    -- [Interaction script Compatibility]
    ["interaction"] = "infinite", -- options : ox_lib | standalone | infinite ( "infinite" will use interaction in this resource )
    -- [Notification script Compatibility]
    ["notification"] = "infinite", -- options : ox_lib | standalone | infinite ( "infinite" will use notification in this resource )
    -- [Deformation script compatibility]
    ["deformation"] = "kiminaze", -- options dependency :  kimikaze (https://github.com/Kiminaze/VehicleDeformation)
    -- [Vehicle persistent script compatibility]
    ["persistent"] = "standalone", -- options : standalone ( need configuration on modules/persistent/sh_shared.lua )
}
```

### General Options

Some options you can choose as you needed.

```lua
Config.locale = "en" -- (located : /locale/.. ) set Languages
Config.CreateVehicle = "server" -- options : client | server -- Native CreateVehicle handle
Config.WarpPlayerIntoVehicle = true -- options : true | false -- if true, player will warp into vehicle when take out the vehicle from garage

-- Enable deformation
-- saving vehicle deformation data ( visual damage cars )
Config.Deformation = true -- options : true | false
--if true, you can access your cars from any garage, if false, you can only access your cars from the garage you stored them in
Config.GlobalParking = false -- options : true | false  
Config.AutoRespawn = false -- options : true | false -- true : stores cars in garage on restart | false : doesnt modify car states

-- Depot Price
-- final price : ( DepotPriceMultipler * DepotPriceByVehicleClass )
Config.DepotCurrency = "USD" -- (options : USD / IDR ) or whatever currency your server use.
Config.DepotPriceMultipler = 500 
Config.DepotPaymentMethod = "cash" -- (options : cash / bank )

-- Allowed to upgrade vehicle metadata ( security measure )
-- if true, this script garage allowed update metadata vehicle on database
-- if false, this script garage not allowed update metadata vehicle on database ( when player store the vehicle in garage )
-- exeption : if metadata vehicle is not exist in database, this script will create new metadata vehicle ( example case : when player buy a new vehicle )
Config.UpdateVehicleMetadata = true -- ( default : true ) do not change this if you dont know what you are doing
```

### Restriction Access Garages

Here you can enable or disable the restriction for spesified garage.

```lua
-- [[ Restriction Type ]] --
-- You can not remove or add. just can change it enable / disable on following options bellow.
Config.RestrictionType = {
    ["public"] = { -- can access by everyone
        enable = true, -- options : true | false
        label = "Public",
    },
    -- can access by specific job
    ["job"] = {
        enable = true, -- options : true | false
        label = "Job",
    },
    -- can access by specific group
    ["group"] = {
        enable = true, -- options : true | false
        label = "Group",
    },
    -- ESX : based on steam or char:xxx
    -- QBCORE : based on citizendid
    ["identifier"] = {
        enable = true, -- options : true | false
        label = "Identifier",
    }
}
```

### Garage Type Configuration

Here you can change config name of garage type and blips.

```lua
-- Note : do not change the key name ( editable : label, blip )
Config.GarageType = {
    ["garage_car"] = {
        type = {"automobile", "bike"},
        label = "Garage Automobile",
        blip = { display = 4, sprite = 357, color = 3, size = 0.6 },
    },
    ["garage_boat"] = { 
        type = {"boat"},
        label = "Garage Boat",
        blip = { display = 4, sprite = 356, color = 3, size = 0.7 },
    },
    ["garage_heli"] = {
        label = "Garage Helicopter",
        type = {"heli"},
        blip = { display = 4, sprite = 360, color = 3, size = 0.7 },
    },
    ["garage_plane"] = {
        type = {"plane"},
        label = "Garage Plane",
        blip = { display = 4, sprite = 359, color = 3, size = 0.7 },
    },
    ["depot_car"] = {
        type = {"automobile", "bike"},
        label = "Depot Automobile",
        blip = { display = 4, sprite = 357, color = 5, size = 0.6 },
    },
    ["depot_boat"] = {
        type = {"boat"},
        label = "Depot Boat",
        blip = { display = 4, sprite = 356, color = 5, size = 0.7 },
    },
    ["depot_heli"] = {
        type = {"heli"},
        label = "Depot Helicopter",
        blip = { display = 4, sprite = 360, color = 5, size = 0.7 },
    },
    ["depot_plane"] = {
        type = {"plane"},
        label = "Depot Plane",
        blip = { display = 4, sprite = 359, color = 5, size = 0.7 },
    }
}
```

### General Garage Config

This is sample for garage config.

```lua
Config.Garages["garage_a"] = { -- index are unique id
    id = "garage_a", -- put unique id of the garage
    label = "Garage A", -- put name label garage
    type = "garage_car", -- type of garage can see type above
    zone = {
        points = { -- point zone
            vec3(-283.326141, -885.218811, 30.080616),
            vec3(-315.673615, -878.614136, 30.080616),
            vec3(-317.210022, -884.200012, 30.080616),
            vec3(-284.587189, -891.280029, 30.080616),
        },
        thickness = 4.0 -- thickness zone
    },
    sharedGarage = false, -- true : people allow get all vehicle in this garage
    vehicleType = {"automobile", "bike"}, -- vehicle type on this garage
    restriction = { -- restriction for this garage
        -- example job
        -- ESX : mostly use job name and grade
        -- QBCore : mostly use JOB name and grade or GANG name and grade
        ["job"] = {
            { name = "police", grade = 0 }, -- sample whitelist job and grade ( mostly for esx and qbcore )
            { name = "ambulance", grade = 0 }, -- sample whitelist job and grade ( mostly for esx and qbcore )
            { name = "ballas", grade = 0 }, -- can put the gang name and grade ( mostly for qbcore )
        },
        -- example group
        ["group"] = {
            "admin", "superadmin", "moderator"
        },
        -- example identifier
        -- ESX : mostly use steam: or char1, char2, char3
        -- QBCore : mostly use citizenid
        ["identifier"] = {
            "steam:110000112345678",
        },
    },
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://infinite-mod.gitbook.io/infinite-documentation/infinite-resources/publish-your-docs/config-settings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
