CitarHola a toda la Comunidad de Game Maker, ¿Como estan? :DBien, gracias por preguntar, y usted? (?
Vamos, el problema está en cómo se está implementando el Load y el Save.
Lo que hace el código del Save, así como está, es guardar el indice del room "SeleccionarNivel". Entonces no importa cuántas veces cargues tu juego, Load siempre irá hacia "SeleccionarNivel". Lo cual no nos aporta nada.
Es decir, estás guardando el indice del room, y no los datos que podría contener dicho room.
Entonces si quisieras que se guarden datos más significativos, por ejemplo, la cantidad de niveles desbloqueados, podrías usar un contador que vaya desde 1 a 20 (siendo 20 la cantidad de niveles máxima en tu juego). Luego podrías guardar dicho valor en el archivo de texto para luego leerlo con el Load.
[GML]
if (file_exists("Save.sav"))
file_delete("Save.sav");
var SaveFile = file_text_open_write("Save.sav");
file_text_write_real(SaveFile,cantidad_de_niveles_desbloqueados);
file_text_close(SaveFile);
[/GML]
Pero claro, el problema radicaría en que cualquiera podría editar el archivo y cambiar el número para adelantarse algunos niveles. Bueno, eso ya puede solucionarse codificando dicho numero con cualquier forma que se te ocurra.
Saludos!