rewrote it, didn't change anything except for the name of the cameras/hitbox/playerpos
local char = player.Character or player.CharacterAdded:Wait()
local camera = workspace.CurrentCamera
local camfolder = workspace:FindFirstChild("Cams2")
local hit = camfolder:FindFirstChild("Hitbox2")
local camera1 = camfolder:FindFirstChild("camera1")
local camera2 = camfolder:FindFirstChild("camera2")
local camera3 = camfolder:FindFirstChild("camera3")
local tweenservice = game:GetService("TweenService")
local camcutscene1 = tweenservice:Create(camera, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.In), {CFrame = camera2.CFrame})
local camcutscene2 = tweenservice:Create(camera, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.In), {CFrame = camera3.CFrame})
local played = false
hit.Touched:Connect(function(hitPart)
local hum = hitPart.Parent:FindFirstChild("Humanoid")
-- Disable movement
char.Humanoid.WalkSpeed = 0
char.Humanoid.JumpHeight = 0
played = true
-- Start camera cutscene
camera.CameraType = Enum.CameraType.Scriptable
camera.CFrame = camera1.CFrame
task.wait(2)
camcutscene1:Play()
camcutscene1.Completed:Wait()
task.wait(1)
camera.CFrame = camera2.CFrame
camcutscene2:Play()
camcutscene2.Completed:Wait()
task.wait(3.5)
-- Restore movement
char.Humanoid.WalkSpeed = 7.2
char.Humanoid.JumpHeight = 7.2
camera.CameraType = Enum.CameraType.Custom
end
end)```