It starts being glitchy when you touch the brick, it tries to change to the new angle, but then it goes back to the last one, and it doesn't stop doing that, some help?
local changecam = game.Workspace.Change local touched = false -- ================================================================ -- // Camera Variables local CamOffset = Vector3.new(0, 5.5, 20) local CamLookDirection = Vector3.new(0, 0, -1) local angle = 0 local camera = game.Workspace.CurrentCamera local player = game.Players.LocalPlayer local RunService = game:GetService('RunService') -- ================================================================ changecam.Touched:connect(function(hit) if not touched then touched = true wait(1) print("I touched it!") local function setupCamera() camera.CoordinateFrame = CFrame.new(player.Character.HumanoidRootPart.Position + CamOffset, player.Character.HumanoidRootPart.Position + CamOffset + CamLookDirection) end player.CharacterAdded:connect(setupCamera) print("1") local function onUpdate() if player.Character and player.Character:FindFirstChild('HumanoidRootPart') then camera.CoordinateFrame = camera.CoordinateFrame:lerp( CFrame.new(player.Character.HumanoidRootPart.Position + CamOffset, player.Character.HumanoidRootPart.Position + CamOffset + CamLookDirection), 0.2 ) print("Trying to rotate") for i = 1, 90 do wait() camera.CFrame = camera.CFrame * CFrame.Angles(0,i,0) end end end RunService:BindToRenderStep('Camera', Enum.RenderPriority.Camera.Value, onUpdate) print("2") touched = false end end)