Title explains it all
Scroll to Line 32 - the end
game.Players.PlayerAdded:Connect(function(plr)
wait(0.5)
local titles = Instance.new("Folder", plr)
titles.Name = "Data"
local titlef = Instance.new("StringValue", titles)
titlef.Name = "Title"
local function res()
titlef.Changed:Connect(function()
print("Changed: "..titlef.Value)
if titlef.Value ~= "" then
local rep = game.ReplicatedStorage.Shop.Titles[titlef.Value]
local color = rep.ColorValue
local char = plr.Character
local head = char.Head
if not head:FindFirstChildOfClass("BillboardGui") then
print("Haha")
local bb = game.ServerStorage.BillboardGui
local sd = bb:Clone()
local tx = sd.TextLabel
sd.Parent = plr.Character.Head
tx.BackgroundTransparency = 1
tx.TextColor3 = color.Value
sd.AlwaysOnTop = true
sd.StudsOffset = Vector3.new(0, 2, 0)
tx.Text = titlef.Value
end
end
end)
end
res()
-- Below doesn't work!
plr.Character.Humanoid.Died:Connect(function()
wait(6)
res()
end)
end)

2 comments
As MineBlow said below, you shouldn't be using Died. Because when the player respawns, the tag goes away. You want to have the tag AFTER the player respawns.
I'm pretty sure it's because PlayerAdded only runs once...