对话框对象允许用户创建非玩家角色 (NPC) ,玩家可以使用一个列表的选项与玩家聊天。对话框对象可以插入到一个部件上,例如一个人形的头,然后玩家将在单击该部件开始聊天时看到一个聊天气泡。创建一个地方的创建者可以选择 DialogChoice 对话框对象来启用该部件。
概要
属性
设置是否允许多个玩家同时使用对话框。
玩家可以从对话框的父级开始对话。
切换是否显示好的选择。
设置对话框结束时向玩家显示的话语。
如果是真的,这个对话框至少有一个玩家使用。
设置对话框将显示给玩家的第一个句话,一旦聊天开始。
设置初始对话框显示的图标。
设置 NPC 的对话泡的颜色。
设置对话框可以触发的最大距离。
设置对话框的父元素对话框的 Offset 。
活动
发生在玩家选择了一个要说的东西,通过一个 Dialog 实例。
属性
BehaviorType
对话框的行为类型决定是否允许多个玩家同时与对话框交互。默认值为单一玩家。
单人游戏
当单人对话配置为单人时,只有一个玩家可以与其互动。 一旦玩家与对话开始互动,其他玩家将无法启动对话框,直到第一个玩家完成。
当玩家与对话框交谈时,其他玩家会看到玩家开始对话框的选择,以及其他玩家的回应。
多个玩家
当多个玩家设置为多人游戏时,任何玩家都可以随时启动对话框,即使另一个玩家已经启动了对话框。与单人游戏不同,多人游戏设置的对话框不会向任何人展示对话框选择和回应。
local singlePlayerDialog = Instance.new("Dialog")local singlePlayerPart = workspace.SinglePlayerPartsinglePlayerDialog.BehaviorType = Enum.DialogBehaviorType.SinglePlayersinglePlayerDialog.InitialPrompt = "Only one person can interact with me at once."singlePlayerDialog.Parent = singlePlayerPartlocal multiplePlayersDialog = Instance.new("Dialog")local multiplePlayersPart = workspace.MultiplePlayersPartmultiplePlayersDialog.BehaviorType = Enum.DialogBehaviorType.MultiplePlayersmultiplePlayersDialog.InitialPrompt = "Any number of players can interact with me at once."multiplePlayersDialog.Parent = multiplePlayersPart
方法
GetCurrentPlayers
Instances
对话框中的 Player 函数将返回一个列表的 Class.Player 当前使用对话框。如果没有使用对话框的玩家,那么返回的列表将是空的。
返回
Instances
代码示例
Dialog:GetCurrentPlayers
local dialog = script.Parent
local function onChoiceSelected(_player, _choice)
local currentPlayers = dialog:GetCurrentPlayers()
print("The current players in the dialog:")
for _, player in ipairs(currentPlayers) do
print(player)
end
end
dialog.DialogChoiceSelected:Connect(onChoiceSelected)
活动
DialogChoiceSelected
发生在玩家选择了一个要说的东西,通过一个 Dialog 实例。
此事件仅在客户端发生,不会在服务器上发射。它应该连接到一个 LocalScript 或一个 ModuleScript 由 LocalScript 要求。