@ForeverHD Can you add support for the background transparency setting? It would be nice lol
I don’t know if I’m just stupid, but is it possible to make a dropdown icon autoDeselect upon selecting a normal icon or menu? Also, aren’t notifications supposed to go to the parent of the dropdown?
I’m sure you can temporarily add this yourself with the UserSettings()
Global, (until ForeverHD implmenets it officially)
(It’s not in UserSettings, its in GuiService: GuiService | Documentation - Roblox Creator Hub)
…But yeah, ig so.
What? I’m sorry I have no idea what you’re talking about. Just look up UserSettings()
you can most likely find the transparency setting in there, and apply the background accordingly.
I checked, it’s not in UserSettings()
, it’s in game.GuiService.PreferredTransparency
.
Roblox changed the topbar’s colour and transparency. You can be able to change it to the new using the code below until TopbarPlus is updated to account for this
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local GuiService = game:GetService("GuiService")
local Icon = require(ReplicatedFirst:WaitForChild("Icon")) -- Change this to where your TopBarPlus module is
Icon.modifyBaseTheme{
{"IconButton", "BackgroundColor3", Color3.fromRGB(18, 18, 20)};
{"IconButton", "BackgroundTransparency", (0.08*GuiService.PreferredTransparency)};
}
GuiService:GetPropertyChangedSignal("PreferredTransparency"):Connect(function()
Icon.modifyBaseTheme{"IconButton", "BackgroundTransparency", (0.08*GuiService.PreferredTransparency)}
end)
I took the values directly from what was shown in CoreGui. Hope that these values get applied to the default set in future releases.
Unfortunately, the caption colour cannot be changes as far as I know and cannot be converted to the new colour
How did you get the values from CoreGui?
hey @ForeverHD could u check ur pull requests for wally / type support in topbar+, I also added a pull request for convertLabelToNumberSpinner support for NumberSpinner Module compatibility. If you want numberspinner support add this method to the Icon module:
function Icon:convertLabelToNumberSpinner(numberSpinner)
local label = self:getInstance("IconLabel")
label.Transparency = 1
numberSpinner.Parent = label
local propertiesToChange = {
"FontFace",
"BorderSizePixel",
"Position",
"BorderColor3",
"Rotation",
"TextScaled",
"TextStrokeTransparency",
"TextStrokeColor3",
"TextStrokeTransparency",
"TextYAlignment",
"Size",
"TextSize",
"TextXAlignment",
"TextColor3",
"AnchorPoint",
}
for i, property in propertiesToChange do
numberSpinner[property] = label[property]
end
local invalidProperties = {
"TextBounds",
"TextFits",
"AbsolutePosition",
"AbsoluteSize",
"OpenTypeFeaturesError",
"GuiState"
}
self:addToJanitor(label.Changed:Connect(function(property)
if table.find(invalidProperties, property) then
return
end
numberSpinner[property] = label[property]
end))
self:updateParent()
return self
end
When you press play on Studio, open up CoreGui and you can find the values within the topbar GUI inside of it. You can search for the menu icon or the unibar and use the values from there with preferred transparency set to transparent. If you do not see the CoreGui service, you need to go into your Studio settings to make it visible
put the localscript inside replicatedStorage
If possible, could you please update the gui colors/theme and the dropdowns and add more animations to make it match the current roblox gui? Thanks
local Icon = require(game.ReplicatedStorage.Icon)
local sound = script.Parent:WaitForChild("ButtonClick")
local bindable = game:GetService("ReplicatedStorage"):WaitForChild("Events"):WaitForChild("MenuOff")
Icon.new()
:setLabel("Menu")
:setCaption("Menu")
:bindEvent("selected", function()
sound:Play()
end)
:setOrder(0)
:oneClick(true)
:align("Right")
:setEnabled(false)
bindable.Event:Connect(function(Icon)
Icon:setEnabled(true)
end)
Why won’t this work?
You’re using Icon:SetEnabled on the module, not the icon
Pretty sure you can use
:call(icon) in the chain since itll return the icon, allowing you to excend the functionality there
Alright 1 moment, if it errors I’ll reply to your post again
Thanks, it fixed it.
EDIT: For anyone who is having this issue in the future, here is the updated script:
local Icon = require(game.ReplicatedStorage.Icon)
local sound = script.Parent:WaitForChild("ButtonClick")
Icon.new()
:setLabel("Menu")
:setCaption("Menu")
:bindEvent("selected", function()
sound:Play()
end)
:setOrder(0)
:oneClick(true)
:align("Right")
:setEnabled(false)
:call(function(icon) -- changed from here and below
local bindable = game:GetService("ReplicatedStorage"):WaitForChild("Events"):WaitForChild("MenuOff")
bindable.Event:Connect(function()
icon:setEnabled(true)
end)
end)
Is there any way to customize a theme for captions?
First thing when i saw this post:
- I love the new ui (simple, clean and amazing)
- The scripting thing was really buggy to handle but I tried my best to figuring out
- V3 more better because there are many features you can do than V2.
Love the new version. Hope you’re doing well
How do you change the size of each bar?
Using multiple buttons. How do I make the buttons stay selected when another is pressed? I’m bad at reading, sorry
Hey! Sorry for the insignificant post, but I’ve found a typo on the API page - Listed below.
methods>setName’s code block reads icon:set(name)
and not icon:setName(string)
This is also my first post of the Roblox Devforum so please excuse any mistakes.