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 3 years ago
Edited 3 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.

local character = script.Parent

local JUMP_DEBOUNCE = 5

local root = character:WaitForChild("HumanoidRootPart")
local humanoid = character:WaitForChild("Humanoid")

local isJumping = root.Anchored

humanoid.StateChanged:Connect(function(oldState, newState)
    if newState == Enum.HumanoidStateType.Jumping then
        if not isJumping then
            isJumping = true
            humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
        end
    elseif newState == Enum.HumanoidStateType.Landed then
        if isJumping then
            isJumping = false
            wait(JUMP_DEBOUNCE)
            humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
        end
    end
end)

1 answer

Log in to vote
1
Answered by 3 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

local character = script.Parent

local JUMP_DEBOUNCE = 5

local root = character:WaitForChild("HumanoidRootPart")
local humanoid = character:WaitForChild("Humanoid")

local isJumping = root.Anchored

humanoid.StateChanged:Connect(function(oldState, newState)
    if newState == Enum.HumanoidStateType.Jumping then
        if isJumping then
            root.Anchored = false
        end
    elseif newState == Enum.HumanoidStateType.Landed then
        if not isJumping then
            wait(JUMP_DEBOUNCE)
            root.Anchored = true
            humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
        end
    end
end)

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

Ad

Answer this question