Try on your own, starting simple. Just applying a z motion !AFTER!(in a separate call) a forward or side motion.
Then, limit the feet height, as your model will probably sink a little...and then build on that base what ever you want.
I'm saying this in general, because there are many ways to limit the feet and to implement jumping. I am limiting the z height of the feet with c_trace calls downward in my game...
Basically, its a struggle to get a bug-free FPS movement with jumping and proper collision. But there are numerous ways you can try and build it.
PS.: Tip - always try to avoid glide as much as you can. Use it only when you really need it. It uses up to 6? c_move calls to make your entity glide, it produces seemingly random results every time and its a nightmare when you come to the MP programming for movement and synchronization
For gravity, it'll be too advanced, but you can always try to implement gliding on your own along a surface normal...But thats for when you have the proper gravity method already.