[v3!] TopbarPlus v3.0.0 | Construct intuitive topbar icons; customise them with themes, dropdowns, captions, labels and much more

@ForeverHD Hey, thanks for this great resource. I’ve noticed the fake healthbar recreation is missing the effect when being damaged (red border).

1 Like


Why does this error keep showing up? I didn’t modify the module at all…

This is the function causing the error

What version of TBP are you using?

latest version




Hey @ForeverHD, sorry for the mention but I think I should mention that setOrder() is kind of broken. There’s no error shown, but every time I enter the game each icon has a randomized order even though I have one icon with order 1, the other with order 2, and so on

need no pass into scritpservice or replicated or thens you died the button no work annymore because infiiyeld wait forchild" gui"

and for the part use ui list layout horizontal no need check

or pass by coregui add button

ThemeProvider
– TopBarFrame

– LeftFrame
– RightFrame

1 Like

Is there any way to get the buttons corresponding a Icon and destroy them? not the Icon itself. I want to make a PlayerList using this system and I cant seem to find if there is anyway to do this?

@ForeverHD How can i make a specific dropdown menu button enable a gui?

@ForeverHD can you put a dropdown in a option that’s inside a dropdown?

How to remove icons?
I can’t figure out how to remove icons.

What icons do you want to remove? If you’re talking about the ones by default, it’s not possible to remove the main escape button. But other than that, everything is removeable.

Is it possible to change the text color on the labels?

Using it for a long time, I am not disappointed. At first it was hard to understand how it works but now I get it. I’ve seen that people had issues with the buttons breaking the GUI. If anyone is still having this issue, here’s an easy fix.

local icons = IconController.getIcons()
for _, icon in pairs(icons) do
 IconController.clearIconOnSpawn(icon)
end

If also people came here to look if anyone has asked how to make game time with this, here’s a way.

local iconModule = game:GetService("ReplicatedStorage").Icon
local IconController = require(iconModule.IconController)
local Icon = require(game:GetService("ReplicatedStorage").Icon) -- Gets the Replicated Storage Script
local icon = Icon.new() -- Creates new Icon on the top bar
:setImage(12644275469) -- The Image the Icon will have (change it)

while true do -- When activated set..
icon:setLabel(string.sub(game.Lighting.TimeOfDay,1,5)) -- Set the label to game's lighting
	wait() -- wait
	local icons = IconController.getIcons()
	for _, icon in pairs(icons) do
		IconController.clearIconOnSpawn(icon)
	end
end -- end

And if anyone wants it to show different icons on a specific time, I have a script for that too.

local iconModule = game:GetService("ReplicatedStorage").Icon
local IconController = require(iconModule.IconController)
local Icon = require(game:GetService("ReplicatedStorage").Icon) -- Gets the Replicated Storage Script
local icon = Icon.new() -- Creates new Icon on the top bar
while true do
	icon:setLabel(string.sub(game.Lighting.TimeOfDay,1,5)) -- Set the label to game's lighting
	wait() -- wait
	local icons = IconController.getIcons()
	for _, icon in pairs(icons) do
		IconController.clearIconOnSpawn(icon)
	end 
	if game.Lighting.ClockTime < 11 and game.Lighting.ClockTime > 0 then
		icon:setImage(14167037973) -- The Image the Icon will have
		end
	if game.Lighting.ClockTime < 12  and game.Lighting.ClockTime > 11  then
		icon:setImage(14166810808) -- The Image the Icon will have
	end
	if game.Lighting.ClockTime < 18 and game.Lighting.ClockTime > 13  then
		icon:setImage(14167004878) -- The Image the Icon will have
	end
	if game.Lighting.ClockTime < 21 and game.Lighting.ClockTime > 18 then
		icon:setImage(14167006384) -- The Image the Icon will have
	end
	if game.Lighting.ClockTime > 22 and game.Lighting.ClockTime > 0 then
		icon:setImage(14166891571) -- The Image the Icon will have
	end
	wait()
end

Happy coding everyone!

Hey, wanted to mention I put up a PR here to fix captions running off the right side of the screen. :slight_smile: Not sure if tooltips do the same thing, I haven’t checked yet, but the fix would likely be similar.

1 Like

According to the MIT license which TopbarPlus is released under, we are free to modify and distribute the Module as long as we include the original copyright notice and license terms. However, in the script provided, there is a request (with a few grammar mistakes included) to keep the watermark.

(IconControler.lua / Lines: 1108-1113)

if success and placeInfo then
				-- Required attrbute for using TopbarPlus
				-- This is not printed within stuido and to the game owner to prevent mixing with debug prints
				local gameName = placeInfo.Name
				print(("\n\n\n⚽ %s uses TopbarPlus %s\n🍍 TopbarPlus was developed by ForeverHD and the Nanoblox Team\n🚀 You can learn more and take a free copy by searching for 'TopbarPlus' on the DevForum\n\n"):format(gameName, version))
			end

@ForeverHD Could you please explain how we should proceed (because you were the one who added the watermark notice) when there is a request to keep the watermark in the Script, but the MIT license allows for its removal, as long as the original copyright notice and license terms are retained? Thank you.

2 Likes

Is there a way to disable a drop-down icon’s select property? What if I just want it to toggle but not show the enabled version of the icon?

You could just do

icon.selected:Connect(function()
    icon:deselect()
    -- your code here
end)
2 Likes

I noticed there is a way to detect if a dropdown is closed, but is there any method that can be used to force-close a dropdown? I want to close my dropdown menu after one of the items in it is clicked, for example, but I can’t seem to find any method to do this.

2 Likes