Я нашел способ решить эту проблему - сохранить путь в конце комнаты, а затем восстановить его из той же точки, в начале комнаты.В конце комнаты:
if(is_walking) { // only do this if the object is currently walking
path_end();
}
В начале комнаты:
if(is_walking) { // only do this if the player is currently walking
if (mp_grid_path(my_grid, my_path, x, y, dest_x, dest_y, 1)) {
path_start(path, my_speed, path_action_stop, false);
} else {
show_error("no path!!!", true); // if there is no path at this point, we have an error - because it existed before we changed the rooms, so it should exist now
}
}
Надеюсь, это поможет любому, кто застрянет на этом в будущем.