Dialog

非推奨を表示

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

ダイアログオブジェクトでは、ユーザーがプレイヤーと対話できる選択リストを使用して、NPC(非プレイヤーキャラクター)を作成できます。ダイアログオブジェクトは、ヒューマノイドの頭などのパーツに挿入でき、プレイヤーはパーツの上にある会話を開始できるスピーチバブルを見ることができます。場所の作成者は、対話に DialogChoice オブジェクトを挿入して、プレイヤーが言える選択肢を選択できます。

概要

プロパティ

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

  • 並列読み取り

    プレイヤーがダイアログの親から会話を開始するために最も遠い距離。

  • 並列読み取り

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

  • 並列読み取り

    チャットが終了すると、対話に表示される文を設定します。

  • 並列読み取り

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

  • 並列読み取り

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

  • 並列読み取り

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

  • 並列読み取り

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

  • 並列読み取り

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

  • 並列読み取り

    対話の親に対する対話のオフセットを設定します。

方法

  • GetCurrentPlayers():Instances

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

イベント

プロパティ

並列読み取り

ダイアログの振る舞いタイプは、複数のプレイヤーが一度にダイアログと対話できるかどうかを決定します。このプロパティのデフォルト値は、SinglePlayer です。

シングルプレイヤー

ダイアログがシングルプレイヤーに構成されると、一度に1人のプレイヤーしかそれと対話できません。プレイヤーがダイアログと対話すると、他のプレイヤーは最初のプレイヤーが終了するまで、ダイアログを開始できません。

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

複数のプレイヤー

ダイアログが複数のプレイヤーに設定されていると、別のプレイヤーがすでにダイアログを開始している場合でも、任意のプレイヤーがいつでもダイアログを開始できます。ただし、シングルプレイヤーとは異なり、複数のプレイヤーに設定されたダイアログは、会話中のプレイヤー以外にダイアログの選択肢と応答を表示しません。


local Workspace = game:GetService("Workspace")
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

並列読み取り

別れのオプションが表示されるかどうかを切り替えます。真の場合、対話は、他の対話オプションの最後に Dialog.GoodbyeDialog のコンテンツを表示します。別れのオプションをクリックすると、ダイアログが終了します。

GoodbyeDialog

並列読み取り

チャットが終了すると、対話に表示される文を設定します

InUse

並列読み取り

真の場合、このダイアログは少なくとも 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 によって必要な LocalScript に接続されるべきです。

パラメータ

player: Instance
dialogChoice: Instance