Hola gente, tengo un juego de aventura en el que el personaje va recolectando dinero a lo largo del juego.
El dinero recolectado se va acumulando en la variable global.coin.  El problema es que cada vez que cierro se borra la variable.

Me he fijado de ejemplos de como grabar la variable utilizando archivos ini pero todas son referidas a que se guarde la mejor puntuación, y lo mio es algo distinto, puesto que aquí no se compara si una puntuación es mejor, sino de simplemente guardar los datos de la variable.

¿Cómo podría hacerlo?

#1 Julio 19, 2014, 10:22:08 PM Ultima modificación: Julio 19, 2014, 10:23:54 PM por penumbra
Bueno, al final es lo mismo, lo que se guarda en los INIs, casi siempre es una variable de GM, ya sea predefinida como score, hspeed o de usuario. La única diferencia es que para guardar la mayor puntuación hay que preguntar antes si la puntuación actual es mayor que la guardada en el ini, pero el guardado es exactamente lo mismo

Una cosa que no es trivial es decidir en qué momento/evento quieres guardar la variable. Se puede en STEP, pero si no se hace bien, puede haber problemas que se reflejaría en ralentizaciones o fugas de memoria o cosas parecidas

Probablemente sea mejor usar CREATE o algún ROOM START o GAME START o GAME END para guardar la variable, eso depende de qué quieras hacer. Ojo que si eliges CREATE, y antes de crear la variable la intentas guardar, pues va a saltar un error. Y sobre el guardado, pues es lo mismo de siempre, pero sin IF, suponiendo que el ini sea
[JUEGO]
dato1 = 0


Para guardar la variable mi_variable_de_GM en el ini:

ini_open( 'datos.ini' );
ini_write_real( 'JUEGO', 'dato1', mi_variable_de_GM);
ini_close();