Can you slow down mid air?

I have a speed boost which speeds you up for a jump, but its only meant to last .7 seconds. but the speed doesn’t change until he touches the floor. the speed boost changes player walkspeed to 500 and uses a for loop to decrease it gradually up to regular speed. it works fine while walking but midair he remains the same speed.

is there a way to decelerate the player instead of changing the walkspeed?

1 Like

Not quite sure if this would work, but have you tried changing the character’s velocity?

1 Like

Try using a BodyForce and mess with the properties. You’d probably only mess with the Force property.

You can create something similar to anti-gravity body forces where you take body parts’ mass into consideration and the gravity (workspace.Gravity) but modify it to work in your way. Basically, low gravity.

Here is a script that I haven’t tested but could probably prove useful to mess with to figure it out. Make sure to define the character of course:

local effectiveness = 0.5 -- half as effective (change this variable to what you want)

local bodyForce = Instance.new("BodyForce")

local totalMass = 0
for _, descendant in pairs(character:GetDescendants()) do
    if descendant:IsA("BasePart") then
        totalMass += descendant:GetMass()
    end
end

bodyForce.Force = Vector3.new(0, workspace.Gravity * totalMass * effectiveness, 0)
3 Likes

Wow this code worked amazing, very smart thank you!

sorry it took so long to get back I’ve not been online last few days.

Really appreciate the reply :slight_smile:

1 Like