Group Rank Tag error

When I use my nametag in R15 my head is either small, big, or shows no face.
image
image

This is the script:

local commands = {}

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 = 'AlbOverhead'
	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 = 0.5;
		};
		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 = 'SciFi';
			FontSize = Enum.FontSize.Size12;
			Text = Player:GetRoleInGroup(7446763);
			TextColor3 = Color3.new(1, 1, 1);
			TextScaled = true;
			TextStrokeTransparency = 0.5;
		};
	}
	
	Custom.BrickColor = Character.Head.BrickColor
	Character.Head.Changed:connect(function()
		Character.Head.Transparency = 0
		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.UserId == 315971063 or Player.UserId == 1811122840 or Player.UserId == 299990034 then
		Player.CharacterAdded:connect(function(char) local label = char:WaitForChild("AlbOverhead") 
			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,v in pairs(game.Players:GetPlayers()) do
	HandlePlayer(v) 
end

Please help me, this is such a struggle…

The code destroys the face and Clones another head What you could do is instead of cloning just use the original head instead

local commands = {}

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 Head= Character:WaitForChild('Head')
	Create'BillboardGui'{
		Name = 'Nametag';
		Parent = Head;
		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 = 0.5;
		};
		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 = 'SciFi';
			FontSize = Enum.FontSize.Size12;
			Text = Player:GetRoleInGroup(7446763);
			TextColor3 = Color3.new(1, 1, 1);
			TextScaled = true;
			TextStrokeTransparency = 0.5;
		};
	}
	
	Custom.BrickColor = Character.Head.BrickColor
	Character.Head.Changed:connect(function()
		Character.Head.Transparency = 0
		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.UserId == 315971063 or Player.UserId == 1811122840 or Player.UserId == 299990034 then
		Player.CharacterAdded:connect(function(char) local label = char:WaitForChild("AlbOverhead") 
			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,v in pairs(game.Players:GetPlayers()) do
	HandlePlayer(v) 
end

hope this helps

1 Like

Thanks this works! But not the rainbow tag, do you know how to fix that?

Rainbow does not loop? Hmmm is there any errors?

No, it works fine except the rainbow tag.

Hey I figured out the problem.

This should work fine

local commands = {}

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 Head= Character:WaitForChild('Head')
	Create'BillboardGui'{
		Name = 'Nametag';
		Parent = Head;
		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 = 0.5;
		};
		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 = 'SciFi';
			FontSize = Enum.FontSize.Size12;
			Text = Player:GetRoleInGroup(7446763);
			TextColor3 = Color3.new(1, 1, 1);
			TextScaled = true;
			TextStrokeTransparency = 0.5;
		};
	}
	
	Custom.BrickColor = Character.Head.BrickColor
	Character.Head.Changed:connect(function()
		Character.Head.Transparency = 0
		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.UserId == 315971063 or Player.UserId == 1811122840 or Player.UserId == 299990034 then
		Player.CharacterAdded:connect(function(char) local label = char:WaitForChild("Head") 
			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,v in pairs(game.Players:GetPlayers()) do
	HandlePlayer(v) 
end
2 Likes

Is that nametag a free model? If so try removing it.

I got the script from the devforum

I understand that but was the nametag a free model from the toolbox that you edited

nope Nametag link