Dialog
*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
Ustawia, czy dialog może być używany przez wielu graczy jednocześnie.
Najdalsza odległość, jaką gracz może być od rodzica dialogu, aby rozpocząć rozmowę.
Przełącza, czy opcja pożegnania zostanie wyświetlona.
Ustawia zdanie, które dialog wyświetli graczowi po zakończeniu czatu.
Jeśli prawda, ten dialog jest używany przez co najmniej jednego gracza.
Ustawia pierwszą sentencję, którą dialog pokaże graczowi, gdy rozpocznie się czat.
Ustawia ikonę, która jest wyświetlana w pierwszym dialogu.
Ustawia kolor bańki mowy NPC.
Ustawia maksymalną odległość, z której można uruchomić dialog.
Ustawia odległość dialogu względem rodzica dialogu.
Metody
Zwraca listę graczy, którzy obecnie korzystają z dialogu.
Zdarzenia
Wystrzeliwany, gdy gracz wybiera coś do powiedzenia, za pośrednictwem instancjaDialog.
Właściwości
BehaviorType
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.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
ConversationDistance
Najdalsza odległość, jaką gracz może być od rodzica dialogu, aby rozpocząć rozmowę.
GoodbyeChoiceActive
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.
InitialPrompt
Ustawia pierwszą sentencję, którą dialog pokaże graczowi, gdy rozpocznie się czat.
Metody
GetCurrentPlayers
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
Przykłady kodu
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.