> For the complete documentation index, see [llms.txt](https://5scripts-1.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://5scripts-1.gitbook.io/docs/assets/5s_tuningmenu/config.md).

# Config

### Client config

`5s_tuningmenu/config/client.lua`

```lua
ConfigCl = {
    DefaultZoom = 0.3,
    -- Must be an vector4, for vehicle to set it's heading properly.
    InteriorVehicleCoordinates = vector4(-2203.2332, 1122.4052, -23.2586, 326.7576),

    -- Target used for opening tuning menu at workshops.
    TargetScript = 'auto', -- ox_target / qb-target / button (E) / none / auto (automatically detect)
    TargetDistance = 4.0,
    -- Only for "button" target type. Receives the target location coords.
    OnTargetEnter = function(coords)
        if not cache.vehicle or cache.vehicle == 0 then return end

        fs.utils.notify('Press E to open tuning menu', 'info')
    end,
    TargetLocations = {
        -- Benny's
        vector3(-210.7269744873047, -1324.4798583984375, 30.89036750793457),
    },
    BlipsOnTargets = true,
    BlipConfig = {
        Sprite = 446,
        Color = 47,
        Scale = 0.9,
        Name = locale('tuningShop')
    },

    -- UI theme. Pick one of the keys defined in `Themes` below ('default' / 'modern'),
    -- or add your own. Themes are passed to the NUI on menu open and applied as CSS variables.
    SelectedTheme = 'default',
    Themes = {
        ['default'] = { --[[ colors, borders, shadows, scrollbar, spinner, dialog, tooltip ... ]] },
        ['modern']  = { --[[ blue accent variant ]] }
    }
}
```

See `config/client.lua` for the full list of theme keys (backgrounds, border colors / radii, accent colors, buy/remove button colors, dialog, scrollbar, spinner and tooltip styling). Any key omitted from a custom theme falls back to the `default` value.

### Server config

`5s_tuningmenu/config/server.lua`

```lua
ConfigSv = {
    BusinessPercent = 30,
    WorkerPercent = 10,

    CompareDistanceOnPayment = true,
    MaxDistance = 25.0,

    -- Set to 'none' to disable, otherwise provide a Discord webhook URL.
    -- Logs every paid invoice (total, business / worker earnings, target, vehicle model).
    PaymentWebhook = 'none',
    -- auto (whichever account has money) / cash / bank
    PaymentMethod = 'auto'
}
```

### Shared config

`5s_tuningmenu/config/shared.lua`

```lua
ConfigSh = {
    MechanicJobNames = {
        ['mechanic'] = true
    },

    -- Allow everyone to pay for tuning services, not only people with the job specified above.
    AllowEveryoneToPay = false,
    -- If disabled, people without a mechanic job can not bill others (only pay for themselves).
    AllowEveryoneToBillOthers = false,

    ProjectsEnabled = true,
    -- Add properties names to skip when importing a project (e.g. 'nitrous').
    -- Properties are being gathered by ox_lib `getVehicleProperties` function.
    ProjectVehiclePropertiesToSkip = {}
}
```

### Prices config

`5s_tuningmenu/data/modPrices.lua`

```lua
ModPrices = {
    modSpoilers = 2000,
    modFrontBumper = 1250,
    modRearBumper = 1250,
    modHorns = 500,

    modFrontWheels = 2000,
    wheels = 2000,

    modRoof = 750,
    modGrille = 650,
    modHood = 550,
    modFrame = 650,
    modSideSkirt = 450,
    modLivery = 800,

    windowTint = 1000,
    licensePlateDecor = 200,

    modExhaust = 1100,
    modXenon = 800,
    extras = 200,

    neon = 500,
    
    -- Vehicle colors
    ["0"] = 500, -- Primary
    ["1"] = 500, -- Secondary
    ["2"] = 500, -- Pearleascent
    ["3"] = 500, -- Wheels
    ["4"] = 500, -- Xenons
    ["5"] = 500, -- Neons
    ["6"] = 500  -- Tyre Smoke
}
```
