hook cmd_start and check whether a user is spamming +forward by using get_gametime() and ( pev_button & IN_FORWARD && !(pev_oldbuttons & IN_FORWARD) ). then simply add velocity to the already existing one untill a given limit.
his function is for bhopping, bhopping != moving on ground. also, bhopping slowdown is about pev_iuser2, ground speed depends on pev_maxspeed.