Run it
Copy the script and paste it into your executor.
local plr = game.Players.LocalPlayer
local char = plr.Character or plr.CharacterAdded:Wait()
local hum = char:WaitForChild("Humanoid")
local hrp = char:WaitForChild()
baseSpeed =
jumpBoost =
speedCap =
decelRate =
lowFriction =
currSpeed = baseSpeed
origProps = hrp.CustomPhysicalProperties PhysicalProperties.(, , , , )
slipProps = PhysicalProperties.(origProps.Density, lowFriction, origProps.Elasticity, , origProps.ElasticityWeight)
lastHzSpeed =
lastDir = .(, , )
sliding =
hum.Jumping:(()
currSpeed = .(currSpeed + jumpBoost, speedCap)
hum.WalkSpeed = currSpeed
sliding =
hrp.CustomPhysicalProperties = origProps
)
:().Heartbeat:((delta)
hum.MoveDirection.Magnitude >
lastDir = hum.MoveDirection.Unit
sliding =
hrp.CustomPhysicalProperties = origProps
hzSpeedNow = (hrp.Velocity * .(, , )).Magnitude
hzSpeedNow < lastHzSpeed * lastHzSpeed > baseSpeed *
currSpeed = baseSpeed
hum.WalkSpeed = baseSpeed
sliding =
hrp.CustomPhysicalProperties = origProps
lastHzSpeed = hzSpeedNow
hum.MoveDirection.Magnitude == currSpeed > baseSpeed
sliding
sliding =
hrp.CustomPhysicalProperties = slipProps
hrp.Velocity = .(lastDir.X * currSpeed, hrp.Velocity.Y, lastDir.Z * currSpeed)
currSpeed = .(baseSpeed, currSpeed - decelRate * delta)
hum.WalkSpeed = currSpeed
velHz = hrp.Velocity * .(, , )
velHz.Magnitude > baseSpeed
hrp.Velocity = .(
lastDir.X * currSpeed,
hrp.Velocity.Y,
lastDir.Z * currSpeed
)
sliding =
hrp.CustomPhysicalProperties = origProps
hum.WalkSpeed = baseSpeed
currSpeed = baseSpeed
hum.MoveDirection.Magnitude ==
currSpeed = baseSpeed
hum.WalkSpeed = baseSpeed
sliding =
hrp.CustomPhysicalProperties = origProps
hum.WalkSpeed = currSpeed
)
Universal