Hello Scripters!
So I want to make a overhead GUI, I already made the script. But what the problem is: Everytime I am on my own in the server, it just works like perfect. But whenever another player joins, the GUI switches the tag from me to him, or it just glitches between him and me.
game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
local gui = game:GetService("ServerStorage"):FindFirstChild("BillboardGui") --Gets the child from the script, which would be the GUI you created
local textlabel = gui.TextLabel
while wait() do
if player.leaderstats.Wins.Value <= 1 then
textlabel.TextColor3 = Color3.fromRGB(125, 125, 125)
textlabel.Text = "Newbie"
gui.Parent = character.Head
elseif player.leaderstats.Wins.Value >= 25 then
textlabel.TextColor3 = Color3.fromRGB(85,170,0)
textlabel.Text = "Good"
gui.Parent = character.Head
elseif player.leaderstats.Wins.Value >= 50 then
textlabel.TextColor3 = Color3.fromRGB(255,30,30)
textlabel.Text = "Pro"
gui.Parent = character.Head
elseif player.leaderstats.Wins.Value >= 100 then
textlabel.TextColor3 = Color3.fromRGB(152, 39, 152)
textlabel.Text = "Addicted"
gui.Parent = character.Head
end
end
end)
end)
Kind Regards!

2 comments
You only have a single instance of 'gui' Make sure to :Clone() it so you're not sharing a single instance w/ other people
ew wait() as your condition