I have this script that opens a ScreenGui when the detector is touched. It works perfectly the first two times, but the thing is that after two times of opening and closing it doesn't work anymore. Here is my script

    Players = game:GetService("Players")
    LocalPlayer = Players.LocalPlayer
    PlayerGui = LocalPlayer.PlayerGui
    Detector = game.Workspace.RoomDetector1
    RS = game:GetService("ReplicatedStorage")

ShopOpen = false

Detector.Touched:Connect(function(touch)    
    if ShopOpen == false and touch.Parent.Name==LocalPlayer.Name then
    RS.Rooms:Clone().Parent = PlayerGui  
    ShopOpen=true
    end
end)

game.Players.LocalPlayer.PlayerGui:WaitForChild("Rooms").Frame.Close.MouseButton1Click:Connect(function()
    ShopOpen = false   
	print ("Test")
end)

I also noticed that it only prints test once. This is really weird. Help is appreciated.

2 comments

0

Add a wait and how long you want it to stay open, then add when will it close, which is wakt

0

I already have a closing script in my close button. That isn't the problem.