Hello, everyone! I have added an overhead rank script along time ago to my game, and it worked perfectly. But, a few months ago, I noticed the rank didn't update on resetting or refreshing. Could someone please help? Thanks!
--DonutsIndeed function Create(ClassName) return function(Properties) local Obj = Instance.new(ClassName) for i, v in pairs(Properties) do if type(i) == "number" then v.Parent = Obj else Obj[i] = v end end return Obj end end function HandleCharacter(Player, Character) local Custom = Character:WaitForChild("Head"):clone() Custom.Name = "ParadiseOverhead" Custom.Parent = Character Custom.face:Destroy() Character.Head.Transparency = 1 Create("Weld") { Name = "CustomWeld", Parent = Custom, Part0 = Character.Head, Part1 = Custom } Create("BillboardGui") { Name = "Nametag", Parent = Custom, Size = UDim2.new(5, 0, 0.5, 0), StudsOffset = Vector3.new(0, 2, 0), Create("TextLabel") { Name = "NameLabel", BackgroundTransparency = 1, Size = UDim2.new(1, 0, 1, 0), Position = UDim2.new(0, 0, -0.8, 0), Font = "SourceSansBold", Text = Character.Name, TextColor3 = Color3.new(1, 1, 1), TextScaled = true, TextStrokeTransparency = 1, }, Create("TextLabel") { Name = "RankLabel", BackgroundTransparency = 1, Size = UDim2.new(1, 0, 0.92, 0), Position = UDim2.new(0, 0, 0.2, 0), TextTransparency = .1, Font = "SourceSans", FontSize = Enum.FontSize.Size12, Text = Player:GetRoleInGroup(3538954), TextColor3 = Color3.new(1, 1, 1), TextScaled = true, TextStrokeTransparency = 1 }, } Custom.BrickColor = Character.Head.BrickColor Character.Head.Changed:connect(function() Character.Head.Transparency = 1 Custom.BrickColor = Character.Head.BrickColor end) Character.Head.Mesh.Changed:connect(function() Custom:WaitForChild("Mesh").MeshId = Character.Head:WaitForChild("Mesh").MeshId end) end local rainbow = function(callback) local frequency = 0.1 local i = 0 while true do wait() local red = math.sin(frequency * i + 0) * 127 + 128 local green = math.sin(frequency * i + 2 * math.pi / 3) * 127 + 128 local blue = math.sin(frequency * i + 4 * math.pi / 3) * 127 + 128 callback(Color3.new(red / 255, green / 255, blue / 255)) i = i + 1 end end function HandlePlayer(Player) if Player.Character then HandleCharacter(Player, Player.Character) end Player.CharacterAdded:connect(function(Character) HandleCharacter(Player, Character) end) if Player:GetRankInGroup(3538954) == 255 then Player.CharacterAdded:connect(function(char) local label = char:WaitForChild("ParadiseOverhead") coroutine.resume(coroutine.create(rainbow), function(color) label.Nametag.RankLabel.TextColor3 = Color3.new(color.r, color.g, color.b) end) end) end end game.Players.PlayerAdded:connect(function(b) HandlePlayer(b) end) for i, wv in pairs(game.Players:GetPlayers()) do HandlePlayer(v) end