How would i stop the inertia on character after jumping with high walkspeed

So i want to achieve something like in Speedrun 4 where if u jump it instantly stops ur character from moving forward or in the direction u jumped
it looks like this ^^^

and im trying to make it look like this in speedrun instant stop when jumping and not holding W

i havent tried any solutions because i dont know where to start i was thinking something maybe like using bodyforce when humanoidstatetype is jumping or something i dont know i just need someone to explain how this would work because im not too experienced in physics

Im not asking for a complete script just something so i know where to start

1 Like

I would try directly overwriting the HumanoidRootPart’s velocity with a velocity that removes all but the vertical component.

local function getYClampedVector(velocity: Vector3): Vector3
    return, velocity.Y, 0)

You could poll their control module input vector while they’re jumping

local RunService = game:GetService('RunService')
local Player = game:GetService('Players').LocalPlayer

local controlModule = require(Player.PlayerScripts:WaitForChild('PlayerModule')):GetControls()

-- triggered by the jump
while jumping do
    local moveVec = controlModule:GetMoveVector()

    if moveVec.Magnitude == 0 then
        humanoidRootPart.Velocity = getYClampedVector(humanoidRootPart.Velocity)