Verán, como sabréis, la versión 2.3 de GMS tiene un menú llamado Room Order.
Es en este room donde debes determinar en que orden se organizaran las rooms.
Si bien en esta sala se indica en que room empezará el juego y como avanzarás al usar room_goto_next() y room_goto_previous(), cuando utilzo goto_goto() no me lleva al room que debería. Parece ser que game maker organiza tambien los room con un id interno, y para ciertos comandos, como el citado o room++ y room-- el juego te lleva a otra room siguiendo ese id interno, en lugar del orden que hayas indicado en Room Orden.
Adjunto un proyecto con el que hice unas pruebas para que lo comprobéis.
He visto quejas de este estilo en algunas páginas en inglés, por lo que igual es esto un bug que debe yoyogames parchear.
Aun así, agradecería si alguien sabe como solucionar esto para que los rooms se organicen como realmente deseo. ¿Hay alguna forma de modificar dicho id interno de los rooms?

¿Cómo utilizas la función room_goto?

No he usado GMS2, pero parece que a los recursos se les asignan ids de forma similar a otras versiones de GM. La primera room que se crea en el editor tiene el id 0, la segunda el id 1, la tercera el id 2, etc. Si se borra una room, su id queda sin utilizar. Si se crea otra room, la numeración sigue incrementando y no utiliza el id que estaba disponible.
room++ no es equivalente a room_goto_next(), tampoco es recomendable usar room++ o room-- porque puede llegar a un id que no se utiliza.
La única forma de controlar el id de las rooms es planear con anticipación en qué orden se van a crear en el editor.
También debe ser posible editar los archivos XML que genera GMS y cambiar los ids ahí, pero pueden surgir errores inesperados.

#2 Septiembre 22, 2020, 08:26:44 PM Ultima modificación: Septiembre 22, 2020, 08:32:08 PM por Marth
Pues en anteriores versiones de GM no me pasaban estas cosas.
Lo de que dices de borrar una room es extraño. Debería hacer alguna prueba.

Edito: He probado a eliminar un room y crear otro, pero no ha pasado que se genere otra ID para la room, sino que se puso como la nueva room con ID=0.