Antes de nada esto va en dudas, supongo que será de GBA.
Bien, tu duda es muy sencilla, solo tienes que usar un flag.
Flag: es como una especie de interruptor, puede estar apagado o encendido, está analogía sirve para entender su función. Básicamente hace que el script varie según su estado.
Hay dos valores que puede tomar, 0x0 que equivale a desactivado y 0x1 que equivale a activado. Hay tres comandos que tienen que ver con las flags.
checkflag 0x(número de la flag) que sirve para saber si está encendida o no
Después de este suele ir una condición o dos, que sería
if 0x(cero o uno dependiendo lo que quieras) goto (también puedes usar call) @(el pointer al que vas si se cumple la condición)
setflag 0x(número de la flag) que sirve para darle el valor uno
clearflag 0x(número de la flag) para darle el cero
Las flags son globales, por lo tanto si las activas en un script se quedarán así hasta que la desactives. Por lo tanto tienes que hacer dos scripts
Primero, que seria el que te da el poke
Código:
#dynamic 0x800000
#org @inicio
lock
faceplayer
msgbox 0x6 @text
givepokemon (defines los parámetros)
setflag 0x(número de la flag)
release
end
#org @text
=Toma el poke
Si quieres que solo te de el poke una vez usa OTRA flag para eso
Y este el que no te deja pasar hasta que recibes el Pokémon
Código:
#dynamic 0x800000
#org @inicio
lock
faceplayer
checkflag 0x(número que has puesto antes)
if 0x1 goto @si
msgbox 0x6 @textno
release
end
#org @si
(Continúa como te de la gana, aquí pones lo que quieras que pase después de recibir el poke)
Y después defines los textos y eso
En el FR USA se pueden usar de la 200 a la 2FF si no recuerdo mal
En cuanto a lo del zorua usa el gen 3 tools o algo así para mirar su número en la dex nacional, recueda que tienes que pononerlo en hexadecimal en el script
Espero haberte ayudado, cuanquier duda que te haya quedado no dudes en preguntarme en mi perfil