Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How to anchor the player when they land after jumping?

Asked by 4 years ago
Edited 4 years ago

As the titles says Im trying to make it so the player becomes anchored after they land from a jump. Instead the script only has a jump cooldown and does not anchor, I don't know where I went wrong. Here is my failed attempt.

01local character = script.Parent
02 
03local JUMP_DEBOUNCE = 5
04 
05local root = character:WaitForChild("HumanoidRootPart")
06local humanoid = character:WaitForChild("Humanoid")
07 
08local isJumping = root.Anchored
09 
10humanoid.StateChanged:Connect(function(oldState, newState)
11    if newState == Enum.HumanoidStateType.Jumping then
12        if not isJumping then
13            isJumping = true
14            humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
15        end
View all 23 lines...

1 answer

Log in to vote
1
Answered by 4 years ago

You did a simple mistake. You must anchor it after it lands not when it jumps Here is the script that worked for me

01local character = script.Parent
02 
03local JUMP_DEBOUNCE = 5
04 
05local root = character:WaitForChild("HumanoidRootPart")
06local humanoid = character:WaitForChild("Humanoid")
07 
08local isJumping = root.Anchored
09 
10humanoid.StateChanged:Connect(function(oldState, newState)
11    if newState == Enum.HumanoidStateType.Jumping then
12        if isJumping then
13            root.Anchored = false
14        end
15    elseif newState == Enum.HumanoidStateType.Landed then
View all 22 lines...

When you anchor the root part you cannot walk, jump, and run. It's like platformstand.

Ad

Answer this question