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

Thanks for the report we’ve now fixed this in v2.2.1

19 Likes

I finally got it! Thanks for suggesting the PlayerAdded. I was informed how this function works and I put it into practice in the icons

What I did was create a script in ServerScriptService and put this code:

game:GetService(“Players”).PlayerAdded:Connect(function(Player)
Player.CharacterAdded:Connect(function()
local Humanoid = Player.Character:WaitForChild(“Humanoid”)
Humanoid.Died:Connect(function()
local tested = Player:FindFirstChild(“PlayerGui”):FindFirstChild(“TopbarPlusClientReset”)
if tested then
tested.Disabled = true
end
end)
end)
end)

Then I moved TopbarPlusClientReset to StarterGui (PlayerGui) and I set the ResetOnSpawn property of TestGUIs to true.

And what happened is that the TopbarPlusClientReset is deactivated after I delete the icons and it is activated again causing the icons to be recreated.
Here I leave a short of what happens:
https://drive.google.com/file/d/1CAljABU8k63ccMmbKnw1HQR_UBpEyzb4/view?usp=sharing

I would like to know if what I have done is more or less good in terms of lag, compatibility, filtering, etc.

4 Likes

How do I see a list of available themes?

5 Likes

I’d still strongly recommend the former solutions although at a glance you should be fine in terms of performance!

You can find a list of all themes here (we currently only have BlueGradient and Default) although you should find making your own themes significantly easier with v2.

9 Likes

This is amazing! I will be using this in my games.

6 Likes

Another question that has arisen (possibly I will have more) can it be made that there is more than one visible gui?

4 Likes

You can bind multiple gui instances to an icon using icon:bindToggleItem, e.g.

local localPlayer = game:GetService("Players").LocalPlayer
local playerGui = localPlayer.PlayerGui
local frames = playerGui.ScreenGui

Icon.new()
    :bindToggleItem(frames.Frame1)
    :bindToggleItem(frames.Frame2)
9 Likes

But in separate icons is not possible?

5 Likes

Set an icons deselectWhenOtherIconSelected property to false to achieve this.

This can be done two ways (the latter is useful for when chaining methods):

local icon = Icon.new()
icon.deselectWhenOtherIconSelected = false

or (with TopbarPlus v2.3.0)

Icon.new()
    :setProperty("deselectWhenOtherIconSelected", false)
13 Likes

The new properties function works perfectly
Thanks!

4 Likes

This is amazing, thank you for making this!

4 Likes

When I remove the playerlist (for a custom one) the icons overlap
Some kind of solution for this?

5 Likes

Overlap with your custom playerlist or other icons? Can you send images and/or a stripped down place file of the only the icons and bug?

7 Likes

It was fixed only mysteriously, I think I was using the old module or there was a script that prevented the playerlist.

2 Likes

This is great! I had no idea there was a new release until I looked back at the original documentation. It was gone! So hyped to use this.

2 Likes

How to give this credit correctly?

Right now I put it like this in a credits section:


And what about linking this link, do I have to put it in the game or in the description or in the creation group?
:sweat_smile: :ticket:

2 Likes

That’s absolutely fine! Linking is not so easy in-game so don’t worry about that

9 Likes

Wow, this is really good. Just one issue, what if I wanted to tween the binded Ui? Because, so far, I’ve only seen the option to make something Visible.

3 Likes

Instead of using the :bindToggleItem method you can utilise the icon.deselected and icon.selected events:

icon.deselected:Connect(function()
    -- fade frame in using TweenService 
end)

icon.selected:Connect(function()
    -- fade frame out using TweenService 
end)
11 Likes

I’ve been waiting for this to come out. Pretty neat stuff. Is there any way to select or deselect an icon without firing the select/deselect/toggle events?

3 Likes