ok so im writing a script to open a gate when i say a specific thing in chat . problem is , when i say the thing , the gate opens but never stops . ive tried everything that i know from ifs to while ___ do loops . heres the script
local debounce = true local part = script.Parent local confirmation = false local leftPartDoor = game.Workspace.leftPartDoor local rightPartDoor = game.Workspace.rightpartDoor local leftPrimaryPart = leftPartDoor.PrimaryPart local rightPrimaryPart = rightPartDoor.PrimaryPart local leftoriginalCFrame = leftPartDoor:GetPrimaryPartCFrame() local rightoriginalCFrame = rightPartDoor:GetPrimaryPartCFrame() local seconds = 0 local debounce2 = true part.Touched:Connect(function(whoTouch) if whoTouch.Parent:FindFirstChild("Humanoid") and debounce == true then debounce = false confirmation = true wait(5) confirmation = false debounce = true end end) game.Players.PlayerAdded:Connect(function(player) player.Chatted:Connect(function(msg) if msg == "pee pee poo poo" and confirmation == true and debounce2 == true then debounce2 = false repeat wait() leftPartDoor:SetPrimaryPartCFrame(leftPrimaryPart.CFrame * CFrame.new(0, 0, 0.1)) rightPartDoor:SetPrimaryPartCFrame(rightPrimaryPart.CFrame * CFrame.new(0, 0, 0.1)) seconds = seconds + 0.1 until seconds == 10 debounce2 = true end end) end)
so like , whats wrong with it ? especially this part .
game.Players.PlayerAdded:Connect(function(player) player.Chatted:Connect(function(msg) if msg == "pee pee poo poo" and confirmation == true and debounce2 == true then debounce2 = false repeat wait() leftPartDoor:SetPrimaryPartCFrame(leftPrimaryPart.CFrame * CFrame.new(0, 0, 0.1)) rightPartDoor:SetPrimaryPartCFrame(rightPrimaryPart.CFrame * CFrame.new(0, 0, 0.1)) seconds = seconds + 0.1 until seconds == 10 debounce2 = true end end) end)