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

# Config

### Configuration Files

#### `config/config.lua`

Main configuration file.

Use this file to edit:

* Menu open key
* Mechanic positions
* Marker settings
* Pricing
* Repair pricing
* Vehicle class price multipliers
* Text UI styling
* Sound settings
* Disabled camera classes

Example mechanic position:

```lua
[1] = {
    position = vector3(-339.17, -136.76, 39.01),
    heading = 252.28,
    public = false,
    pay = true,
    singleVehicle = true,
    JobName = 'mechanic',
    markerDistance = 10.0,
    actionDistance = 5.0,
    blip = {
        enabled = true,
        name = 'Mechanic',
        sprite = 72,
        color = 60,
        scale = 0.7
    }
}
```

Position options:

* `public = true`: anyone can use this location, `JobName` is ignored.
* `pay = false`: all changes are free at this location.
* `singleVehicle = true`: only one vehicle can use this spot at a time.
* `JobName`: required job for this mechanic.

`JobName` can be used as a string:

```lua
JobName = 'mechanic'
```

or as a list:

```lua
JobName = {'mechanic', 'mechanic2'}
```

or as a keyed table:

```lua
JobName = {mechanic = true, mechanic2 = true}
```

#### `config/bridge.lua`

Bridge configuration file.

Default core mode is:

```lua
Core = {
    System = 'auto'
}
```

Available core options:

```lua
auto
es_extended
qb-core
qbx_core
custom
```

Use `custom` only if your server uses a custom framework. Custom examples are included inside the bridge file.

Vehicle storage defaults:

```lua
es_extended -> owned_vehicles.vehicle
qb-core     -> player_vehicles.mods
qbx_core    -> player_vehicles.mods
```

If your garage stores vehicle props in a different table or column, edit:

```lua
TGBridge.Settings.VehicleStorage.Tables
```

#### `config/menu.lua`

Menu structure and upgrade categories.

Use this file to add, remove, or reorder menu categories. Prices are not configured here directly; menu items reference the pricing keys from `Config.Pricing.priceMultiplier`.

#### `config/Lang.lua`

All UI labels, notifications, payment messages, generated menu labels, and menu names.

Edit this file to translate or rename menu text.

### Pricing

Pricing is controlled from:

```lua
Config.Pricing
```

Part price formula:

```
vehicleBasePrice * priceMultiplier / 100
```

The result is then adjusted by `classPriceMultiplier`. If the price is above `0`, it will never go below `minimumPartPrice`.

Example:

```lua
vehicleBasePrice = 22000
minimumPartPrice = 52
priceMultiplier = {
    engine = {0.0, 3.05, 5.15, 8.1, 11.0, 14.0}
}
```

Repair price is configured separately:

```lua
repair = {
    paid = true,
    minPrice = 100,
    maxPrice = 1000
}
```

### Controls

Default controls:

* `E`: Open mechanic menu
* `ENTER`: Choose
* `BACKSPACE`: Back
* `ESC`: Close
* `H`: Toggle vehicle info
* `A / D`: Rotate vehicle
* Mouse hold: Rotate vehicle
* `C`: Free camera
* `U`: Undo
* `F1`: Toggle button helper overlay
