Dialog

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

O objeto Diálogo permite que os usuários criem personagens não jogáveis (NPCs) que os jogadores possam conversar usando uma lista de opções.O objeto Diálogo pode ser inserido em uma parte, como a cabeça de um Humanoide, e então um jogador verá uma bolha de fala acima da parte que ele pode clicar para iniciar uma conversa.O criador de um local pode escolher quais escolhas o jogador pode dizer inserindo DialogChoice objetos no diálogo.

Resumo

Propriedades

Métodos

  • GetCurrentPlayers():Instances

    Retorna uma lista de jogadores que estão usando o Diálogo atualmente.

Eventos

Propriedades

Ler Parallel

O tipo de comportamento de um diálogo determina se vários jogadores podem interagir com um diálogo de uma só vez.O valor padrão para esta propriedade é SinglePlayer.

Jogador Único

Quando um Diálogo é configurado para um único jogador, apenas um jogador pode interagir com ele de cada vez.Assim que um jogador interage com um diálogo, outros jogadores não poderão iniciar o diálogo até que o primeiro jogador termine.

Enquanto um jogador está envolvido com um diálogo, os outros jogadores verão as escolhas de diálogo do jogador que iniciou o diálogo, além das respostas.

Múltiplos Jogadores

Quando um Diálogo é definido para Múltiplos Jogadores, qualquer jogador pode iniciar um diálogo a qualquer momento, mesmo que outro jogador já tenha iniciado o diálogo.Ao contrário do SinglePlayer, no entanto, Diálogos definidos para Múltiplos Jogadores não mostrarão as escolhas de diálogo e as respostas para ninguém além do jogador na conversa.


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

Ler Parallel

A distância mais longa que um jogador pode estar do pai do Diálogo para iniciar uma conversa.

GoodbyeChoiceActive

Ler Parallel

Alterna se a opção de despedida será exibida.Se verdadeiro, o diálogo exibirá o conteúdo de Dialog.GoodbyeDialog como a última opção após outras escolhas de diálogo.Clicar na opção de despedida sairá do diálogo.

GoodbyeDialog

Ler Parallel

Define a sentença que o diálogo mostrará ao jogador quando o bate-papo terminar

InUse

Ler Parallel

Se for verdadeiro, este diálogo está sendo usado por pelo menos um jogador.

InitialPrompt

Ler Parallel

Define a primeira frase que o diálogo mostrará ao jogador, uma vez que o bate-papo for iniciado.

Ler Parallel

Define o ícone que o diálogo inicial exibe.

Ler Parallel

Define a cor da bolha de fala do NPC.

TriggerDistance

Ler Parallel

Define a distância máxima a partir da qual um diálogo pode ser acionado.

TriggerOffset

Ler Parallel

Define o deslocamento do diálogo em relação ao pai do diálogo.

Métodos

GetCurrentPlayers

Instances

A função GetCurrentPlayers de um Diálogo retornará uma lista de Player atualmente usando o Diálogo.Se não houver jogadores usando o diálogo, então a lista retornada será vazia.


Devolução

Instances

Amostras de código

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)

Eventos

DialogChoiceSelected

Dispedido quando um jogador escolhe algo a dizer, através de uma instância Dialog.

Este evento é apenas do lado do cliente e não disparará no servidor.Deve ser conectado em um LocalScript ou em um ModuleScript exigido por um LocalScript .

Parâmetros

player: Instance
dialogChoice: Instance