move_mode = ignore_passable + ignore_passents + ignore_push;
if(my._ignore_map__00E == ON) { move_mode += IGNORE_MAPS + IGNORE_WORLD; }
c_move(my,nullvector,temp.x,move_mode);

Does it have something to do with this? Cause I'm not very good at scripting yet, still learning.