Registrarse

[RH - Scripting] BUSCAPELEA (VS. SEEKER) EN EL FIRE RED

Estado
Cerrado para nuevas respuestas.

CividadeHill

Usuario de platino
Hola buenas!

Tengo un script de trainer battle 0x5 para poder echar revanchas. El script está bien hecho, la cuestión es que el buscapeleas no activa las revanchas porque este sólo funciona al pasar la liga (según tengo entendido).

Mi duda es la siguiente: ¿Alguien sabe cuál es la flag, o variable, o special que activa el uso del buscapelea? El script de ganar la liga es bastante grande y no sé cuál es el punto que activa el uso del buscapelea...

Gracias de antemano amigos!
 

CividadeHill

Usuario de platino
Claro pero, esa flag está presente en la chica que te da el buscapelea.
Y si pruebas a usar el buscapelea te pone:
"There are no trainers within range who can battle"

Lo que debería pasar es que debería poder usarlo, tal cual en Fire Red normal. Osea, es como que no está "activado", porque lo que debería pasar es que al darle, los minis deberían reaccionar y en caso de no tener el buscapelea cargado, debería ponerte el número de pasos que te quedan para cargarlo. Pero no pasa nada de eso. Parece que para eso hay que pasar la liga, por eso no es esa flag.

Gracias de todas formas por la respuesta!
 

kakarotto

Leyenda de WaH
Vale, he estado indagando y parece que es un poco enrrevesado.

No sé que tan avanzado estás en este mundillo pero he comprobado que hay un contador interno que carga el buscapelea.

Mientras no se carga, no funciona. Este contador se carga en el saveblock. Para que lo entiendas es la dirección de la ram del juego donde se almacena el contador. Es algo así como los datos que se almacenan de los pokemon errantes (la salud).
La saveblock comienza en el offset 0x0203B174 y tiene varios 'asuntos' internos. Súmale a ese offset esta cantidad: 0x0638 ( Recuerda que es en hexadecimal ).

Una vez que tengas el resultado ve a Visual Boy Advance y abre el Memory Viewer.

Haz click en Automatic Update, selecciona la casilla de RAM (0x2000000) y pon en el buscador el resultado anterior.

Una vez le hayas dado el intro, veras un valor. Si mueves el mini por cada paso que des, verás que el valor se va incrementando. Para que funcione necesitas llenar el contador a 100 pasos.

La manera de llenarlo a mano es a través de un writebytetooffset.

En script deberas hacer:
Código:
writebytetooffset RESULTADOSUMASAVEBLICK 0x64
(0x64 es 100 en hex)

Saludos y espero te sirva
 

CividadeHill

Usuario de platino
@kakarotto Buf estoy bastante perdido en todo eso...

0x0203B174 + 0x0638 = 203 B7AC ??????

Si ese resultado es correcto, voy a visual boy, abro el memory viewer, coloco la casilla de WRAM 0x02000000, pego ese resultado (203 B7AC) y me carga una serie de bytes, pero no pasa nada al mover el mini. ¿Cual es el valor que debería aumentar?

Luego, después de aumentar ese valor 100 pasos, debería poner ese valor en el código este (eso lo entiendo)
writebytetooffset RESULTADOSUMASAVEBLICK 0x64

pero es eso, no se mueve nada en el memory viewer, no sé qué estoy haciendo mal
y perdona por ser tan torpe, es un mundo nuevo para mí jaja
gracias!
 

kakarotto

Leyenda de WaH
Buscalo sin espacios, o sea: 203B7AC pero dale al tick de Automatic Update.

Cuando le des al intro el primer byte arriba a la izquierda es el contador. Si mueves el mini conforme lo mueves el contador debe incrementarse.

Si no es ese byte observa alguno que mientras te muevas se vaya sumando +1 por paso. Ese sería el byte que hay q poner el el writebytetooffset en caso de que me haya equivocado

Un saludo
 

CividadeHill

Usuario de platino
@kakarotto Nada...
Si pongo 203B7AC sin espacios, los bytes que carga en esa dirección son todo 00.
Al mover el mini ninguno cambia. Ni con automatic update marcado, ni sin marcar, ni dándole a refresh...
Si lo pongo con el espacio, 203 B7AC, los bytes son otras direcciones, pero tampoco cambian ninguno al mover el mini.

No tengo ni idea de por qué...
 

CividadeHill

Usuario de platino
Ya tenía escrito un script así:

#dynamic 0x800000

#org @inicio
trainerbattle 0x0 0x15 0x0 @1 @2
special2 LASTRESULT 0x39
compare LASTRESULT 0x1
if 0x1 goto @revan
msgbox @3 MSG_NORMAL
end

#org @revan
trainerbattle 0x5 0x15 0x0 @4 @2
msgbox @3 MSG_NORMAL
end

#org @1
= venga pelea

#org @2
= eres muy bueno

#org @3
= Ya nos veremos otra vez

#org @4
= es hora de una revancha


Le puse al mini que me da el buscapeleas la setflag 0x292.
En ese enlace que pasaste, el último comentario dice:
not working for me... it says "There are no Trainers within range who can battle... The Vs Seeker was turned off."

ESO es exactamente lo que me pasa a mí. Aparentemente, todo está bien. El script está bien, la flag del buscapeleas es la que sale en el juego, etc.
Sin embargo, no funciona. Siempre pone ese mensaje:
"There are no Trainers within range who can battle... The Vs Seeker was turned off."

Leí por pokecommunity que el buscapeleas no funciona con entrenadores con un ID muy alto, rollo 0x2D3. Pero ese no es mi caso, los IDs de los entrenadores con los que estoy probando son bajos.

Probé a activar unas variables del script del hall de la fama. Ahora me sale la estrella de que pasé la liga en la tarjeta de entrenador. Sin embargo, el buscapeleas sigue sin funcionar. Jaja me estoy quedando sin ideas...

De todas formas, gracias por involucrarte tanto @kakarotto
Si se te ocurre algo que esté pasando por alto... A ti o a quién sea, pues guay
Y sino pues nada, seguiré con el trabajo y tendré que buscar otras posibilidades.

Un saludo!
 

CividadeHill

Usuario de platino
Vale, ahora sí me fue.

Utilicé el script tal cual viene en el juego (Fire Red), y usé también 3 scripts de entrenadores que venían en el juego.
Yo antes había hecho los siguiente:
Un mini me había dado el buscapelea, sin activar la flag 0x292
Luego, probé a ver si iba, y no funcionaba
Luego activé la flag 0x292, pero seguía sin ir, con scripts de entrenadores del juego.

La conclusión a la que llego es que, de alguna manera, bugueé el buscapelea al obtenerlo por separado a la flag, o algo así.
Haciéndolo tal cual te lo dan en el juego, sí me funcionó.
Tengo que decir que tanto en el mapa que te lo dan (Ciudad Carmín), como en la ruta anterior en la que lo usé con entrenadores, no sé cuántos pasos caminé pero no fueron muchos, osea que no sé cómo funciona eso exactamente.
Además, yo no sé por qué creía que el buscapelea sólo funcionaba al pasar la liga. Pero no, el buscapelea puedes usarlo nada más te lo dan.
Digo todo esto por si a alguien le interesa usarlo en su hack y tiene dudas, igual esto puede aclararle algo.

Se puede cerrar este tema.
 
Estado
Cerrado para nuevas respuestas.
Arriba