Gán thẻ trò chuyện

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Ví dụ này minh họa cách gán thẻ trò chuyện cho người chơi dựa trên tư cách thành viên của họ trong một nhóm. Thẻ trò chuyện là một cách để xác định trực quan một người chơi trong cửa sổ trò chuyện và hữu ích để chỉ ra vai trò hoặc trạng thái của người chơi.

Thẻ trò chuyện VIP được thêm vào tên người dùng trong cửa sổ trò chuyện.

Bởi vì các callback trò chuyện văn bản mong đợi một callback không ngừng, việc cố gắng truy vấn trạng thái thành viên nhóm của một người chơi trong callback TextChatService.OnIncomingMessage không được khuyến nghị, vì nó có thể khiến hệ thống trò chuyện bị treo hoặc không phản hồi.

Thay vào đó, hãy thiết lập một thuộc tính cho người chơi khi họ tham gia máy chủ. Việc thiết lập thuộc tính cho phép bạn tái sử dụng trạng thái của người chơi ở các phần khác của trò chơi của bạn, chẳng hạn như cho phép truy cập vào các khu vực cụ thể hoặc cung cấp trải nghiệm thưởng.

  1. Tạo một Script trong ServerScriptService và thêm mã sau vào đó:

    Server

    local Players = game:GetService("Players")
    -- Thay thế 123456 bằng ID nhóm mà bạn muốn kiểm tra
    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. Tạo một LocalScript trong StarterPlayerStarterCharacterScripts và thêm mã sau để hiển thị thẻ [VIP] trong cửa sổ trò chuyện:

    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 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.