Having to jump twice to switch walls in wallrunning system?

Okay so, @TeamSwordphin made this:

So i decided to make one myself, it went well until i realized when i jumped, the body velocity got removed but i had to jump another time meaning i’d have no time to land on another wall/wallrun on another one. How would i achieve this (jumping once and being able to go to the other wall with no problems)? Since the only way i could come up is removing it when i press ‘Space’ yet it does
(“I had to jump another time”) that. How would i implement this?

Thanks in advance!!

1 Like

Can you post a video of it in your game because I don’t understand what you mean

1 Like

Pretty bad example but you get the point:


Pretty much, when i press ‘space’ it does not jump and if i want to jump i have to press space again.
Now on @TeamSwordphin example:

In his video he can jump and go to another wall very easily.

Add another bodyvelocity that goes diagonal after you get off the wall

local BodyVelocity = Instance.new('BodyVelocity')
BodyVelocity.MaxForce = Vector3.new(40000,40000,40000)
			
local HumanoidRootPart = character.HumanoidRootPart or character:WaitForChild("HumanoidRootPart")

BodyVelocity.Velocity = HumanoidRootPart.CFrame.rightVector * 40 + Vector3.new(0,50,0)
BodyVelocity.Parent = HumanoidRootPart
game:GetService("Debris"):AddItem(BodyVelocity, 0.25) -- delete it with debris after a while

if you are on a right wall then make it go left and if you are on a left wall then make it go right

1 Like