A chat tag script I have made before, just replace the tags with whatever emoji you want.
local ChatService = require(game:GetService("ServerScriptService"):WaitForChild("ChatServiceRunner"):WaitForChild("ChatService"))
local Tags = {
["Officer"] = {GroupId = 13204448, RankIds = {40, 45},
TagColor = Color3.fromRGB(245, 205, 48),
TagName = "O",
};
["Developer"] = {GroupId = 13204448, RankIds = {50},
TagColor = Color3.fromRGB(245, 177, 18),
TagName = "DEV",
};
["Command"] = {GroupId = 13204448, RankIds = {60},
TagColor = Color3.fromRGB(245, 177, 18),
TagName = "HC",
};
["Commander"] = {GroupId = 13204448, RankIds = {255},
TagColor = Color3.fromRGB(245, 177, 18),
TagName = "COM",
}
}
local function setTag(PlayerName, TagInfo, TagName)
local Speaker = ChatService:GetSpeaker(PlayerName)
if TagInfo.NameColor then
Speaker:SetExtraData('NameColor', TagInfo.NameColor)
end
if TagInfo.MessageColor then
Speaker:SetExtraData('ChatColor', TagInfo.MessageColor)
end
Speaker:SetExtraData('Tags', {{TagText = TagInfo.TagName or TagName, TagColor = TagInfo.TagColor}})
end
ChatService.SpeakerAdded:Connect(function(PlayerName)
local Player = game:GetService("Players"):FindFirstChild(PlayerName)
if not Player then
warn("Player not found: " .. PlayerName)
return
end
for TagName, TagInfo in pairs(Tags) do
if TagInfo.GroupId and ((TagInfo.RankIds and table.find(TagInfo.RankIds, Player:GetRankInGroup(TagInfo.GroupId))) or (not TagInfo.RankIds and Player:IsInGroup(TagInfo.GroupId))) then
print("giving tag " .. TagName .. " to " .. PlayerName)
setTag(PlayerName, TagInfo, TagName)
else
print("Tag " .. TagName .. " not given to " .. PlayerName)
end
end
end)
Server-sided script, next time research how to do something before posting here please.
It didn’t work, but let me rephrase what I said and explain it a little better. what I am looking for is to make the DisplayName of the character look something like this: