Best way to make a skydiving system?

Hello developers! I am going to make a skydive system but I don’t have any ideas about how to accomplish it. Basically, my problem is that how to accurately detect if the player is falling from the sky. That’s my problem, I have a solution which is Humanoid.StateChanged, and the state Enum.HumanoidStateType.Freefall, but here comes the problem, that can also mean the humanoid’s state will be set to Freefall even when the player is jumping.

Solution to get around it:

Will I have to check if the humanoid’s state is Freefall for more than 1 second?

I’d appreciate any help!! Thanks for taking your time to read this post. Have a nice day/night. :slight_smile:

Cheers,
ChainsawRBLX

One thing you could try is listening for the Freefall state change, and after a short time raycast towards the ground with an appropriately-long distance. If that raycast fails to collide with anything, you could determine that the player is in a “skydive-able” state.

Also, depending on how you implement your structure, you could use the context that the player is in instead. For instance, if a player should only reasonably be able to skydive after jumping out of a plane, use the exiting of the plane as the trigger to enter your skydive state.

2 Likes

I plan on making the skydiving system free to skydive. So yeah, the raycast method would work. I didn’t think of that. Thank you, I am going to mark your post as the solution. Have a nice day/night :love_you_gesture:

1 Like