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?
