Registrarse

FR | Complete FireRed Upgrade

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Hasta ahora voy bien, pero en el paso 5. exactamente aqui:

Para decidir las compensaciones donde desea insertar el código: En 'scripts / make.py' cambie OFFSET_TO_PUT=YYYa la ubicación donde desea insertar los datos. No se preocupe por cambiar insert.py porque make.py actualiza automáticamente insert.py y linker.ld .

entro en esa direccion, pero no encuentro ningun archivo con el nombre OFFSET_TO_PUT=YYY , y si intento abrir directamente el make.py da un pantallaso negro, y se cierra,
que hago en ese paso?
Buenas, amigo. Si estás seguro de que descargaste correctamente todos los archivos, fíjate en scripts/make.py y busca el texto OFFSET_TO_PUT sin las YYY. Creo que están puestas como un ejemplo solamente.
Alrededor de la línea 12 deberías encontrar algo así:

Simplemente cambia el valor luego del signo = , es decir cambia 0x900000 por el offset que quieras usar.
 

jrlopes

Héroe de WaH
Cuando activo el setflag 0x910 (Double wild battle), la doble batalla aparece solo una vez, donde puedo cambiarla para que aparezca con más frecuencia en la ruta?
 

Adjuntos

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Cuando activo el setflag 0x910 (Double wild battle), la doble batalla aparece solo una vez, donde puedo cambiarla para que aparezca con más frecuencia en la ruta?
Buenas. Mira, te comento lo que dice la documentación en la página 60 del pdf: activar esa flag hace que todas las batallas contra pokémon salvajes y contra entrenadores sean dobles. No he revisado la implementación en sí pero supongo que por algún motivo la flag es desactivada durante el combate. Si quieres que todas las batallas sean dobles, el creador de este sistema te dice que crees un script de nivel de tipo 5 en el mapa (On entering map/on menu close [5]) con el siguiente contenido:
Código:
#define FLAG_DOUBLE_WILD_BATTLE 0x9F9
#define FLAG_TAG_BATTLE 0x908
#define VAR_PARTNER_BACKSPRITE 0x5012

#org @start
setflag FLAG_DOUBLE_WILD_BATTLE
setflag FLAG_TAG_BATTLE 'Setup battle with partner
setvar VAR_PARTNER_BACKSPRITE 0x2 'Brendan’s backsprite
end
También puedes evitar que la flag se desactive luego de cada combate yendo al archivo src/end_battle.c y borrando estas tres líneas:
Código:
#ifdef FLAG_DOUBLE_WILD_BATTLE
    FLAG_DOUBLE_WILD_BATTLE,
#endif
Por otro lado, hay otro método para batallas dobles que solo afecta a un bloque (puede ser de hierba alta) que configures de la siguiente manera:

En ese caso, puedes cambiar irte a src/config.h para cambiar la probabilidad de que una batalla sea doble, cambiando la siguiente línea: #define WILD_DOUBLE_RANDOM_CHANCE 50 //Change this to the percentage that a wild double battle will be initiated if the player is in special grass.

Espero haberte respondido la duda. Cualquier problemilla me avisas.
 

Giorgio

Enamorado del DECOMP :3 <3
Hasta ahora voy bien, pero en el paso 5. exactamente aqui:

Para decidir las compensaciones donde desea insertar el código: En 'scripts / make.py' cambie OFFSET_TO_PUT=YYYa la ubicación donde desea insertar los datos. No se preocupe por cambiar insert.py porque make.py actualiza automáticamente insert.py y linker.ld .

entro en esa direccion, pero no encuentro ningun archivo con el nombre OFFSET_TO_PUT=YYY , y si intento abrir directamente el make.py da un pantallaso negro, y se cierra,
que hago en ese paso?
Es simple, dale click derecho y luego en abrir con, elige notepad++ o el editor de code que más te guste, pero creo que no es necesario cambiar nada en el archivo make.py
 

jrlopes

Héroe de WaH
Buenas. Mira, te comento lo que dice la documentación en la página 60 del pdf: activar esa flag hace que todas las batallas contra pokémon salvajes y contra entrenadores sean dobles. No he revisado la implementación en sí pero supongo que por algún motivo la flag es desactivada durante el combate. Si quieres que todas las batallas sean dobles, el creador de este sistema te dice que crees un script de nivel de tipo 5 en el mapa (On entering map/on menu close [5]) con el siguiente contenido:
Código:
#define FLAG_DOUBLE_WILD_BATTLE 0x9F9
#define FLAG_TAG_BATTLE 0x908
#define VAR_PARTNER_BACKSPRITE 0x5012

#org @start
setflag FLAG_DOUBLE_WILD_BATTLE
setflag FLAG_TAG_BATTLE 'Setup battle with partner
setvar VAR_PARTNER_BACKSPRITE 0x2 'Brendan’s backsprite
end
También puedes evitar que la flag se desactive luego de cada combate yendo al archivo src/end_battle.c y borrando estas tres líneas:
Código:
#ifdef FLAG_DOUBLE_WILD_BATTLE
    FLAG_DOUBLE_WILD_BATTLE,
#endif
Por otro lado, hay otro método para batallas dobles que solo afecta a un bloque (puede ser de hierba alta) que configures de la siguiente manera:

En ese caso, puedes cambiar irte a src/config.h para cambiar la probabilidad de que una batalla sea doble, cambiando la siguiente línea: #define WILD_DOUBLE_RANDOM_CHANCE 50 //Change this to the percentage that a wild double battle will be initiated if the player is in special grass.

Espero haberte respondido la duda. Cualquier problemilla me avisas.
En mi documento config.h exp.share es así: // # define FLAG_EXP_SHARE 0x906 (Activé esta flag y no pasó nada) diferente de los demás, comienza con la barra al frente, tengo exp.share en la bolsa, pero no comparte exp. con todos, y en el archivo Documentation.pdf solo se menciona exp.share en exp.c Abrí este archivo en notepad ++ y no encontré nada que pudiera configurar. ¿Cómo podría exp. Todo para todos activarlo?
 

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
En mi documento config.h exp.share es así: // # define FLAG_EXP_SHARE 0x906 (Activé esta flag y no pasó nada) diferente de los demás, comienza con la barra al frente, tengo exp.share en la bolsa, pero no comparte exp. con todos, y en el archivo Documentation.pdf solo se menciona exp.share en exp.c Abrí este archivo en notepad ++ y no encontré nada que pudiera configurar. ¿Cómo podría exp. Todo para todos activarlo?
He configurado este sistema en una ROM limpia de Fire Red y he probado el exp share. Me ha funcionado. Cabe aclarar que el sistema funciona con solo activar la flag que hayas configurado en src/config.h, sin importar que lleves el objeto en la bolsa o no.
¿Estás seguro de que has insertado todos los sistemas en una ROM corriendo python scripts/make.py, que no ha surgido ningún error y que estás comprobando en la ROM correcta(por defecto llamada tests.gba)?
¿Has activado la flag en un script mediante el comando setflag 0x906? ¿Has comprobado que tus demás pokémon no estén ganando experiencia? Aquí debo decir que el mensaje en batalla pasa algo rápido y si estás jugando con fast forward puede que no lo notaras (me pasó la primera vez). Justo al apretar el botón A luego de alguna de estas dos pantallas (la segunda es si justo tu pokémon en batalla subió de nivel):
Deberías ver la siguiente:
Y al comprobar en los puntos de experiencia en la vista detallada de cada pokémon, deberían haber aumentado respecto a los que tenía antes de la batalla.

Si has comprobado absolutamente todo, el sistema sigue sin funcionar y no encuentras ningún error: puedes pasarme tu ROM y le echo un ojo.

----------------------------------------------------------------------------------------------------------------------------------------------------------

Una pregunta, esto se descarga o algo?.No entendi muy bien que hacer
Efectivamente: tienes que descargar el código desde GitHub y seguir los pasos que están indicados aquí, ya sea para Windows o para Unix.
Ante cualquier problemilla que tengas para insertarlo en tu ROM, puedes crear un tema en el subforo de Dudas e intentaremos ayudarte en cuanto podamos.
 

jrlopes

Héroe de WaH
He configurado este sistema en una ROM limpia de Fire Red y he probado el exp share. Me ha funcionado. Cabe aclarar que el sistema funciona con solo activar la flag que hayas configurado en src/config.h, sin importar que lleves el objeto en la bolsa o no.
¿Estás seguro de que has insertado todos los sistemas en una ROM corriendo python scripts/make.py, que no ha surgido ningún error y que estás comprobando en la ROM correcta(por defecto llamada tests.gba)?
¿Has activado la flag en un script mediante el comando setflag 0x906? ¿Has comprobado que tus demás pokémon no estén ganando experiencia? Aquí debo decir que el mensaje en batalla pasa algo rápido y si estás jugando con fast forward puede que no lo notaras (me pasó la primera vez). Justo al apretar el botón A luego de alguna de estas dos pantallas (la segunda es si justo tu pokémon en batalla subió de nivel):
Deberías ver la siguiente:
Y al comprobar en los puntos de experiencia en la vista detallada de cada pokémon, deberían haber aumentado respecto a los que tenía antes de la batalla.

Si has comprobado absolutamente todo, el sistema sigue sin funcionar y no encuentras ningún error: puedes pasarme tu ROM y le echo un ojo.
Configuré usando la base de ROM DPE + CFRU de Leon, hay un txt que enseña paso a paso qué configurar.
En config.h, vea la imagen a continuación diferente de los otros elementos, la línea es verde.
¿Podría ser esto lo que está causando el error?
 

Adjuntos

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Configuré usando la base de ROM DPE + CFRU de Leon, hay un txt que enseña paso a paso qué configurar.
En config.h, vea la imagen a continuación diferente de los otros elementos, la línea es verde.
¿Podría ser esto lo que está causando el error?
No estoy seguro de cómo funciona la integración de DPE y CFRU pero yo apostaría a que el problema sí que está en la línea verde.
Te explico: la línea se ve verde porque es un comentario, o sea, está siendo ignorada al momento de insertar este sistema en tu juego.
Prueba de borrar los // que tiene antes del #define en esa misma línea (la 36) y volver a insertarlo.

EDIT
Efectivamente, jrlopes estaba usando el parche de Leon siguiendo sus instrucciones de instalación. La versión del CFRU que usó estaba configurada para usar el viejo sistema de Exp Share. Si alguno tiene este mismo problema, puede editar el archivo src/config.h con los siguientes cambios:
  • Buscar esta línea: #define OLD_EXP_SHARE y agregarle // al inicio para que quede: //#define OLD_EXP_SHARE
  • En el mismo archivo, buscar: //#define FLAG_EXP_SHARE 0x906 y quitarle las // para que quede: #define FLAG_EXP_SHARE 0x906
Luego de eso, al volver a instalar el sistema en una ROM limpia, empezó a compartirse la experiencia con solamente activar la variable.
 
Última edición:

Jester_19

Y que sepáis que Pokémon no es sólo Pokémon Go 😉
Me parece increíble está base. Tal vez parezca un tonto pero no veo el link de descarga
 
Última edición:
Arriba