Cet exemple démontre comment assigner des étiquettes de chat aux joueurs en fonction de leur appartenance à un groupe. Les étiquettes de chat sont un moyen d'identifier visuellement un joueur dans la fenêtre de chat et sont utiles pour indiquer le rôle ou le statut d'un joueur.

Parce que les callbacks de chat texte s'attendent à un callback non-bloquant, tenter de consulter le statut d'appartenance à un groupe d'un joueur dans le callback TextChatService.OnIncomingMessage n'est pas recommandé, car cela peut provoquer un blocage ou un manque de réponse du système de chat.
Au lieu de cela, définissez un attribut d'un joueur lorsqu'il rejoint le serveur. Définir un attribut vous permet de réutiliser le statut du joueur dans d'autres parties de votre jeu, par exemple en permettant l'accès à des zones particulières ou en fournissant des expériences bonus.
Créez un Script dans ServerScriptService et ajoutez le code suivant :
Serveurlocal Players = game:GetService("Players")-- Remplacez 123456 par l'ID du groupe que vous souhaitez vérifierlocal groupID = 123456Players.PlayerAdded:Connect(function(player)local success, isInGroup = pcall(function()return player:IsInGroupAsync(groupID)end)if success and isInGroup thenplayer:SetAttribute("IsVIP", true)elseplayer:SetAttribute("IsVIP", false)endend)Créez un LocalScript dans StarterPlayer ⟩ StarterCharacterScripts et ajoutez le code suivant pour afficher une étiquette [VIP] dans la fenêtre de chat :
Clientlocal Players = game:GetService("Players")local TextChatService = game:GetService("TextChatService")TextChatService.OnIncomingMessage = function(message: TextChatMessage)local textSource = message.TextSourceif textSource thenlocal player = Players:GetPlayerByUserId(textSource.UserId)if player thenif player:GetAttribute("IsVIP") == true thenlocal overrideProperties = Instance.new("TextChatMessageProperties")overrideProperties.PrefixText = "[VIP] " .. message.PrefixTextreturn overridePropertiesendendendreturn nilend