This script is inside a LocalScript and positions the camera above the player and rotates it so that it is always looking down. That part works fine, but then once the player moves like 2 studs then the player's movement becomes locked and they can't move anymore. I can't figure out why.
local player = game.Players.LocalPlayer local service = game:GetService("RunService") game.Workspace.CurrentCamera.CameraType = "Scriptable" service.RenderStepped:connect(function() game.Workspace.CurrentCamera.CFrame = CFrame.new(game.Workspace[player.Name].Head.Position + Vector3.new(0, 20, 0)) * CFrame.Angles(math.rad(270),0,0) end)