Dialog
Creates NPC billboard-style dialog bubbles.
| Memory category | Instances |
|---|
Member index 15
Description
The Dialog object allows users to create non-player characters (NPCs) that players can talk to using a list of choices. The Dialog object can be inserted into a part such as a Humanoid's head, and then a player will see a speech bubble above the part that they can click on to start a conversation. The creator of a place can choose what choices the player can say by inserting DialogChoice objects into the dialog.
History 68
- 731 Change Default of TriggerOffset from to Vector3(0, 0, 0)
- 731 Change Default of TriggerDistance from to 0
- 731 Change Default of Tone from to Neutral
- 731 Change Default of Purpose from to Help
- 731 Change Default of InUse from to false
- 731 Change Default of GoodbyeChoiceActive from to true
- 731 Change Default of ConversationDistance from to 25
- 731 Change Default of BehaviorType from to SinglePlayer
- 726 Change Default of TriggerOffset from Vector3(0, 0, 0) to
- 726 Change Default of TriggerDistance from 0 to
- 726 Change Default of Tone from Neutral to
- 726 Change Default of Purpose from Help to
- 726 Change Default of InUse from false to
- 726 Change Default of GoodbyeChoiceActive from true to
- 726 Change Default of ConversationDistance from 25 to
- 726 Change Default of BehaviorType from SinglePlayer to
- 677 Add SetGuiObject
- 648 Change ReturnType of GetCurrentPlayers from Objects to Instances
- 573 Change ReturnType of SignalDialogChoiceSelected from void to null
- 573 Change ReturnType of SetPlayerIsUsing from void to null
- 553 Change Default of TriggerOffset from to Vector3(0, 0, 0)
- 553 Change Default of TriggerDistance from to 0
- 553 Change Default of Tone from to Neutral
- 553 Change Default of Purpose from to Help
- 553 Change Default of InUse from to false
- 553 Change Default of GoodbyeChoiceActive from to true
- 553 Change Default of ConversationDistance from to 25
- 553 Change Default of BehaviorType from to SinglePlayer
- 486 Change ThreadSafety of TriggerOffset from ReadOnly to ReadSafe
- 486 Change ThreadSafety of TriggerDistance from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Tone from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Purpose from ReadOnly to ReadSafe
- 486 Change ThreadSafety of InitialPrompt from ReadOnly to ReadSafe
- 486 Change ThreadSafety of InUse from ReadOnly to ReadSafe
- 486 Change ThreadSafety of GoodbyeDialog from ReadOnly to ReadSafe
- 486 Change ThreadSafety of GoodbyeChoiceActive from ReadOnly to ReadSafe
- 486 Change ThreadSafety of ConversationDistance from ReadOnly to ReadSafe
- 486 Change ThreadSafety of BehaviorType from ReadOnly to ReadSafe
- 462 Change ThreadSafety of DialogChoiceSelected from to Unsafe
- 462 Change ThreadSafety of SignalDialogChoiceSelected from to Unsafe
- 462 Change ThreadSafety of SetPlayerIsUsing from to Unsafe
- 462 Change ThreadSafety of GetCurrentPlayers from to Unsafe
- 462 Change ThreadSafety of TriggerOffset from to ReadOnly
- 462 Change ThreadSafety of TriggerDistance from to ReadOnly
- 462 Change ThreadSafety of Tone from to ReadOnly
- 462 Change ThreadSafety of Purpose from to ReadOnly
- 462 Change ThreadSafety of InitialPrompt from to ReadOnly
- 462 Change ThreadSafety of InUse from to ReadOnly
- 462 Change ThreadSafety of GoodbyeDialog from to ReadOnly
- 462 Change ThreadSafety of GoodbyeChoiceActive from to ReadOnly
- 462 Change ThreadSafety of ConversationDistance from to ReadOnly
- 462 Change ThreadSafety of BehaviorType from to ReadOnly
- 290 Add TriggerOffset
- 290 Add TriggerDistance
- 281 Add SetPlayerIsUsing
- 281 Add GetCurrentPlayers
- 281 Add BehaviorType
- 263 Add GoodbyeChoiceActive
- 206 Add GoodbyeDialog
- 55 Change Tags of Dialog from [preliminary] to []
- 47 Add DialogChoiceSelected
- 47 Add SignalDialogChoiceSelected
- 47 Add Tone
- 47 Add Purpose
- 47 Add InitialPrompt
- 47 Add InUse
- 47 Add ConversationDistance
- 47 Add Dialog
Members 15
BehaviorType
| Type | Default | |
|---|---|---|
| DialogBehaviorType | SinglePlayer | |
The BehaviorType of a Dialog determines whether multiple players can interact with a dialog at once. The default value for this property is SinglePlayer.
SinglePlayer
When a Dialog is configured to SinglePlayer, only one player can interact with it at a time. As soon as a player engages with a dialog, other players will not be able to initiate the dialog until the first player is finished.
While a player is engaged with a dialog, the other players will see the dialog choices of the player who started the dialog, along with the responses.
MultiplePlayers
When a Dialog is set to MultiplePlayers, any player can initiate a dialog at any time, even if another player has already initiated the dialog. Unlike SinglePlayer however, Dialogs set to MultiplePlayers will not show the dialog choices and responses to anyone but the player in the conversation.
| Thread safety | ReadSafe |
|---|---|
| Category | Data |
| Loaded/Saved | true |
History 6
- 731 Change Default of BehaviorType from to SinglePlayer
- 726 Change Default of BehaviorType from SinglePlayer to
- 553 Change Default of BehaviorType from to SinglePlayer
- 486 Change ThreadSafety of BehaviorType from ReadOnly to ReadSafe
- 462 Change ThreadSafety of BehaviorType from to ReadOnly
- 281 Add BehaviorType
ConversationDistance
| Type | Default | |
|---|---|---|
| float | 25 | |
The maximum distance in studs between the player's character and the Dialog's parent BasePart at which the player can click on the speech bubble to begin or continue a conversation. If the player moves further than this distance from the parent part, they cannot initiate the dialog. The engine uses this value to select the nearest available Dialog when multiple are in range.
Default is 25.
| Thread safety | ReadSafe |
|---|---|
| Category | Data |
| Loaded/Saved | true |
History 6
- 731 Change Default of ConversationDistance from to 25
- 726 Change Default of ConversationDistance from 25 to
- 553 Change Default of ConversationDistance from to 25
- 486 Change ThreadSafety of ConversationDistance from ReadOnly to ReadSafe
- 462 Change ThreadSafety of ConversationDistance from to ReadOnly
- 47 Add ConversationDistance
DialogChoiceSelected
| Parameters (2) | |
|---|---|
| player | Instance |
| dialogChoice | Instance |
Fired when a player chooses something to say, through a Dialog instance.
This event is client-side only and will not fire on the server. It should be connected to in either a LocalScript or a ModuleScript required by a LocalScript.
| Thread safety | Unsafe |
|---|
History 2
- 462 Change ThreadSafety of DialogChoiceSelected from to Unsafe
- 47 Add DialogChoiceSelected
GetCurrentPlayers
| Parameters (0) | ||
|---|---|---|
| No parameters. | ||
| Returns (1) | ||
| Instances | ||
The GetCurrentPlayers function of a Dialog will return a list of Player currently using the Dialog. If there are no players using the dialog then the returned list will be empty.
| Thread safety | Unsafe |
|---|
History 3
- 648 Change ReturnType of GetCurrentPlayers from Objects to Instances
- 462 Change ThreadSafety of GetCurrentPlayers from to Unsafe
- 281 Add GetCurrentPlayers
GoodbyeChoiceActive
| Type | Default | |
|---|---|---|
| bool | true | |
Toggles whether the goodbye option will be displayed. If true, the dialog will display the content of Dialog.GoodbyeDialog as the last option after other dialog choices. Clicking on the goodbye option will exit the dialog.
| Thread safety | ReadSafe |
|---|---|
| Category | Data |
| Loaded/Saved | true |
History 6
- 731 Change Default of GoodbyeChoiceActive from to true
- 726 Change Default of GoodbyeChoiceActive from true to
- 553 Change Default of GoodbyeChoiceActive from to true
- 486 Change ThreadSafety of GoodbyeChoiceActive from ReadOnly to ReadSafe
- 462 Change ThreadSafety of GoodbyeChoiceActive from to ReadOnly
- 263 Add GoodbyeChoiceActive
GoodbyeDialog
| Type | Default | |
|---|---|---|
| string | ||
The text displayed as the goodbye option at the bottom of the dialog choices list. When Dialog.GoodbyeChoiceActive is true, this string appears as the final selectable choice; clicking it ends the conversation. When Dialog.GoodbyeChoiceActive is false, this property has no visible effect.
Default is an empty string.
| Thread safety | ReadSafe |
|---|---|
| Category | Data |
| Loaded/Saved | true |
History 3
- 486 Change ThreadSafety of GoodbyeDialog from ReadOnly to ReadSafe
- 462 Change ThreadSafety of GoodbyeDialog from to ReadOnly
- 206 Add GoodbyeDialog
InUse
| Type | Default | |
|---|---|---|
| bool | false | |
A read-only runtime indicator that is true whenever at least one player is currently engaged in this dialog conversation. The engine sets this to true when a player begins talking and resets it to false when all participants leave. This property is not serialized and always starts as false when the place loads. Scripts can read this property but cannot set it directly.
Default is false.
| Thread safety | ReadSafe |
|---|---|
| Category | Data |
| Loaded/Saved | false |
InitialPrompt
| Type | Default | |
|---|---|---|
| string | ||
The text that the NPC displays inside the speech bubble when a player first begins the conversation. This is the opening line that appears before the player selects from DialogChoice options nested under this Dialog.
Default is an empty string.
| Thread safety | ReadSafe |
|---|---|
| Category | Data |
| Loaded/Saved | true |
History 3
- 486 Change ThreadSafety of InitialPrompt from ReadOnly to ReadSafe
- 462 Change ThreadSafety of InitialPrompt from to ReadOnly
- 47 Add InitialPrompt
Purpose
| Type | Default | |
|---|---|---|
| DialogPurpose | Help | |
Controls which icon appears on the dialog's speech bubble indicator. Accepts a value from the DialogPurpose enum:
- Quest -- displays an exclamation mark (!)
- Help -- displays a question mark (?)
- Shop -- displays a dollar sign ($)
Default is Help.
| Thread safety | ReadSafe |
|---|---|
| Category | Data |
| Loaded/Saved | true |
SetGuiObject
| Parameters (1) | ||
|---|---|---|
| gui | BillboardGui | |
| Returns (1) | ||
| null | ||
| Security | RobloxScriptSecurity |
|---|---|
| Thread safety | Unsafe |
History 1
- 677 Add SetGuiObject
SetPlayerIsUsing
| Parameters (2) | ||
|---|---|---|
| player | Instance | |
| isUsing | bool | |
| Returns (1) | ||
| null | ||
| Security | RobloxScriptSecurity |
|---|---|
| Thread safety | Unsafe |
History 3
- 573 Change ReturnType of SetPlayerIsUsing from void to null
- 462 Change ThreadSafety of SetPlayerIsUsing from to Unsafe
- 281 Add SetPlayerIsUsing
SignalDialogChoiceSelected
| Parameters (2) | ||
|---|---|---|
| player | Instance | |
| dialogChoice | Instance | |
| Returns (1) | ||
| null | ||
| Security | RobloxScriptSecurity |
|---|---|
| Thread safety | Unsafe |
History 3
- 573 Change ReturnType of SignalDialogChoiceSelected from void to null
- 462 Change ThreadSafety of SignalDialogChoiceSelected from to Unsafe
- 47 Add SignalDialogChoiceSelected
Tone
| Type | Default | |
|---|---|---|
| DialogTone | Neutral | |
Controls the color accent on the dialog's speech bubble. Accepts a value from the DialogTone enum:
- Neutral -- blue accent bar
- Friendly -- green accent bar
- Enemy -- red accent bar
Default is Neutral.
| Thread safety | ReadSafe |
|---|---|
| Category | Data |
| Loaded/Saved | true |
TriggerDistance
| Type | Default | |
|---|---|---|
| float | 0 | |
The maximum distance in studs from the Dialog's parent BasePart at which the dialog's trigger indicator becomes visible to a player. When a player's character is within this distance, the speech bubble icon appears over the parent part, inviting interaction. The value is clamped between 0 and 400.
Default is 0, which effectively disables the distance-based trigger indicator; the player must be within Dialog.ConversationDistance to see and interact with the dialog.
| Thread safety | ReadSafe |
|---|---|
| Category | Data |
| Loaded/Saved | true |
History 6
- 731 Change Default of TriggerDistance from to 0
- 726 Change Default of TriggerDistance from 0 to
- 553 Change Default of TriggerDistance from to 0
- 486 Change ThreadSafety of TriggerDistance from ReadOnly to ReadSafe
- 462 Change ThreadSafety of TriggerDistance from to ReadOnly
- 290 Add TriggerDistance
TriggerOffset
| Type | Default | |
|---|---|---|
| Vector3 | 0, 0, 0 | |
A Vector3 offset in studs that shifts the position of the dialog's speech bubble indicator relative to the Dialog's parent BasePart. Use this to position the indicator above or beside the NPC rather than at the part's center. This property participates in model scaling.
Default is (0, 0, 0).
| Thread safety | ReadSafe |
|---|---|
| Category | Data |
| Loaded/Saved | true |
History 6
- 731 Change Default of TriggerOffset from to Vector3(0, 0, 0)
- 726 Change Default of TriggerOffset from Vector3(0, 0, 0) to
- 553 Change Default of TriggerOffset from to Vector3(0, 0, 0)
- 486 Change ThreadSafety of TriggerOffset from ReadOnly to ReadSafe
- 462 Change ThreadSafety of TriggerOffset from to ReadOnly
- 290 Add TriggerOffset