Dialog

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

ダイアログオブジェクトは、ユーザーがリストの選択を使用してプレイヤーが話すことができる非プレイヤーキャラクター (NPC) を作成することを可能にします。ダイアログオブジェクトは、ヒューマノイドの頭などの部分に挿入され、次にプレイヤーは、対話を開始するため

概要

プロパティ

  • ダイアログが複数のプレイヤーに一度に使用できるかどうかを設定します。

  • 並列読み取り

    プレイヤーが対話を開始するのに、最も遠い距離。

  • 並列読み取り

    さようならオプションが表示されるかどうかを切り替えます。

  • 並列読み取り

    チャットが終了するとプレイヤーに表示する文を設定します。

  • 並列読み取り

    true の場合、このダイアログは少なくとも 1人のプレイヤーによって使用されています。

  • 並列読み取り

    チャットが開始されたときにプレイヤーに表示する最初の文を設定します。

  • 並列読み取り

    最初のダイアログが表示するアイコンを設定します。

  • 並列読み取り

    NPC のスピーチバブルの色を設定します。

  • 並列読み取り

    ダイアログがトリガーできる最大距離を設定します。

  • 並列読み取り

    ダイアログの親に対するダイアログのオフセットを設定します。

方法

  • GetCurrentPlayers():Instances

    現在、ダイアログを使用しているプレイヤーのリストを返します。

イベント

プロパティ

並列読み取り

ダイアログの動作タイプは、複数のプレイヤーがダイアログを一度にインタラクトできるかどうかを決定します。このプロパティのデフォルト値は、SinglePlayerです。

シングルプレイヤー

ダイアログがシングルプレイヤーに設定されると、1 つのプレイヤーだけがダイアログに同時に接続できます。プレイヤーがダイアログに参加すると、他のプレイヤーは最初のプレイヤーが終了するまでダイアログをイニシアトできません。

プレイヤーがダイアログに参加している間、他のプレイヤーは、ダイアログを開始したプレイヤーのダイアログ選択を、レポートと一緒に見ることができます。

複数のプレイヤー

ダイアログが複数のプレイヤーに設定されると、任意のプレイヤーはいつでもダイアログを開始でき、多くのプレイヤーがすでにダイアログを開始している場合でもダイアログを開始できます。ただし、SinglePlayer は、ダイアログを開始すると、ダイアログの選択とレポートをプレイヤーのコンバレーション以外の誰も表示しません。


local singlePlayerDialog = Instance.new("Dialog")
local singlePlayerPart = workspace.SinglePlayerPart
singlePlayerDialog.BehaviorType = Enum.DialogBehaviorType.SinglePlayer
singlePlayerDialog.InitialPrompt = "Only one person can interact with me at once."
singlePlayerDialog.Parent = singlePlayerPart
local multiplePlayersDialog = Instance.new("Dialog")
local multiplePlayersPart = workspace.MultiplePlayersPart
multiplePlayersDialog.BehaviorType = Enum.DialogBehaviorType.MultiplePlayers
multiplePlayersDialog.InitialPrompt = "Any number of players can interact with me at once."
multiplePlayersDialog.Parent = multiplePlayersPart

ConversationDistance

並列読み取り

プレイヤーが対話を開始するのに、最も遠い距離。

GoodbyeChoiceActive

並列読み取り

さようならオプションが表示されるかどうかを切り替えます。如果は、ダイアログが他のダイアログ選択とコンテンツを表示するようになります。好意オプションをクリックすると、ダイアログが終了します。

GoodbyeDialog

並列読み取り

チャットが終了するとプレイヤーに表示する文を設定します

InUse

並列読み取り

true の場合、このダイアログは少なくとも 1人のプレイヤーによって使用されています。

InitialPrompt

並列読み取り

チャットが開始されたときにプレイヤーに表示する最初の文を設定します。

並列読み取り

最初のダイアログが表示するアイコンを設定します。

並列読み取り

NPC のスピーチバブルの色を設定します。

TriggerDistance

並列読み取り

ダイアログがトリガーできる最大距離を設定します。

TriggerOffset

並列読み取り

ダイアログの親に対するダイアログのオフセットを設定します。

方法

GetCurrentPlayers

Instances

ダイアログの GetCurrentPlayers 関数は、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 に接続される必要があります。

パラメータ

player: Instance
dialogChoice: Instance