Z tego co pamiętam, podobnie się dzieje po wspinaniu na drabinki. Musisz sprawdzać grawitacje przy podskoku gracza, jeżeli jest inna to ustawiać na nowo. Czyli
HookEvent("player_jump", SkokiGracza);
public Action:SkokiGracza(Handle:event, String:name[], bool:dontbroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
if(!IsValidClient(client))
return;
if(GetEntityGravity(client) != 0.5)
SetEntityGravity(client, 0.5);
}