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. 
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 
1 Like