Chat
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Il servizio Chat ospita il codice Lua responsabile dell'esecuzione del sistema di chat ereditario. Come con StarterPlayerScripts , gli oggetti predefiniti come 2> Class.Script|Scripts2> e 5> Class.ModuleScript|ModuleScripts5> vengono inseriti nel servizio.
Sommario
Proprietà
Determina se i messaggi di chat del Giocatoreappariranno sopra il loro Avatarin gioco.
Attiva/disattiva se il framework di chat predefinito dovrebbe essere caricato automaticamente quando si esegue il gioco.
Metodi
Fires the Chat.Chatted event with the parameters specified in this method.
Invoca una funzione di richiamata di chat registrata da RegisterChatCallback . Utilizzata dal sistema di chat Lua.
Registra una funzione da chiamare all'invocazione di un evento di sistema di chat ( InvokeChatCallback ).
Personalizza varie impostazioni della chat a bolle in gioco.
Restituirà false se il giocatore con l'Player.UserId specificato non può chattare a causa delle impostazioni del loro account.
Restituirà false se i due utenti non possono comunicare poiché le impostazioni del loro account non lo consentono.
Filtra una stringa inviata da un giocatore a un altro giocatore utilizzando il filtro che è appropriato alle impostazioni dell'account dei giocatori.
Filtra una stringa inviata da un giocatore pensata per il broadcast a nessun target in particolare. Più restrittivo di Chat:FilterStringAsync() .
Eventi
Si attiva quando Chat:Chat() è chiamato.
Proprietà
BubbleChatEnabled
Se è vero, entrare in un messaggio nella chat creerà una schermata di chat popup sopra il Player.Character del Giocatore. Questo comportamento può essere abilitato facendo clic direttamente su questo checkbox 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
Attiva/disattiva se il framework di chat predefinito dovrebbe essere caricato automaticamente quando si esegue il gioco.
Metodi
Chat
La funzione Chat attiva l'evento Chat.Chatted con i parametri specificati in questo metodo.
Per impostazione predefinita, c'è un LocalScript all'interno di ogni oggetto PlayerScripts di ogni Giocatorechiamato BubbleChat, che causa un bilboard simile a un dialogo sopra il 2> parteOrCharacter2> quando viene attivato l'evento di chat.
Nota: Poiché i dialoghi sono controllati da uno script locale, non sarai in grado di visualizzare i dialoghi creati da questo metodo a meno che tu non stia eseguendo in Modalità gioco da solo .
Parametri
Un'istanza che è la parte o il personaggio che la finestra di dialogo BubbleChat dovrebbe apparire sopra.
La stringa del messaggio viene chattata.
Un Enum.ChatColor che specifica il colore del Messaggiochat.
Restituzioni
Campioni di codice
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 che l'argomento ChatCallbackType è stato inserito e gli argomenti per l'invio della funzione. Ritornerà il risultato della funzione registrata, o lancerà un errore se nessuna funzione è stata registrata.
Questa funzione è chiamata dal sistema di chat Lua in modo che i richiami di chat possano essere registrati per cambiare il comportamento di alcune funzionalità. A meno che tu non stia sostituendo il sistema di chat Lua predefinito con il Proprio, non dovresti chiamare questa funzione. Puoi leggere le diverse funzioni di richiamo in Chat:RegisterChatCallback() .
Parametri
Il tipo di richiamata per invocare.
Gli argomenti che verranno inviati alla funzione richiamata registrata.
Restituzioni
I valori restituiti dalla funzione registrata al ChatCallbackType.
RegisterChatCallback
RegisterChatCallback lega una funzione a un evento di chat in modo da influenzare il comportamento del sistema di chat Lua. Il primo argomento determina l'evento (utilizzando l'Class.Chat:ExecuteChatCallback()|Execut
OnCreatingChatWindow
Solo client. Invocato prima che il client costruisca la finestra di chat. Devi restituire un'area di impostazioni per essere fusi nell'informazione restituita dal modulo ChatSettings.
Messaggio di formattazione del client
Solo client. Invocato prima che il client visualizzi un messaggio (che sia un Messaggiodi chat del giocatore, un Messaggiodel sistema o /me command). Questa funzione viene invocata con l'oggetto del messaggio e può (o non può) restituire una tabella per essere fusi in message.ExtraData .
OnClientSendingMessage
Non invocato al momento.
OnServerReceivingMessage
Solo server. Invocato quando il server riceve un messaggio da un oratore (nota che gli oratori potrebbero non essere necessariamente un Player chattando). 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 poter fare qualcosa.
- Imposta message.ShouldDeliver su false per annullare la consegna del messaggio ai giocatori (utilizzato per implementare una lista di esclusione della chat)
- Ottieni/imposta il colore del nome del relatore ( message.ExtraData.NameColor , a Color3) su una base messaggio per messaggio
Parametri
Il callback a cui la funzione sarà registrata (questo determina in che modo la funzione viene chiamata).
La funzione da chiamare quando il callback viene invocato usando Chat:ExecuteChatCallback.
Restituzioni
SetBubbleChatSettings
Questa funzione personalizza varie impostazioni della chat a bolle in gioco.
Prima di utilizzarlo, assicurati che la chat a bolle sia abilitata impostando Chat.BubbleChatEnabled su vero.
L'argomento delle impostazioni è una tabella in cui le chiavi sono i nomi delle impostazioni che vuoi modificare e i valori sono quelli che vuoi cambiare queste impostazioni. Nota che non devi includerle tutte nell'argomento delle impostazioni, omettendo alcuni di questi mantenterà il loro valore predefinito.
Questa funzione è solo lato client, tentando di chiamarla sul server attiverà un errore.
Parametri
Una tabella di impostazioni.
Restituzioni
Campioni di codice
local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({
BackgroundColor3 = Color3.fromRGB(180, 210, 228),
TextSize = 20,
Font = Enum.Font.Cartoon,
})
local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({})
CanUserChatAsync
Restituirà false se il giocatore con l'Player.UserId specificato non può chattare a causa delle impostazioni del loro account.
Parametri
Restituzioni
CanUsersChatAsync
Restituirà false se i due utenti non possono comunicare poiché le impostazioni del loro account non lo consentono.
Parametri
Restituzioni
FilterStringAsync
Warning parziale di deprecation in caso di richiesta client using a Class.LocalScript : Calling this function from the client using a Class.Script is Deprecare, and will be disabled in the future. Text filtering should be done from a 0> Class.Script0> on the server using the similarly-named 3> Class.TextService:FilterStringAsync() 3> , which uses a
I giochi che non filtrano correttamente il testo generato dai giocatori potrebbero essere soggetti ad azione di moderazione. Assicurati che un gioco filtri correttamente il testo prima di pubblicarlo.
FilterStringAsync filtra una stringa utilizzando il filtro che è appropriato per il Giocatoredi destinazione e di destinazione. Se la stringa filtrata viene utilizzata per un Messaggiopersistente, come il nome di un Negozio, l' scrittura su una placa, ecc., allora la funzione deve essere chiamata con l'autore come sia il mittente che il destinatario.
Questa funzione dovrebbe essere utilizzata ogni volta che un giocatore può inserire un testo personalizzato in qualsiasi contesto , più comunemente usando un TextBox . Alcuni esempi di testo da filtrare:
- Messaggi di chat personalizzati
- Nome del personaggio personalizzato
- Nome per un negozio in un Giocoa stile tycoon
Parametri
La stringa grezza da filtrare, esattamente come inserita dal Giocatore.
L'autore del testo.
Il destinatario previsto del testo fornito; usa l'autore se il testo è persistente (vedi Descrizione).
Restituzioni
FilterStringForBroadcast
Filtra una stringa inviata da playerFrom per il broadcast a nessun target in particolare. Il messaggio filtrato ha più restrizioni di Chat:FilterStringAsync() .
Alcuni esempi in cui questo metodo potrebbe essere utilizzato:
- Muri dei messaggi
- Ruggiti cross-server
- Segni creati dagli utenti
Calling FilterString from LocalScripts is deprecated and will be disabled in the future. Text filtering should be done from server-side Scripts using FilterStringAsync.
Nota: Un gioco che non utilizza questa funzione di filtro per la chat personalizzata o altro testo generato dall'utente potrebbe essere sottoposto all'azione di moderazione.
Parametri
La stringa del messaggio viene filtrata.
Istanza del giocatore che invia il Messaggio.
Restituzioni
Stringa del messaggio filtrata.
Campioni di codice
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)