Billboard GUI Not Showing Up

Okay so I put 11 print statements throughout the script ( I might’ve went a bit overboard at the start haha)

print("1")

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Folder = ReplicatedStorage:WaitForChild("OverheadGuis")

print ("2")
local UsernamerClone = Folder.Usernamer:Clone()
print ("3")
local ABC = Folder.PickGroup:Clone()
print ("4")

game.Players.PlayerAdded:Connect(function(plr)
	print ("5")
	plr.CharacterAdded:Connect(function()
print("6")
		UsernamerClone.Parent = game.Workspace:WaitForChild(plr.Name).Head

		local InfoLabel1 = UsernamerClone.InformationLabel
		InfoLabel1.Text = plr.Name
print("7")
		ABC.Parent = game.Workspace:WaitForChild(plr.Name).Head

		local GroupLabel_Child = ABC.GroupLabel_Child
		local GroupNumber = math.random(1,3)
		print("8")
		if GroupNumber == 1 then
			GroupLabel_Child.Text = "Group A"

		elseif GroupNumber == 2 then
			GroupLabel_Child.Text = "Group B"
			print("9")
		elseif GroupNumber == 3 then
			GroupLabel_Child.Text = "Group C"
			print("10")
		end
	end)
end)
print("11")

and then this is the output.

So it seems something is preventing 9 and 10 from printing.

2 Likes

It doesnt print 9 and 10 because theyre both in the if statement, if the groupnumber is 2 or 3.

If it prints the rest of the messages succesfully, then i dont see whats the problem with the script.

2 Likes

It doesnt print 9 and 10 because theyre both in the if statement, if the groupnumber is 2 or 3.

OH whoops haha I completely forgot about that.

Yea I am really confused as well why it’s not working. Because the original script I posted was working perfectly fine 3 weeks ago but now when I want to use it again it’s not working unless it’s the child of a default head :sweat:

I might try to figure out where I can send a bug report so that it’ll be seen since I’m not a regular who’s able to post in #bug-reports

2 Likes

Tested this myself and take a look:
image
image
Works completely fine for me, but i have no idea why it doesnt work for you

1 Like

Oh wow. Yea, I really have no idea. I might be doing something wrong.

I took a little break from studio and then had the idea to just parent the billboard GUI to the character as a whole and not a specific body part. Hopefully it won’t cause problems later down the line :crossed_fingers:t2:

1 Like

Since a lot of pepole are confused. I saw @CitralSushi tagging my post on here so ill explain a bit this issue. If a player has a different head than the normal head (like cheeks, man head, woman head) it wont parent the overhead to the character’s head.

just add wait() before u clone the overhead.

if needed I can make a post to help out all the developers out there since this is a new update that messed up everyone’s overhead.

I forgot to add, when I say add “wait()” before u clone the overhead I mean like this.

wait()
		newtext.Parent = char:WaitForChild("Head")
			newtext.Adornee = char:WaitForChild("Head")
			newtext2.Parent = char:WaitForChild("Head")
			newtext2.Adornee = char:WaitForChild("Head")
			uppertext.Text = player.Name

something like this

5 Likes

Ahhhh thank you so much!! Adding the simple wait() fixed my issue and now my old billboard GUI scripts worked like they did before!!

I wonder what happened in one of the recent updates that caused the bug.

2 Likes

I think its the character taking longer to load? I dont get it neither.

4 Likes

im having that same issue with mine

2 Likes

@stratolog figured out that adding a simple “wait()” before cloning the billboard GUI completely alleviates the problem!

3 Likes

which part in the script do i put it in?

1 Like

How do you have the script set up? Is it a billboard gui that gets cloned to characters’ heads? If so, I’d put the wait() one line above where a :Clone() is.

i tried that but it didnt work on people with other types of heads

game:GetService("Players").PlayerAdded:Connect(function(Player)
Player.CharacterAdded:Connect(function(Character)
	local Humanoid = Character:WaitForChild("Humanoid")
	local Head = Character:WaitForChild("Head")
	local Role = "Visitor"
	pcall(function()
		Role = Player:GetRoleInGroup(GroupId)
	end)
	wait()
	local CloneGui = OverheadGui:Clone()
1 Like

Try this, maybe. I think it might work.

I just tried that and its working phenominaly! TY

1 Like

Yayyyy! That’s so great to hear!