Hola a todos, tengo un problema que me preocupa bastante. En mi juego puedes comprar objetos , por ejemplo compro 5 caramelos, estos se guardan en la variable global caramelos en un archivo.ini , el caso es que al quitar y poner el juego los caramelos siguen ahí pero al cerrar del todo el juego (por ejemplo con el task killer) y al volver a abrirlo los caramelos no están, y esto me pasa con varias cosas más como comprar un personaje, etc...
¿Como lo puedo hacer para no perder cambios?
Bueno, yo creo que varios acá usamos la función de guardar el juego antes de cerrar.
Acá lo claro es que tu juego no se está guardando en el momento correcto y deja por fuera cambios importantes.
Algo que a mí nunca me falla es lo siguiente: en global game settings yo inactivo la opción de salir con ESC. Luego siempre uso un botón llamdo Salir. En el evento press del mouse le pongo guardar, ya sabes y después salir del juego.
Con esto no hay forma de que no te guarde todo.
Ahora podría ser que le ordenes abrir el juego en en estado más adelante de donde lo guardó.
No has dicho en qué evento guardas y abres tu juego, talvez es otra razón.
Si no resuelves aún, escribe de nuevo.
Hola kaliman verás yo el juego lo estoy haciendo para android y un botón para salir no me gusta como queda.
Yo tengo un objeto que tiene un evento Game Start con un codigo para leer unas variables de un archivo .ini como son por ejemplo los caramelos que tengo en la partida. Además tengo un load game.
Luego tengo otro evento Game End en el mismo objeto que escribe los valores de la variable de los caramelos en el archivo .ini. Además tengo un save game.
¿sabes q es lo que podría fallar? :(
Cita de: elmenda3 en Enero 29, 2015, 12:49:44 PM
pero al cerrar del todo el juego (por ejemplo con el task killer) y al volver a abrirlo los caramelos no están, y esto me pasa con varias cosas más como comprar un personaje, etc...
Cita de: elmenda3 en Enero 29, 2015, 08:59:24 PM
Luego tengo otro evento Game End en el mismo objeto que escribe los valores de la variable de los caramelos en el archivo .ini. Además tengo un save game.
No estoy seguro, pero si estás usand el task killer, quizás el evento Game End no se ejecute, ya que a lo mejor el task killer cierra abruptamente GMS sin permitir que se ejecute el evento Game end (no lo he comprobado, es una suposición)
Siempre es mejor colocar el código cuando hay una falla, ya que el fallo precisamente o está en el código o en el evento en donde se haya colocado ese código
Vale penumbra, unas imagenes donde se ve todo el codigo en lo referido al archivo.ini que uso.
No se me habían adjuntado todas las imagenes XD
¿Ya probaste a usar el botón de cierre del juego (para que se lance el evento game end)?
¿Tienes agregado el archivo ini a la lista de included files?
¿el objeto obj_sistema está colocado en la habitación donde ocurre el juego?
Si, lo he probado pero sigue igual
El archivo .ini está en Included Files
El obj_Sistema está en la pantalla principal.
Extraño, debería funcionar. Sugeriría usar el debugger para estar seguro que se ejecutan los comandos que leen/escriben el ini. En lugar de usar el evento game end para guardar, en el ini, provisionalmente usa alguna alarma cada 20 o 30 segundos, para ver si ahí guarda (o cambia de objeto, en lugar del objeto sistema, que sea el objeto jugador el que guarde)
Disculpa si no veo bien, pero en uno carga un global.contador, y en el otro no lo guarda. Te has fijado, es normal, es asi??