Dialog
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
ダイアログオブジェクトでは、ユーザーがプレイヤーと対話できる選択リストを使用して、NPC(非プレイヤーキャラクター)を作成できます。ダイアログオブジェクトは、ヒューマノイドの頭などのパーツに挿入でき、プレイヤーはパーツの上にある会話を開始できるスピーチバブルを見ることができます。場所の作成者は、対話に DialogChoice オブジェクトを挿入して、プレイヤーが言える選択肢を選択できます。
概要
プロパティ
ダイアログが一度に複数のプレイヤーによって使用できるかどうかを設定します。
プレイヤーがダイアログの親から会話を開始するために最も遠い距離。
別れのオプションが表示されるかどうかを切り替えます。
チャットが終了すると、対話に表示される文を設定します。
真の場合、このダイアログは少なくとも 1 人のプレイヤーによって使用されています。
チャットが開始されると、対話がプレイヤーに表示される最初の文を設定します。
最初のダイアログが表示するアイコンを設定します。
NPCのスピーチバブルの色を設定します。
ダイアログがトリガーされる最大距離を設定します。
対話の親に対する対話のオフセットを設定します。
方法
現在ダイアログを使用しているプレイヤーのリストを返します。
イベント
プレイヤーが何かを言うことを選択すると、Dialog インスタンスを通じて発射されます。
プロパティ
BehaviorType
ダイアログの振る舞いタイプは、複数のプレイヤーが一度にダイアログと対話できるかどうかを決定します。このプロパティのデフォルト値は、SinglePlayer です。
シングルプレイヤー
ダイアログがシングルプレイヤーに構成されると、一度に1人のプレイヤーしかそれと対話できません。プレイヤーがダイアログと対話すると、他のプレイヤーは最初のプレイヤーが終了するまで、ダイアログを開始できません。
プレイヤーがダイアログに参加している間、他のプレイヤーは、ダイアログを開始したプレイヤーのダイアログ選択と応答を見ることができます。
複数のプレイヤー
ダイアログが複数のプレイヤーに設定されていると、別のプレイヤーがすでにダイアログを開始している場合でも、任意のプレイヤーがいつでもダイアログを開始できます。ただし、シングルプレイヤーとは異なり、複数のプレイヤーに設定されたダイアログは、会話中のプレイヤー以外にダイアログの選択肢と応答を表示しません。
local Workspace = game:GetService("Workspace")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
GoodbyeChoiceActive
別れのオプションが表示されるかどうかを切り替えます。真の場合、対話は、他の対話オプションの最後に Dialog.GoodbyeDialog のコンテンツを表示します。別れのオプションをクリックすると、ダイアログが終了します。
方法
GetCurrentPlayers
ダイアログの GetCurrentPlayers 機能は、現在ダイアログを使用しているリストを返します 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 に接続されるべきです。