Reducing speed upon landing and disabling jump for a some time

I’m looking to reduce the player’s speed upon landing (so it is more realistic), making it harder to start up. I also wanted to disable jumping for about 0.5 seconds or so. As you can probably tell I’m a beginner but I figured that this should happen upon GM:OnPlayerHitGround(). Any ideas how can I accomplish this?

That’s the correct hook to use for something like this and you would use the Player:Set*Speed functions

To truly limit them you should set all of the speeds (Run/Walk/Duck) to a lower value, there are functions for each of those, respectively.

To limit their jump simply use Player:SetJumpPower()

An example would be something like
[lua]
hook.Add(“OnPlayerHitGround”, “LimitSpeedOnLanding”, function(ply, water, float, fallSpeed)
ply:SetRunSpeed(200)
ply:SetWalkSpeed(100)
timer.Add(.5, function(ply)
if not ply or not ply:Alive() then return end --So you don’t get a timer error if they die in that .5 second
ply:SetRunSpeed(500)
ply:SetWalkSpeed(250)
end)
end)
[/lua]