Okay, so heres my problem. Currently I a using a debounce function and it works great except that it only works when the first player touches it and not for any other player afterward. I need this script to work when any player touches it, but I only need it to happen once. Any help with this would be greatly appreciated. Here is the script:
local part = game.Workspace["Floor Brick Shop"] --gets the part walkedon = 0 part.Script.Opens.OnServerEvent:Connect(function(player,HIT) --you mistaken Open as Touched in your script if walkedon == 0 then walkedon = 1 local h = HIT.Parent:FindFirstChild("Humanoid") local player = game.Players:GetPlayerFromCharacter(HIT.Parent) -- do this every time a new character for each player is created local PlayerGuiServer = game.ServerStorage.Store -- Replace 'nil' with the location of your folder for _, screenGui in pairs(PlayerGuiServer:GetChildren()) do screenGui:Clone().Parent = player.PlayerGui end if h then player.PlayerGui.ShopGui.ShopFrame.Visible = true end walkedon = 1 wait(0.9) end end)