Script showing print function being run 12x when only run once

Can’t figure out why it’s showing that Top Door Closed and Bottom Door Closed as printing 12 times just doesn’t make sense.

local prox = script.Parent.Scan local door = script.Parent.Parent local Bottom = door.Bottom local Top = door.Top local CF1 = Top.Position local CF11 = (CF1 + Vector3.new(0,4.5,0)) local CF2 = Bottom.Position local CF22 = (CF2 + Vector3.new(0,-4.25,0)) local tweeninfo1 = TweenInfo.new(4, Enum.EasingStyle.Linear, Enum.EasingDirection.Out) local tween1 = game:GetService("TweenService"):Create(Top, tweeninfo1, {Position = CF11}) local tween2 = game:GetService("TweenService"):Create(Bottom, tweeninfo1, {Position = CF22}) local tween3 = game:GetService("TweenService"):Create(Bottom, tweeninfo1, {Position = CF2}) local tween4 = game:GetService("TweenService"):Create(Top, tweeninfo1, {Position = CF1}) prox.ProximityPrompt.Triggered:Connect(function(boom) if door.Open.Value == false then door.Open.Value = true tween1:Play() tween2:Play() wait(4) print("Door Opened") end tween1.Completed:Connect(function(end1) wait(4) tween3:Play() wait(4) door.Open.Value = false print("Bottom Door Closed") end) tween2.Completed:Connect(function(end2) wait(4) tween4:Play() wait(4) door.Open.Value = false print("Top Door Closed") end) end)

Please use ``` to format your code, it’s unreadable as is.