Trouble detecting when a player jumps

So I am trying to detect when a player jumps but it doesn’t seem reliable with the method im using. In the server script I made I used if plr.Character.Humanoid.Jump but when I use that it only detects like half second after you hold jump.

Video:

so i press space really fast and it doesnt pop but if i hold it down for just long enough it works. Any other ways to detect when they jump thats reliable?

You could try this:

Humanoid.StateChanged:Connect(function(Old, New)
	if New == Enum.HumanoidStateType.Jumping then
		print("JumpTest")
	end
end)
1 Like

I tried that and heres what happened

Im assuming that you have to be in another state before this but im not sure

I tested this part alone in a new script just jumping and it also didn’t print it out everytime I jumped.

try checking if the character is grounded instead maybe?

humanoid:GetPropertChangedSignal("FloorMaterial"):Connect(function()
	if Char.Humanoid.FloorMaterial == Enum.Material.Air then
		print("Test")
	end
end
2 Likes

omg bro it actually worked thank you ive had this issue for so long and searched so many posts but you actually figured it out thx

1 Like