How to make dash that slows down

Hello,
I’m trying to make a dash system that similar to “The strongest battlegrounds” or “Z Battlegrounds” dash system
My issue is that I don’t know what should I use for that (body velocity, vector force, etc…)
I tried body velocity but I don’t know how to make it move to where the player looking and how to slow down

The body velocity part of my script:

local bv = instance.new("BodyVelocity",HumanoidRootPart)
bv.MaxForce = Vector3.new(math.Huge,0,math.Huge)
bv.Velocity = HumanoidRootPart.CFrame.LookVector * 50

2 Likes

To slow down the body velocity try using tweens with tweenservice to animate the velocity property

1 Like

I agree, this can work very well. Another suggestion could be to use ApplyImpulse on the HumanoidRootPart instead of a BodyVelocity or BodyForce.

Blockquote
HumanoidRootPart:ApplyImpulse(HumanoidRootPart.CFrame.LookVector * 50)

Note: I’d recommend using a ray cast for whichever direction you’d like the player to dash toward to ensure there are no obstructions.

Hello,

I think I figured out how it works. Here is my solution:

--Disabling player movement
	hum.WalkSpeed = 0
	hum.JumpPower = 0
--Creating the body velocity
	local bodyV = Instance.new("BodyVelocity",humRp)
	bodyV.MaxForce = Vector3.new(math.huge,0,math.huge)
	
--For loop for decreasing the speed and to move where the player looking
	for i=60,0,-1 do
		bodyV.Velocity = humRp.CFrame.LookVector * i
		task.wait()
	end
--Deleting the body velocity after the dash finished
	bodyV:Destroy()
--Enabling player movement
	hum.WalkSpeed = 16
	hum.JumpPower = 50

You can also add animation to it just make sure to play the animation before the for loop and stop it after the for loop

I hope it’ll help

Also

The Result:

4 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.