Chat

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

No creable
Servicio
No replicado

El servicio de chat alberga el código Luau responsable de ejecutar el sistema de chat legado.Al igual que StarterPlayerScripts , los objetos predeterminados como Scripts y ModuleScripts se insertan en el servicio.

Resumen

Propiedades

  • Determina si los mensajes de chat del jugador aparecerán por encima de su avatar en el juego.

  • Seguridad no accesible
    Leer paralelo

    Alterna si el marco de chat predeterminado debe cargarse automáticamente cuando se ejecuta el juego.

Métodos

Propiedades

BubbleChatEnabled

Leer paralelo

Si es verdad, ingresar un mensaje en el chat resultará en una burbuja de chat que aparecerá por encima del Player.Character del jugador.Este comportamiento se puede habilitar directamente marcando esta casilla en Studio, o usando un LocalScript :


local ChatService = game:GetService("Chat")
ChatService.BubbleChatEnabled = true

Esto debe hacerse en el cliente, alternar este valor en un lado del servidor Script no tendrá efecto.

LoadDefaultChat

Seguridad no accesible
Leer paralelo

Alterna si el marco de chat predeterminado debe cargarse automáticamente cuando se ejecuta el juego.

Métodos

Chat

()

La función de chat activa el evento Chat.Chatted con los parámetros especificados en este método.

Por defecto, hay un LocalScript dentro de cada objeto de jugador PlayerScripts llamado BubbleChat , que provoca que aparezca un letrero similar a un diálogo por encima de la parte o personaje cuando se activa el evento de chat.

Nota: Dado que los diálogos son controlados por un LocalScript, no podrás ver ningún diálogo creado desde este método a menos que estés ejecutando en modo Jugar en solitario.

Parámetros

partOrCharacter: Instance

Una instancia que es la parte o el personaje que el diálogo BubbleChat debe aparecer por encima.

Valor predeterminado: ""
message: string

La cadena de mensajes que se está chateando.

Valor predeterminado: ""

Un Enum.ChatColor que especifica el color del mensaje de chat.

Valor predeterminado: "Blue"

Devuelve

()

Muestras de código

The below example would create a part in Workspace and cause it to exclaim "Blame John!"

Chat:Chat

local ChatService = game:GetService("Chat")
local part = Instance.new("Part")
part.Anchored = true
part.Parent = workspace
ChatService:Chat(part, "Blame John!", "Red")

InvokeChatCallback

InvokeChatCallback llamará a una función registrada por RegisterChatCallback , dada la lista de tipos de llamada de chat y los argumentos para enviar la función.Devolverá el resultado de la función registrada o levantará un error si no se ha registrado ninguna función.

Esta función es llamada por el sistema de chat de Luau para que las llamadas de devolución de chat se puedan registrar para cambiar el comportamiento de ciertas características.A menos que estés reemplazando el sistema de chat predeterminado de Luau con el tuyo en posesión, no deberías necesitar llamar a esta función.Puede leer sobre las diferentes funciones de llamada de devolución en Chat:RegisterChatCallback() .

Parámetros

callbackType: Enum.ChatCallbackType

El tipo de llamada de devolución para invocar.

Valor predeterminado: ""
callbackArguments: Tuple

Los argumentos que se enviarán a la función de llamada registrada.

Valor predeterminado: ""

Devuelve

Los valores devueltos por la función registrada al tipo de llamada de chat dado.

RegisterChatCallback

()

RegisterChatCallback vincula una función a algún evento del sistema de chat para afectar el comportamiento del sistema de chat de Luau.El primer argumento determina el evento (usando el enum Enum.ChatCallbackType) al que se vinculará el segundo argumento, la función.El sistema de chat predeterminado de Luau usa InvokeChatCallback para invocar funciones registradas.Intentar registrar una llamada de devolución solo del servidor o del cliente en un puerto que no sea un servidor o un cliente respectivamente levantará un error.Las siguientes secciones describen de qué manera se usarán las funciones registradas.

Al crear ventana de chat

Solo cliente.Invocado antes de que el cliente construya la ventana de chat.Debe devolver una tabla de configuraciones para fusionar en la información devuelta por el módulo ChatSettings.

EnClientFormato de mensaje

Solo cliente.Invocado antes de que el cliente muestre un mensaje (ya sea un mensaje de chat de jugador, un mensaje del sistema o el comando /me).Esta función se invoca con el objeto de mensaje y puede (o no puede) devolver una tabla para ser fusionada en message.ExtraData .

EnClienteEnviando mensaje

No se invocó en este momento.

En el servidor que recibe el mensaje

Solo del servidor.Se invoca cuando el servidor recibe un mensaje de un orador (tenga en cuenta que los oradores pueden no ser necesariamente un chat Player).Esta llamada de devolución se realiza con el objeto de mensaje.La función puede hacer cambios en el objeto de mensaje para cambiar la manera en que se procesa el mensaje. El objeto de mensaje debe devolverse para que este llamado de devolución haga algo.: Establecer esta llamada de devolución de llamada puede permitir que el servidor, por ejemplo:

  • Establecer message.ShouldDeliver en falso para cancelar la entrega del mensaje a los jugadores (útil para implementar una lista de exclusión de chat)
  • Obtener/establecer el color del nombre del bocina( message.ExtraData.NameColor , un Color3) en una base mensaje por mensaje

Parámetros

callbackType: Enum.ChatCallbackType

La llamada de devolución a la que se registrará la función (esto determina de qué manera se llama la función).

Valor predeterminado: ""
callbackFunction: function

La función para llamar cuando se invoca el llamado de devolución de llamada usando chat:InvokeChatCallback.

Valor predeterminado: ""

Devuelve

()

SetBubbleChatSettings

()

Esta función personaliza varias configuraciones del chat de burbuja en el juego.

Antes de usar esto, asegúrate de que el chat de burbujas esté habilitado al establecer Chat.BubbleChatEnabled en verdadero.

El argumento de configuración es una tabla donde las claves son los nombres de las configuraciones que desea editar y los valores son lo que desea cambiar estas configuraciones a.Tenga en cuenta que no tiene que incluir todos en el argumento de configuración, omitir algunos resultará en que mantengan su valor predeterminado.

Esta función es solo de lado del cliente, intentar llamarla en el servidor desencadenará un error.

Parámetros

settings: Variant

Una tabla de configuración.

Valor predeterminado: ""

Devuelve

()

Muestras 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.

Customize visual aspects

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:

Restore default settings

local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({})

CanUserChatAsync

Proporciona

Devolverá falso si el jugador con el especificado Player.UserId no se le permite chatear debido a la configuración de su cuenta.

Parámetros

userId: number
Valor predeterminado: ""

Devuelve

CanUsersChatAsync

Proporciona

Devolverá false si los dos usuarios no pueden comunicarse porque sus configuraciones de cuenta no lo permiten.

Parámetros

userIdFrom: number
Valor predeterminado: ""
userIdTo: number
Valor predeterminado: ""

Devuelve

FilterStringAsync

Proporciona

Advertencia de obsolescencia parcial : Llamar a esta función desde el cliente usando un LocalScript está desusar, en desuso (noun)y se desactivará en el futuro.La filtración de texto debe hacerse desde un Script en el servidor usando el similarmente llamado TextService:FilterStringAsync() , que usa un conjunto diferente de parámetros y introducirde devolución.

Los juegos que no filtran adecuadamente el texto generado por los jugadores pueden estar sujetos a una acción de moderación.Asegúrate de que un juego filtre correctamente el texto antes de publicarlo.

FilterStringAsync filtra una cadena usando filtrado que es apropiado para el jugador de envío y recepciónSi la cadena filtrada se va a utilizar para un mensaje persistente, como el nombre de una comprar, escribir en una placa, etc, entonces la función debe llamarse con el autor como tanto el remitente como el receptor.

Esta función debe usarse cada vez que un jugador pueda ingresar texto personalizado en cualquier contexto , más comúnmente usando un TextBox.Algunos ejemplos de texto para filtrar:

  • Mensajes de chat personalizados
  • Nombres de personajes personalizados
  • Nombres para una tienda en un juego de estilo tycoon

Parámetros

stringToFilter: string

La cadena cruda para filtrar, exactamente como la ingresada por el jugador.

Valor predeterminado: ""
playerFrom: Player

El autor del texto.

Valor predeterminado: ""
playerTo: Player

El destinatario previsto del texto proporcionado; utilice al autor si el texto es persistente (ver descripción).

Valor predeterminado: ""

Devuelve

FilterStringForBroadcast

Proporciona

Filtrea una cadena enviada desde jugadorDesde para difundir a ningún objetivo en particular. El mensaje filtrado tiene más restricciones que Chat:FilterStringAsync() .

Algunos ejemplos de dónde se podría usar este método:

  • Paredes de mensajes
  • Gritos de servidor cruzado
  • Señales creadas por el usuario

Llamar FilterString de LocalScripts es obsoleto y se desactivará en el futuro.La filtración de texto debe hacerse desde el lado del servidor Scripts usando FilterStringAsync.

Nota: Un juego que no use esta función de filtro para el chat personalizado o otro texto generado por el usuario puede estar sujeto a la acción de moderación.

Parámetros

stringToFilter: string

Se está filtrando la cadena de mensajes.

Valor predeterminado: ""
playerFrom: Player

Instancia del jugador que envía el mensaje.

Valor predeterminado: ""

Devuelve

cadenade mensajes filtrada.

Muestras 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.

Chat:FilterStringForBroadcast

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)

Eventos

Chatted

Se enciende cuando se llama Chat:Chat().

Parámetros

part: Instance
message: string