Hm. This code placing the entity onto the ground may stop it from moving up the steps. Try commenting it out and place a "-1*time_step" into the c_move function for the absolute z value. example:
vec_set(temp,vector(my_moveSpeed*time_step,my_strafe*time_step,0));
c_move(my,temp,vector(0,0,-time_step),GLIDE); //glide is important
Just for testing purpose. And comment out all of this:
trace1 = c_trace(vector(my.x,my.y,my.z), vector(my.x+20,my.y,my.z), USE_BOX);
trace2 = c_trace(vector(my.x,my.y,my.z), vector(my.x+20,my.y,my.z+100), USE_BOX);
if(trace1 > 0 && trace2 = 0)
my.z += 100;
just to make sure it works this way, then you can go from there...?
Edit: and if it still doesn't work, try replacing the vector(0,0,-time_step) with "nullvector" again.
Last edited by Germanunkol; 08/08/09 09:19.