對話框對象允許使用者創建非玩家角色 (NPC) ,可以使用一個選項列表和玩家聊天。對話框對象可以插入到人形的頭部,然後玩家會在他們點擊開始對話的方塊上看到一個對話框泡泡。創建者可以選擇放入 DialogChoice 對話框對象來啟動對
概要
屬性
設定對話框可以同時由多個玩家使用。
玩家可以從對話框的父親開始對話的最遠距離。
切換是否顯示好的選項。
設定對話框結束時顯示給玩家的句子。
如果是,這個對話框至少由一名玩家使用。
設定對話框會顯示給玩家的第一個句子,一旦聊天開始。
設定初始對話框顯示的圖示。
設定 NPC 的對話泡的顏色。
設定對話框可以從的最大距離。
設定對話框的對話框的父父元素的偏移。
活動
發生時玩家選擇了某個東西,通過 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
對話框中的 Player 函數會返回一個清單的 Class.Player 正在使用對話框。如果沒有使用對話框的玩家,則會返回空清單。
返回
範例程式碼
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 的一部分。