Assigner des étiquettes de chat

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

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.

Étiquette VIP ajoutée au nom d'utilisateur dans la fenêtre de chat.

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.

  1. Créez un Script dans ServerScriptService et ajoutez le code suivant :

    Serveur

    local Players = game:GetService("Players")
    -- Remplacez 123456 par l'ID du groupe que vous souhaitez vérifier
    local groupID = 123456
    Players.PlayerAdded:Connect(function(player)
    local success, isInGroup = pcall(function()
    return player:IsInGroupAsync(groupID)
    end)
    if success and isInGroup then
    player:SetAttribute("IsVIP", true)
    else
    player:SetAttribute("IsVIP", false)
    end
    end)
  2. Créez un LocalScript dans StarterPlayerStarterCharacterScripts et ajoutez le code suivant pour afficher une étiquette [VIP] dans la fenêtre de chat :

    Client

    local Players = game:GetService("Players")
    local TextChatService = game:GetService("TextChatService")
    TextChatService.OnIncomingMessage = function(message: TextChatMessage)
    local textSource = message.TextSource
    if textSource then
    local player = Players:GetPlayerByUserId(textSource.UserId)
    if player then
    if player:GetAttribute("IsVIP") == true then
    local overrideProperties = Instance.new("TextChatMessageProperties")
    overrideProperties.PrefixText = "[VIP] " .. message.PrefixText
    return overrideProperties
    end
    end
    end
    return nil
    end
©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.