24221-\[GBC]_Consejos_Utiles_para_Script_GBC
#8
Crystal_ 28012
Una vez que has vencido a los rockets de la guarida estos ya no vuelven a aparecer, por lo que sus flags de peleado/no peleado pueden reutilizarse para eventos posteriores.

Tecnicamente cualquier direccion ram libre entre C000 y DFFF puede ser utilizada como flag mediante asm (sin estar necesariamente restringidas a scripts). Con el script 0E es posible llamar a asm en cualquier bank. Si por ejemplo se quisiera usar el bit menos significativo de $DEFF como flag, simplemente con:
ld a,(deff)
or a,%00000001
ld (deff),a
pone a 'true' (1) la flag, mientras que un and a,%11111110 en lugar del or la pone a 'false' (0).
Para comprobar su estado no hay mas que hacer, desde asm:
ld a,(deff)
and a,%00000001
Si la flag estaba en true (1), el and pondra la flag z (zero) a 0, mientras que si la flag estaba en false (0), la flag z se pondra a 1. De esta forma podremos manejarnos de forma diferente distinguiendo entre el contenido de la flag z.

Esto sin embargo es mas util de forma general (y en particular en asm) que en scripts, ya que por ejemplo la flag de las estructuras de los entrenadores o la flag de aparicion de los eventos estan limitadas a la tabla de bits 1.