Hola a todos y todas:
Mi pregunta es de dos partes muy relacionadas:
a) Cómo hago para que mi juego se guarde por asimismo cada vez que el SCORE cambie (suba o baje).
b) Cómo hago que al abrir un game se abra con el ultimo score que tenía cuando lo cerré.
Gracias
a) Puedes usar una variable auxiliar, compararla con el SCORE y si cambia (cumpliendo así la condición) ejecutas la acción de guardar, para lo cual estaría bien un script que te guarde un INI
b) Lo dicho, un *.ini es lo más adecuado, ya que sólo vas a guardar una sola variable, no necesitas dll's y es bastánte fácil.
Espero haberte sido de ayuda 8)
Era una sola pregunta por vez, pero con respecto a lo de saber cuando se cambia el Score yo simplemente guardaria el juego cada vez que cambio el score. O sea si en algun lado tenés "score += 5" inmediatamente escribis "game_save()".
Así te ahorras de chequear constantemente si una variable cambia, lo malo es que vas a tener que revisar el código de cada vez que modificas Score
No se si se entendio :-[
Si no estás usando la tabla de highscores puedes evitarte problemas utilizándola para guardar el score entre sesiones.
Cuando cargas el juego (evento game start) y/o quieras cargar el score anterior usa:
[gml]score = highscore_value(1)[/gml]
Cuando quieres guardar el score y/o cierres el juego (evento game end) usa:
[gml]highscore_clear()
highscore_add("",score)[/gml]
Si no estás usando la variable interna score simplemente cámbiala en el código por cualquiera que estés usando.
Gracias a todos, uniendo sus ideas, logré hacer esto y funka de maravilla:
CREATE DEL OBJ CONTROLADOR DEL SCORE:
game start
score = 0;
global.viejo_score = 0;
if(file_exists(working_directory+ "\autosave.sav"){
game_load(working_directory+ "\autosave.sav");
exit;
}
// bla bla otros códigos míos
Para autoguardar (Lo puse en STEP del mismo objeto):
if(score > global.viejo_score){
global.viejo_score = score;
game_save(working_directory+ "\autosave.sav");
}
Así cada vez que abro mi juego lo encuentro con el último SCORE donde lo dejé.
Gracias a todos.
exelennte,muy bueno,deberían fijarlo al tema porque hay muchos que todavía no conocen la funcion
y se confunden
usa un archivo ini te dejo un ejemplo adjunto.
Me extraña, ya habia respondido a una pregunta igual :-X
Killer Reapareciste. (No estaba muerto, estaba de parranda jajaja)