Pues mi pregunta es como puedo guardar los progresos de un juego.
Me temo que no hay una forma inmediata de momento... ni creo que sea viable, ya que cada juego puede guardar datos distintos.
Deberías crear un fichero y almacenar en él toda la información que quieras guardar. Si das más detalles de cómo es tu juego, podríamos darte un poco más de ayuda :)
Pues lo que me gustaria guardar seria algo basico, como la vida, o la posicion del protagonista y enemigos,
lo que querría saber es si hay alguna funcion para acceder a los txt, y como luego se puede usar eso.
puedes poner todo en una estructura y usar save y load
Entonces, lo que te dice Splinter: te creas una estructura para guardar los datos que quieras.
Si por ejemplo lo que quieres cargar/guardar lo tienes almacenado en las variables puntos_personaje y vidas_personaje puedes hacer (dentro de GLOBAL):
[code language="bennu"]STRUCT savedata
int vidas;
int puntos;
END[/code]
Para guardar:
[code language="bennu"]savedata.vidas = vidas_personaje;
savedata.puntos = puntos_personaje;
save("nombre_fichero", savedata);[/code]
Para cargar:
[code language="bennu"]
IF (file_exists("nombre_fichero")
load("nombre_fichero", savedata);
vidas_personaje = savedata.vidas;
puntos_personaje = savedata.puntos;
ELSE
say("Error: El fichero no existe");
END[/code]
El mundo de los ficheros es algo apasionante, es fácil de entender, pero largo de dominar. No sólo por los tipos de datos, y que existen tres formas distintas de guardar datos (creo que splinter añadió una cuarta en Bennu), sino porque despues te pones a crearte tus formatos propios, intentas cargar otros...
Nivel fácil: save, load.
Nivel medio: fopen, fgets, fputs, fclose.
Nivel difícil: fopen, fread, fwrite, fseek, fclose.
Nivel extra: ... pregunta a Splinter ^^U
Nivel experto: intenta cargar un BMP, un WAV...
Nivel p*** amo: cargar un GIF (animado) :D
Gracias por la ayuda, con esto me queda claro.
Lo he probado y me da un error, en
savedata.vidas = vidas_personaje;
savedata.puntos = puntos_personaje;
save("nombre_fichero", savedata);
me dice Incorrect numbers of Parameters
Function save min_Params: 0
No creo que sea ese el problema, pero: ¿has incluido mod_file al principio (después de la primera línea PROGRAM)?
[code language="bennu"]IMPORT "mod_file";[/code]
Si nos escribes el código igual podemos ayudarte un poco mejor a localizar el error
Vale ese era el fallo, ahora todo va perfecto.
gacias por todo