Why are my animations doing this? studio mode different sessions

So I’m just trying to tween my car smoothly, the first and 2nd attempt are the ones I don’t like, they glitch out and return the camera back to custom, why is that?

The issue is when I join the game I either get the good tween or the bad tween, its random

I have tried using tween.Completed:Wait() but it seems like its still random

local cameraTable = {
	CFrame.new(0, 6.55, 16.45) * CFrame.Angles(math.rad(-30), 0, 0);
	CFrame.new(0, 6.55, -9.55);
	CFrame.new(-5.3, 1.25, -10) * CFrame.Angles(0, math.rad(-105), 0); 	
}


humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
local function cameraManipulation(player)
	char:SetPrimaryPartCFrame(Seat.CFrame)
	tokyoDrift:Play()
	Camera.CameraType = Enum.CameraType.Scriptable
	Camera.CFrame = CFrame.new(0, 1.5, 16.45)
	local tween = tweenService:Create(Camera, tweenInfo, {CFrame = cameraTable[1]})
	tween:Play()
	tween.Completed:Wait(0.65)
	local tween2 = tweenService:Create(Camera, tweenInfo, {CFrame = cameraTable[2]})
	tween2:Play()
	tween2.Completed:Wait(0.65)
	Camera.CFrame = CFrame.new(-5.2, 1.25, 6.8)
	local tween3 = tweenService:Create(Camera, tweenInfo, {CFrame = cameraTable[3]})
	tween3:Play()
	
	for _, exhaust in pairs(Exhaust:GetChildren()) do 
		local afterBurn = exhaust:FindFirstChild("Afterburn")
		afterBurn:Emit(1000)
		afterBurn.Rate = 500
		afterBurn.Lifetime = NumberRange.new(3,4)

	end
	
	tween3.Completed:Wait(.65)

	
	engineSound:Play()
	engineSound.Ended:Connect(function()
		engineSound:Destroy()

	end)
	
	Camera.CFrame = CFrame.new(0.1, 0.5, 18.7)
        end)
end 


I dont believe the numbers are needed in the :Wait()?
Its a tad hard to tell what your script is doing since everything is close together.