Hola paco, mira lo delas Flags no es como tu mensionas del todo.
Una Flag es un valor que acciona o impide el desarrollo de un Script (funsion) en el juego. Dichas Flags no necesariamente son activadas por Mystery Gift o algún elemento externo al juego.
En realidad todo el tiempo el mismo juego acciona o desabilita Flags a todo momento, sobre todo en el desarrollo del juego.
Como es esto?, facil. El juego tiene programado que Flags se accionarán al momento de que realices ciertas cosas en el juego, por ejemplo cuando derrotas a un entrenador en alguna Ruta, se activa su Flags correspondiente que indicará que aunque pases otra vez frente a ese entrenador, ya no te volverá a retar. O cuando derrotas obtienes la Medalla de hielo se activá otra Flag que activará el hecho de que el Prof. ELM te llame al salir de GYM y al mismo tiempo tambien se ejecutarán los eventos en Goldenrod City con el Team Rocket.
Como tal en todos esos casos los Eventos o Scripts estan checando si la Flag que los manda ejecutar esta activada o desactivada para poderse ejecutar.
Sin embargo hay Flags que obiamente solo se activan por medios ajenos al juego, como las de Mystery Gift, donde al recibir un regalo, el juego activa una Flag para hacer presente al hombre del segundo piso del PokemonCenter, mas aparte el Mytstery Gift activará un valor para indicar el Item a recibir.
Lo mismo pasa con el evento de la enfermera en el PC y el PCC. Todo el tiempo y cada vez que pasas en las coordenadas de los Warps de salida, el juego primero verifica si la Flag que ejecuta el Script que está programado en ese sitio, esta o no activada, si no esta activada entonces el personaje caminá sobre el lugar de forma normal, pero si esta activada entonces el Script se ejecuta con el evento de la enfermera como esta programado.
Una vez que te entregan la GS Ball el mismo Script activa otras 2 Flags, una que impide que el mismo Script de la enfermera se repita aunque esté activada la Flag obtenida por Movil Adapter y asi no se vuelva a ejecutar el evento, y otra que activa el evento con Kurt para que reciba la GS Ball. Este ultima es la Flag que activamos con el código 014089DA o que activamos desde que Kurt nos la regresa al día siguiente que es 01C089DA, pues al transcurso de 1 día el 40 pasa a ser C0. Y cuando nos regresa la GS Ball se activa otra Flag para que el Ilex Forest active su funsion de la presencia de Celebi y es la misma Flag que busca esté o no activada la chica que nos bloquea el paso en el Ilex Forest.
En GBA se usan mas códigos de Flags, como el de los tickets de eventos, donde el 1er código nos hace aparecer el Ticket en la PC y el segundo es en realidad la Flag que activa el evento que hace uso del Ticket, por eso aquellos que se teletransportan a Sourthen Island no pueden hacer nada, por que esa isla en especial requiere que esté activada la Flag para poder capturar algo ahi.
En el caso de estos eventos de la enfermera y el Egg Ticket solo se podian activar de forma normal en la version japonesa por medio del uso del Movil Adapter y especificamente en el de la enfermera al llamar al numero promocional que Nintendo uso para que activara en el juego dicha Flag.
En las versiones Americanas y Europeas me imagino que programaron este evento pero adaptado al PC por si llegaban a hacer un evento donde activaran directamente la Flag en el juego por medio de dispositivos especiales de nintendo. Pero como siempre a pasado, visualizaron que era mas practico y probechoso para la mayoria el hacer un evento donde descargaran al pokemon a G/S/C en la party, que activar el evento programado de 1 sola version. Lo mismo hicieron en GBA, en vez de activar solo el Old Sea Map de Emerald, distribuyeron Mews para R/S/E/FR/LG.
Espero se halla entendido el punto de que es una Flag o Bandera.
Por otro lado, lo de los códigos que me pediste, no cuento con ellos, pero ya casi no busco en internet pues por lo regular ya solo uso códigos que hago en el momento, asi que no me tarde en hacer los que mecesitas.
Pokemon Crystal Modificar Poke de Caja 1
Cantidad de pokes almacenados en la Caja:
91XX10AD (de 00 a 14)
Identidades de los pokes almacenados en Caja 1:
91XX11AD
hasta
91XX24AD [desde 01 (Bulbasaur) hasta FB (Celebi)]
Fin de Pokes almacenados en Caja 1
91FF25AD (dudo que lo usen, siempre debe ser FF, aunque supongo que en una caja Glitch este valor esta mal, o en su defecto lo esta el de la cantidad de pokes que hay en la caja, tendria que verlo en una caja Glitch y de momento tiene rato que no hago eso)
Los siguientes son los valores que modifican cada aspecto del pokemon, igual que los de la Party, si se dan cuenta se repite el de la identidad del pokemon (que es el que determina la especie del pokemon) si este valor es diferente entre la cabecera de la caja y el de la estructura del pokemon, en un intercambio dira que el pokemon es RARO o ANORMAL y cancela la transferencia, por eso es importante que ambos concuerden.
Ademas aqui les dejo la pagina de la estructura de datos de pokes en GBC:
http://bulbapedia.bulbagarden.net/wiki/ ... in_the_GBC ,creo yo que no te será dificil entender, pero aqui pongo una guia de Bytes:
byte = 1 Byte el cual consta de 2 digitos hexadecimales (desde 00 hasta FF) 1 solo código de GS
word = 2 Bytes el cual consta de 4 digitos hexadecimales (desde 00 00 hasta FF FF) 2 códigos de GS
3 bytes = 3 Bytes que constan de 6 digitos hexadecimales (desde 00 00 00 hasta FF FF FF) 3 códigos de GS
10 bytes = 10 Bytes que constan de 20 digitos hexadecimales (no hace falta explicar) 10 códigos de GS
Modificar el 1er Poke de la Caja 1:
Comienza desde 91XX26AD y termina en 91XX45AD (un poke de caja llega hasta el Byte de Status)
Modificar el 2do Poke de la Caja 2:
Comienza desde 91XX46AD y termina en 91XX65AD (y asi susesibamente)
No puse que hace cada código desde el 1er Byte por que creo yo que al ver la estructura de la pagina que te di lo entenderas todo.
Espero te sirva y nos estamos viendo. Bye