What do you mean by 'duplicate'? Can't believe that it doesn't work because there are probably a lot of projects with a movement code similar to this, where I never heard of that it doesn't work:
Code:
c_move(me,vector(key_w - key_s,0,0),vector(0,0,-dist_down),IGNORE_PASSABLE | GLIDE);