Sohbet etiketlerini atama

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Bu örnek, oyunculara bir grup üyeliklerine dayalı olarak sohbet etiketleri atamanın nasıl yapılacağını göstermektedir. Sohbet etiketleri, sohbet penceresinde bir oyuncuyu görsel olarak tanımlamak için bir yol olup, bir oyuncunun rolünü veya durumunu belirtmek için faydalıdır.

Sohbet penceresinde kullanıcı adıyla birlikte eklenmiş VIP sohbet etiketi.

Çünkü metin sohbet geri çağırmaları beklenmeyen bir geri çağırma beklediğinden, TextChatService.OnIncomingMessage geri çağırmasında bir oyuncunun grup üyelik durumunu sorgulamaya çalışmak önerilmez; bu durum sohbet sisteminin takılmasına veya yanıt veremez hale gelmesine neden olabilir.

Bunun yerine, bir oyuncu sunucuya katıldığında bir öznitelik ayarlayın. Bir öznitelik ayarlamak, oyuncunun durumunu oyununuzun diğer bölümlerinde tekrar kullanmanıza olanak tanır, örneğin belirli alanlara erişim sağlamak veya bonus deneyimler sunmak için.

  1. ServerScriptService içinde bir Script oluşturun ve aşağıdaki kodu ekleyin:

    Sunucu

    local Players = game:GetService("Players")
    -- Kontrol etmek istediğiniz grup ID'si ile 123456'yı değiştirin
    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. StarterPlayerStarterCharacterScripts içinde bir LocalScript oluşturun ve sohbet penceresinde [VIP] etiketini göstermek için aşağıdaki kodu ekleyin:

    İstemci

    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, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.