Client

Dialogue (client). Client-only NUI dialogue system. Access via bridge.dialogue (lazy) or exports.Newb_Bridge:Dialogue(). Accessing this module on the server throws.

Dialogue (client)

Client-only NUI dialogue system. Access via bridge.dialogue (lazy) or exports.Newb_Bridge:Dialogue(). Accessing this module on the server throws.

RegisterMenu(menu)

RegisterMenu(menu)
ParamType
menuDialogueMenu

| Returns | string — menu id |

Usage Example

local id = bridge.dialogue.RegisterMenu({
    id = 'beekeeper',
    title = 'Beekeeper',
    text = 'Need supplies?',
    options = {
        { title = 'Buy jar', onSelect = function() end },
        { title = 'Sell honey', onSelect = function() end },
    },
})

UnregisterMenu(id)

bridge.dialogue.UnregisterMenu('beekeeper')
ParamType
idstring

| Returns | boolean |

UpdateMenu(id, updates)

bridge.dialogue.UpdateMenu('beekeeper', { text = 'Welcome back!' })
ParamType
idstring
updatesDialogueMenu | table

| Returns | boolean |

SetMenuOption(id, optionKey, updates)

bridge.dialogue.SetMenuOption('beekeeper', 1, { title = 'Buy premium jar', disabled = false })
ParamType
idstring
optionKeystring | number
updatesDialogueOption

| Returns | boolean |

RemoveMenuOption(id, optionKey)

bridge.dialogue.RemoveMenuOption('beekeeper', 2)
ParamType
idstring
optionKeystring | number

| Returns | boolean |

RefreshMenu(id)

bridge.dialogue.RefreshMenu('beekeeper')
ParamType
idstring

| Returns | boolean — re-renders the menu if it is open |

GetMenu(id)

local menu = bridge.dialogue.GetMenu('beekeeper')
ParamType
idstring

| Returns | DialogueMenu? |

OpenMenu(id, target?)

OpenMenu(id, target)
ParamTypeDescription
idstringRegistered menu id
targetnumber | vector3 | vector4 | DialogueTargetOptions?Ped entity or world position

Fails silently if the player is too far from the target.

Usage Example

bridge.dialogue.OpenMenu('beekeeper', shopPed)

bridge.dialogue.OpenMenu('beekeeper', {
    ped = shopPed,
    maxDistance = 3.0,
    camFov = 40.0,
})

GetNavigationArgs()

local args = bridge.dialogue.GetNavigationArgs()

| Returns | Args from the last menu-navigation select, or nil |

Close(sessionId)

bridge.dialogue.Close('beekeeper')
ParamTypeDescription
sessionIdstringSame as the registered menu id (OpenMenu does not return a separate session id)

PlayPedSpeech(ped, speech, param?)

bridge.dialogue.PlayPedSpeech(ped, 'GENERIC_HI', 'SPEECH_PARAMS_FORCE')
ParamType
pednumber
speechstring | DialogueSpeechOptions
paramstring?

| Returns | boolean |

PlayPedAnim(ped, anim, animId?)

bridge.dialogue.PlayPedAnim(ped, { dict = 'gestures@m@standing@casual', clip = 'gesture_hello' })
ParamType
pednumber
animDialogueAnimOptions
animIdstring?

| Returns | boolean |

Types

DialogueMenu

FieldType
idstring?
titlestring
descriptionstring?
textstring?
typewriterboolean?
menustring?
optionsDialogueOption[]
onEnterfun()?
onExitfun()?

DialogueOption

FieldType
titlestring?
descriptionstring?
inputDialogueInputField?
disabledboolean?
readOnlyboolean?
itemstring | { item, count?, metadata? }?
menustring?
onSelectfun(args: any)?
eventstring?
serverEventstring?
type'info' | 'error' | 'success' | 'warning'

DialogueTargetOptions

FieldType
pednumber?
entitynumber?
coordsvector3 | vector4?
maxDistancenumber?
camFovnumber?

DialogueInputField

Inline input on a DialogueOption (option.input).

FieldType
type'input' | 'number' | 'checkbox' | 'select' | 'multi-select' | 'slider' | 'textarea'
labelstring
descriptionstring?
placeholderstring?
iconstring?
requiredboolean?
disabledboolean?
defaultany?
passwordboolean? — input only
min / maxnumber? — numeric types, or textarea row count
options{ value, label?, description? }[]? — select / multi-select

DialogueAnimOptions

FieldType
dictstring
clipstring
flagnumber?
durationnumber?

On this page