Chat
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Le service Chat héberge le code Lua responsable de l'exécution du système de chat hérité. Semblable à StarterPlayerScripts , les objets par défaut comme 2> Class.Script|Scripts2> et 5> Class.ModuleScript|ModuleScripts5> sont insérés dans le service.
Résumé
Propriétés
Détermine si les messages de chat du joueur apparaîtront au-dessus de leur avatar dans le jeu.
Bascule si le framework de chat par défaut devrait être chargé automatiquement lorsque le jeu s'exécute.
Méthodes
Lance l'événement Chat.Chatted avec les paramètres spécifiés dans cette méthode.
Invokez une fonction de rappel de chat enregistrée par RegisterChatCallback . Utilisé par le système de chat Lua.
Enregistre une fonction à appeler lors de l'invocation d'un événement de chat ( InvokeChatCallback ).
Personnalisez divers paramètres du chat de bulle dans le jeu.
Renvoie faux si le joueur avec le Player.UserId spécifié n'est pas autorisé à discuter en raison de leurs paramètres de compte.
Renvoie faux si les deux utilisateurs ne peuvent pas communiquer parce que leurs paramètres de compte ne le permettent pas.
Filtrer une chaîne envoyée d'un joueur à un autre joueur en utilisant le filtrage qui est approprié aux paramètres du compte des joueurs.
Filtrer une chaîne envoyée par un joueur destinée à la broadcast à aucune cible spécifique. Plus restreinte que Chat:FilterStringAsync() .
Évènements
Se déclenche lorsque Chat:Chat() est appelé.
Propriétés
BubbleChatEnabled
Si oui, entrer un message dans le chat entraînera la création d'une bulle de chat au-dessus du Player.Character du joueur. Ce comportement peut être activé en cliquant directement sur cette case à cocher dans Studio, ou en utilisant un LocalScript :
local ChatService = game:GetService("Chat")ChatService.BubbleChatEnabled = true
Ceci doit être fait sur le client, le basculage de cette valeur dans un Script côté serveur n'aura aucun effet.
LoadDefaultChat
Bascule si le framework de chat par défaut devrait être chargé automatiquement lorsque le jeu s'exécute.
Méthodes
Chat
La fonction de discussion lance l'événement Chat.Chatted avec les paramètres spécifiés dans cette méthode.
Par défaut, il y a un LocalScript à l'intérieur de chaque joueurPlayerScripts nommé BubbleChat, qui cause un panneau de dialogue à apparaître au-dessus de la partie 2>Personnage de chat2> lorsque l'événement de discussion est déclenché.
Remarque : puisque les dialogues sont contrôlés par un script local, vous ne pourrez pas voir les dialogues créés à partir de cette méthode à moins d'être en mode Jouer en solo.
Paramètres
Une instance qui est la partie ou le personnage qui la bulle de discussion dialogue doit apparaître au-dessus.
La chaîne de message est en cours de discussion.
Un Enum.ChatColor définissant la couleur du message de chat.
Retours
Échantillons de code
local ChatService = game:GetService("Chat")
local part = Instance.new("Part")
part.Anchored = true
part.Parent = workspace
ChatService:Chat(part, "Blame John!", "Red")
InvokeChatCallback
InvokeChatCallback appellera une fonction enregistrée par RegisterChatCallback, en fonction du type d'invocation de chat et des arguments pour envoyer la fonction. Il retournera le résultat de la fonction enregistrée ou l'erreur si aucune fonction n'a été enregistrée.
Cette fonction est appelée par le système de chat Lua pour que les rappels de chat puissent être enregistrés pour modifier le comportement de certaines fonctionnalités. À moins que vous ne remplaciez le système de chat Lua par posséderavec le vôtre, vous ne devriez pas avoir à appeler cette fonction. Vous pouvez lire à propos des différents rappels de fonction au Chat:RegisterChatCallback() .
Paramètres
Le type de rappel à invoquer.
Les arguments qui seront envoyés à la fonction de rappel enregistrée.
Retours
Les valeurs renvoyées par la fonction enregistrée au nom donné ChatCallbackType.
RegisterChatCallback
RegisterChatCallback lie une fonction à un événement de chat dans le système pour affecter le comportement du système de chat Lua. Le premier argument détermine l'événement (en utilisant l'Enum.ChatCallbackType枚) auquel le deuxième argument, la fonction, sera lié. Le système de chat Lua par défaut utilise
Lors de la création de la fenêtre de discussion
Client-only. Invocé avant que le client construise la fenêtre de discussion. Doit retourner une table de paramètres pour être fusionné dans l'information retournée par le module ChatSettings.
Message de formatage du client
Client-only. Invocé avant que le client affiche un message (qu'il s'agisse d'un message de chat du client, d'un message du système ou/et de commande /me). Cette fonction est invoquée avec l'objet de message et peut (ou ne peut pas) renvoyer une table à être fusionnée dans message.ExtraData .
Message d'envoi sur client
Pas invoqué à ce moment.
Message de réception sur le serveur
Serveur uniquement. Invité lorsque le serveur reçoit un message d'un locuteur (remarquez que les locuteurs peuvent ne pas nécessairement être un Player chat). Ce rappel est appelé avec l'objet Message. La fonction peut apporter des modifications à l'objet Message pour modifier la manière dont le message est traité. L'objet Message doit être renvoyé pour que ce rappel se produise Définir ce rappel peut permettre au
- Définir message.ShouldDeliver sur false pour annuler la livraison du message aux joueurs (utilisé pour l'implémentation d'une liste d'ex exclusion du chat)
- Obtenez/définissez la couleur du nom du enceinte( message.ExtraData.NameColor , une couleur3) sur une base de message par message
Paramètres
Le rappel auquel la fonction sera enregistrée (ce qui détermine la manière dont la fonction est appelée).
La fonction à appeler lorsque le rappel est invoqué en utilisant chat:ExecuteChatCallback.
Retours
SetBubbleChatSettings
Cette fonctionnalité personnalise divers paramètres de la messagerie de bulles dans le jeu.
Avant d'utiliser ceci, assurez-vous que le chat à bulles est activé en définissant Chat.BubbleChatEnabled sur vrai.
L'argument des paramètres est une table où les clés sont les noms des paramètres que vous souhaitez modifier et les valeurs sont ce que vous voulez changer ces paramètres. Remarquez que vous n'avez pas à inclure tous d'entre eux dans l'argument des paramètres, omitting certains résulte en ce qu'ils gardent leur valeur par défaut.
Cette fonction est côté client uniquement, essayant de l'appeler sur le serveur déclenchera une erreur.
Paramètres
Une table de paramètres.
Retours
Échantillons de code
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
Renvoie faux si le joueur avec le Player.UserId spécifié n'est pas autorisé à discuter en raison de leurs paramètres de compte.
Paramètres
Retours
CanUsersChatAsync
Renvoie faux si les deux utilisateurs ne peuvent pas communiquer parce que leurs paramètres de compte ne le permettent pas.
Paramètres
Retours
FilterStringAsync
Avertissement de dépréciation partielle : L'utilisation de cette fonctionnalité depuis le client en utilisant un LocalScript est marquer comme obsolète, et sera désactivée dans le futur. Le filtrage de texte doit être effectué à partir d'un Script sur le serveur en utilisant le même nom de 0> Class.TextService:FilterStringAsync()0>, qui utilise un taper
Les jeux qui ne filtrent pas correctement le texte généré par le joueur pourraient être soumis à une action de modération. Assurez-vous qu'un jeu génère correctement le texte avant de le publier.
FilterStringAsync filtre une chaîne en utilisant le filtrage qui est approprié pour le joueur d'envoi et de réception. Si la chaîne filtrée doit être utilisée pour un message persistant, comme le nom d'une boutique, l'écriture sur une plaque, etc., alors la fonction doit être appelée avec l'auteur en tant que le sendeur et le récepteur.
Cette fonction doit être utilisée chaque fois qu'un joueur peut entrer du texte personnalisé dans n'importe quel contexte , le plus souvent en utilisant un TextBox. Certains exemples de texte à filtrer :
- Messages de chat personnalisés
- Noms de personnages personnalisés
- Noms pour une boutique dans un jeu de style Tycoon
Paramètres
La chaîne de caractères brute à filtrer, exactement comme entrée par le joueur.
L'auteur du texte.
Le destinataire prévu du texte fourni ; utilisez l'auteur si le texte est persistant (voir description).
Retours
FilterStringForBroadcast
Filtrer une chaîne envoyée à partir de playerFrom pour la diffuser à un public spécifique. Le message filtré a plus de restrictions que Chat:FilterStringAsync() .
Certains exemples d'endroits où cette méthode pourrait être utilisée :
- Murs de messages
- Appels croisés
- Signes créés par les utilisateurs
L'appel de FilterString depuis LocalScripts est obsolète et sera désactivé dans le futur. La filtrage de texte devrait être fait du côté du serveur en utilisant FilterStringAsync.
Remarque : Un jeu qui n'utilise pas cette fonction de filtre pour le chat personnalisé ou d'autres textes générés par l'utilisateur peut être soumis à une action de modération.
Paramètres
La chaîne de message est filtrée.
Instances du joueur envoyant le message.
Retours
chaînede message filtré.
Échantillons de code
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)