Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: pucara en Diciembre 24, 2012, 07:45:27 PM

Título: Guardar y recuperar variables
Publicado por: pucara en Diciembre 24, 2012, 07:45:27 PM
Hola Amgos

Necesito saber cómo poder guardar y luego recuperar varias variables globales, sin tener que recurrir a guardar el juego completo. He visto algunos hilos que hablan de guardar en un .ini, pero no está claro y tampoco lo hice nunca, con lo cual agradecería cualquier ayuda con algún ejemplo.

Muchas gracias de antemano.
Título: Re:Guardar y recuperar variables
Publicado por: elviskelley en Diciembre 25, 2012, 01:54:43 AM
creando un .ini y guardando los datos en ese documento y luego los cargas cuando los necesites.
Título: Re:Guardar y recuperar variables
Publicado por: pucara en Diciembre 25, 2012, 12:45:23 PM
Gracias elvis, pero no me aclaras nada. ¿Cómo guardo/cargo un .ini?
Por cierto, me pasé por tu tienda de libros y está muy lograda, tienes varias obras interesantes, te felicito.

Animarse a contestar, seremos amigos !!  8)
Título: Re:Guardar y recuperar variables
Publicado por: elviskelley en Diciembre 25, 2012, 01:27:22 PM
directo del manual.

El juego puede ser que desee leer algunos datos de archivos (por ejemplo, los niveles) y guardar ciertos ajustes, como las opciones, la puntuación, los logros y el progreso en el juego. Para leer los datos fijos de los archivos que se pueden utilizar archivos de texto. (Mejor no utilizar los archivos binarios.) Para agregar los archivos a su juego que puede utilizar los recursos de los archivos incluidos en el árbol de recursos en la parte izquierda de la pantalla. Haga clic derecho sobre él y seleccione Crear archivo incluido para agregar el archivo.
Para abrir el archivo usted debe proporcionar la ruta completa, no una ruta relativa. Así que para abrir el archivo levels1.txt, utilice algo como:
var fname,f;
fname = working_directory+"\levels1.txt";
if (!file_exists(fname)) exit;
f = file_text_open_read(fname);
Mejor poner sólo un único valor (real o texto) en cada línea. Así que su código tendrá una apariencia típica:
level_description = file_text_read_string(f); file_text_readln(f);
level_kind = file_text_read_real(f); file_text_readln(f);
No utilice reales con una parte decimal, ya que puede haber algún problema si el separador decimal debe ser una coma o un punto. En lugar mejor sólo utilizar números enteros y dividir, por ejemplo, en 1000 en el código si necesita fracciones.
Para cargar y guardar el estado del juego, tendrá que crear su propio mecanismo, almacenando únicamente los valores más importantes. Para guardar estos datos no utiliza archivos de texto pero el uso de los archivos ini lugar. Ini son extremadamente fáciles de usar y proporcionan una gran manera de almacenar la configuración, los resultados, los logros, los avances en el juego, etc Aquí está un ejemplo típico del uso de un archivo ini para guardar las opciones:
{
ini_open(working_directory + '\Settings.ini');
ini_write_real('Option','Music',option_music);
ini_write_real('Option','Sounds',option_sounds);
ini_close();
}
Para cargar las opciones que luego usaría el siguiente código:{
ini_open(working_directory + '\Settings.ini');
option_music = ini_read_real('Option','Music',true);
option_sounds = ini_read_real('Option','Sounds',true);
ini_close();
}
Título: Re:Guardar y recuperar variables
Publicado por: pucara en Diciembre 25, 2012, 02:29:12 PM
Muchas gracias por tu ayuda elvis, ya pude guardar y cargar 1 variable, haciendo un scriptito  8)

Ahora debo probar con las 20 variables que necesito, es para un sistema de logros, si me funciona lo pondré en ejemplos, ya que la idea es sencilla y muy útil, sólo  me faltaba este "pequeño" detalle.

Saludos.