Class
Dialog
Creates NPC billboard-style dialog bubbles.
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.
Properties 10#
BehaviorTypeDialogBehaviorType | Sets whether the Dialog can be used by multiple players at once.ReadSafe |
ConversationDistancefloat | The furthest distance that a player can be from the Dialog's parent to start a conversation.ReadSafe |
GoodbyeChoiceActiveboolean | Toggles whether the goodbye option will be displayed.ReadSafe |
GoodbyeDialogstring | Sets the sentence that the dialog will show to the player when the chat ends.ReadSafe |
InitialPromptstring | Sets the first sentence that the dialog will show to the player, once a chat is commenced.ReadSafe |
InUseboolean | If true, this dialog is being used by at least one player.ReadSafe |
PurposeDialogPurpose | Sets the icon that the initial dialog displays.ReadSafe |
ToneDialogTone | Sets the color of the NPC's speech bubble.ReadSafe |
TriggerDistancefloat | Sets the maximum distance that a dialog can be triggered from.ReadSafe |
TriggerOffsetVector3 | Sets the offset of the dialog relative to the dialog's parent.ReadSafe |
BehaviorType: DialogBehaviorType#
ReadSafe
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.
ConversationDistance: float#
ReadSafe
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.
GoodbyeChoiceActive: boolean#
ReadSafe
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.
GoodbyeDialog: string#
ReadSafe
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.
InitialPrompt: string#
ReadSafe
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.
InUse: boolean#
ReadSafe
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.
Purpose: DialogPurpose#
ReadSafe
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.
Tone: DialogTone#
ReadSafe
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.
TriggerDistance: float#
ReadSafe
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.
TriggerOffset: Vector3#
ReadSafe
Methods 1#
| GetCurrentPlayers | Returns a list of players currently using the Dialog. |
Events 1#
| DialogChoiceSelected | Fired when a player chooses something to say, through a Dialog
instance. |
DialogChoiceSelected(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.
| Name | Type | Default | Description |
|---|---|---|---|
player | Instance | The Player who made the selection. | |
dialogChoice | Instance | The DialogChoice that was selected by the player. |
Inherited members#
Inherited from Instance 58
Properties (10)
Archivable, archivable, Capabilities, IsInSandbox, Name, Parent, PredictionMode, RobloxLocked, Sandboxed, UniqueId
Methods (39)
AddTag, children, ClearAllChildren, Clone, clone, Destroy, destroy, FindFirstAncestor, FindFirstAncestorOfClass, FindFirstAncestorWhichIsA, FindFirstChild, findFirstChild, FindFirstChildOfClass, FindFirstChildWhichIsA, FindFirstDescendant, GetActor, GetAttribute, GetAttributeChangedSignal, GetAttributes, GetChildren, getChildren, GetDebugId, GetDescendants, GetFullName, GetStyled, GetStyledPropertyChangedSignal, GetTags, HasTag, IsAncestorOf, IsDescendantOf, isDescendantOf, IsPropertyModified, QueryDescendants, Remove, remove, RemoveTag, ResetPropertyToDefault, SetAttribute, WaitForChild