InnocentRP

Custom Text UI Integration

This is a guide designed to lead you through the successful text ui integration process of the script. Please follow the steps and do not deviate from the instructions.

Custom

inn-laundry never calls a text UI resource's own API directly — the on-screen [E] interact prompt used by every useTarget = false fallback only ever calls two functions on a client-side TextUI table, defined once per text UI system under bridge/textui/.

Note

This is the on-screen prompt bridge only. For the separate toast/ notification popups, see Custom Notify Integration.

Note

Most text UI resources expose a direct exports['your-textui']:FunctionName(...) call for showing/hiding the prompt — QBCore's DrawText/HideText below are a good example, called directly with no core object needed first.

Open the custom text UI template

Open inn-laundry/bridge/textui/custom.lua.

Implement each function

FunctionPurpose
TextUI.Show(text)Displays the on-screen prompt with the given text.
TextUI.Hide()Hides it.

Point the config at your bridge

Open config/config.lua and set:

lua
Config.TextUI = 'custom'

Reference implementation

bridge/textui/qb.lua, wrapping QBCore's built-in DrawText:

lua
function TextUI.Show(text)
    exports['qb-core']:DrawText(text, 'left')
end

function TextUI.Hide()
    exports['qb-core']:HideText()
end

and bridge/textui/ox.lua, wrapping ox_lib's equivalent:

lua
function TextUI.Show(text)
    lib.showTextUI(text)
end

function TextUI.Hide()
    lib.hideTextUI()
end
Note

No ESX option ships by default — ESX has no built-in on-screen prompt system of its own to bridge to (unlike QBCore's DrawText), so ESX servers get the 'ox' fallback for Config.TextUI unless you set 'custom' and provide one yourself here.

We use a few essential cookies to keep your basket and sign-in working across the site. Privacy Policy