In-Vehicle Screen Settings
Config.Screen = {
enabled = true,
requiredToUse = false,
item = 'carplay_screen',
propModel = 'mdigou_boombox_car_prop_02',
textureDict = 'mdigou_boombox_car_prop_02',
textureName = 'mdigou_screen_txd',
duiWidth = 1024,
duiHeight = 512,
defaultOffset = vector3(0.0, 0.0, 0.0),
defaultRotation = vector3(0.0, 0.0, 0.0),
jobs = {},
discordRoles = {},
}
Fields
Core Settings
| Field | Type | Default | Description |
|---|---|---|---|
enabled | boolean | true | Master toggle for the entire DUI screen feature |
requiredToUse | boolean | false | If true, players cannot open Carplay without an installed screen on their current vehicle |
item | string | 'carplay_screen' | Inventory item used to install a screen |
Prop & Texture
| Field | Type | Default | Description |
|---|---|---|---|
propModel | string | 'mdigou_boombox_car_prop_02' | Prop model name (must be streamed) |
textureDict | string | 'mdigou_boombox_car_prop_02' | Texture dictionary name (typically same as prop) |
textureName | string | 'mdigou_screen_txd' | Target texture inside the dictionary that gets replaced |
The script uses CreateRuntimeTextureFromDuiHandle and AddReplaceTexture to swap the named texture with the live DUI render output.
DUI Resolution
| Field | Type | Default | Description |
|---|---|---|---|
duiWidth | number | 1024 | DUI render width (pixels) |
duiHeight | number | 512 | DUI render height (pixels) |
Higher = sharper at distance, more GPU/VRAM. 1024 × 512 is the balanced default. For very high-quality screens (close-up cinematics) try 2048 × 1024. For lower-end servers, 512 × 256 works.
Default Spawn Position
defaultOffset = vector3(0.0, 0.0, 0.0)
defaultRotation = vector3(0.0, 0.0, 0.0)
Used as the starting position when a player first installs a screen on a new vehicle. After they fine-tune via the gizmo and confirm, the new offset/rotation is saved per-plate.
Permissions
jobs = {},
discordRoles = {},
Restrict who can install screens (e.g. only mechanics). See Permission System.
How requiredToUse Works
Config.Screen.requiredToUse = true
With this flag set, opening Carplay (via command, key, or item) fails silently unless the current vehicle has an installed screen. Use cases:
- RP servers where Carplay is a paid mod / installed product
- Mechanic shops sell + install the
carplay_screenitem - Players need to invest in their car to use the tablet
Custom Props
To use your own dashboard screen prop:
- Stream the prop and its texture dictionary in your resource (e.g. via
stream/folder or a separate streaming resource) - Open the
.ytd(texture dict) in OpenIV / CodeWalker and identify:- The dictionary filename (usually matches the prop name)
- The texture name inside the dictionary you want to replace with the live UI
- Set:
Config.Screen.propModel = 'your_prop_model'
Config.Screen.textureDict = 'your_texture_dict'
Config.Screen.textureName = 'your_texture_name'
Item Setup
If you want screens to be tradeable items, add to your inventory:
ox_inventory
['carplay_screen'] = {
label = 'Carplay Screen',
weight = 500,
stack = false,
description = 'Install on your vehicle to enable Carplay.',
},
qs-inventory / codem-inventory / others
Add via your inventory's standard item registration. The item just needs to exist — the script's install UI is opened from inside the screen module, not via item use.
Module Toggle
| Option | Default | Description |
|---|---|---|
Config.Screen.enabled | true | Enable the entire DUI screen feature |
