Przypisywanie tagów czatu

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Ten przykład pokazuje, jak przypisać tagi czatu graczom w zależności od ich członkostwa w grupie. Tagi czatu to sposób na wizualne zidentyfikowanie gracza w oknie czatu i są przydatne do wskazywania roli lub statusu gracza.

Tag czatu VIP dodany do nazwy użytkownika w oknie czatu.

Ponieważ wywołania zwrotne czatu tekstowego oczekują, że będą niezawodne, próba zapytania o status członkostwa grupy gracza w wywołaniu zwrotnym TextChatService.OnIncomingMessage nie jest zalecana, ponieważ może to spowodować zawieszenie się systemu czatu lub jego brak reakcji.

Zamiast tego, ustaw atrybut gracza w momencie, gdy dołącza do serwera. Ustawienie atrybutu pozwala na ponowne wykorzystanie statusu gracza w innych częściach Twojej gry, takich jak pozwolenie na dostęp do określonych obszarów lub zapewnienie dodatkowych doświadczeń.

  1. Utwórz Script w ServerScriptService i dodaj do niego następujący kod:

    Serwer

    local Players = game:GetService("Players")
    -- Zmień 123456 na identyfikator grupy, którą chcesz sprawdzić
    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. Utwórz LocalScript w StarterPlayerStarterCharacterScripts i dodaj do niego następujący kod, aby wyświetlić tag [VIP] w oknie czatu:

    Klient

    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. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.