I have this GUI that when you scroll, you can pick options in a list. It works well to start off with because I can select the first option which sends me to a new frame, then I can select "Back" on my new option list which sends me back to the frame I was on before. But it doesn't work when I try it again.
First option selection
I think the error is at the end of this script with the lines of code which print hi,hi2,yesm8
Menu = script.Parent.Menu MenuBack = script.Parent.MenuBack options = {"Option1","Option2","Option3","Option4"} optionselected = 4 function onKeyPress(inputObject, gameProcessedEvent) if inputObject.KeyCode == Enum.KeyCode.M then if script.Parent.Visible == true then script.Parent.Visible = false elseif script.Parent.Visible == false then script.Parent.Visible = true end end end game:GetService("UserInputService").InputBegan:connect(onKeyPress) mouse = game.Players.LocalPlayer:GetMouse() mouse.WheelBackward:connect(function() if Menu.Visible == true then optionselected = optionselected + 1 if optionselected > #options then optionselected = 1 end for i,v in pairs(Menu.Options:GetChildren()) do if v.Name == options[optionselected] then v.BackgroundTransparency = 0.8 else v.BackgroundTransparency = 0.9 end end print(options[optionselected]) end end) mouse.WheelForward:connect(function() if Menu.Visible == true then optionselected = optionselected - 1 if optionselected < 1 then optionselected = #options end for i,v in pairs(Menu.Options:GetChildren()) do if v.Name == options[optionselected] then v.BackgroundTransparency = 0.8 else v.BackgroundTransparency = 0.9 end end end end) mouse.Button1Down:connect(function() if Menu.Visible == true then print("hi") Menu.Visible = false print("hi2") script.Parent:FindFirstChild(options[optionselected]).Visible = true print("yesm8") end end)
It prints hi,hi2 and yesm8 even though the the Menu frame doesn't go invisible, and the option frame doesn't go visible
Second option selection
Option = script.Parent options = {"Back","Option2","Option3","Option4"} optionselected = 4 mouse = game.Players.LocalPlayer:GetMouse() mouse.WheelBackward:connect(function() if Option.Visible == true then optionselected = optionselected + 1 if optionselected > #options then optionselected = 1 end for i,v in pairs(Option.Options:GetChildren()) do if v.Name == options[optionselected] then v.BackgroundTransparency = 0.8 else v.BackgroundTransparency = 0.9 end end end end) mouse.WheelForward:connect(function() if Option.Visible == true then optionselected = optionselected - 1 if optionselected < 1 then optionselected = #options end for i,v in pairs(Option.Options:GetChildren()) do if v.Name == options[optionselected] then v.BackgroundTransparency = 0.8 else v.BackgroundTransparency = 0.9 end end end end) mouse.Button1Down:connect(function() if optionselected == 1 then Option.Visible = false Option.Parent.Menu.Visible = true end end)
It sends you back when you select the first option, it sends you back to the frame called menu
The architecture Gyazo Image Link