27909-Pokémon_Errantes_\[Investigación_Fire_Red_y_Esmeralda_FINALIZADA!!]
#8
Dani_SR_17 28493
Iniciado por Razhier
Se lo que quieres decir, a mí se me habia ocurrido algo parecido, con randoms y scripts de nivel. En principio es una buena idea y se podría hacer... Pero es muuuy tedioso hacer un script de nivel para cada mapa. Quiero saber si se puede hacer una rutina en ASM que se ejecute cada vez que cambias de mapa, y que haga eso mismo que tu dices (o algo parecido). Pienso que esta forma es mucho más eficiente, pero hasta entonces, con scripts de nivel nos las podemos apañar.


Realmente sería el mismo script para todos los mapas, lo jodio sería que habría que recrear mediante comparaciones el mapa con todas las zonas del Hack.


Un ejemplo. Tenemos el siguiente mapa:

-Pueblo Paleta - Ruta 1 - Ciudad Verde - Ruta 2
____ __ _ _ __- Ruta 3 -


Imagínate que aparece en "Ruta 1".

Primero hay que asignar un valor a cada zona, ejemplo.
Pueblo Paleta = 0
Ruta 1 = 1
Ciudad verde = 2
Ruta 2 = 3
Ruta 3 = 4

Hacemos una comparación de una variable para reconocer en que mapa esta.

En este caso estaría en "1".
Como está en uno, puede ir a 3 zonas: Pueblo Paleta, Ruta 3 o Ciudad Verde.
Usamos un "random 0x3", imagínate que sale 2.
Pues ahora en las variables para el siguiente mapa ponemos los datos de "Ruta 3".

Bien, empezamos en Pueblo Paleta y ya ha ocurrido eso, ahora vamos a "Ruta 1"
Vuelve a ejecutar el mismo script, ahora copiamos las variables de los datos de la "Ruta 3", para que aparezca en dicha ruta. Esta vez la variable de "posición" vale 4, y el único mapa posible desde ahí es "Ruta 1", luego ya sin random ni nada, almacenamos en las variables para el siguiente mapa los datos de "Ruta 1"

Y así sucesivamente.

Además es un método bastante eficiente.

Solo se usan:
- Las 2 variables que determinan el banco y el mapa en el que está actualmente el Poké en cuestión.
- Las 2 variables que determinan el siguiente banco y mapa.
- La variable para crear el "mapa" virtual.

Es más, podríamos suprimir incluso 2 variables de las anteriores.