Hey everyone,
I’m not sure how to start this so, let’s jump right into the details without any further interruption…
I’d like to introduce my recently made custom overhead system, which was inspired by Roblox’s default username and health overhead, as well as currently available overhead systems. This system also includes additional features!
Previews
Advantages of the system:
This overhead GUI is easy to customize and comes with a preset template for use.
The overhead system’s module is easy to understand, maintain, and has good documentation (I believe).
Tweens are being played client-side for the health bar and username GUI elements, and then the properties are applied server-side (using an external library).
The ability to customize the tween range for both the username and health bar allows for reducing the amount of data received by far-away players, such as certain players or at certain tween distances.
The username and health bar GUI elements are nearly acting the same as the Roblox’s default ones.
The system comes with three preset arrays for ranking people, as well as additional features.
Seven high-quality badges are pre-implemented.
Typechecking friendly .
Disadvantages:
The health bar may become invisible when viewed from a long distance if it is below a certain size (such as 0.1-0.3 in scale).
Health bar size will depend on the player health (Server Side Only).
This system only supports the assignment of one badge, based on its priority.
How to implement:
First, you can place the system’s module script in the ServerStorage (location is not restricted).
Place the Replicated Tweening module in the ReplicatedStorage so that both the client and server can access it.
To use the overhead system module, create a server script inside the ServerScriptService and require the overhead system module or require it from any other script that already exist there (doesn’t really matter) and then enable the module by calling the method: Module:Enable.
Create a local script inside the StarterPlayerScripts and require the Replicated Tweening module (to be able to play username and health tweens).
Place the remote event that is included inside the ReplicatedStorage.
Ensure that the scripts and remote event are in the correct locations, along with any required modules, etc.
Nope, that isn’t included. But if you want such a thing, you can use the following function and call it inside TeamChanged connection:
local function UpdateRank(Player: Player, OverheadInformation: Folder)
local PlayerInfoLabel = OverheadInformation:FindFirstChild("Information"):FindFirstChildWhichIsA("TextLabel")
if PlayerInfoLabel then
if Player.Team then
PlayerInfoLabel.Text = Player.Team.Name.."\nData: <Any>"
else
PlayerInfoLabel.Text = "No Team".."\nData: <Any>"
end
end
end
Hi, the system works fine on my blocky model but when I switch to my man model the system disappears completely.
Template.Parent and Head.Parent returns nil when printed
(In the overhead system module in server storage)
Update: I guess I managed to find a fix by changing the Head:Part parameter to send over the player Character first, then calling Character:FindFirstChild(“Head”).
Not sure if this is a temporary fix but its working for now
Thank you for the bug report!
I’ve discovered the issue and it was caused (mostly) because the character is not yet a descendant of the workspace. About the typechecking, it wasn’t the problem, but it should’ve been “MeshPart” Or “Part” anyways…
Fix: After the CharacterAdded event, we should wait until the character is descendant of the workspace:
Player.CharacterAdded:Connect(function(Character)
repeat task.wait() until Character:IsDescendantOf(workspace) or Character.Parent ~= nil
The asset has been updated moments ago with the fix applied and changed the head’s type: “MeshPart | Part”.
Hi Im not sure what happened here but when I join the game with all the scripts needed in their spots i get no overhead gui AND there is an error in a script
Don’t forget about the ReplicatedTweening module, too!
I’ve mentioned in the topic and inside the ReadMe file to review and edit those paths if needed.
Ahh okay I just followed where you put the scripts and did what you did above but I still don’t get a overhead sorry for the confusion im not a scripter lol…
Sorry to be back so soon , I really like the overhead gui and wish to use it… But what does the “”\nData: “…”" mean? and is there a way to change it to just text or is there something i need too edit? Sorry again
It is acting like a placeholder (a dump text), nothing much
the "\n" text is to make a new line.
you can edit it on your own like to make it a value from a datastore or something…
You got to edit the module to fit your needs, currently by default, the username and health bar billboards are hidden from the owner but others which means you can’t see your own username or health bar.
Further Note:
This system/library/module is no longer constantly maintained. Meaning that you may find bugs and issues over the time.