v3 is currently bugged for Controller players on my game, they were stuck on a Topbar Button and couldn’t reach or select the Play button.
Video of this happening:
My script:
local PlayerService = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Player = PlayerService.LocalPlayer
local PlayerGui = Player:WaitForChild("PlayerGui")
local Modules = ReplicatedStorage:WaitForChild("Modules")
local CombatLog = ReplicatedStorage:WaitForChild("CombatLog")
local CombatTag = CombatLog:WaitForChild(Player.Name, math.huge):FindFirstChild("CombatTag")
local TopbarPlusModule = require(Modules.Icon)
local NotificationModule = require(Modules.NotificationModule)
local debounce = false
TopbarPlusModule.new()
:align("Right")
:setImage(14333878755)
:setCaption("Cinematic Mode")
:modifyTheme({"Widget", "BorderSize", 0})
:bindEvent("selected", function(icon)
local Character = Player.Character
if not Character:GetAttribute("inMenu") then
PlayerGui.MainHUD.Enabled = false
PlayerGui.Leaderboard.Enabled = false
PlayerGui.MiscHUD.Enabled = false
end
end)
:bindEvent("deselected", function(icon)
local Character = Player.Character
if not Character:GetAttribute("inMenu") then
PlayerGui.MainHUD.Enabled = true
PlayerGui.Leaderboard.Enabled = true
PlayerGui.MiscHUD.Enabled = true
end
end)
TopbarPlusModule.new()
:align("Right")
:setImage(11713331505)
:setName("Backpack")
:setLabel("Backpack")
:bindToggleKey(Enum.KeyCode.Backquote)
:modifyTheme({"Widget", "BorderSize", 0})
:bindToggleItem(PlayerGui:WaitForChild("MainHUD", math.huge):WaitForChild("Inventory"))
TopbarPlusModule.new()
:align("Right")
:setImage(9405925508)
:setCaption("Return to Menu")
:modifyTheme({"Widget", "BorderSize", 0})
:bindEvent("selected", function(icon)
local Character = Player.Character
if #CombatTag:GetChildren() == 0 and not Character:GetAttribute("Attacking") and not Character:GetAttribute("Stunned") then
if not debounce then
PlayerGui:WaitForChild("MenuScreen").returnMenu:Fire()
debounce = true
task.delay(2, function()
debounce = false
end)
end
else
NotificationModule.Notification(Player, "<Font=GothamBold><ContainerHorizontalAlignment=Center><TextScale=1><Color=White>You are currently <Color=Red><AnimateStyle=Wiggle><AnimateStepFrequency=1><AnimateStyleTime=2>in-Combat!")
end
end)
:bindEvent("deselected", function(icon)
local Character = Player.Character
if not Character:GetAttribute("inMenu") then
PlayerGui.MainHUD.Enabled = true
PlayerGui.Leaderboard.Enabled = true
PlayerGui.MiscHUD.Enabled = true
end
end)
If you setup the V3 from the playground, will it automatically update like a package or what’s it called? So the only downside to using it now would be that it’s slightly unstable maybe and there’s some fixes that are needed but other than that it’s good to go, right? I think I might still have to wait though because I’m a pretty horrible scripter and without documentation of how it is now I have no idea what I’m doing haha (I did actually try switching to V3 real quick out of boredom but nothing worked )
Will explore this tomorrow, thanks for your report.
Ah understood, and yep topbarplus provides support for multiple packages within a single experience (assuming they’re both v3 packages). More details on this here:
Good spot. It should contain a dropshadow already so will look into this.
I don’t work with roblox-ts anymore. If you want a TS port then someone else can take up that mantle and I’ll happily give over the package perms on NPM.
Ha apologies, this isn’t a bug, it’s me typing by sight too quickly. bindEvent always passes the icon as first argument then everything else (…) so it should be instead:
icon:bindEvent("toggled", function(icon, isSelected)
shopFrame.Visible = not isSelected
end)
A quick fix but worth noting - dropdown menus on the right of the screen seem to appear behind the PlayerList in the new test version. In the previous version, this would automatically hide the PlayerList and I think this is a feature worth incorporating into the new version too to avoid having to fork and edit the package code.