Skip to main content

In-Vehicle Screen Settings

DUI screen prop — model, texture, resolution, default offsets, and required-to-use mode.

This section

In-Vehicle Screen Settings

lua
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

FieldTypeDefaultDescription
enabledbooleantrueMaster toggle for the entire DUI screen feature
requiredToUsebooleanfalseIf true, players cannot open Carplay without an installed screen on their current vehicle
itemstring'carplay_screen'Inventory item used to install a screen

Prop & Texture

FieldTypeDefaultDescription
propModelstring'mdigou_boombox_car_prop_02'Prop model name (must be streamed)
textureDictstring'mdigou_boombox_car_prop_02'Texture dictionary name (typically same as prop)
textureNamestring'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

FieldTypeDefaultDescription
duiWidthnumber1024DUI render width (pixels)
duiHeightnumber512DUI 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

lua
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

lua
jobs = {},
discordRoles = {},

Restrict who can install screens (e.g. only mechanics). See Permission System.

How requiredToUse Works

lua
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_screen item
  • Players need to invest in their car to use the tablet

Custom Props

To use your own dashboard screen prop:

  1. Stream the prop and its texture dictionary in your resource (e.g. via stream/ folder or a separate streaming resource)
  2. 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
  3. Set:
lua
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

lua
['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

OptionDefaultDescription
Config.Screen.enabledtrueEnable the entire DUI screen feature