Atribuir tags de chat

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Este exemplo demonstra como atribuir tags de chat a jogadores com base em sua associação a um grupo. As tags de chat são uma forma de identificar visualmente um jogador na janela de chat e são úteis para indicar o papel ou status de um jogador.

Tag de chat VIP anexada ao nome do usuário na janela de chat.

Como os callbacks de chat de texto esperam um callback que não cede, tentar consultar o status de associação a um grupo de um jogador no callback TextChatService.OnIncomingMessage não é recomendado, pois pode fazer com que o sistema de chat trave ou fique sem resposta.

Em vez disso, defina um atributo para um jogador quando ele entrar no servidor. Definir um atributo permite reutilizar o status do jogador em outras partes do seu jogo, como permitir acesso a áreas específicas ou fornecer experiências bônus.

  1. Crie um Script em ServerScriptService e adicione o seguinte código a ele:

    Servidor

    local Players = game:GetService("Players")
    -- Substitua 123456 pelo ID do grupo que você deseja verificar
    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. Crie um LocalScript em StarterPlayerStarterCharacterScripts e adicione o seguinte código para exibir uma tag [VIP] na janela de chat:

    Cliente

    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 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.