function onCharacterAdded(character)
local gui = Instance.new("BillboardGui")
local txt = Instance.new("TextLabel")
txt.Text = 'it works just fine ¯\_(ツ)_/¯'
txt.Size = UDim2.fromScale(1, 1)
txt.BackgroundTransparency = 1
txt.Parent = gui
gui.Adornee = character.Head
gui.AlwaysOnTop = true
gui.Size = UDim2.fromScale(4, 4)
gui.Parent = character.Head
end
function onPlayerAdded(player)
if player.Character then
onCharacterAdded(player.Character)
end
player.CharacterAdded:Connect(onCharacterAdded)
end
game:GetService("Players").PlayerAdded:Connect(onPlayerAdded)
Try disallowing the usage of other heads except for the default.
function onCharacterAdded(character)
local gui = Instance.new("BillboardGui")
local txt = Instance.new("TextLabel")
txt.Text = 'it works just fine ¯\_(ツ)_/¯'
txt.Size = UDim2.fromScale(1, 1)
txt.BackgroundTransparency = 1
txt.Parent = gui
gui.Adornee = character.HumanoidRootPart
gui.AlwaysOnTop = true
gui.Size = UDim2.fromScale(4, 4)
gui.Parent = character
end
function onPlayerAdded(player)
if player.Character then
onCharacterAdded(player.Character)
end
player.CharacterAdded:Connect(onCharacterAdded)
end
game:GetService("Players").PlayerAdded:Connect(onPlayerAdded)
it uses HumanoidRootPart. It’s probably some avatar accessory that is causing the issue on your end.