Chat
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
O serviço de Chat hospeda o código Luau responsável por executar o sistema de chat legado.Semelhante a StarterPlayerScripts , objetos padrão como Scripts e ModuleScripts são inseridos no serviço.
Resumo
Propriedades
Determina se as mensagens de bate-papo do jogador aparecerão acima de seu avatar no jogo.
Alterna se o framework de chat padrão deve ser carregado automaticamente quando o jogo for executado.
Métodos
Dispara o evento Chat.Chatted de fogo com os parâmetros especificados neste método.
Invocar uma função de retorno de chamada de chat registrada por RegisterChatCallback. Usada pelo Sistema de Chat Luau.
Registre uma função para ser chamada após a invocação de algum evento do sistema de chat (InvokeChatCallback).
Personaliza várias configurações do bate-papo de bolhas no jogo.
Retornará falso se o jogador com o especificado Player.UserId não for permitido conversar por causa de suas configurações de conta.
Retornará falso se os dois usuários não puderem se comunicar porque suas configurações de conta não o permitirem.
Filtre uma string enviada de um jogador para outro jogador usando filtragem que seja apropriada para as configurações de conta dos jogadores.
Filtre uma string enviada por um jogador destinada à transmissão para nenhum alvo específico. Mais restritivo do que Chat:FilterStringAsync() .
Eventos
Dispara quando Chat:Chat().
Propriedades
BubbleChatEnabled
Se for verdadeiro, entrar em uma mensagem no chat resultará em uma bolha de chat aparecendo acima do Player.Character do jogador.Este comportamento pode ser ativado diretamente marcando esta caixa de seleção no Studio ou usando um LocalScript :
local ChatService = game:GetService("Chat")ChatService.BubbleChatEnabled = true
Isso deve ser feito no cliente, alternando esse valor em um lado do servidor Script não terá efeito.
LoadDefaultChat
Alterna se o framework de chat padrão deve ser carregado automaticamente quando o jogo for executado.
Métodos
Chat
A função de Chat dispara o evento Chat.Chatted com os parâmetros especificados neste método.
Por padrão, há um LocalScript dentro de cada objeto PlayerScripts do jogador chamado BubbleChat, o que causa a aparição de uma placa diálogo semelhante acima da parte ou personagem quando o evento de bate-papo é disparado.
Nota: Como os diálogos são controlados por um LocalScript, você não poderá ver quaisquer diálogos criados a partir deste método a menos que esteja executando no modo Jogar Sozinho.
Parâmetros
Uma instância que é a parte ou personagem que o diálogo BubbleChat deve aparecer acima.
A string de mensagem sendo conversada.
Um Enum.ChatColor especificando a cor da mensagem conversada.
Devolução
Amostras de código
The below example would create a part in Workspace and cause it to exclaim "Blame John!"
local ChatService = game:GetService("Chat")
local part = Instance.new("Part")
part.Anchored = true
part.Parent = workspace
ChatService:Chat(part, "Blame John!", "Red")
InvokeChatCallback
O InvokeChatCallback chamará uma função registrada por RegisterChatCallback, dado o conjunto de argumentos para enviar a função.Ele retornará o resultado da função registrada ou levantará um erro se nenhuma função foi registrada.
Essa função é chamada pelo Sistema de Chat Luau para que as chamadas de retorno de bate-papo possam ser registradas para alterar o comportamento de certas características.A menos que você esteja substituindo o sistema de chat padrão Luau por seu possuir, você não deve precisar chamar essa função.Você pode ler sobre as diferentes funções de retorno de chamada em Chat:RegisterChatCallback().
Parâmetros
O tipo de chamada a ser invocado.
Os argumentos que serão enviados para a função de chamada registrada.
Devolução
Os valores retornados pela função registrada no ChatCallbackType dado.
RegisterChatCallback
RegisterChatCallback vincula uma função a algum evento do sistema de chat para afetar o comportamento do sistema de chat Luau.O primeiro argumento determina o evento (usando o Enum.ChatCallbackType enum) ao qual o segundo argumento, a função, deve ser vinculado.O sistema de chat padrão Luau usa InvokeChatCallback para invocar funções registradas.Tentar registrar um retorno de chamada apenas do servidor ou do cliente em um peer que não seja um servidor ou cliente, respectivamente, causará um erro.As seções a seguir descrevem de que maneira funções registradas serão usadas.
Ao Criar Janela de Bate-Papo
Apenas do cliente.Invocado antes que o cliente construa a janela de chat.Deve retornar uma tabela de configurações para serem mescladas na informação retornada pelo módulo ChatSettings.
EmClientFormattingMessage
Apenas do cliente.Invocado antes que o cliente exiba uma mensagem (seja uma mensagem de bate-papo de jogador, mensagem do sistema ou comando /me).Essa função é invocada com o objeto de mensagem e pode (ou não pode) retornar uma tabela para ser mesclada em message.ExtraData.
EmClienteEnviando Mensagem
Não invocado neste momento.
Recebendo Mensagem no Servidor OnServerReceivingMessage
Apenas do servidor.Invocado quando o servidor recebe uma mensagem de um orador (note que os oradores podem não necessariamente estar conversando em Player).Este retorno de chamada é chamado com o ObjetoMensagem.A função pode fazer alterações no objeto Mensagem para alterar a maneira pela qual a mensagem é processada. O objeto Mensagem deve ser retornado para que esse chamado de volta faça qualquer coisa.: Definir esse retorno de chamada pode permitir que o servidor, por exemplo:
- Defina message.ShouldDeliver para falso para cancelar a entrega da mensagem aos jogadores (útil para implementar uma lista de exclusão de chat)
- Obtenha/defina a cor do nome do altofalante( message.ExtraData.NameColor , uma Cor3) em uma base de mensagem por mensagem
Parâmetros
O retorno para o qual a função deve ser registrada (isso determina de que maneira a função é chamada).
A função para chamar quando o retorno de chamada for invocado usando chat/conversa:InvokeChatCallback.
Devolução
SetBubbleChatSettings
Essa função personaliza várias configurações do bate-papo de bolhas no jogo.
Antes de usar isso, certifique-se de que o bate-papo de bolhas está habilitado definindo Chat.BubbleChatEnabled para verdadeiro.
O argumento de configurações é uma tabela onde as chaves são os nomes das configurações que você deseja editar e os valores são o que você deseja alterar essas configurações para.Observe que você não precisa incluir todos eles no argumento de configurações, omitir alguns resultará em mantê-los com seu valor padrão.
Essa função é apenas do lado do cliente, tentar chamá-la no servidor causará um erro.
Parâmetros
Uma tabela de configurações.
Devolução
Amostras de código
When run from a LocalScript, this snippet will make all the chat bubbles appear with bigger text under a different font and a light blue background. Note that all the other settings will keep their default value.
local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({
BackgroundColor3 = Color3.fromRGB(180, 210, 228),
TextSize = 20,
Font = Enum.Font.Cartoon,
})
If you want to reset the bubble chat to its default look, you can call this function with an empty table, because any setting you omit from the argument will result in it returning to its default value:
local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({})
CanUserChatAsync
Retornará falso se o jogador com o especificado Player.UserId não for permitido conversar por causa de suas configurações de conta.
Parâmetros
Devolução
CanUsersChatAsync
Retornará falso se os dois usuários não puderem se comunicar porque suas configurações de conta não o permitirem.
Parâmetros
Devolução
FilterStringAsync
Aviso de Depreciação Parcial : Chamar essa função do cliente usando um LocalScript é descontinuare será desativado no futuro.A filtragem de texto deve ser feita a partir de um Script no servidor usando o similarmente nomeado TextService:FilterStringAsync(), que usa um conjunto diferente de parâmetros e digitarde retorno.
Jogos que não filtram adequadamente o texto gerado pelo jogador podem estar sujeitos à ação de moderação.Por favor, tenha certeza de que um jogo filtra adequadamente o texto antes de publicá-lo.
FilterStringAsync filtra uma string usando filtragem que é apropriada para o envio e recebimento do jogadorSe a string filtrada for usada para uma mensagem persistente, como o nome de uma comprar, escrever em uma placa, etc, então a função deve ser chamada com o autor como tanto o remetente quanto o receptor.
Essa função deve ser usada sempre que um jogador possa inserir texto personalizado em qualquer contexto , mais comumente usando um TextBox.Alguns exemplos de texto a ser filtrado:
- Mensagens de chat personalizadas
- Nomes de personagens personalizados
- Nomes para uma loja em um jogo de estilo tycoon
Parâmetros
A string crua para ser filtrada, exatamente como inserida pelo jogador.
O autor do texto.
O destinatário pretendido do texto fornecido; use o autor se o texto for persistente (veja a descrição).
Devolução
FilterStringForBroadcast
Filtre uma string enviada de jogadorDe para transmissão para nenhum alvo específico. A mensagem filtrada tem mais restrições do que Chat:FilterStringAsync() .
Alguns exemplos de onde esse método pode ser usado:
- Paredes de mensagens
- Gritos entre servidores
- Placas criadas pelo usuário
Chamar FilterString de LocalScripts é depreciado e será desativado no futuro.A filtragem de texto deve ser feita do lado do servidor Scripts.
Nota: Um jogo que não usa essa função de filtro para chat personalizado ou outro texto gerado pelo usuário pode ser submetido à ação de moderação.
Parâmetros
Cadeia de mensagens sendo filtrada.
Instância do jogador que envia a mensagem.
Devolução
string / cadeia / textode mensagens filtrada.
Amostras de código
The following example shows a simple way to use the FilterStringForBroadcast function. The example uses the message variable as the stringToFilter argument and the local player as the playerFrom argument.
The example then prints the result of the filtering function, FilteredString.
local Players = game:GetService("Players")
local Chat = game:GetService("Chat")
local playerFrom = Players.LocalPlayer
local message = "Hello world!"
-- Filter the string and store the result in the 'FilteredString' variable
local filteredString = Chat:FilterStringForBroadcast(message, playerFrom)
print(filteredString)