Nametag effects

I’m working on an entire nametag system and I’d like to implement effects into it but I’m not really sure how I can achieve the standards I want to meet for it.

What do I mean by effects?

something similar to this. What I’m planning to use it for is any high rank (builder, scripter, anything development-wise) would receive a custom effect.

But once again I don’t know how can I achieve this and I’m really seeking some help!

1 Like

You could use a Billboard Gui to display your own custom nametag appearance. Then, using a local script, modify the billboard gui with whatever effects you’re looking to implement.

If you are unfamiliar with local scripts and/or their interactions with GUI elements I suggest putting the local script as a child under the nametag billboard gui. A better spot would be PlayerGui (or StarterGui) but that requires a couple more lines of code/organization to find the billboard gui.

1 Like

You’ll want to enable RichText for whatever TextLabel you’re doing this with. The rest is just going through the text and replacing pieces of it with the RichText surrounded/padded string you want to use.

Just add a script under the billboard gui and have this as the code:

local textt = string.split("00101101000110010110", "")

repeat 
	table.remove(textt, #textt)
until #textt == string.len(script.Parent.Parent.Parent.Name)

local effecttext = ""

for i, v in pairs(textt) do
	effecttext ..= v
end

local Owner = {"Player1"} --change these
local Builders = {"Player2", "Player3"} --change these

--You can also add more, your script lol

local plrName = script.Parent.Parent.Parent.Name

if table.find(Owner, plrName) or table.find(Builders, plrName) then
	local effect = Instance.new("TextLabel")
	effect.Name = "PlayerTagEffect"
	effect.Text = effecttext
	effect.Position = UDim2.new(-1,0,0,0)
	effect.Size = UDim2.new(1,0,1,0)
	effect.BackgroundColor3 = Color3.fromRGB(0,0,0)
	effect.TextColor3 = Color3.fromRGB(0,255,0)
	effect.BorderSizePixel = 0
	effect.TextScaled = true
	effect.Parent = script.Parent

	while wait(5) do
		for i = 1, #textt * 2 do
			effect.Position = UDim2.new(-1+(1/#textt*i), 0, 0, 0)
			wait(0.2)
		end
	end
end

All this does is make sure the text is the amount of text the player name has, check if they are in a table, and move the position of the textlabel. Also does some basic math for the position movement.