Whenever I try to set the Humanoid Root Part's velocity it just doesn't do anything.
local SpeedLimit = 13 while true do wait(0.01) local VX = math.clamp(HumanoidRootPart.Velocity.X, -SpeedLimit, SpeedLimit) local VY = math.clamp(HumanoidRootPart.Velocity.Y, -SpeedLimit, SpeedLimit) local VZ = math.clamp(HumanoidRootPart.Velocity.Z, -SpeedLimit, SpeedLimit) HumanoidRootPart.Velocity = Vector3.new(VX, VY, VZ) end
It just doesn't set the velocity for some unknown reason.
Usually when trying to cause motion in parts you may want to use BodyMovers you can read about them here In this case BodyVelocity is what you want Using local BV = Instance.new('BodyVelocity')
Now how to directly apply this to your code
local SpeedLimit = 13 Using local BV = Instance.new('BodyVelocity') BV.Parent = HumanoidRootPart --Assuming you declared HumanoidRootPart in your full code based on the code you proved while true do wait(0.01) local VX = math.clamp(HumanoidRootPart.Velocity.X, -SpeedLimit, SpeedLimit) local VY = math.clamp(HumanoidRootPart.Velocity.Y, -SpeedLimit, SpeedLimit) local VZ = math.clamp(HumanoidRootPart.Velocity.Z, -SpeedLimit, SpeedLimit) BV.Velocity = Vector3.new(VX, VY, VZ) end
This should work if you have any further questions I please comment further