![Riendo :lol:](./images/smilies/icon_lol.gif)
$this->bbcode_second_pass_code('', 'Check Points
------------
Se trata de definir "check points" en el juego. Se colocan como hotspots de
tipo 6. Cuando el jugador los toca, se almacena su estado actual:
- Valor de todos los flags. (si aplica)
- Posición. (n_pant, tile X, tile Y)
- Tiempo. (si aplica)
- Munición. (si aplica)
Cuando esto ocurre, cuando se va a iniciar una nueva partida se da la opción
entre empezar de nuevo o continuar desde el último check point.
Nótese que no es posible almacenar llaves y objetos, ya que esto implicaría
hacer copias en memoria de estructuras grandes. Esta funcionalidad está más
pensada para juegos en los que la lógica venga regida por un script.
También se puede configurar el motor para que la vuelta al check point se de
siempre que perdamos una vida.
#define ENABLE_CHECKPOINTS // Activa la funcionalidad.
#define CP_RESET_WHEN_DYING // Restaura al jugador siempre que muere.
#define CP_RESET_ALSO_FLAGS // y además restaura los flags.
El comportamiento por defecto es que no pase nada al morir, y cuando acabe la
partida podremos continuar desde el último checkpoint.
Si se activa CP_RESET_WHEN_DYING, además, cada vez que se pierda una vida se
trasladará al jugador al último checkpoint.
Si se activa CP_RESET_ALSO_VALUES, además de lo anterior, se restaurará el
valor de los flags.')
Pues eso, a var si lo vamos puliendo/ampliando y tal. En principio, una vez que se salve la partida (tocando un hotspot tipo 6), la proxima vez que se inicie el juego debería salir un nuevo menú MUY SENCILLO para poder empezar desde el principio o continuar. En principio dejaremos ese menú sencillo y el que quiera petarlo más que lo haga.