BodyVelocity making players stick to walls

Hi, For a while this bug keeps happening in my game.
i have been trying to replicate evades physics system with trimping and stuff.
its gone pretty well, but then this bug showed up.
if you run into a wall and jump, if your at a certain angle the player will “stick” to the wall,
ive tried raycasting and all that stuff, but nothing works.

ive tried alot to try fix it but nothing really works, any help would be appreciated, thank you.

code:


local lplr = game:GetService("Players").LocalPlayer
local char = lplr.Character or lplr.CharacterAdded:Wait()
local hrp = char:WaitForChild("HumanoidRootPart")
local bv = Instance.new("BodyVelocity")
local  state = nil
local  hum = char:WaitForChild("Humanoid")
local  db = false
local jumpdb = 10
bv.Parent = hrp
local function phys()
	state = hum:GetState()
	if state ~= Enum.HumanoidStateType.Freefall then
		bv.MaxForce = Vector3.new(0, 0, 0)
		bv.Velocity = hrp.Velocity
		db = false
		return
	end
	bv.MaxForce = Vector3.new(99999, 1000, 99999)
	if not db then
		bv.Velocity = bv.Velocity * 1.3
		db = true
	end

end
game:GetService("RunService").RenderStepped:Connect(function()
	phys()
	jumpdb = math.clamp(jumpdb - 1, 0, 10)
end)

hum.Died:Connect(function()
	bv:Destroy()
end)




``

The reason why you stick to the wall is because the body mover stays active. A solution would be to disable the body mover after a certain peroid of time.

task.delay(time_delay, function()
bodyMover.MaxForce(0,0,0)
end)

Note
Body velocity and other older body movers are deprecated. I recommend looking into VectorForce VectorForce | Documentation - Roblox Creator Hub