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

# FAQ

### Does DZ Customs support add-on vehicles?

Yes.

DZ Customs scans the current vehicle and displays available customisation options based on what the vehicle supports.

However, add-on vehicle compatibility depends on:

* The vehicle’s mod data
* The vehicle’s mod kit
* Available mod slots
* Garage save/restore support

Some add-on vehicles may not support every customisation category.

**Note: When modding add-on vehicles some items may be mis-labelled. That's not because of this script, it's because of whoever made the vehicle add-on didn't set it up correctly.**

***

### Can players customise unowned vehicles?

Yes, but only if you allow it.

```lua
Config.Persistence.requireOwnedVehicle = false
```

If this is set to `false`, players can customise unowned vehicles.

However, only owned vehicles will be saved to the database.

Recommended public-server setting:

```lua
Config.Persistence.requireOwnedVehicle = true
```

***

### Can I make a shop mechanic-only?

Yes.

Set the shop job:

```lua
job = 'mechanic'
```

For public shops use:

```lua
job = nil
```

***

### Can each shop have different categories?

Yes.

Example:

```lua
categories = {
    performance = false,
    body = true,
    paint = true,
    wheels = true,
    lights = true,
    extras = false,
    liveries = true,
    plates = true,
    windows = true,
    horns = false,
    interior = true,
    misc = true
}
```

This allows each shop to offer different customisation options.

***

### Can I disable blips?

Yes.

Disable all blips by setting:

```lua
Config.Blips.enabled = false
```

Disable one shop blip in the shop config by setting:

```lua
blip = {
    enabled = false
}
```

***

### Can I disable markers?

Yes.

Disable all markers by setting:

```lua
Config.Markers.enabled = false
```

Disable one shop marker inside the shop config by setting:

```lua
marker = false
```

***

### Can I change the UI colour?

Yes.

Change:

```lua
Config.UI.accentColour = '#7c3aed'
```

Example:

```lua
Config.UI.accentColour = '#00aaff'
```

***

### Can I change the currency symbol?

Yes.

```lua
Config.Currency = '£'
```

Examples:

```lua
Config.Currency = '$'
Config.Currency = '€'
```

***

### Does the script use server-side price validation?

Yes.

The server recalculates trusted prices during checkout.

The NUI price is not trusted.

***

### Can players pay with society money?

Yes, if enabled.

```lua
Config.PaymentMethods.society = true
Config.SocietyPayment.enabled = true
```

You also need a compatible ESX society/addon account system.

***

### Can jobs get discounts?

Yes.

```lua
Config.JobPricing = {
    enabled = true,

    discounts = {
        mechanic = 0.25
    },

    freeJobs = {}
}
```

`0.25` means 25% off.

***

### Can a job customise vehicles for free?

Yes.

```lua
freeJobs = {
    mechanic = true
}
```

***

### Does DZ Customs include chameleon paints?

The main resource supports chameleon paints, but the paint data should be installed as a separate optional resource:

```
dz_chameleonpaints
```

This keeps `dz_customs` safe to restart during development or support.

I have included both of them in the download from my tebex store.

***

### Do I need ox\_target?

Only if you use:

```lua
Config.Interaction = 'target'
```

If you use:

```lua
Config.Interaction = 'textui'
```

then `ox_target` is not required.

***

### Do I need oxmysql?

Yes, only if persistence is enabled.

```lua
Config.Persistence.enabled = true
```

If you disable persistence, database saving will not be used.

***

### Can I open DZ Customs from another script?

Yes.

Use the client exports.

Example:

```lua
exports['dz_customs']:OpenCustoms()
```

***

### Can I use DZ Customs in a radial menu?

Yes.

Example:

```lua
lib.addRadialItem({
    id = 'open_customs',
    label = 'Open Customs',
    icon = 'car',
    onSelect = function()
        exports['dz_customs']:OpenCustoms()
    end
})
```

***

### Why does the player need to be inside a vehicle?

DZ Customs needs a vehicle to:

* Scan available mods
* Preview changes
* Save original properties
* Restore on cancel
* Save purchased modifications
* Position the preview camera

The script is not designed for on-foot customisation.

***

### Can customers edit the NUI?

Yes.

These files are open-source and available to edit if you have the knowledge:

```lua
'web/index.html',
'web/style.css',
'web/app.js'
```

This allows server owners to adjust UI branding, colours, and layout.

***

### Can I restart `dz_customs` while the server is live?

Yes.

You can usually restart:

```cfg
restart dz_customs
```

Avoid restarting `dz_chameleonpaints` while players are connected.

For changes to streamed paint files or meta files, restart the full server.
