Need help with this Overhead GUI

Hi. So I’ll explain the problem. The problem is that the GUI only appears on the normal R15 torso if they wear like Rthro or the Women Set it will not appear. How do I fix this? Here’s a picture of the problem.

The script that is located in ServerScriptService

--/ Variables

local ServerStorage = game:GetService("ServerStorage")

local Overhead = ServerStorage:WaitForChild("Overhead")

local TweenService = game:GetService("TweenService")

local groupId = "8402934"
local minRank = 125

--/ Functions

game.Players.PlayerAdded:Connect(function(plr)
	plr.CharacterAdded:Connect(function(character)

		local clone = Overhead:Clone()
		local groupRank = plr:GetRoleInGroup(groupId)
		clone.Parent = character.Head
		clone.Label.Text = plr.Name
		clone.Rank.Text = groupRank
		
		if plr:GetRankInGroup(groupId) == 190 then
			clone.Icon.Image = "rbxassetid://7365408577"
		end
		
		if plr:GetRankInGroup(groupId) >= minRank then
			clone.Icon.Visible = true
		else
			clone.Icon.Visible = false
		end
		if plr:GetRankInGroup(groupId) == 0 then
			clone.Rank.Text = "Customer"
		end
		
		local ReplicatedStorage = game:GetService("ReplicatedStorage")

		local AfkEvent = ReplicatedStorage:WaitForChild("AFKEvent")

		local function setAfk(player, afk)
			local label = player.Character.Head.Overhead.Label
			if afk then
				label.Text = player.Name.." (AFK)"
			else
				label.Text = player.Name
			end
		end

		AfkEvent.OnServerEvent:Connect(setAfk)
		
		character.Humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None

		if game:GetService("MarketplaceService"):UserOwnsGamePassAsync(plr.UserId,14217559) then
			clone.Parent = character.Head
			clone.Label.Text = plr.Name
			while true do
				local Color = Color3.new(math.random(), math.random(), math.random())
				local ColorTween = TweenService:Create(clone.Label, TweenInfo.new(3), {TextColor3 = Color})
				ColorTween:Play()
				wait(3)

			end
		end

	end)
end)

The Local Script that is located at StarterCharacterScripts

local Players = game:GetService("Players")
local player = Players.LocalPlayer

local UserInputService = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local AfkEvent = ReplicatedStorage:WaitForChild("AFKEvent")

local function focusGained()
	AfkEvent:FireServer(false)
end

local function focusReleased()
	AfkEvent:FireServer(true)
end

UserInputService.WindowFocused:Connect(focusGained)
UserInputService.WindowFocusReleased:Connect(focusReleased)

Hoping someone can help me out with this problem.

3 Likes

If your Overhead Gui is a BillboardGui, then simply change the Y coordinate of the StudsOffset property to make it higher. Like change the 0, 0, 0 into 0, 3, 0. Just mess around with this until you get the right amount of offset.

Its doesn’t work on packages

I would assume that AlwaysOnTop is already on. The only reason that I could think that could cause this error is either that the GUI is hidden behind the mesh itself or the Rthro characters have different names. Could you provide a screenshot of how the Rthro character looks in the workspace? Also, are there any error that are displayed?

Oh always on top is disabled so does this cause the problem?

I messed around the toolbox and inserted a free model then I see the script that it is using game.Workspace:WaitForChild(player.Name).Head
for now, you see I’m using
character.Head
then when I changed it to the game.Workspace:WaitForChild(player.Name).Head
It works fine with every packages. So I think it’s solved now. But I would like to thank you for helping me once again. Im kinda new to this scripting stuff.