INTRODUCCIÓN
Este tutorial quizás vaya más enfocado a gente menos experimentada, pero quién sabe, a lo mejor alguien desconocía alguna de las cosas que se van a decir aquí.
En lo que va a consistir es en aprender a usar mejor los movimientos, es decir, los diferentes comportamientos de los NPC's (conocidos también como minis/overworlds) mediante el Advance Map y el scripting.
El tutorial está basado en la ROM Fire Red.
Sé que existe algún otro tutorial en la comunidad inglesa y, aunque crea que este esté un poco más completo y no se trate de una traducción, si que me he basado en ciertas cosas, por lo que dejaré el link para que le echéis un vistazo: https://www.pokecommunity.com/showthread.php?t=306481
Créditos a Spherical Ice por haber realizado previamente un tutorial de este estilo.
ENTRANDO EN MATERIA
Bien, para todos los que os estáis preguntado que qué es eso de los comportamientos de los minis y para qué me pueden servir, os voy a explicar muy brevemente de lo que va.
Como muchos sabréis, cuando vais a configurar un mini en Advance Map siempre le ponéis un "Tipo de movimiento", es decir, le asignáis a ese NPC una comportamiento establecido, que, como podréis ver en el siguiente gif, van desde un comportamiento "estático" (todo lo que no implique un cambio de posición, OJO, no es lo mismo no moverse a no cambiar de posición, siendo posición sus coordenadas) a un comportamiento dinámico (implica un cambio de posición).
Como podréis comprobar aquí tenemos 5 tipos de comportamientos:
- El científico: Este posee un comportamiento dinámico, en concreto lo que se le ha indicado es que camine de izquierda a derecha.
- El karateka: Su comportamiento, aunque parezca dinámico, es estático pues permanece siempre en la misma casilla.
- La chica: Tiene un comportamiento dinámico, su posición varía (su X e Y).
- El chico: Se le ha asignado un comportamiento estático, lo que hace es girar, en su misma posición (misma X e Y), para así alternar su mirada.
- El protagonista: Movimiento puramente estático, no gira sobre si mismo ni cambia sus coordenas, "Sin movimiento".
El Advance Map nos da bastantes opciones a elegir de movimientos, he aquí una lista:
0=Sin Movimiento
1=Mirar alrededor
2=Caminar sin rumbo
3=Caminar arriba y abajo
4=Caminar arriba y abajo
5=Caminar izquierda y derecha
6=Caminar izquierda y derecha
7=Mirar arriba
8=Mirar abajo Aunque yo lo mencione aquí, nunca useis este movimiento, puede causar varios bugs a vuestra ROM*
9=Mirar izquierda
10=Mirar derecha
11=Mirar abajo Aunque yo lo mencione aquí, nunca useis este movimiento, puede causar varios bugs a vuestra ROM*
12=Oculto Lo he probado y me crasheba el juego si tenía la casilla "Entrenador" marcada, y de lo contrario no se crasheaba, pero no mostraba la animación de volver a salir al exterior.
13=Mirar arriba y abajo
14=Mirar izquierda y derecha
15=Mirar arriba y izquierda
16=Mirar arriba y derecha
17=Mirar abajo y izquierda
18=Mirar abajo y derecha
19=Mirar arriba, abajo y izquierda
20=Mirar arriba, abajo y derecha
21=Mirar arriba, izquierda y derecha
22=Mirar abajo, izquierda y derecha
23=Mirar alrededor en Contra del sentido del reloj
24=Mirar alrededor en el sentido del reloj
25=Correr arriba y abajo
26=Correr arriba y abajo
27=Correr izquierda y derecha
28=Correr izquierda y derecha
29=Correr arriba, derecha, izquierda y abajo
30=Correr derecha, izquierda, abajo y arriba
31=Correr abajo, arriba, derecha y izquierda
32=Correr izquierda, abajo, arriba y derecha
33=Correr arriba, izquierda, derecha y abajo
34=Correr izquierda, derecha, abajo y arriba
35=Correr abajo, arriba, izquierda y derecha
36=Correr derecha, abajo, arriba y izquierda
37=Correr izquierda, arriba, abajo y derecha
38=Correr arriba, abajo, derecha y izquierda
39=Correr derecha, izquierda, arriba y abajo
40=Correr abajo, derecha, izquierda y arriba
41=Correr derecha, arriba, abajo y izquierda
42=Correr arriba, abajo, izquierda y derecha
43=Correr izquierda, derecha, arriba y abajo
44=Correr abajo, izquierda, derecha y arriba
45=Correr en Contra del sentido del reloj
46=Correr en Contra del sentido del reloj
47=Correr en Contra del sentido del reloj
48=Correr en Contra del sentido del reloj
49=Correr en Contra del sentido del reloj
50=Correr en el sentido del reloj
51=Correr en el sentido del reloj
52=Correr en el sentido del reloj
53=Copiar al Jugador
54=Mirar al Jugador
55=Mirar al Jugador
56=Mirar al Jugador
57=Disfraz Pared-Arbol 3*
58=Disfraz Pared-Roca 3*
59=Mirar al Jugador (Parado)
60=Copiar al Jugador (Parado)
61=Copiar al Jugador (Parado)
62=Copiar al Jugador (Parado)
63=Oculto El único de los tres que me ha funcionado correctamente, no me crasheo el juego y muestra la animación de volver a salir al exterior teniendo la casilla "Entrenador" seleccionada. 2*
64=Caminar en el lugar (Abajo)
65=Caminar en el lugar (Arriba)
66=Caminar en el lugar (Izquierda)
67=Caminar en el lugar (Derecha)
68=Trotar en el lugar (Abajo)
69=Trotar en el lugar (Arriba)
70=Trotar en el lugar (Izquierda)
71=Trotar en el lugar (Derecha)
72=Correr en el lugar (Abajo)
73=Correr en el lugar (Arriba)
74=Correr en el lugar (Izquierda)
75=Correr en el lugar (Derecha)
76=Oculto Este no crasheaba el juego, pero no mostraba la animación de volver a salir al exterior.
77=Caminar en el lugar (Abajo) Se debe usar el movimiento nº64 para recrear este efecto 4*
78=Caminar en el lugar (Arriba) Se debe usar el movimiento nº65 para recrear este efecto 4*
79=Caminar en el lugar (Izquierda) Se debe usar el movimiento nº66 para recrear este efecto 4*
80=Caminar en el lugar (Derecha)
* En su defecto usad "Sin movimiento" si queréis simular ese efecto, pues si os fijáis un mini, si no alteráis su comportamiento, lo veréis siempre mirando hacia abajo, y eso se debe a este movimiento que poseen por defecto.
2* Este movimiento es el que tienen asignado los ninjas ocultos en R/Z/E, funciona también en Fire Red, pero se necesitará sí o sí acompañar al mini de un script de trainerbattle y configurar un rango de visión (Casilla "Ver Rango" en AM, sirve para marcar un número de pasos, que servirán como distancia, para que el entrenador te localice y empiece la batalla), de lo contrario no mostrará la animación de salir de la tierra. Se vería así:
3* Estos dos comportamientos, aunque son característicos de R/Z/E, también están disponibles en Fire Red, pero se necesitará el uso del script trainerbattle para que se ejecuten de forma correcta, de lo contrario no se ejecutará la animación de quitar el disfraz. La forma en la que se verían es la siguiente:
4* Estos tres tipos de movimientos están erróneos en la ini, es decir, no hacen lo que ahí ponen. Os voy a dejar un ejemplo con lo que hace cada uno de ellos:
Si queréis cambiarles el nombre, para evitar confusiones y así acordarse de lo que hacen en realidad como aquí:
Lo único que debéis hacer es lo siguiente:
1º Ir a la carpeta Ini del Advance Map.
2º Abrir la carpeta Sprachen.
3º Entrar ahora en el archivo .ini del idioma que queráis.
4º Casi al final del archivo, o usando la opción buscar y poner "Bewegung", tendréis todos los movimientos, ahora solo será cosa de renombrar.
Más adelante hablaremos de los números a la izquierda de cada movimiento.
1=Mirar alrededor
2=Caminar sin rumbo
3=Caminar arriba y abajo
4=Caminar arriba y abajo
5=Caminar izquierda y derecha
6=Caminar izquierda y derecha
7=Mirar arriba
9=Mirar izquierda
10=Mirar derecha
13=Mirar arriba y abajo
14=Mirar izquierda y derecha
15=Mirar arriba y izquierda
16=Mirar arriba y derecha
17=Mirar abajo y izquierda
18=Mirar abajo y derecha
19=Mirar arriba, abajo y izquierda
20=Mirar arriba, abajo y derecha
21=Mirar arriba, izquierda y derecha
22=Mirar abajo, izquierda y derecha
23=Mirar alrededor en Contra del sentido del reloj
24=Mirar alrededor en el sentido del reloj
25=Correr arriba y abajo
26=Correr arriba y abajo
27=Correr izquierda y derecha
28=Correr izquierda y derecha
29=Correr arriba, derecha, izquierda y abajo
30=Correr derecha, izquierda, abajo y arriba
31=Correr abajo, arriba, derecha y izquierda
32=Correr izquierda, abajo, arriba y derecha
33=Correr arriba, izquierda, derecha y abajo
34=Correr izquierda, derecha, abajo y arriba
35=Correr abajo, arriba, izquierda y derecha
36=Correr derecha, abajo, arriba y izquierda
37=Correr izquierda, arriba, abajo y derecha
38=Correr arriba, abajo, derecha y izquierda
39=Correr derecha, izquierda, arriba y abajo
40=Correr abajo, derecha, izquierda y arriba
41=Correr derecha, arriba, abajo y izquierda
42=Correr arriba, abajo, izquierda y derecha
43=Correr izquierda, derecha, arriba y abajo
44=Correr abajo, izquierda, derecha y arriba
45=Correr en Contra del sentido del reloj
46=Correr en Contra del sentido del reloj
47=Correr en Contra del sentido del reloj
48=Correr en Contra del sentido del reloj
49=Correr en Contra del sentido del reloj
50=Correr en el sentido del reloj
51=Correr en el sentido del reloj
52=Correr en el sentido del reloj
53=Copiar al Jugador
54=Mirar al Jugador
55=Mirar al Jugador
56=Mirar al Jugador
57=Disfraz Pared-Arbol 3*
58=Disfraz Pared-Roca 3*
59=Mirar al Jugador (Parado)
60=Copiar al Jugador (Parado)
61=Copiar al Jugador (Parado)
62=Copiar al Jugador (Parado)
63=Oculto El único de los tres que me ha funcionado correctamente, no me crasheo el juego y muestra la animación de volver a salir al exterior teniendo la casilla "Entrenador" seleccionada. 2*
64=Caminar en el lugar (Abajo)
65=Caminar en el lugar (Arriba)
66=Caminar en el lugar (Izquierda)
67=Caminar en el lugar (Derecha)
68=Trotar en el lugar (Abajo)
69=Trotar en el lugar (Arriba)
70=Trotar en el lugar (Izquierda)
71=Trotar en el lugar (Derecha)
72=Correr en el lugar (Abajo)
73=Correr en el lugar (Arriba)
74=Correr en el lugar (Izquierda)
75=Correr en el lugar (Derecha)
77=Caminar en el lugar (Abajo) Se debe usar el movimiento nº64 para recrear este efecto 4*
78=Caminar en el lugar (Arriba) Se debe usar el movimiento nº65 para recrear este efecto 4*
79=Caminar en el lugar (Izquierda) Se debe usar el movimiento nº66 para recrear este efecto 4*
80=Caminar en el lugar (Derecha)
* En su defecto usad "Sin movimiento" si queréis simular ese efecto, pues si os fijáis un mini, si no alteráis su comportamiento, lo veréis siempre mirando hacia abajo, y eso se debe a este movimiento que poseen por defecto.
2* Este movimiento es el que tienen asignado los ninjas ocultos en R/Z/E, funciona también en Fire Red, pero se necesitará sí o sí acompañar al mini de un script de trainerbattle y configurar un rango de visión (Casilla "Ver Rango" en AM, sirve para marcar un número de pasos, que servirán como distancia, para que el entrenador te localice y empiece la batalla), de lo contrario no mostrará la animación de salir de la tierra. Se vería así:
3* Estos dos comportamientos, aunque son característicos de R/Z/E, también están disponibles en Fire Red, pero se necesitará el uso del script trainerbattle para que se ejecuten de forma correcta, de lo contrario no se ejecutará la animación de quitar el disfraz. La forma en la que se verían es la siguiente:
4* Estos tres tipos de movimientos están erróneos en la ini, es decir, no hacen lo que ahí ponen. Os voy a dejar un ejemplo con lo que hace cada uno de ellos:
Tipo de movimiento nº77
Tipo de movimiento nº78
Tipo de movimiento nº79
Tipo de movimiento nº78
Tipo de movimiento nº79
Si queréis cambiarles el nombre, para evitar confusiones y así acordarse de lo que hacen en realidad como aquí:
Lo único que debéis hacer es lo siguiente:
1º Ir a la carpeta Ini del Advance Map.
2º Abrir la carpeta Sprachen.
3º Entrar ahora en el archivo .ini del idioma que queráis.
4º Casi al final del archivo, o usando la opción buscar y poner "Bewegung", tendréis todos los movimientos, ahora solo será cosa de renombrar.
Más adelante hablaremos de los números a la izquierda de cada movimiento.
PERSONALIZAR LOS MOVIMIENTOS
Bien aquí viene algo que puede ser interesante y lo que menos gente puede llegar a conocer.
Si os fijáis en la imagen que mostré antes, aparece un casilla debajo de "Tipo de movimiento" llamada "Movimiento". ¿Nunca os habéis parado a pensar para que sirve? Sea como sea aquí os lo explicaré, pero primero tenéis que tener en cuenta que solo funcionará para los comportamientos dinámicos.
Esto es lo que hace el comportamiento "Correr arriba, derecha, izquierda y abajo" por defecto
Como podéis ver este mini hace unos movimientos totalmente simétricos, pues aquí es donde entra en escena la casilla "Movimiento", en ella encontrareis esto: "00".
Lo primero que debemos tener claro es que está casilla no la vamos a entender "en conjunto", me explico, esta casilla la primera cifra indica lo que serían el número de movimientos que debe realizar el mini en el eje Y y, la segunda cifra, nos indica lo que serían el número de movimientos que debe realizar el mini en el eje X.
Por lo tanto esta casilla vendría a ser algo como: 00=YX
Dato importante: Como todo en el rom hacking los valores deben ir en hexadecimal, y está no es una excepción y, como todos habéis podido ver solo existe la posibilidad de poner en esta casilla dos dígitos (00=YX), por lo tanto, siendo F=15 el número más alto en este sistema numérico que implique el uso de un solo símbolo (16 en hexadecimal ya sería 10, dos dígitos), FF sería el límite de pasos que se pueden llegar a configurar, siendo esto 15 pasos en el eje Y y otros 15 en el eje X.
Si queréis personalizar un movimiento que solo se mueva en un eje ("Correr arriba y abajo"), obviamente solo tenéis que editar uno de los dos valores, el otro será inútil en este caso.
Os voy a dejar un ejemplo, ya habéis visto en el gif de arriba que si la configuración es 00 solo se moverá un paso en cada dirección, pues ahora vamos a ver lo que sucede si ponemos en esa casilla esta configuración:
Aquí tenéis el resultado
Como se puede observar aplicando el mismo tipo de comportamiento, pero esta vez modificando la casilla "Movimiento" hemos conseguido que el NPC se mueva un número de pasos establecidos por nosotros en los ejes, en concreto hace 8 pasos hacia arriba/abajo y 3 hacia derecha/izquierda.
MODIFICAR UN COMPORTAMIENTO INICIAL MEDIANTE SCRIPTS
Quizás lo más interesante del tutorial y el motivo de que muchos os halláis interesado en él. Lo que vamos a aprender a hacer aquí es modificar un comportamiento inicial por otro que nosotros seleccionaremos, pero en esta ocasión el cambio se realizará dentro del juego y de forma automática.
Para ello vamos a utilizar este comando:
Código:
Spritebehave 0x(nº de gente del mini) 0x(comportamiento)
Código:
Spritebehave 0x1 (En mi caso) 0x19 (25 en hexa)
Otro comando relacionado con el comportamiento de los minis es el spriteface:
Código:
spriteface 0x(nº de gente) 0x(dirección a la que mira)
0x1 Abajo
0x2 Arriba
0x3 Izquierda
0x4 Derecha
Aporte de interés en relación al tema movimientos/comportamientos:
[ASM] Some new movement bytes (including a patch) Créditos a jiangzhengwenjz .
------------------------------------
------------------------------------
Bueno, pues eso es todo por ahora, como podéis ver un tutorial simple y corto, pero que puede llegar a ser interesante, espero que os sirva de ayuda y ya sabéis, para cualquier duda preguntad.
Un saludo!!
Última edición: