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 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à

  • Lettura Parallela

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

  • Lettura Parallela

    Attiva/disattiva se il framework di chat predefinito dovrebbe essere caricato automaticamente quando si esegue il gioco.

Metodi

Proprietà

BubbleChatEnabled

Lettura Parallela

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

Lettura Parallela
Sicurezza Non Accessibile

Attiva/disattiva se il framework di chat predefinito dovrebbe essere caricato automaticamente quando si esegue il gioco.

Metodi

Chat

void

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

partOrCharacter: Instance

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

message: string

La stringa del messaggio viene chattata.

Un Enum.ChatColor che specifica il colore del Messaggiochat.

Valore predefinito: "Blue"

Restituzioni

void

Campioni di codice

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

callbackType: Enum.ChatCallbackType

Il tipo di richiamata per invocare.

callbackArguments: Tuple

Gli argomenti che verranno inviati alla funzione richiamata registrata.


Restituzioni

I valori restituiti dalla funzione registrata al ChatCallbackType.

RegisterChatCallback

void

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

callbackType: Enum.ChatCallbackType

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

callbackFunction: function

La funzione da chiamare quando il callback viene invocato usando Chat:ExecuteChatCallback.


Restituzioni

void

SetBubbleChatSettings

void

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

settings: Variant

Una tabella di impostazioni.


Restituzioni

void

Campioni di codice

Customize visual aspects

local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({
BackgroundColor3 = Color3.fromRGB(180, 210, 228),
TextSize = 20,
Font = Enum.Font.Cartoon,
})
Restore default settings

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

CanUserChatAsync

Resa

Restituirà false se il giocatore con l'Player.UserId specificato non può chattare a causa delle impostazioni del loro account.

Parametri

userId: number

Restituzioni

CanUsersChatAsync

Resa

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

Parametri

userIdFrom: number
userIdTo: number

Restituzioni

FilterStringAsync

Resa

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

stringToFilter: string

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

playerFrom: Player

L'autore del testo.

playerTo: Player

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


Restituzioni

FilterStringForBroadcast

Resa

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

stringToFilter: string

La stringa del messaggio viene filtrata.

playerFrom: Player

Istanza del giocatore che invia il Messaggio.


Restituzioni

Stringa del messaggio filtrata.

Campioni di codice

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 attiva quando Chat:Chat() è chiamato.

Parametri

part: Instance
message: string