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.

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