Hello,
I want to make it so that nothing goes wrong when you close and open the gui frames fast.
Video:
Screenshot of Explorer:

I’ve tried putting wait(0.5) but I don’t really want people to wait just to open a menu.
ShowSettingsGUI Script:
local SettingsCornerTextButton = script.Parent
local CornerButtonFrame = script.Parent.Parent
local TweenService = game:GetService("TweenService")
local button = script.Parent --makes life easier
local frame = script.Parent.Parent -- same thing above
local SettingsGUI = game.Players.LocalPlayer.PlayerGui.SettingsGUI
local Popup = SettingsGUI.Popup
local PopupBackground = SettingsGUI.PopupBackground
Popup.Position = UDim2.new(0.346, 0, 0.201, 550)
PopupBackground.Position = UDim2.new(0.353, 0,0.212, 550)
button.Activated:Connect(function()
frame:TweenPosition(UDim2.new(0.899, 0, 0.949, 80), Enum.EasingDirection.Out, Enum.EasingStyle.Quint)
Popup:TweenPosition(UDim2.new(0.346, 0, 0.201, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.5)
PopupBackground:TweenPosition(UDim2.new(0.353, 0,0.212, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.5)
end)
CloseSettingsGUI Script
local SettingsGUI = game.Players.LocalPlayer.PlayerGui.SettingsGUI
local CornerButtonFrame = SettingsGUI.CornerButtonFrame
local TweenService = game:GetService("TweenService")
local closeButton = script.Parent
local Popup = SettingsGUI.Popup
local PopupBackground = SettingsGUI.PopupBackground
closeButton.Activated:Connect(function()
Popup:TweenPosition(UDim2.new(0.346, 0, 0.201, 550), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.5)
PopupBackground:TweenPosition(UDim2.new(0.353, 0,0.212, 550), Enum.EasingDirection.Out, Enum.EasingStyle.Quint, 0.5)
CornerButtonFrame:TweenPosition(UDim2.new(0.899, 0, 0.949, 0), Enum.EasingDirection.Out, Enum.EasingStyle.Quint)
end)
Thanks for helping me out!
Edit: Also, sorry if my scripting is messy, I’m new.


