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
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.

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 :-[
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


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.

#4 Febrero 20, 2013, 05:30:21 PM Ultima modificación: Febrero 20, 2013, 05:43:35 PM por kaliman777
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.
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.

exelennte,muy bueno,deberían fijarlo al tema porque hay muchos que todavía no conocen la funcion
y se confunden
CREADOR DE JUEGOS GM.


- Como hacer preguntas inteligentes
- Reglamento General

HOLA COMUNIDAD,HOLA A TODOS




uso game maker 8 pro 8) y game maker studio Master Collection

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)