what I want to happen is that when a player reaches a certain amount of coins then the overhead gui changes accordingly. Right now the gui is there but i want want the gui to change based on the players coins or currency can anyone help me?
here is the script for the ranks: im pretty sure im not even close to even getting this right which is why I could use some help.
Here is the image for the billboard gui:
1 Like
You didn’t set its adornee do this
game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
local _b = billboardgui:Clone()
_b.Parent = character.Head -- //Because you already waited for the character to be added
_b.Adornee = character.Head
-- etc.
end)
end)
Hope this helped! Tell me if anymore errors.
yes I have a problem with the last nametag resetting after the character dies. All of the other overhead gui’s respawns after death but for the last overhead gui specifically named “CANNOT CACULATE”, it dissapears after a player dies.
Here is the script, and it looks fine but I cannot find the problem with the last overhead gui and it keeps dissapearing after the character dies
game.Players.PlayerAdded:Connect(function(Player)
Player.CharacterAdded:Connect(function(character)
local leaderstats = Player:WaitForChild(“leaderstats”)
local CoinValue = leaderstats:WaitForChild(script:WaitForChild(“leaderstats”).Value)
if CoinValue.Value >= 0 and CoinValue.Value < 1000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local a = game.StarterGui:WaitForChild("Ranks"):WaitForChild("NOOB"):Clone()
a.Name = "Rank"
a.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 1000 and CoinValue.Value < 2000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.StarterGui:WaitForChild("Ranks"):WaitForChild("AMATUER"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 2000 and CoinValue.Value < 3000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.StarterGui:WaitForChild("Ranks"):WaitForChild("RICH"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 3000 and CoinValue.Value < 4000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.StarterGui:WaitForChild("Ranks"):WaitForChild("MILLIONAIRE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 4000 and CoinValue.Value < 5000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.StarterGui:WaitForChild("Ranks"):WaitForChild("INSANE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 5000 and CoinValue.Value < 6000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.StarterGui:WaitForChild("Ranks"):WaitForChild("BILLIONAIRE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 6000 and CoinValue.Value < 7000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.StarterGui:WaitForChild("Ranks"):WaitForChild("BILLGATES"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 7000 and CoinValue.Value < 8000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.StarterGui:WaitForChild("Ranks"):WaitForChild("CANNOT CACULATE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
game:GetService("StarterGui").Ranks.CANNOTCACULATE.ResetPlayerGuiOnSpawn = false
end
end
CoinValue.Changed:Connect(function()
if CoinValue.Value >= 0 and CoinValue.Value < 1000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local a = game.StarterGui:WaitForChild("Ranks"):WaitForChild("NOOB"):Clone()
a.Name = "Rank"
a.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 1000 and CoinValue.Value < 2000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.StarterGui:WaitForChild("Ranks"):WaitForChild("AMATUER"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 2000 and CoinValue.Value < 3000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.StarterGui:WaitForChild("Ranks"):WaitForChild("RICH"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 3000 and CoinValue.Value < 4000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.StarterGui:WaitForChild("Ranks"):WaitForChild("MILLIONAIRE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 4000 and CoinValue.Value < 5000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.StarterGui:WaitForChild("Ranks"):WaitForChild("INSANE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 5000 and CoinValue.Value < 6000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.StarterGui:WaitForChild("Ranks"):WaitForChild("BILLIONAIRE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 6000 and CoinValue.Value < 7000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.StarterGui:WaitForChild("Ranks"):WaitForChild("BILLGATES"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 7000 and CoinValue.Value < 8000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.StarterGui:WaitForChild("Ranks"):WaitForChild("CANNOTCACULATE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
game:GetService("StarterGui").Ranks.CANNOTCACULATE.ResetPlayerGuiOnSpawn = false
end
end
end)
end)
end)
Ok turn off ResetOnSpawn in the properties
@dontjudgeme2026 read above please
they are all turned off in each individual rank or billboardgui but the same problem occurs
Ok litsen do not put the parent in the characters head put it in starter gui and then it will be in their playergui then set the Adornee
so would I just say for each rank
character : WaitForChild = (“Head”)
No do this
bill.Parent = player:WaitForChild(“PlayerGui”)
or
Do this hold on lemme get on my PC on this acc I am on phone rn
Put the billboardgui in ReplicatedStorage then when a player joins call this @dontjudgeme2026
game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
local bill = game.ReplicatedStorage:FindFirstChild("InstanceName")
bill.Parent = workspace
bill.Adornee = character.Head
-- //Rest of your code
end)
end)
when I appllied this to my script then the overhead gui’s stopped showing overall.
But I do also have a folder named “Ranks” so I dont know if I did something wrong with that.
I placed the “Ranks” folder in ReplicatedStorage and changed the script to this:
game.Players.PlayerAdded:Connect(function(Player)
Player.CharacterAdded:Connect(function(character)
local Ranks = game.ReplicatedStorage:FindFirstChild(“Ranks”)
Ranks.Parent = workspace
Ranks.Adornee = character.Head
local leaderstats = Player:WaitForChild(“leaderstats”)
local CoinValue = leaderstats:WaitForChild(script:WaitForChild(“leaderstats”).Value)
if CoinValue.Value >= 0 and CoinValue.Value < 1000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local a = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("NOOB"):Clone()
a.Name = "Rank"
a.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 1000 and CoinValue.Value < 2000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("AMATUER"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 2000 and CoinValue.Value < 3000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("RICH"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 3000 and CoinValue.Value < 4000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("MILLIONAIRE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 4000 and CoinValue.Value < 5000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("INSANE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 5000 and CoinValue.Value < 6000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("BILLIONAIRE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 6000 and CoinValue.Value < 7000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("BILLGATES"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 7000 and CoinValue.Value < 8000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("CANNOT CACULATE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
game:GetService("StarterGui").Ranks.CANNOTCACULATE.ResetPlayerGuiOnSpawn = false
end
end
CoinValue.Changed:Connect(function()
if CoinValue.Value >= 0 and CoinValue.Value < 1000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local a = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("NOOB"):Clone()
a.Name = "Rank"
a.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 1000 and CoinValue.Value < 2000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("AMATUER"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 2000 and CoinValue.Value < 3000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("RICH"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 3000 and CoinValue.Value < 4000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("MILLIONAIRE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 4000 and CoinValue.Value < 5000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("INSANE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 5000 and CoinValue.Value < 6000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("BILLIONAIRE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 6000 and CoinValue.Value < 7000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("BILLGATES"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
end
elseif CoinValue.Value >= 7000 and CoinValue.Value < 8000 then
if character:WaitForChild("Head"):FindFirstChild("Rank") then
wait(0.1)
character:WaitForChild("Head"):WaitForChild("Rank"):Destroy()
end
if not character:WaitForChild("Head"):FindFirstChild("Rank") then
local b = game.ReplicatedStorage:WaitForChild("Ranks"):WaitForChild("CANNOTCACULATE"):Clone()
b.Name = "Rank"
b.Parent = character:WaitForChild("Head")
game:GetService("StarterGui").Ranks.CANNOTCACULATE.ResetPlayerGuiOnSpawn = false
end
end
end)
end)
end)
Becuase you made the folder parented in workspace you set the billboardgui inside the folder parented to workspace you can only adornee a billboardgui or surfacegui
Like this:
local Ranks = game.ReplicatedStorage:FindFirstChild("Ranks")
local Rank = Ranks:FindFirstChild("Rank")
local RankClone = Rank:Clone()
RankClone.Parent = workspace
RankClone.Adornee = character.Head
-- //Example
if player.["WhatEverTheThingCalled"].["your value"].Value == [yournumber] then
RankClone.[YourLabel].Text = "YOurText"
end
I forgot the clone part in the code
what would I put in replacement for the yournumber section
would it be the rank number or currency value number
To check if their value is that then it will change their rank that is an example