I cannot do it in a local script since there are other elements that depend on the way the player is facing in the server script. Right now I have a toggle on an ability that runs the following repeat loop: note that player, duration, playerRoot is defined outside the loop. getmouseposition is a remote function that returns the mouse position from a local script
stop = false local start = tick() repeat local mousep = getmouseposition:InvokeClient(player) playerRoot.CFrame = CFrame.new(playerRoot.Position, mousep) if tick() - start >= duration then --do something stop = true until stop
By doing this, the movement is not as smooth because the loop runs slowly(Noticeable jitters) Is there a better way of doing this?