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!
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.
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.