I’m making a menu where you can open it with the tab button, but that way I do it currently seems to not work as I expected:
(For some reason, the menu only opens, and does not close.)
RBXUserInputService.InputBegan:Connect(function(InputObject, gameProccessedEvent)
if gameProccessedEvent then return end
local MenuOpen = false
if RBXUserInputService:IsKeyDown(Enum.KeyCode.Tab) and MenuOpen == false then
MenuOpen = true
MainMenu.Visible = true
MainMenu.IsVisible.Value = true
end
if RBXUserInputService:IsKeyDown(Enum.KeyCode.Tab) and MenuOpen == true then
MenuOpen = false
MainMenu.Visible = false
MainMenu.IsVisible.Value = false
end
-- [ | Variables | ]
local JoinService = require(script.Parent.JoinService)
local RBXUserInputService = game:GetService("UserInputService")
local UIService = require(script.Parent.UIService)
local cDataService = require(script.Parent.cDataService)
local WebService = require(script.Parent.WebService)
local UIShelfExtension = require(script.Parent.UIShelf)
local StarterGui = game:GetService("StarterGui")
local MainMenu = JoinService:GetCurrentPlayer():WaitForChild("PlayerGui"):WaitForChild("UIService_canary").MainMenu
local MenuOpen = false
-- [ | End Of Variables | ]
-- [ | ClientConfiguration for Canary Client v1 by @maddjames28 | ]
-- [ | TODO:⠀Remember⠀to⠀utilize⠀task⠀functions⠀if⠀available! | ]
UIShelfExtension:CreateButton("MenuButton", 8809912349, 940, 940)
RBXUserInputService.InputBegan:Connect(function(InputObject, gameProccessedEvent)
if gameProccessedEvent then return end
if RBXUserInputService:IsKeyDown(Enum.KeyCode.Tab) and MenuOpen == false then
MenuOpen = true
MainMenu.Visible = true
MainMenu.IsVisible.Value = true
end
if RBXUserInputService:IsKeyDown(Enum.KeyCode.Tab) and MenuOpen == true then
MenuOpen = false
MainMenu.Visible = false
MainMenu.IsVisible.Value = false
end
end)
while task.wait(0.1) do
if MainMenu.IsVisible.Value == true then
UIService:DisableTopbar()
else
UIService:EnableTopbar()
end
end
and the GetCurrentPlayer functions works fine.
function module:GetCurrentPlayer()
return game.Players.LocalPlayer
end
RBXUserInputService.InputBegan:Connect(function(InputObject, gameProccessedEvent)
if gameProccessedEvent then return end
MenuOpen = not MenuOpen
if RBXUserInputService:IsKeyDown(Enum.KeyCode.Tab) then
if MenuOpen then
MainMenu.Visible = true
MainMenu.IsVisible.Value = true
elseif not MenuOpen then
MainMenu.Visible = false
MainMenu.IsVisible.Value = false
end
end
end)