Chat
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Die Chat-Dienste verfügen über den Lua-Code, der für die Ausführung des Legacy-Chat-Systems verantwortlich ist. Ähnlich wie StarterPlayerScripts , Standardobjekte wie 2>Class.Script|Scripts2> und 5>Class.ModuleScript|ModuleScripts5> werden in den Diensten eingefügt.
Zusammenfassung
Eigenschaften
Bestimmt, ob die Chat-Nachrichten des Spieler:inüber ihrem In-Game-Avatar erscheinen.
Schaltet ab, ob das Standard-Chat-Framework automatisch geladen wird, wenn das Spiel ausgeführt wird.
Methoden
Feuert das Chat.Chatted Ereignis mit den in diesem Methoden angegebenen Parametern ab.
Rufe eine Chat-Callback-Funktion auf, die von RegisterChatCallback registriert ist. Wird vom Lua-Chat-System verwendet.
Registrieren Sie eine Funktion, die auf die Anrufung eines bestimmten Chat-System-Ereignisses aufgerufen wird ( InvokeChatCallback ).
Anpassen Sie verschiedene Einstellungen des In-Game-Blasen-Chats.
Kehre false zurück, wenn der Spieler mit der angegebenen Player.UserId nicht chatten darf, weil seine Kontoeinstellungen dies erlauben.
Wird zurückgegeben, wenn die beiden Benutzer nicht kommunizieren können, da ihre Kontoeinstellungen es nicht erlauben.
Filtert eine Stringsendung von einem Spieler an einen anderen Spieler, indem sie das Filtern basierend auf den Einstellungen des Spielerkontos verwendet.
Filter eine Stringsendung von einem Spieler, die für die Verbreitung an kein bestimmtes Ziel geschickt wurde. More restrictive than Chat:FilterStringAsync() .
Ereignisse
Feuert ab, wenn Chat:Chat() aufgerufen wird.
Eigenschaften
BubbleChatEnabled
Wenn true, wird ein Chat-Nachricht im Chat erscheinen, oben über dem Spieler:inPlayer.Character . Dieses Verhalten kann entweder durch direktes Ticken dieser Checkbox in Studio aktiviert werden, oder durch Verwendung eines LocalScript :
local ChatService = game:GetService("Chat")ChatService.BubbleChatEnabled = true
Dies muss auf dem Client getan werden, indem dieser Wert in einem Server-seitigen Script umschaltet wird kein Effekt haben.
LoadDefaultChat
Schaltet ab, ob das Standard-Chat-Framework automatisch geladen wird, wenn das Spiel ausgeführt wird.
Methoden
Chat
Die Chat-Funktion feuert das Chat.Chatted -Ereignis mit den angegebenen Parametern in diesem Methoden ab.
Standardmäßig gibt es ein LocalScript in jedem PlayerScripts -Objekt, das eine Dialog-ähnliche Anzeige über dem TeilOrCharacter erscheinen lässt, wenn das Chatt-Ereignis ausgelöst wird.
Hinweis: Da die Dialoge von einem lokalen Skript steuert, werden Sie nicht in der Lage sein, irgendwelche Dialoge zu sehen, die von dieser Methode erstellt wurden, es sei denn, Sie führen in Spiele-Solo-Modus aus.
Parameter
Eine Instanz, die der Teil oder Charakter ist, der der Blasenchat-Dialog oben erscheinen sollte.
Die Nachrichten-String wird chattet.
Ein Enum.ChatColor , der die Farbe der Chat-Nachricht angibt.
Rückgaben
Code-Beispiele
local ChatService = game:GetService("Chat")
local part = Instance.new("Part")
part.Anchored = true
part.Parent = workspace
ChatService:Chat(part, "Blame John!", "Red")
InvokeChatCallback
Der Chat-Callback-Aufruf wird eine Funktion aufrufen, die von RegisterChatCallback registriert ist, und basierend auf der Chat-Callback-Typ-Registerkarte und den Argumenten, um die Funktion zu senden. Es wird das Ergebnis der registrierten Funktion zurückgeben oder einen Fehler anzeigen, wenn keine Funktion registriert wurde.
Diese Funktion wird vom Lua-Chat-System aufgerufen, damit Chat-Calls registriert werden können, um das Verhalten bestimmter Funktionen zu ändern. Es sei denn, Sie ersetzen das Standard-Lua-Chat-System durch Ihr besitzen, sollten Sie nicht aufrufen, diese Funktion zu ändern. Sie können über die verschiedenen Chat-Calls aufgerufen werden unter Chat:RegisterChatCallback() .
Parameter
Der Typ des Rückrufs, der ausgewählt wird.
Die Argumente, die an die registrierte Rückruffunktion gesendet werden.
Rückgaben
Die Werte, die von der Funktion registriert wurden, für den angegebenen ChatCallbackType.
RegisterChatCallback
RegisterChatCallback bindet eine Funktion an einige Chat-System-Ereignisse, um das Verhalten des Lua-Chat-Systems zu beeinflussen. Das erste Argument bestimmt das Ereignis (mit dem Enum.ChatCallbackType-Enzym), an das der zweite Argument, die Funktion, gebunden sein soll.
Bei der Erstellung eines Chat-Fensters
Client-only. Invoked before the client constructs the chat window. Must return a table of settings to be merged into the information returned by the ChatSettings module.
AufClientFormatingMessage
Client-only. Invoked before the client displays a message (either ist es ein Spieler-Chat-Nachricht, System-Nachricht oder /me-Befehl). Diese Funktion wird mit dem Nachrichten-Objekt aufgerufen und kann (oder kann nicht) eine Tabelle zurückgeben, um in message.ExtraData zusammengeführt zu werden.
OnClientSendingNachricht
Wird dieses Mal nicht verwendet.
OnServerReceivingMessage
Server-only. Aufgerufen, wenn der Server eine Nachricht von einem Sprecher erhält (beachten Sie, dass Sprecher möglicherweise nicht notwendigerweise ein Player -Chat sind). Dieser Rückruf wird mit dem Message-Objekt aufgerufen. Die Funktion kann Änderungen am Message-Objekt vornehmen, um die Art und Weise, wie die Nachricht verarbeitet wird, zu ändern. Der Message-Objekt muss für diesen Rückruf zurückge
- Set message.ShouldDeliver auf false, um die Lieferung der Nachricht an die Spieler abzubrechen (nützlich für die Umsetzung einer Chat-Ausschlusskonfiguration)
- Erhalte/setze die Farbe des Lautsprecher( message.ExtraData.NameColor , eine Farbe3) auf einer Nachrichten-basis
Parameter
Der Rückruf, zu dem die Funktion registriert sein soll (dies bestimmt, wie die Funktion aufgerufen wird).
Die Funktion, die aufgerufen wird, wenn der Rückruf mit Chat:ExecuteChatCallback aufgerufen wird.
Rückgaben
SetBubbleChatSettings
Diese Funktion personalisiert verschiedene Einstellungen des Bubble-Chats im Spiel.
Dieser Bubble-Chat muss aktiviert sein, um das zu tun, indem Sie Chat.BubbleChatEnabled auf true gesetzt.
Das Einstellungen-Argument ist eine Tabelle, in der die Schlüssel die Namen der Einstellungen sind, die Sie bearbeiten möchten, und die Werte sind, was Sie diese Einstellungen ändern möchten. Beachten Sie, dass Sie einige nicht in das Einstellungen-Argument aufnehmen müssen, und einige werden Ihren Standardwert behalten.
Diese Funktion ist nur auf der Client-Seite, versucht, sie auf dem Server aufzurufen, wird ein Fehler ausgelöst.
Parameter
Eine Einstellungstabelle.
Rückgaben
Code-Beispiele
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
Kehre false zurück, wenn der Spieler mit der angegebenen Player.UserId nicht chatten darf, weil seine Kontoeinstellungen dies erlauben.
Parameter
Rückgaben
CanUsersChatAsync
Wird zurückgegeben, wenn die beiden Benutzer nicht kommunizieren können, da ihre Kontoeinstellungen es nicht erlauben.
Parameter
Rückgaben
FilterStringAsync
Teilweise Deprecation Warning : Aufrufen dieser Funktion vom Client mit einem LocalScript ist veraltet, und wird in der Zukunft deaktiviert. Text-Filtering sollte von einem Script auf dem Server mit dem entsprechenden Set von Parametern und Rückgabetyp erfolgen, der verwendet ein anderes Set von Argumenten und Rückgabetyp.
Spiele, die nicht richtig Text von Spielern erkennen, können moderative Actionerfahren. Bitte stellen Sie sicher, dass ein Spiel richtig Text vor dem Veröffentlichen filtert.
FilterStringAsync filtert eine Zeichenfolge, die für den Sender und den Spieler:ingeeignet ist. Wenn die gefilterte Zeichenfolge für eine persistente Nachricht verwendet wird, z. B. den Namen eines kaufen, das Schreiben auf einer Platte usw., dann sollte die Funktion mit dem Autor als sowohl Sender als auch Empfänger aufgerufen werden.
Diese Funktion sollte jedes Mal verwendet werden, wenn ein Spieler benutzerdefinierten Text in einem Kontext eingeben kann, meistens verwendet eine Class.Toolbar. Einige Beispiele für Text, die gefiltert werden sollen:
- Benutzerdefinierte Chat-Nachrichten
- Benutzerdefinierte Charakternamen
- Namen für einen Shop in einem Tycoon-Stil-Spiel
Parameter
Die rohe Zeichenkette, die exakt so eingegeben wurde, wie vom Spieler:in.
Der Autor des Textes.
Der beabsichtigte Empfänger des bereitgestellten Textes; verwenden Sie den Autor, wenn der Text hartnäckig ist (siehe Beschreibung).
Rückgaben
FilterStringForBroadcast
Filtert eine Stringsendung von playerFrom 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 kann:
- Nachrichtenwände
- Cross-Server-Shouts
- Benutzer erstellte Schilder
Die Verwendung von FilterString von LocalScripts ist veraltet und wird in der Zukunft deaktiviert. Text-Filtering sollte von der Serverseite aus Scripts mit FilterStringAsync durchgeführt werden.
Beachte:: Ein Spiel, das diese Filter-Funktion für benutzerdefinierten Chat oder anderen benutzergenerierten Text nicht verwendet, kann moderative Actionerhalten.
Parameter
Nachrichten-String wird gefiltert.
Instanz des Spielers, der die Nachricht sendet.
Rückgaben
Gefilterte Nachrichten-String.
Code-Beispiele
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)