Speech
Provides functions for controlling speech and dialogue on NPCs.
This module can only be used in Entity scripts.
Properties
authorName
The name of the NPC, displayed in the dialogue prompt. This property is read-only.
bubbleText
The text displayed in a speech bubble. This property is read-only.
promptText
The text displayed in the dialogue prompt. This property is read-only.
Functions
setText(text)
Sets the text displayed in a speech bubble.
Parameters
- text — The text value to display.
Example
Set a welcome message on a NPC.
function onStart()
Speech.setText('Welcome!')
end
clearText()
Clears the text displayed in a speech bubble.
Example
Clear a message after 5 seconds.
function onStart()
Speech.setText("This message is going to disappear in 5 seconds!")
Task.wait(5)
Speech.clearText()
end
prompt(text, options)
Sets the text and response options displayed in the dialogue prompt that is shown when a player interacts with the NPC.
Parameters
- text — The text value to display.
- options — A list of options displayed that the player can select to respond.
Returns
An integer representing the response option selected by the player, or nil if the prompt was closed.
Example
A simple interaction between a player and a NPC.
function onInteractStart(player)
-- Show a prompt when the player interacts with this NPC
local response = Speech.prompt('How are you today?', {
'Good!',
'Fine.',
'Terrible...',
})
-- Show another prompt depending on the option the player selected
if response == 0 then
Speech.prompt('Great!')
elseif response == 1 then
Speech.prompt('OK!')
elseif response == 2 then
Speech.prompt('Oh no!')
end
end
closePrompt()
Closes the dialogue prompt.
Example
Close a dialogue prompt after a short dialogue.
function onInteractStart(clientId)
-- Set our camera to dialogue and prevent player movement
Controls.setControlScheme(clientId, ControlScheme.Dialogue, false)
Speech.prompt("Welcome to my world, I hope you have a nice experience!")
Speech.closePrompt()
end
setName(name)
Sets the name of the NPC, displayed in the dialogue prompt.
Example
Set the name of a NPC to Gary.
function onStart()
Speech.setName("Gary")
end
function onInteractStart(clientId)
Speech.prompt("Hello, my name is Gary")
end