There are no errors? I expect the code to move the part in the direction of the mouse if you are top down on the part.
local plr = game.Players.LocalPlayer local Ball = nil local Screensize = script.Parent:WaitForChild("Shadder").AbsoluteSize function glideTorwards(currentValue,targetValue,rate) if currentValue < targetValue then return math.min(targetValue,currentValue + rate) elseif currentValue > targetValue then return math.max(targetValue,currentValue - rate) else return targetValue end end function WFB() WFBRequire() while wait() do local Ba = _G.PlayerBall if Ba ~= nil then return Ba end end end function WFBRequire() local MouseY = nil local MouseX = nil if plr:GetMouse().Y > Screensize.Y/2 then MouseY = 2 elseif plr:GetMouse().Y < Screensize.Y/2 then MouseY = -2 end if plr:GetMouse().X > Screensize.X/2 then MouseX = 2 elseif plr:GetMouse().X < Screensize.X/2 then MouseX = -2 end repeat wait() until Ball ~= nil while wait() and Ball ~= nil do Ball.Position = Vector3.new(glideTorwards(Ball.Position,(Ball.Position + Vector3.new(MouseX,0,MouseY)),2)) end WFB() end Ball = WFB()