Registrarse

¿Manipular wildbattle?

Estado
Cerrado para nuevas respuestas.

Awuis

Usuario mítico
Jugando Pokémon Rubí presté atención al wildbattle contra poochyena/zigzagoon en el intro del juego.

¿Por qué no se puede escapar?
Quiero saber si alguno tiene idea como revisar ese script, al completo, o simplemente saber como hacer wildbattles así...


Me serviría mucho manipular el wildbattle y no poder escapar en esas situaciones (como con los trainerbattle).
 

Awuis

Usuario mítico
Claro, ¿como lo abro con xse? precisamente esa parte, la del wildbattle.
Lo más cercano en ese mapa es la mochila -> escoger el pkmn inicial -> wildbattle.
Pero no aparece nada sobre eso:


Si fuera tan sencillo no habría hecho la pregunta, no encuentro el script inicial para tomarlo como ejemplo, y así aprovechar de ese método.
 

Sayer301!

UnityLord!
Miembro de honor
A mi ese warp me extrana bastante asi de gratis yo creo que tiene que estar relacionado, aunque nunca he usao Ruby, prueba a ir al mapa que menciona el warp y mirar si tiene algún script de nivel a ver si así hay suerte de ver algo ;)
 

Awuis

Usuario mítico
El warp que finaliza el script es el que te lleva al laboratorio del profesor birch, lo que me da a entender la situación es que el script se encuentra en la imagen del medio, luego de escoger el Pokémon inicial, es decir... ¿como hago para revisar esa rutina?

"Do choose this Pokémon?" es lo anterior al wild-battle, es un solo script parece.
¿Alguno que tenga conocimientos en asm como para entender lo que pasa ahí?
jajaja me estoy comiendo la cabeza.
 

eing

Miembro de honor
Miembro de honor
Jugando Pokémon Rubí presté atención al wildbattle contra poochyena/zigzagoon en el intro del juego.

¿Por qué no se puede escapar?
Quiero saber si alguno tiene idea como revisar ese script, al completo, o simplemente saber como hacer wildbattles así...


Me serviría mucho manipular el wildbattle y no poder escapar en esas situaciones (como con los trainerbattle).
No es un script de nivel, es un special que se activa al hablarle a la mochila.
Pero claro si usas ese special saldra lo de la mochila también!

Para hacer ese tipo de batallas (es el que uso yo en el einglocke por default) has de setear la variable de batalla a la del profesor birch en concreto.

pd. Si tuviese internet en casa postearia el ejemplo de rutina pero no tengo xd
 

Awuis

Usuario mítico
No es un script de nivel, es un special que se activa al hablarle a la mochila.
Pero claro si usas ese special saldra lo de la mochila también!

Para hacer ese tipo de batallas (es el que uso yo en el einglocke por default) has de setear la variable de batalla a la del profesor birch en concreto.

pd. Si tuviese internet en casa postearia el ejemplo de rutina pero no tengo xd
¿Por qué haces que todo parezca tan sencillo?
Mi idea es poder utilizar esa opción de "no escapar" en el wildbattle que se me ocurra =p
 

Cheve

MoonLover~
Miembro de honor
¡Hey! ¿Que te parece si lo movemos a Investigación GBA? :D Cualquier cosa me avisas ;)

____________________________________

La tabla de Specials de Ruby está en 0x14B194, por lo que el puntero al special 0x9C (156) debería estar en 0x14B194 + (4*0x9C bytes) = 0x14B404

Ahí tenemos 69 21 08 08 lo que nos indica que la rutina del Special está en 082169
ahora no ando con tiempo para usar el Ida o buscar una base de datos, pero voy dejando ésto por aquí por si alguien tiene tiempo x3


eing dijo:
Para hacer ese tipo de batallas (es el que uso yo en el einglocke por default) has de setear la variable de batalla a la del profesor birch en concreto.
¿Quieres decir que hay un valor como el de las wildbattle dobles pero para éste propósito? ( @eing )
 

eing

Miembro de honor
Miembro de honor
¿Por qué haces que todo parezca tan sencillo?
Mi idea es poder utilizar esa opción de "no escapar" en el wildbattle que se me ocurra =p
Porque lo es, una vez hechas un par de rutinas ya es coser y cantar!
@MoonLover aka cheve, la tabla de specials esta guay, pero no es mas que una expansion de comandos/rutinas "ocultas" con tal de no ir haciendo continuamente callasm 0x..

Y sí, estan las siguientes posibilidades:
(No hagas caso a valores, son simplemente para ordenarlos xD)

1-batalla normal
2-batalla doble
3-BN sin huir
4- BD sin huir
5- safari normal
6- safari doble
7-batalla 2vs1 (se bugea..)
8-batalla 2vs2 (se bugea)
9-batalla trainer
10-batalla trainer vs 2
11- batalla trainer 2vs2

Esas son las q encontre en su dia.
Y no vale con hacer wbto a esa var ni setearla via xse, ha de ser via asm.
Puesto que la carga la var a cada encuentro sea cual sea.
 

Awuis

Usuario mítico
Entonces, si yo quiero hacer un wildbattle de ese tipo tiene que ser vía asm siempre?
Ya me estoy haciendo un lío en la cabeza, pero algo entendí de lo que pusieron ambos, realizarlo por mi cuenta no está entre las posibilidades aún, de todas formas, gracias a ambos :)

PD: Estaría bueno insertar una rutina que te de la libertad de usar las specials cada que quieras hacer un wildbattle así =p
 

Cheve

MoonLover~
Miembro de honor
Mmm ¿Y no nos podemos valer del "Setwildbattle"? Tengo entendido que éste comando carga una WB en la Ram para luego ejecutarla.

La teoria sería cargarla, modificar el byte, y ejecutarla
 

eing

Miembro de honor
Miembro de honor
Mmm ¿Y no nos podemos valer del "Setwildbattle"? Tengo entendido que éste comando carga una WB en la Ram para luego ejecutarla.

La teoria sería cargarla, modificar el byte, y ejecutarla
Como dije anteriormente, cada funcion coloca el valor de la variable que está definido segun el tipo que sea.
Por ejemplo todos los wildbattle (comando) son por default valor de 1vs1.
Y los trainerbattle por default es single battle, pero si esta configurada como doble, sera doble. (Compara el bute de ese trainer, y si es doble pone la var a doble).
Cambiando solo el valor fijo de esa variable mediante hex, lo que harias seria joder la rutina. Puesto que siempre serian 2vs2, u el tipo que definieses.
Por eso es obligatorio hacerles un hook hacia tu rutina y en ella hacer lo que te venga en gana.

En mi caso, para las wildbattle normal, chequeo el valor de una variable y dependiendo el valor de esta es un tipo de batalla u otro. (Y un check previo de si tienes minimo dos pokes vivos, de lo comtrario sera single battle)
Además en el engine le puse más cosas como configurar ataques del pokemon, estados alterados y mas detalles que hacen que puedas configurar realmente un wildbattle en condiciones hehe

Entonces, si yo quiero hacer un wildbattle de ese tipo tiene que ser vía asm siempre?
Ya me estoy haciendo un lío en la cabeza, pero algo entendí de lo que pusieron ambos, realizarlo por mi cuenta no está entre las posibilidades aún, de todas formas, gracias a ambos :)

PD: Estaría bueno insertar una rutina que te de la libertad de usar las specials cada que quieras hacer un wildbattle así =p
Eres novato, no te metas en camisas de once varas..
Si ves rutinas utiles, y faciles de insertar (de hecho todas lo son, solo es repuntear, pegar rutina y cambiar los pointers por tus pointers.) insertalas y ya!
Pero aprender a realizarlas es una ardua tarea, que no te recomiendo.. Y menos si no sabes programar en general.. (C, php, python.. ) ya que no encontrarás sentido alguno a lo que ves.

Eso del "pd", ya existe ...
 

Awuis

Usuario mítico
Como dije anteriormente, cada funcion coloca el valor de la variable que está definido segun el tipo que sea.
Por ejemplo todos los wildbattle (comando) son por default valor de 1vs1.
Y los trainerbattle por default es single battle, pero si esta configurada como doble, sera doble. (Compara el bute de ese trainer, y si es doble pone la var a doble).
Cambiando solo el valor fijo de esa variable mediante hex, lo que harias seria joder la rutina. Puesto que siempre serian 2vs2, u el tipo que definieses.
Por eso es obligatorio hacerles un hook hacia tu rutina y en ella hacer lo que te venga en gana.

En mi caso, para las wildbattle normal, chequeo el valor de una variable y dependiendo el valor de esta es un tipo de batalla u otro. (Y un check previo de si tienes minimo dos pokes vivos, de lo comtrario sera single battle)
Además en el engine le puse más cosas como configurar ataques del pokemon, estados alterados y mas detalles que hacen que puedas configurar realmente un wildbattle en condiciones hehe



Eres novato, no te metas en camisas de once varas..
Si ves rutinas utiles, y faciles de insertar (de hecho todas lo son, solo es repuntear, pegar rutina y cambiar los pointers por tus pointers.) insertalas y ya!
Pero aprender a realizarlas es una ardua tarea, que no te recomiendo.. Y menos si no sabes programar en general.. (C, php, python.. ) ya que no encontrarás sentido alguno a lo que ves.

Eso del "pd", ya existe ...
Aclaré: "realizarlo por mi cuenta no está entre las posibilidades aún".
Se qué es difícil, y directamente desconozco sobre el tema, desde que empecé de hecho, es por eso que inicie este post, si alguien me podía dar una mano con eso, y sacarme la duda.

But anyway, thank's.
 
Estado
Cerrado para nuevas respuestas.
Arriba