CCCPaste

Chat Tag

-- Local Script Di SPS
local Players = game:GetService("Players")
local TextChatService = game:GetService("TextChatService")

-- === KONFIGURASI ROLE + EMOJI ===
local ChatTags = {
Owner = {Names = {"wyandante"}, Emoji = "👑"},
Developer = {Names = {""}, Emoji = "🛠️"},
["Admin 1"] = {Names = {"AdminUser1"}, Emoji = "⚡"},
["Admin 2"] = {Names = {"AdminUser2"}, Emoji = "🔥"},
["Admin 3"] = {Names = {"AdminUser3"}, Emoji = "💥"},
["Admin 4"] = {Names = {"AdminUser4"}, Emoji = "✨"},
["Moderator 1"] = {Names = {"Zeara3ss"}, Emoji = "🧩"},
["Moderator 2"] = {Names = {"ModUser2"}, Emoji = "🌀"},
["Moderator 3"] = {Names = {"ModUser3"}, Emoji = "💫"},
["Streamer 1"] = {Names = {"Klecunk_1"}, Emoji = "🎥"},
["Streamer 2"] = {Names = {"StreamerUser2"}, Emoji = "🎬"},
["Streamer 3"] = {Names = {"StreamerUser3"}, Emoji = "🎤"},
["Streamer 4"] = {Names = {"StreamerUser4"}, Emoji = "📹"}
}

-- Fungsi ambil tag player
local function GetPlayerTag(playerName)
    for role, data in pairs(ChatTags) do
        for _, name in ipairs(data.Names) do
            if string.lower(name) == string.lower(playerName) then
                return string.format("%s[%s]", data.Emoji, role)
            end
        end
    end
    return nil
end

-- Event untuk ubah prefix chat
TextChatService.OnIncomingMessage = function(message)
    local textSource = message.TextSource
    if not textSource then return end
    
    local player = Players:GetPlayerByUserId(textSource.UserId)
    if not player then return end
    
    local tag = GetPlayerTag(player.Name)
    if not tag then return end
    
    local props = Instance.new("TextChatMessageProperties")
    props.PrefixText = tag .. " " .. (message.PrefixText or player.Name .. ":")
    props.Text = message.Text
    
    return props
end