Dialog

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Obiekt dialogowy umożliwia użytkownikom tworzenie postaci nie-graczowych (NPC), z którymi gracze mogą rozmawiać za pomocą listy wyborów.Obiekt dialogowy może zostać wstawiony do części takiej jak głowa humanoida, a następnie gracz zobaczy bąbelkę mowy nad częścią, na którą może kliknąć, aby rozpocząć rozmowę.Twórca miejsca może wybrać, jakie wybory może podjąć gracz, wstawiając DialogChoice obiekty do dialogu.

Podsumowanie

Właściwości

Metody

  • GetCurrentPlayers():Instances

    Zwraca listę graczy, którzy obecnie korzystają z dialogu.

Zdarzenia

Właściwości

Odczyt równoległy

Typ zachowania dialogu określa, czy wielu graczy może jednocześnie wchodzić w interakcję z dialogiem.Domyślną wartością tej właściwości jest SinglePlayer.

Gracz pojedynczy

Gdy dialog jest skonfigurowany do pojedynczego gracza, tylko jeden gracz może z nim interakować jednocześnie.Jak tylko gracz angażuje się w dialog, inni gracze nie będą mogli zainicjować dialogu, dopóki pierwszy gracz nie skończy.

Gdy gracz jest zaangażowany w dialog, pozostali gracze zobaczą wybory dialogu gracza, który rozpoczął dialog, wraz z odpowiedziami.

Wielu graczy

Gdy dialog jest ustawiony na Wiele graczy, każdy gracz może zainicjować dialog w dowolnym momencie, nawet jeśli inny gracz już zainicjował dialog.W przeciwieństwie do pojedynczego gracza jednak dialogi ustawione na wielu graczy nie pokażą wyborów dialogów i odpowiedzi nikomu, ale graczowi w rozmowie.


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

Odczyt równoległy

Najdalsza odległość, jaką gracz może być od rodzica dialogu, aby rozpocząć rozmowę.

GoodbyeChoiceActive

Odczyt równoległy

Przełącza, czy opcja pożegnania zostanie wyświetlona.Jeśli prawda, dialog wyświetli zawartość Dialog.GoodbyeDialog jako ostatnią opcję po wyborze innych dialogów.Kliknięcie opcji pożegnania wyjdzie z dialogu.

GoodbyeDialog

Odczyt równoległy

Ustawia zdanie, które dialog pokaże graczowi, gdy rozmowa zakończy się

InUse

Odczyt równoległy

Jeśli prawda, ten dialog jest używany przez co najmniej jednego gracza.

InitialPrompt

Odczyt równoległy

Ustawia pierwszą sentencję, którą dialog pokaże graczowi, gdy rozpocznie się czat.

Odczyt równoległy

Ustawia ikonę, która jest wyświetlana w pierwszym dialogu.

Odczyt równoległy

Ustawia kolor bańki mowy NPC.

TriggerDistance

Odczyt równoległy

Ustawia maksymalną odległość, z której można uruchomić dialog.

TriggerOffset

Odczyt równoległy

Ustawia odległość dialogu względem rodzica dialogu.

Metody

GetCurrentPlayers

Instances

Funkcja GetCurrentPlayers dialogu zwróci listę Player obecnie korzystających z dialogu.Jeśli nie ma graczy korzystających z dialogu, lista zwrócona będzie pusta.


Zwroty

Instances

Przykłady kodu

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)

Zdarzenia

DialogChoiceSelected

Wystrzeliwany, gdy gracz wybiera coś do powiedzenia, za pośrednictwem instancjaDialog.

To wydarzenie jest tylko po stronie klienta i nie będzie wystrzeliwane na serwerze.Powinien być podłączony do w jednym z LocalScript lub wymaganym przez ModuleScript wymaganym przez LocalScript.

Parametry

player: Instance
dialogChoice: Instance