Chat

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Non costruibile
Assistenza
Non Replicato

Il servizio Chat ospita il codice Luau responsabile dell'esecuzione del sistema di chat legacy.Simile a StarterPlayerScripts , gli oggetti predefiniti come Scripts e ModuleScripts vengono inseriti nel servizio.

Sommario

Proprietà

  • Lettura Parallela

    Determina se i messaggi di chat del Giocatoreappariranno sopra il loro Avatarin gioco.

  • Sicurezza Non Accessibile
    Lettura Parallela

    Attiva/disattiva se il framework di chat predefinito deve essere caricato automaticamente quando il gioco viene eseguito.

Metodi

Proprietà

BubbleChatEnabled

Lettura Parallela

Se è vero, l'inserimento di un messaggio nella chat farà apparire una bolla di chat sopra la schermata del GiocatorePlayer.Character .Questo comportamento può essere abilitato direttamente selezionando questa casella di controllo in Studio, o utilizzando un LocalScript :


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

Questo deve essere fatto sul client, attivando questo valore in un lato server Script non avrà alcun effetto.

LoadDefaultChat

Sicurezza Non Accessibile
Lettura Parallela

Attiva/disattiva se il framework di chat predefinito deve essere caricato automaticamente quando il gioco viene eseguito.

Metodi

Chat

()

La funzione di chat lancia l'evento Chat.Chatted con i parametri specificati in questo metodo.

Per impostazione predefinita, c'è un LocalScript all'interno dell'oggetto PlayerScripts di ciascun Giocatorechiamato BubbleChat, che causa l'apparizione di un cartello dialog-like sopra la parte o il personaggio quando viene attivato l'evento di chat.

Nota: Poiché i dialoghi sono controllati da uno script locale, non sarai in grado di vedere alcun dialogo creato da questo metodo a meno che tu non stia eseguendo in modalità Gioca in solitario.

Parametri

partOrCharacter: Instance

Un'istanza che è la parte o il personaggio al quale il dialogo BubbleChat dovrebbe apparire sopra.

Valore predefinito: ""
message: string

La stringa del messaggio che viene聊天.

Valore predefinito: ""

Un Enum.ChatColor specificare il colore del Messaggiochat.

Valore predefinito: "Blue"

Restituzioni

()

Campioni di codice

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 chiamerà una funzione registrata da RegisterChatCallback , dato l'elenco ChatCallbackType e gli argomenti per inviare la funzione.Restituirà il risultato della funzione registrata o solleverà un errore se nessuna funzione è stata registrata.

Questa funzione viene chiamata dal Sistema di chat Luau in modo che le richieste di chat possano essere registrate per cambiare il comportamento di alcune funzionalità.A meno che tu non stia sostituendo il sistema di chat Luau predefinito con Propriotuo, non dovresti avere bisogno di chiamare questa funzione.Puoi leggere delle diverse funzioni di richiamo a Chat:RegisterChatCallback() .

Parametri

callbackType: Enum.ChatCallbackType

Il tipo di richiamo da invocare.

Valore predefinito: ""
callbackArguments: Tuple

Gli argomenti che verranno inviati alla funzione di richiamo registrata.

Valore predefinito: ""

Restituzioni

I valori restituiti dalla funzione registrata al tipo di richiamo chat dato.

RegisterChatCallback

()

RegisterChatCallback lega una funzione a qualche evento del sistema di chat per influenzare il comportamento del sistema di chat Luau.Il primo argomento determina l'evento (utilizzando l'enumero Enum.ChatCallbackType ) al quale il secondo argomento, la funzione, dovrà essere legato.Il sistema di chat Luau predefinito utilizza InvokeChatCallback per invocare le funzioni registrate.Se si tenta di registrare un callback solo server o client su un peer che non è un server o un client rispettivamente, verrà sollevata un'errore.Le seguenti sezioni descrivono in che modo verranno utilizzate le funzioni registrate.

Creazione di una finestra di chat OnCreatingChatWindow

Solo per il client.Invocato prima che il client costruisca la finestra di chat.Deve restituire una tabella di impostazioni da unire alle informazioni restituite dal modulo ChatSettings.

OnClientFormattingMessage

Solo per il client.Invocato prima che il client mostri un messaggio (che sia un Messaggiodi chat di un giocatore, un Messaggiodi sistema o il comando /me).Questa funzione viene invocata con l'oggetto messaggio e può (o non può) restituire una tabella da unire in message.ExtraData .

Sul client inviare messaggio

Non invocato in questo momento.

Su ServerReceivingMessage

Solo server.Invocato quando il server riceve un messaggio da un oratore (nota che gli oratori potrebbero non essere necessariamente una chat Player).Questo callback viene chiamato con l'oggetto Messaggio.La funzione può apportare modifiche all'oggetto Messaggio per cambiare il modo in cui viene elaborato il messaggio. L'oggetto Messaggio deve essere restituito per questo callback per fare qualsiasi cosa.: Impostare questo callback può consentire al server di, ad esempio:

  • Imposta message.ShouldDeliver a falso per annullare la consegna del messaggio ai giocatori (utile per implementare una lista di esclusione della chat)
  • Ottieni/imposta il colore del nome del relatore ( message.ExtraData.NameColor , un Color3) su una base messaggio per messaggio

Parametri

callbackType: Enum.ChatCallbackType

Il callback a cui la funzione verrà registrata (questo determina in che modo la funzione viene chiamata).

Valore predefinito: ""
callbackFunction: function

La funzione da chiamare quando il richiamo viene invocato utilizzando Chat:InvokeChatCallback.

Valore predefinito: ""

Restituzioni

()

SetBubbleChatSettings

()

Questa funzione personalizza varie impostazioni della chat della bolla in gioco.

Prima di utilizzarlo, assicurati che la chat a bolle sia abilitata impostando Chat.BubbleChatEnabled a vero.

L'argomento delle impostazioni è una tabella in cui le chiavi sono i nomi delle impostazioni che vuoi modificare e i valori sono ciò che vuoi cambiare queste impostazioni.Nota che non devi includerli tutti nell'argomento delle impostazioni, l'omissione di alcuni li manterrà con il loro valore predefinito.

Questa funzione è solo lato client, tentare di chiamarla sul server attiverà un errore.

Parametri

settings: Variant

Un tavolo delle impostazioni.

Valore predefinito: ""

Restituzioni

()

Campioni di codice

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

Resa

Restituirà false se il giocatore con il Player.UserId non è autorizzato a chattare a causa delle impostazioni del suo account.

Parametri

userId: number
Valore predefinito: ""

Restituzioni

CanUsersChatAsync

Resa

Restituirà false se i due utenti non possono comunicare perché le impostazioni del loro account non lo consentono.

Parametri

userIdFrom: number
Valore predefinito: ""
userIdTo: number
Valore predefinito: ""

Restituzioni

FilterStringAsync

Resa

Avviso di deprecazione parziale : Chiamare questa funzione dal client utilizzando un LocalScript è Deprecaree verrà disabilitato in futuro.Il filtraggio del testo dovrebbe essere eseguito da un Script sul server utilizzando il similmente chiamato TextService:FilterStringAsync(), che utilizza un set diverso di parametri e inserisci / scrividi restituzione.

Giochi che non filtrano correttamente il testo generato dagli utenti potrebbero essere soggetti all'azione di moderazione.Assicurati di filtrare correttamente il testo prima di pubblicarlo.

FilterStringAsync filtra una stringa utilizzando il filtraggio che è appropriato per il mittente e il destinatario del Giocatore.Se la stringa filtrata deve essere utilizzata per un Messaggiopersistente, come il nome di un Negozio, scrivere su una targhetta, ecc., allora la funzione deve essere chiamata con l'autore sia come mittente che come destinatario.

Questa funzione dovrebbe essere utilizzata ogni volta un giocatore può inserire testo personalizzato in qualsiasi contesto , più comunemente usando un TextBox .Alcuni esempi di testo da filtrare:

  • Messaggi di chat personalizzati
  • Nomi di personaggio personalizzati
  • Nomi per un negozio in uno stile da tycoon di Gioco

Parametri

stringToFilter: string

La stringa grezza da filtrare, esattamente come inserita dal Giocatore.

Valore predefinito: ""
playerFrom: Player

L'autore del testo.

Valore predefinito: ""
playerTo: Player

Il destinatario previsto del testo fornito; usa l'autore se il testo è persistente (vedi Descrizione).

Valore predefinito: ""

Restituzioni

FilterStringForBroadcast

Resa

Filtri una stringa inviata da playerFrom per la trasmissione a nessun particolare destinatario. Il messaggio filtrato ha più restrizioni di Chat:FilterStringAsync() .

Alcuni esempi di dove questo metodo potrebbe essere utilizzato:

  • Muri di messaggi
  • Ululati cross-server
  • Segnali creati dall'utente

Chiamare FilterString da LocalScripts è deprecato e verrà disabilitato in futuro.La filtrazione del testo dovrebbe essere eseguita dal lato server Scripts utilizzando FilterStringAsync.

Nota: Un gioco che non utilizza questa funzione di filtro per la chat personalizzata o altro testo generato dall'utente può essere soggetto all'azione di moderazione.

Parametri

stringToFilter: string

Stringa del messaggio filtrata.

Valore predefinito: ""
playerFrom: Player

Istanza del giocatore che invia il Messaggio.

Valore predefinito: ""

Restituzioni

Stringa del messaggio filtrata.

Campioni di codice

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)

Eventi

Chatted

Si accende quando viene chiamato Chat:Chat() .

Parametri

part: Instance
message: string