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

Also how could I make the buttons only show up for certain players

Use an if statement around it and define what you would like to search for of that Player’s to see if they have the requirements, then you can put the code of making the icon inside of that if statement. (Basically, Make an if statement looking for a specific thing of the player, such as the UserID and if it is true then it runs the code inside the statement to make the icon)

I am experiencing constant issues with the scaling of tooltips on my icons. The text seems to out-wrap the white background. Do you know what could be causing this?
image

2 Likes

This doesn’t work or at least didn’t in my testing, No errors it just doesn’t make the button inside the if statement.

nvm fixed it

Good suggestion, you’d have to modify the internals to do this currently. I’ve opened a ticket for a feature to make that easy here:

I’ll have this fixed for the next version. Thanks for the report.

I can’t quite seem to reproduce this myself so I’ll DM you to explore it further. If anyone else experiences this issue feel free to DM me.

3 Likes

If you still need help we’ve created a video tutorial to now take you step by step through the setup, including where to create your local script, how to retrieve the ID of an image, and some of its basic features. Hope it helps! And big thanks to @haash_im for the tutorial:

3 Likes

How would I use debounce? When I select an Icon I want it to deselect itself after a few seconds.

1 Like

You can just use icon:deselect() for that.

Sample script:


local Icon = require(game:GetService("ReplicatedStorage").Icon)
local Players = game:GetService("Players")
local icon = Icon.new()
:setLabel("Sample", "hovering")
icon.deselected:Connect(function()
— Do stuff
icon.selected:Connect(function()
task.wait(3) — Change the time to whatever you want
icon:deselect()
end)
2 Likes

Okay thank you very much! Appreciate it

1 Like

Help

bug -
I just noticed a new bug if you use coregui to disable your chat then enable it agian this happens

1 Like

I’ll create an issue in the repo for you.

Edit: done.

:setImage doesn’t put the image in that I wanted, not in studio nor in game. It will accept the icons you used in your example, however

You can only use the Image’s ID

I know. I do :addImage(ID) and it does not load the image.

1 Like

What’s the “Beta” thing called? I’m not able to find it anywhere and I’ve seen it in a game once. I’m pretty sure when you click on it it invites you to a beta group or something like that.

Its the voice chat beta notice, UX for is is extremely stupid and I absolutely hate where they have it. Disrupts all experiences that use VC and not sure why roblox hasn’t made the change to put it into a less disruptive location.

1 Like

Hello, I’ve heard of TopbarPlus for a while but haven’t got the chance to use it until recently. I ran into an issue where in a game with the player list (toggled with the Tab key) is disabled, but creating and toggling a dropdown menu re-enables the list as soon you click on it twice. How could I resolve this?

Here is what I have so far:
Located in a LocalScript that is parent of a GUI in StarterGUI.

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local Icon = require(ReplicatedStorage.Icon)
local IconController = require(ReplicatedStorage.Icon.IconController)

local settingsDropdown = Icon.new()
:setImage(2484556379)
:set("dropdownSquareCorners", true)
:setRight()
:setDropdown({
	Icon.new()
	:setLabel("Button 1")
	,
	Icon.new()
	:setLabel("Button 2")
	,
	Icon.new()
	:setLabel("Button 3")
	,
})

Located in a LocalScript that is parent of StarterCharacterScripts.

local StarterGui = game:GetService("StarterGui")
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)

I still find this error happening.

HI, thanks for your report! This is a slight logic error in TopbarPlus which I’ll open up a ticket for.

You can easily fix this for the time being by doing:

:set("dropdownHidePlayerlistOnOverlap", false)

Therefore:

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local Icon = require(ReplicatedStorage.Icon)
local IconController = require(ReplicatedStorage.Icon.IconController)

local settingsDropdown = Icon.new()
:setImage(2484556379)
:set("dropdownSquareCorners", true)
:setRight()
:set("dropdownHidePlayerlistOnOverlap", false)
:setDropdown({
	Icon.new()
	:setLabel("Button 1")
	,
	Icon.new()
	:setLabel("Button 2")
	,
	Icon.new()
	:setLabel("Button 3")
	,
})
3 Likes