I have done something like this with two traces (c_trace) to detect the blocks. One of them in the center of the player model and one in the height of the shoulders.
If the trace on the center of the model is hit something (but you is null) then you have a level block before the player model and if the second trace is hit nothing then you could climb it up or jump over it.
To make this accurate you could use more then two traces. My project was 2D and two traces was enough for this.


Evil Blood (v. 0.52) RPG
Commport.de (Social Network Community)