Roblox UtilitiesDevlHub Roblox Documentation

Class

Dialog

Inherits
Instance › Object
Memory category
Instances

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#

BehaviorTypeDialogBehaviorTypeSets whether the Dialog can be used by multiple players at once.ReadSafe
ConversationDistancefloatThe furthest distance that a player can be from the Dialog's parent to start a conversation.ReadSafe
GoodbyeChoiceActivebooleanToggles whether the goodbye option will be displayed.ReadSafe
GoodbyeDialogstringSets the sentence that the dialog will show to the player when the chat ends.ReadSafe
InitialPromptstringSets the first sentence that the dialog will show to the player, once a chat is commenced.ReadSafe
InUsebooleanIf true, this dialog is being used by at least one player.ReadSafe
PurposeDialogPurposeSets the icon that the initial dialog displays.ReadSafe
ToneDialogToneSets the color of the NPC's speech bubble.ReadSafe
TriggerDistancefloatSets the maximum distance that a dialog can be triggered from.ReadSafe
TriggerOffsetVector3Sets 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

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).

Methods 1#

GetCurrentPlayersReturns a list of players currently using the Dialog.

GetCurrentPlayers(): 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.

Returns
  • Instances — A list of Player objects currently engaged in the Dialog.

Events 1#

DialogChoiceSelectedFired 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.

NameTypeDefaultDescription
playerInstanceThe Player who made the selection.
dialogChoiceInstanceThe DialogChoice that was selected by the player.

Inherited members#

Inherited from Instance 58
Inherited from Object 6
Properties (2)

ClassName, className

Events (1)

Changed