I want to do a Button or Toggle so when you press it some frame disappear/appear i dont have a script, ia actually dont know much about scripting but my try would be something like
local function onClick() if game.StarterGui.ScreenGui.Enabled then game.StarterGui.ScreenGui.Enabled = false elseif game.StarterGui.ScreenGui.Enabled = false then game.StarterGui.ScreenGui.Enabled = true end end
Yeah, i know i can make a variable so i dont write game.StarterGui.ScreenGui but welp, i also know that the script its wrong but i dont know what to do to make it right
First of all i recommend making the frame invisible instead of disabling the GUI, unless there are different frames and you want to make all of them go invisible. (everything must go in a local script) instead of
local function onclick()
It must be:
[the location of the button].MouseButton1Click:Connect(function() end)
in between the sentence, put this: (also dont use starter GUI as the location)
game.Players.LocalPlayer.PlayerGui.ScreenGUI.Enabled = not game.Players.LocalPlayer.PlayerGui.ScreenGUI.Enabled
this will make everytime someone presses the button it will become the contrary of what it is [if it is enabled and u press the button it will become disabled and viceverse] here a resume
[the location of the button].MouseButton1Click:Connect(function() game.Players.LocalPlayer.PlayerGui.ScreenGui.Enabled = not game.Players.LocalPlayer.PlayerGui.ScreenGui.Enabled end)
One issue I see right off the bat, is that you are calling your ScreenGui from the StarterGui. I don't think this would work as the gui is cloned to the PlayerGui once the game starts, so your fixed script should look more like this:
local Button = script.Parent local Gui = game.Players.LocalPlayer.PlayerGui:WaitForChild("Test") --- Test is just a placeholder name for a another gui that isn't the gui this script goes into. function OnClick() if Gui.Enabled == true then Gui.Enabled = false elseif Gui.Enabled == false then Gui.Enabled = true end end Button.Activated:Connect(OnClick) -- this uses your function when a player clicks the GuiButton
I'm sorry if I provide any misinformation.
Edit: I forgot to mention that this localscript was put inside of a textbutton.
Use this instead
local Frame = --Object Value here --Script By Sabrna563 local Function Onclick() if Frame.visible then Frame.visible = false else Frame.visible = true end