After reading this post: BodyVelocity Stopping - #32 by lynnlo, I had realized my model wasn’t stopping due to the presence of another body velocity. However, this other body velocity is to keep the model from falling due to gravity, and by setting the max force of that body velocity to 0, the model would fall to the ground.
I had toyed with the idea of anchoring the model, however I don’t want the model to stop instantly.
server script
local RepStorarge = game:GetService("ReplicatedStorage")
RepStorarge.Movement.Speed.OnServerEvent:Connect(function(player, isGoingForward, speed, SubRootPart)
if isGoingForward then
SubRootPart.Anchored = false
SubRootPart.BodyVelocity.MaxForce = Vector3.new(10*speed, 0, 10*speed)
SubRootPart.BodyVelocity.P = math.huge
SubRootPart.BodyVelocity.Velocity = SubRootPart.CFrame.LookVector * 100
else -- Stop model
SubRootPart.BodyVelocity.MaxForce = Vector3.new(0, 0, 0)
SubRootPart.BodyVelocity.P = 0
SubRootPart.BodyVelocity.Velocity = SubRootPart.CFrame.LookVector * 0
SubRootPart.YAxis.MaxForce = Vector3.new(0, 0, 0)
end
end)