In reply to this, for handling the event on the server, I’ve set up a very simple couple of scripts.
The LocalScript:
local Hum = script.Parent:WaitForChild("Humanoid")
local event = game:GetService("ReplicatedStorage"):WaitForChild("RemoteEvent")
Hum.StateChanged:Connect(function(old, new)
if old == Enum.HumanoidStateType.Freefall and new == Enum.HumanoidStateType.Landed then
event:FireServer()
end
end)
And on the server Script:
local event = game:GetService("ReplicatedStorage"):WaitForChild("RemoteEvent")
event.OnServerEvent:Connect(function(player)
print(player, "landed")
end)