local Players = game:GetService("Players") local RunService = game:GetService("RunService") local function createRainbowName(player, character) local head = character:WaitForChild("Head", 10) if not head then return end -- Remove an old tag if one exists local oldTag = head:FindFirstChild("RainbowName") if oldTag then oldTag:Destroy() end local billboard = Instance.new("BillboardGui") billboard.Name = "RainbowName" billboard.Adornee = head billboard.Size = UDim2.new(0, 200, 0, 50) billboard.StudsOffset = Vector3.new(0, 2.8, 0) billboard.AlwaysOnTop = true billboard.Parent = head local nameLabel = Instance.new("TextLabel") nameLabel.Size = UDim2.fromScale(1, 1) nameLabel.BackgroundTransparency = 1 nameLabel.Text = player.DisplayName nameLabel.TextScaled = true nameLabel.Font = Enum.Font.GothamBold nameLabel.TextStrokeTransparency = 0.3 nameLabel.Parent = billboard -- Smooth rainbow animation local connection connection = RunService.Heartbeat:Connect(function() if not billboard.Parent then connection:Disconnect() return end local hue = (os.clock() * 0.25) % 1 nameLabel.TextColor3 = Color3.fromHSV(hue, 1, 1) end) end local function setupPlayer(player) player.CharacterAdded:Connect(function(character) createRainbowName(player, character) end) if player.Character then createRainbowName(player, player.Character) end end Players.PlayerAdded:Connect(setupPlayer) for _, player in ipairs(Players:GetPlayers()) do setupPlayer(player) end