qna_rh
Thread Id: 21835
Thread Name: Obtener pokemon de otros entrenadores
#0
Fidouh 27244
Muy buenas. Soy recién iniciado en el rom hacking de GBA (Concretamente, trabajando en pokémon esmeralda) y estoy intentando desarrollar un sistema para la obtención de pokémon de otros entrenadores.
Dicho así, literalmente sería 'robarles a los entrenadores'. Por ello, comencé a buscar que script era el responsable de bloquear las pokeball lanzadas en combate, búsqueda que nunca llegó a tener fructíferos resultados.
Más tarde, intenté editar el comportamiento de las ball para que el juego no activase ese aviso.
Por último, me hallo buscando un script que almacene en el buffer los pokemon del rival en cuestión, pero no he conseguido encontrar nada.

¿Alguna sugerencia? ¿Alguien sabe cómo desactivar el bloqueo de balls desde script? ¿Alguien sabe cómo almacenar en el buffer los pokemon del otro entrenador?

Gracias de antemano!
#1
Tito Sayer301 26309
Lo veo muy complicado, te refieres a que te de el que el propio trainer elije? o el que tu quieras?
Sea como sea, el problema principal que yo veo es en los ataques. Pues cuando haces un givepokemon se dan con ataques aleatorios mientras que en el trainerbattle los ataques que tiene el pokemon ya estás predefinidos.
Si fuese el que tu quieras, no haria falta complicarse, seriá hacer un trainerbattle que continue despues del combate y un givepokemon poniendo uno de los pokemons que tenga ese trainer, que con verlos en el PET te valdría.
#2
Fidouh 27244
Iniciado por Sayer301
Lo veo muy complicado, te refieres a que te de el que el propio trainer elije? o el que tu quieras?
Sea como sea, el problema principal que yo veo es en los ataques. Pues cuando haces un givepokemon se dan con ataques aleatorios mientras que en el trainerbattle los ataques que tiene el pokemon ya estás predefinidos.
Si fuese el que tu quieras, no haria falta complicarse, seriá hacer un trainerbattle que continue despues del combate y un givepokemon poniendo uno de los pokemons que tenga ese trainer, que con verlos en el PET te valdría.


Gracias por la respuesta!

Exacto! Y claro, el inconveniente serían los ataques, que vendrían por defecto. Tenía pensado,además, poder inicializar un wildbattle con el pokemon del entrenador en cuestión para tener opción a capturarlo. Aún así, el problema, como bien dijiste, reside ahí, en los ataques. No hay forma alguna de elegir los movimientos para un determinado pokemon?
#3
fm~ 16648
Iniciado por Fidouh
Gracias por la respuesta!

Exacto! Y claro, el inconveniente serían los ataques, que vendrían por defecto. Tenía pensado,además, poder inicializar un wildbattle con el pokemon del entrenador en cuestión para tener opción a capturarlo. Aún así, el problema, como bien dijiste, reside ahí, en los ataques. No hay forma alguna de elegir los movimientos para un determinado pokemon?


Usa APE y edita a los movimientos.
#4
cosarara97 12296
Iniciado por FM≈
Usa APE y edita a los movimientos.


Ahora me he perdido yo, APE no es un editor de paletas? =P

Yo te diría que buscaras si hay algún código Action Replay, Gameshark o Code Breaker que permita capturar los pokémon de los entrenadores. Si es así, descubre qué hace exactamente dicho código (hay documentos que explican su estructura/functionamiento) e intenta replicarlo mediante RH.
#5
fm~ 16648
Iniciado por cosarara97
Ahora me he perdido yo, APE no es un editor de paletas? =P

lol xD
Perdón por el error, creo que se llama YAPE la herramienta xD
#6
Fidouh 27244
Iniciado por cosarara97
Ahora me he perdido yo, APE no es un editor de paletas? =P

Yo te diría que buscaras si hay algún código Action Replay, Gameshark o Code Breaker que permita capturar los pokémon de los entrenadores. Si es así, descubre qué hace exactamente dicho código (hay documentos que explican su estructura/functionamiento) e intenta replicarlo mediante RH.


Pensé en la posibilidad de hallar el valor en la dirección de memoria que me permitiese alterar el modo de combate (batalla contra entrenador, pokemon salvaje...) Y así, poder cambiar el sistema de combate a una lucha contra un pokemon salvaje.
Bien, visto lo visto, hay poca información al respecto, por lo cual opté a estudiar el comportamiento del juego tras aplicar el cheat en pokemon esmeralda de captura de pokemon de otros entrenadores.
En el emulador VBA, intenté hallar los offset qeu determinaban la captura del pokemon. Dicho así, sólo pude obtener una dirección en memoria y un valor (código VBA-RAW):


32022FEC:04

El valor de la variable es el que alterar el modo de combate. Sin embargo, tras capturar al pokémon, este aparece en mi equipo como una huevo malo.

Mi intención, tras obtener las direcciones y sus respectivas variables, es aplicar un parche a la rom con GBAATM (Parchador de cheats) y así poder capturar pokemon de otros entrenadores.
La alternativa sería optar por un script que provacase esto, perocomo dije anteriormente, apenas he encontrado información relevante de cómo podría hacerlo... Con el YAPE podría añadir un pokemon ya existente y cambiar únicamente sus ataques (los que tendría el pokemon del entrenador en cuestión), para que luego con el comando 'givepokemon' añadirlo al equipo.Pero de momento, descarto la vía del scripting.

¿Podríais ayudarme a encontrar el resto de codigo que hace posible la captura de pokemon en combates contra entrenador? Aporto los siguientes datos:

NOTA: El formato que deseo para poder aplicar el parche debe ser o bien VBA-RAW o bien Codebreaker (XXXXXXXX: YYYY)

Codigo (AR)

B6C5368A 08BE8FF4
B8D95CFE 06ED6EA1
E151C402 8A229A83
8E883EFF 92E9660D

Codigo Codebreaker:

74000130 00FF // Pulsa L+R para...
32022FEC 0004 // Cambiar sistema de lucha a 'batalla contra pokemon salvaje'
00000000 18033DF2 //He aquí el problema.
300020000000


El formato de esta línea:

00000000 18033DF2

No coindicide con el formato de Codebreaker de 8 bits. Esa parte es fundamental, pues evita que aparezca un huevo malo en el equipo. Ahí es donde hay que hacer hincapié!

Gracias de antemano!
#7
Fidouh 27244
Nadie?
#8
cosarara97 12296
Iniciado por Fidouh
Nadie?


Señor, si mira las reglas verá que este tipo de mensajes no está permitido. Pues no, nadie, no lo ves?
Si te sirve, yo intenté descifrar el código (y otros que me dediqué a buscar que hacían lo mismo) y no lo conseguí.