I have a nametag script that I want a user to be above the player’s head.
The nametag stays above the user’s head until they reset. I would like it to stay above the users head even after they reset.
SCRIPT 1 IN SCRIPTPLAYERSCRIPTS
while true do
wait()
game:GetService('Players').PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
character:WaitForChild("Humanoid").Died:Connect(function()
local rs = game:GetService("ReplicatedStorage")
local remotefolder = rs:WaitForChild("RankFolder")
local remote = remotefolder:WaitForChild("RankPlayerOnRespawn")
remote:FireServer()
end)
end)
end)
for i = 0,1,0.03 do
wait()
end
SCRIPT 2 IN SCRIPTPLAYERSCRIPTS:
while true do
wait()
game:GetService('Players').PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
character:WaitForChild("Humanoid").Died:Connect(function()
local isAdmin = {["MysteriouslyMythical"] = true, ["DEATHRON6"] = true}
game.Players.PlayerAdded:connect(function(player)
if isAdmin[player.Name] then
wait(2)
while wait() do
local rc = math.random(0,255)
local gc = math.random(0,255)
local bc = math.random(0,255)
local r = rc / 255
local g = gc / 255
local b = bc / 255
local c = Color3.new(r, g, b)
for i = 0,1,0.03 do
wait()
player.Character.Rank.Frame.Name1.TextColor3 = player.Character.Rank.Frame.Name1.TextColor3:lerp(c,i)
player.Character.Rank.Frame.TextLabel.TextColor3 = player.Character.Rank.Frame.Name1.TextColor3:lerp(c,i)
end
end
end
end)
end
**SCRIPT 3 IN SERVERSCRIPTSERVICE: **
for i = 0,1,0.03 do
wait()
while true do
wait()
--//\\ Config //\\
local Admins = {
"DEATHRON6"; -- Username example
165035060; -- User ID example
}
local GroupId = 5992132 -- Your group ID
local DefaultRank = "Guest" -- Change what you want instead of Guest
local Speed = 0.1 -- How fast you want it to change color. Default is 0.1-0.3
--//\\ Stuff below do not touch --//\\
function IsWhitelisted(Player)
for _,Whitelisted in pairs (Admins) do
if type(Whitelisted) == "string" and string.lower(Whitelisted) == string.lower(Player.Name) then
return true
elseif type(Whitelisted) == "number" and Whitelisted == Player.UserId then
return true
end
end
return false
end
local rs = game:GetService("ReplicatedStorage")
local remotefolder = rs:WaitForChild("RankFolder")
local remote = remotefolder:WaitForChild("RankPlayerOnRespawn")
remote.OnServerEvent:connect(function(Player)
if not Player then
print("ERROR Can't fetch the player")
end
local pRank = Player:GetRoleInGroup(GroupId)
wait(1)
local ui = script.Rank:Clone()
ui.Parent = Player.Character
ui.Adornee = Player.Character.Head
while not Player.Character.Humanoid do wait() end
Player.Character.Humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
local frame = ui.Frame
local name = frame.Name1
local role = frame.TextLabel
name.Text = Player.Name
if Player:IsInGroup(GroupId) then
role.Text = pRank
else
role.Text = DefaultRank
end
-- //\\ Custom Name //\\
-- You don't need to use Brick.Red() for colors. It is all RGB based coloring system
if name.Text == "ROBLOX" then -- Example
name.TextStrokeTransparency = 0
name.TextColor3 = Color3.new(0, 0, 0) -- Text Color for username
role.TextStrokeTransparency = 0
role.TextColor3 = Color3.new(0, 0, 0) -- Text Color for rank
role.Text = "ROBLOX | Admin" -- Example of what the text should be
elseif name.Text == "greatgamer59" then
name.TextStrokeTransparency = 0
name.TextColor3 = Color3.new(0, 255, 0) -- Text Color for username
role.TextStrokeTransparency = 0
role.TextColor3 = Color3.new(0, 255, 0) -- Text Color for rank
role.Text = "Epic owner :D" -- Example of what the text should be
end
if IsWhitelisted(Player) or game.MarketplaceService:UserOwnsGamePassAsync(Player.UserId) then -- If you don't want VIPs getting rainbow just remove everything after or but keep then
wait(2)
while wait() do
local rc = math.random(0,255)
local gc = math.random(0,255)
local bc = math.random(0,255)
local r = rc / 255
local g = gc / 255
local b = bc / 255
local c = Color3.new(r, g, b)
for i = 0,1,0.03 do
wait()
wait(Speed)
Player.Character.Rank.Frame.Name1.TextColor3 = Player.Character.Rank.Frame.Name1.TextColor3:lerp(c,i)
Player.Character.Rank.Frame.TextLabel.TextColor3 = Player.Character.Rank.Frame.Name1.TextColor3:lerp(c,i)
end
end
end
end)
end
end
Thanks, in advanced