Chat
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Der Chat -Dienst beherbergt den Luau-Code, der für den Betrieb des legacy-Chat-Systems verantwortlich ist.Ähnlich wie StarterPlayerScripts , werden Standardobjekte wie Scripts und ModuleScripts in den Service eingefügt.
Zusammenfassung
Eigenschaften
Bestimmt, ob Chat-Nachrichten des Spieler:inüber seinem Avatar im Spiel erscheinen.
Schaltet ab, ob der Standard-Chat-Framework automatisch geladen werden soll, wenn das Spiel ausgeführt wird.
Methoden
Feuert das Chat.Chatted-Ereignis mit den in dieser Methode angegebenen Parametern ab.
Rufe eine Chat-Callback-Funktion auf, die von RegisterChatCallback registriert wurde. Wird vom Luau-Chat-System verwendet.
Registrieren Sie eine Funktion, die bei der Anrufung eines Chat-Systemereignisses aufgerufen wird ( InvokeChatCallback ).
Passt verschiedene Einstellungen des Bubble-Chat im Spiel an.
Wird false zurückgeben, wenn der Spieler mit dem angegebenen Player.UserId nicht chatten darf, wegen seiner Kontoneinstellungen.
Wird falsch zurückkehren, wenn die beiden Benutzer nicht kommunizieren können, weil ihre Kontoneinstellungen es nicht zulassen.
Filtert einen String, der von einem Spieler an einen anderen Spieler gesendet wird, mit Filtern, die für die Kontoeinstellungen der Spieler geeignet sind.
Filtert einen String, der von einem Spieler an einen bestimmten Empfänger gesendet wurde, nicht an ein bestimmtes Ziel. Restriktiver als Chat:FilterStringAsync().
Ereignisse
Feuert, wenn Chat:Chat() angerufen wird.
Eigenschaften
BubbleChatEnabled
Wenn es wahr ist, wird das Eingeben einer Nachricht im Chat zu einer Chat-Blase führen, die über dem Kopf des Spieler:inPlayer.Character erscheint.Dieses Verhalten kann entweder durch das direkte Ankreuern dieser Kontrollkiste in Studio aktiviert werden oder durch die Verwendung eines LocalScript :
local ChatService = game:GetService("Chat")ChatService.BubbleChatEnabled = true
Dies muss auf dem Client erfolgen, das Umschalten dieses Werts in einer serverseitigen Script wird keine Auswirkung haben.
LoadDefaultChat
Schaltet ab, ob der Standard-Chat-Framework automatisch geladen werden soll, wenn das Spiel ausgeführt wird.
Methoden
Chat
Die Chat-Funktion feuert das Chat.Chatted Ereignis mit den in dieser Methode angegebenen Parametern ab.
Standardmäßig gibt es ein LocalScript innerhalb des jedes Spieler:inPlayerScripts Objekts namens BubbleChat, das dazu führt, dass eine dialogähnliche Werbetafel über dem Teil oder Charakter erscheint, wenn das Gesprächsereignis ausgelöst wird.
Hinweis: Da Dialoge von einem lokalen Skript gesteuert werden, können Sie keine Dialoge sehen, die mit dieser Methode erstellt wurden, es sei denn, Sie führen im Spielen im Solo-Modus-Modus aus.
Parameter
Eine Instanz, die der Teil oder die Figur ist, die der BubbleChat-Dialog oben erscheinen soll.
Die Nachrichtenschnur, die chattet.
Ein Enum.ChatColor spezifiziert die Farbe der gesprächten Nachricht.
Rückgaben
Code-Beispiele
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
InvokeChatCallback ruft eine von RegisterChatCallback registrierte Funktion auf, unter Berücksichtigung des ChatCallbackType-Enums und der Argumente, um die Funktion zu senden.Es gibt das Ergebnis der registrierten Funktion zurück oder erzeugt einen Fehler, wenn keine Funktion registriert wurde.
Diese Funktion wird vom Luau-Chat-System aufgerufen, damit Chat-Anrufe registriert werden können, um das Verhalten bestimmter Funktionen zu ändern.Es sei denn, du ersetzt das Standard-Luau-Chat-System durch dein besitzen, solltest du diese Funktion nicht aufrufen müssen.Sie können über die verschiedenen Rückruffunktionen lesen bei Chat:RegisterChatCallback().
Parameter
Der Typ des zu verwendenden Rückrufs.
Die Argumente, die an die registrierte Rückruffunktion gesendet werden.
Rückgaben
Die Werte, die von der Funktion zurückgegeben werden, die zum angegebenen ChatCallbackType registriert ist.
RegisterChatCallback
RegisterChatCallback bindet eine Funktion an ein Chat-System-Ereignis, um das Verhalten des Luau-Chat-Systems zu beeinflussen.Das erste Argument bestimmt das Ereignis (mit der Enum.ChatCallbackType Enum), an das das zweite Argument, die Funktion, gebunden werden soll.Das Standard-Luau-Chat-System verwendet InvokeChatCallback, um registrierte Funktionen aufzurufen.Wenn du versuchst, einen Server- oder Client-only-Callback auf einem Peer zu registrieren, der kein Server oder Client ist, wird ein Fehler auftreten.Die folgenden Abschnitte beschreiben, auf welche Weise registrierte Funktionen verwendet werden.
Bei der Erstellung von Chatfenster
Nur für den Client.Ausgelöst, bevor der Client das Chat-Fenster erstellt.Muss eine Tabelle von Einstellungen zurückgeben, die in die Informationen des ChatSettings-Moduls zusammengeführt werden.
Auf Client-Formatzierungsnachricht
Nur für den Client.Ausgelöst, bevor der Client eine Nachricht anzeigt (ob es sich um eine Spielerchat-Nachricht, Systemnachricht oder /me-Befehl handelt).Diese Funktion wird mit dem Nachrichtenobjekt aufgerufen und kann (oder kann nicht) eine Tabelle zurückgeben, die in message.ExtraData zusammengeführt werden muss.
AufClientSendenNachricht
Wird zu diesem Zeitpunkt nicht aufgerufen.
Auf Server-Empfangsmeldung antworten
Nur Server.Aufgerufen, wenn der Server eine Nachricht von einem Redner erhält (merken Sie, dass Redner möglicherweise nicht unbedingt ein Player Chatten sind).Dieser Rückruf wird mit dem Nachrichten-Objekt aufgerufen.Die Funktion kann Änderungen am Nachrichtenobjekt vornehmen, um die Art und Weise, wie die Nachricht verarbeitet wird, zu ändern. Das Nachrichtenobjekt muss zurückgegeben werden, damit dieser Rückruf etwas tut.: Die Einstellung dieses Rückrufs kann es dem Server ermöglichen, zum Beispiel:
- Setze message.ShouldDeliver auf false, um die Lieferung der Nachricht an Spieler abzubrechen (nützlich für die Umsetzung einer Chat-Ausschlussliste)
- Holen/legen Sie die Namensfarbe des Lautsprechers ( message.ExtraData.NameColor , eine Farbe3) auf einer Nachricht-zu-Nachricht-Basis fest
Parameter
Der Rückruf, auf den die Funktion registriert werden soll (das bestimmt, auf welche Weise die Funktion aufgerufen wird).
Die Funktion, die aufgerufen wird, wenn der Rückruf mit Chat:InvokeChatCallback aufgerufen wird.
Rückgaben
SetBubbleChatSettings
Diese Funktion passt verschiedene Einstellungen des Bubble-Chat im Spiel an.
Bevor du dies verwendest, stelle sicher, dass der Blasenchat aktiviert ist, indem du Chat.BubbleChatEnabled auf wahr gesetzt hast.
Das Einstellungsargument ist eine Tabelle, in der die Schlüssel die Namen der Einstellungen sind, die du bearbeiten möchtest, und die Werte sind, was du diese Einstellungen ändern möchtest.Beachten Sie, dass Sie nicht alle in das Argumenteinfügen müssen, die Auslassung einiger wird dazu führen, dass sie ihren Standardwert behalten.
Diese Funktion ist nur clientseitig, ein Aufruf auf dem Server wird zu einem Fehler führen.
Parameter
Ein Einstellungstisch.
Rückgaben
Code-Beispiele
Wenn von einer LocalScript ausgeführt, wird dieses Snippet alle Chat-Blasen mit größerem Text unter einer anderen Schriftart und einem hellblauen Hintergrund erscheinen lassen.Beachten Sie, dass alle anderen Einstellungen ihren Standardwert behalten.
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
Wird false zurückgeben, wenn der Spieler mit dem angegebenen Player.UserId nicht chatten darf, wegen seiner Kontoneinstellungen.
Parameter
Rückgaben
CanUsersChatAsync
Wird falsch zurückkehren, wenn die beiden Benutzer nicht kommunizieren können, weil ihre Kontoneinstellungen es nicht zulassen.
Parameter
Rückgaben
FilterStringAsync
Teilweise Deprecation-Warnung : Das Aufrufen dieser Funktion vom Client mit einem LocalScript ist veraltet und wird in Zukunft deaktiviert.Textfilterung sollte von einem Script auf dem Server durchgeführt werden, der mit dem ähnlich benannten TextService:FilterStringAsync() verwendet wird, der eine andere Reihe von Parametern und eingebenverwendet.
Spiele, die den generierten Text des Spielers nicht richtig filtern, können Actionunterliegen.Bitte stelle sicher, dass ein Spiel den Text ordnungsgemäß filtert, bevor es veröffentlicht wird.
FilterStringAsync filtert einen String mit Filtern, die für den Sender- und Spieler:ingeeignet sind.Wenn der gefilterte String für eine dauerhafte Nachricht verwendet werden soll, wie den Namen eines kaufen, auf einer Plakette geschrieben wird usw., sollte die Funktion mit dem Autor als Absender und Empfänger aufgerufen werden.
Diese Funktion sollte jedes Mal verwendet werden, wenn ein Spieler benutzerdefinierten Text in jedem Kontext eingeben kann, am häufigsten mit einem >.Einige Beispiele für Text, der gefiltert werden soll:
- Benutzerdefinierte Chatnachrichten
- Benutzerdefinierte Charakternamen
- Namen für einen Shop in einem Spiel
Parameter
Der rohe String, der gefiltert werden soll, genau wie vom Spieler:ineingegeben.
Der Autor des Textes.
Der beabsichtigte Empfänger des bereitgestellten Textes; verwende den Autor, wenn der Text persistent ist (siehe Beschreibung).
Rückgaben
FilterStringForBroadcast
Filtert einen String, der von playerFrom gesendet wurde, für die Ausstrahlung an kein bestimmtes Ziel. Die gefilterte Nachricht hat mehr Einschränkungen als Chat:FilterStringAsync().
Einige Beispiele, in denen diese Methode verwendet werden könnte:
- Nachrichtenwände
- Cross-Server-Rufe
- Von Benutzern erstellte Schilder
Das Aufrufen von FilterString von LocalScripts ist veraltet und wird in Zukunft deaktiviert.Textfilterung sollte von der Serverseite aus Scripts werden, indem FilterStringAsync verwendet wird.
Hinweis: Ein Spiel, das diese Filterfunktion nicht für den benutzerdefinierten Chat oder anderen vom Benutzer generierten Text verwendet, kann Actionunterliegen.
Parameter
Nachrichtenstring wird gefiltert.
Instanz des Spielers, der die Nachricht sendet.
Rückgaben
Gefilterter String.
Code-Beispiele
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)