local function doJump(actionName, inputState)
if actionName == "JUMP_ACTION" and inputState == Enum.UserInputState.Begin and humanoid:GetState() ~= Enum.HumanoidStateType.Ragdoll then
local jumpImpulse = Vector3.new(0, 750, 0) -- Y is jump power. Change as you see fit.
controllerManager.RootPart:ApplyImpulse(jumpImpulse)
humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
local floor = controllerManager.GroundSensor.SensedPart
if floor then -- Character's on the floor?
floor:ApplyImpulseAtPosition(-jumpImpulse, controllerManager.GroundSensor.HitNormal) -- Equal and opposite force
end
end
end
Hello! When I was coding landing animations for my game, I used Humanoid.StateChanged. In particular, I checked for when the oldState was Freefall and the newState was Running. Then I simply changed the state to Landed.
Wonderful tutorial! I haven’t found alot like this in a while. I was just wondering:
Somebody already said how to detect player deaths and such previously on this thread. How can I respawn the player and stop the player from moving/controlling the character after death?