Desaparecer un mini

Como hacer desaparecer un mini sin caer en rapto ni homicidio.

En esta guía se explica como hacer que en un script uno o varios minis desaparezcan,
se desvanezcan…
dejen de estar en pantalla, vaya.

Sin embargo para hacer esto hay tres niveles distintos y cada uno de estos tres “tipos de desaparición” tiene una función.

Las funciones por sí solas y sin mezclar son:

Rhyhorn rosa
  1. 1 Invisibilizar.
    Sólo hace que el mini sea transparente, o mejor dicho, invisible. Pero en realidad sigue estando y aunque no se vea, por ejemplo, puedes seguir “hablando” con él y si intentas atravesar donde está, te chocarás con el mini.
    Si sólo lo has hecho invisible puedes hacer luego que vuelva a ser visible otra vez.
  2. 2 Desvanecer.
    De repente el mini se desvanece, deja de estar. Se podría decir que es la verdadera desaparición. Pero tiene un problema: en cuanto termine de ejecutarse el script y des un paso, el mini vuelve a aparecer.
  3. 3 Desactivar.
    El mini se desactiva. Los minis normales (sin flag asignada) siempre están activos. Cuando desactivas un mini desaparece, aunque no inmediatamente. Por ejemplo, si desactivas un mini puedes seguir viéndolo e interactuar con él, sin embargo si después de desactivado te alejas de él hasta que no se vea en pantalla y luego vuelves, ya no estará: habrá desaparecido.

Si lo has desactivado y quieres que vuelva lo puedes reactivar perfectamente.

Ejemplos:

Cada uno tiene una utilidad distinta, pero para hacer un script puedes elegir las funciones que necesites. Ahora vamos a poner ejemplos de lo que se puede hacer y luego explicaremos como hacerlo.

  • Por ejemplo si quieres que al hablar con un Diglett desaparezca metiéndose en un hoyo y reaparezca saliendo por otro ►tienes que► invisibilizarlo, siendo invisible moverlo al otro hoyo y cuando esté allí volverlo a visibilizar.
  • Si quisieses que un Gastly te haga una broma y desaparezca un momento y cuando intentes acercarte vuelva a aparecer ►solo tienes que► desvanecerlo, pues acabado el script, al moverte volverá a aparecer.
  • Por último para que un personaje te diga “en cuanto salgas de esta habitación nunca más volveré” y además lo haga ►tienes que► desactivarlo, así seguirá mientras estés viéndolo pero en cuanto te alejes no volverá más (a menos que lo reactives).
  • Pero también puede que quieras combinarlos, por ejemplo, lo más habitual, te encuentras un Onix y decide unirse a tu equipo en ese caso el mini debe desaparecer inmediatamente y eternamente ►osea que tienes que► hacerlo desvanecer y desactivarlo una vez que acabe el “givepokemon” (de mini en el mapeado pasa a ser un Pokémon de tu equipo).

Técnica:

Y ahora vamos a explicar el primer ejemplo (invisibilizar) y luego el cuarto (desvanecer y desactivar a la vez), porque los ejemplos segundo (desvanecer) y tercero (desactivar) los puedes sacar del cuarto.

1 Invisibilizar

Pues es lo más sencillo, invisibilizar es un movimiento: como hacer que el Pokémon de un paso a la derecha o un salto a la izquierda. Para ello solo tienes que hacer un script con el comando “applymovement” incluyendo el byte 54. Como el hacer un comando “applymovement” está explicado en el manual “Todo sobre script” (applymovement), aquí sólo vamos a poner la realización del ejemplo del Diglet explicado antes:

Recuerda que para hacerlo visible otra vez usa “show”. Con él si era invisible se hace visible y si era visible, pues sigue siendo visible.

#org 0x__
msgbox 0x__ '"¡Un diglett!"
callstd 0x6
applymovement 0x08 0x[Dirección movs]
pause 0x80
msgbox 0x__ '"¡Ha reaparecido!"
callstd 0x6
release
end

'-----------
' Movements
#org 0x[Dirección movs]
#raw 54 'Hide		Esto lo invisibiliza
#raw 0B 'Right2	Moverlo...
#raw 0B 'Right2 
#raw 0B 'Right2 
#raw 08 'Down2 
#raw 08 'Down2 
#raw 08 'Down2 
#raw 08 'Down2 
#raw 55 'Show		Esto lo revisibiliza
#raw FE 'Exit		Los movs. siempre acaban así.

2 Desvanecer

Bien aquí se pone interesante.

Onix Cristal

Lo segundo sería desvanecer: para desvanecer un mini tienes que escribir un comando compuesto de tres bytes (cada byte son dos dígitos), el primer byte indica el comando “desvanecer”, los otros dos bytes indican que mini del mapeado va a desaparecer.

Si usas Scripted o un hex este comando lo tienes que escribir manualmente, si usas XSE puedes escribir el comando como hidesprite. Abre en Advance Map el mapeado donde esté el mini. ¡Ah! Recuerda que el script no tiene porque estar asignado al mini que va a desaparecer (que hables con la enfermera Joy y ella te de su Chansey: desaparece el Chansey pero no Joy).

Vale, selecciona el mini en AM y mira el número que pone en “nº de la persona” (si lo tienes en inglés o tienes la traducción mala, baja esto y mételo en la carpeta AdvanceMap\Ini\Sprachen)

Ahora pon:

' En Scripted se escribe:
#raw 0x53
#raw 0x'nº de la persona'
#raw 0x00

' En XSE es más sencillo:
hidesprite 0x4

Si prefieres Thingy, lo mismo: 53XX00. En este caso sería 530400. Para des-desvancerlo, es decir hacer que reaparezca tras haberlo desaparecido de este modo usa en XSE el comando showsprite 0x[nº], en hex 0x55.

Lo malo de desvancer sin desactivar (no usar flag) al dar un paso volvería a aparecer.

3 Desactivar

El desactivar es uno de los usos de las flags.

A cada mini se le puede asignar o una o ninguna flag.

Empieza recordando esto: Cuando activas (“true”) una flag los minis que la tengan asignada se desactivan. Y cuando desactivas (“false”) una flag los minis que la tengan asignada se activan. Osea que va al contrario.

Y ¿cómo se hace? Pues fácil también:

Primero hay que elegir alguna flag (estaría bien que las que vayas utilizando las apuntes en algún sitio para recordarlo), asignar esa flag a un mini y luego en un script activar esa flag para que el mini/s que la tenga asignada se desactive.

La flag se asigna al mini en AM, en este ejemplo es “212A”. Y para activarla flag escribe sólo:

setflag 0x212A

Para reactivar el mini tendrás que desactivar la flag, para lo que puedes usar el comando clearflag 0x[flag].