My doors can only be opened once, then wont work again

I’m not sure what is happening, I’ve recoded it twice. Here is my code:

--// Services
local TweenService = game:GetService("TweenService")

--// Variables
local Model = script.Parent
local Door = Model.Door
local Prompt = Door.ProximityPrompt

local ClosedPosition = Vector3.new(Door.Position.X, Door.Position.Y, Door.Position.Z)
local OpenPosition = Vector3.new(Door.Position.X, Door.Position.Y + Door.Size.Y * 2.1, Door.Position.Z)

--// Settings
local KeycardsList = {
	--"SCP:F Level 0",
	--"SCP:F Level 1",
	--"SCP:F Level 2",
	"SCP:F Level 3",
	"SCP:F Level 4",
	"SCP:F Level 5",
	"SCP:F Omni keycard",
}

local Debounce = false
local AnimationTime = 3
local OpenTime = 2

local TweenData = TweenInfo.new(
	AnimationTime,
	Enum.EasingStyle.Sine,
	Enum.EasingDirection.Out,
	0,
	false,
	0
)

--// Main
function OperateDoor()
	local CloseGoal = {Position = ClosedPosition} local CloseTween = TweenService:Create(Door, TweenData, CloseGoal) local CloseTween = TweenService:Create(Door, TweenData, CloseGoal)
	local OpenGoal = {Position = OpenPosition} local OpenTween = TweenService:Create(Door, TweenData, OpenGoal)
	
	if Debounce == false then Debounce = true
		OpenTween:Play()
		OpenTween.Completed:Wait()
		wait(OpenTime)
		CloseTween:Play()
		OpenTween.Completed:Wait()
		Debounce = false
	end
end

Prompt.Triggered:Connect(function(Player)
	for _, AcceptedKeycards in pairs(KeycardsList) do
		if Player.Backpack:FindFirstChild(AcceptedKeycards) or Player.Character:FindFirstChild(AcceptedKeycards) then
			OperateDoor()
		end
	end
end)
1 Like
CloseTween:Play()
OpenTween.Completed:Wait()
Debounce = false

Shouldn’t that be CloseTween.Completed:Wait()?

1 Like

Simple fix, I did not notice that, thank you!

1 Like