Dialog
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
ダイアログオブジェクトは、ユーザーがリストの選択を使用してプレイヤーが話すことができる非プレイヤーキャラクター (NPC) を作成することを可能にします。ダイアログオブジェクトは、ヒューマノイドの頭などの部分に挿入され、次にプレイヤーは、対話を開始するため
概要
プロパティ
ダイアログが複数のプレイヤーに一度に使用できるかどうかを設定します。
プレイヤーが対話を開始するのに、最も遠い距離。
さようならオプションが表示されるかどうかを切り替えます。
チャットが終了するとプレイヤーに表示する文を設定します。
true の場合、このダイアログは少なくとも 1人のプレイヤーによって使用されています。
チャットが開始されたときにプレイヤーに表示する最初の文を設定します。
最初のダイアログが表示するアイコンを設定します。
NPC のスピーチバブルの色を設定します。
ダイアログがトリガーできる最大距離を設定します。
ダイアログの親に対するダイアログのオフセットを設定します。
方法
現在、ダイアログを使用しているプレイヤーのリストを返します。
イベント
プレイヤーが何かを言うことを選択したときに発動します。Dialog インスタンスを通じて。
プロパティ
BehaviorType
ダイアログの動作タイプは、複数のプレイヤーがダイアログを一度にインタラクトできるかどうかを決定します。このプロパティのデフォルト値は、SinglePlayerです。
シングルプレイヤー
ダイアログがシングルプレイヤーに設定されると、1 つのプレイヤーだけがダイアログに同時に接続できます。プレイヤーがダイアログに参加すると、他のプレイヤーは最初のプレイヤーが終了するまでダイアログをイニシアトできません。
プレイヤーがダイアログに参加している間、他のプレイヤーは、ダイアログを開始したプレイヤーのダイアログ選択を、レポートと一緒に見ることができます。
複数のプレイヤー
ダイアログが複数のプレイヤーに設定されると、任意のプレイヤーはいつでもダイアログを開始でき、多くのプレイヤーがすでにダイアログを開始している場合でもダイアログを開始できます。ただし、SinglePlayer は、ダイアログを開始すると、ダイアログの選択とレポートをプレイヤーのコンバレーション以外の誰も表示しません。
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
さようならオプションが表示されるかどうかを切り替えます。如果は、ダイアログが他のダイアログ選択とコンテンツを表示するようになります。好意オプションをクリックすると、ダイアログが終了します。
方法
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 に接続される必要があります。