Registrarse

[RH - Scripting] Algo asi es posible? [Pokémon Fire Red]

Estado
Cerrado para nuevas respuestas.

Yjhonathang

Rom Hacking Principiante a Aparecido
hola, buenos dias, tardes o noches, pues veran queria saber si no existe algun scrip o forma de que
si perdemos la liga todo kanto o parte de el se reinicie.

por ejemplo: supongamos que estoy en la liga de kanto y pierdo el combate contra bruno, y que en vez de aparecer curando en la liga, aparezca en la casa del prota (con todos los pokemon curados) y que al revisar mi trainer card esta ya no tenga las medallas obligandome a volver a retar cada gimnasio( con mi equipo pokemon pero que los gimnasios tenga mejores pokemon que antes)
y luego de obtener todas las medallas poder volver a retar al alto mando y que si vuelvo a perder se repita el ciclo.

no se si me explique bien pero bueno.

muchas gracias por su atencion.

CHAOOOOOO.
 

Eaas

Profesional de WaH
Bien vamos aya.
Lo q quieres hacer ya lo explicaste arriba, pues yo te voy a explicar lo que falta para qye comprendas como hacerlo.

Ojo, a partir de aquí lee cada punto explicativo para q entiendas bien.

*Primero necesitas que cuando pierdas en la loga te quedes sin medalla, así tengas q enfrentar a los líderes de gimnasio de nuevo.

Bien vamos por paso.

¿Como funsionan los líderes de gimnasio, o como hacerlos funsionar para q te funsiona esta locura?

1-Los líderes de gimnasio te dan una medalla cuando les ganas, pero para que esto sea realista ellos hacen que cuando les ganes cada vez q hablas con ellos te digan un texto y ahí c acaba el script.
¿Pará qué?
Pues para q no te vuelvan a dar la medalla, ni tengas que enfrentarte a ellos de nuevo.

¿Como lo haríamos?

Bien en FR hay una flag que se utiliza para que te den cada una de las medallas.
El script del líder de gimnasio no se como sea pero yo lo haría así suponiendo que una de las medallas sea la 208.

#dynamic 0x720000
#org @star
Checkflag 0x208
If 0x1 goto @pointer
Trainerbattle (para pelear con el líder)
Texto en el que te felicita
Goto @pointer

#org @pointer
Texto de que ganaste

Que hice aquí?
Pues el comando Checkflag lo utilizó para comparar si ya tienes la medalla.
En caso de no tenerla seguira leyendo el script, por lo que empezará la trainerbattle en la cual luchará el líder contigo y en el caso de tenerla te dirigirá a @pointer en el cual te dirá un texto random.

Como hice esto?
Las flag son interruptores los cuales funsionan si están encendidos o apagados.
¿Pero como yo hago q esto sea funsional?
Bueno.

If 0x1 Goto @pointer

¿Que dice este comando y a que llevan estos parámetros?

If sería Si, 0x1 sería si esta activada, Goto sería ir a y @pointer a donde dirigirse de ser así.

Por lo q se puede traducir así.

If 0x1 Goto @pointer
Si esta activada. ir a @pointer

Como la activamos?
Pues después del trainerbattle, hay un setflag, el cual indica el valor de la flag de dicha medalla.
Si te fijas el sertflag está después de la batalla.
¿Por que?
Pues pq si ganamos activamos la flag, y si perdemos se supone q sale el cartel y directo al Centro pokemon.

¿Que quise explicarte con esto?

Que si configuras el script de los lideres de Gym de esta manera, cuando pierdas en la liga con sólo dar un sertflag 0x208 ya dicha flag esta desactivada, por lo tanto al hablar con el lider de gimnasio volverás a pelear.

Hasta aquí, ya tienes un problema resuelto, ya puedes al perder en la liga setear todas las flag de tus 8 medallas y así ya los líderes de Gym estarían default.

*punto dos.
Como hacer q caigas en tu casa.
Pues bueno, ya esto es complicado.
En Rubi los puntos de cura son los mismo q los de vuelo, por lo tanto con WBTO puedes hacer q al perder caigas en cualquier punto del mapa o de cualquier mapa moviendo las coordenadas del punto de vuelo.

Ahora en FR sólo se me ocurre algo.
Que al perder la batalla no vayas al centro pokemon, algo así como la batalla contra Gary en el tutorial de Oak.
Si esto fuera posible, podrías después de perder q el líder de la liga te diga lo incompetente q eres y de paso das un fadescreen para q la pantalla se ponga negra y un warp para derigirte a tu casa.

Yo lo haría así

Texto de q perdiste
Setflag de todas las medallas
Fadescreen 0x1
Warpmuted 0x0 0x0 0xff 0xa 0xa

Warpmuted lo q hace es un warp sin que suene el sonido de las puertas.
Los primeros 0x0 serían el banco del mapa y el número del mapa y el 0xFF significa que no vamos a un warp en concreto sino a las expesificacions de los parámetros.

Bien, pero como haríamos para después de la pelea no ir al centro pokemon.
Pues aquí necesitas de ASM y para tu suerte ya la rutina está creada por @Javi4315 y te hizo un video tutorial de como aplicarla.

Siguiendo esto no tendrías problemas, simplemente leyendo tutos de script para que te familiarices y después leas esto.

 
Última edición:

Yjhonathang

Rom Hacking Principiante a Aparecido
Bien vamos aya.
Lo q quieres hacer ya lo explicaste arriba, pues yo te voy a explicar lo que falta para qye comprendas como hacerlo.

Ojo, a partir de aquí lee cada punto explicativo para q entiendas bien.

*Primero necesitas que cuando pierdas en la loga te quedes sin medalla, así tengas q enfrentar a los líderes de gimnasio de nuevo.

Bien vamos por paso.

¿Como funsionan los líderes de gimnasio, o como hacerlos funsionar para q te funsiona esta locura?

1-Los líderes de gimnasio te dan una medalla cuando les ganas, pero para que esto sea realista ellos hacen que cuando les ganes cada vez q hablas con ellos te digan un texto y ahí c acaba el script.
¿Pará qué?
Pues para q no te vuelvan a dar la medalla, ni tengas que enfrentarte a ellos de nuevo.

¿Como lo haríamos?

Bien en FR hay una flag que se utiliza para que te den cada una de las medallas.
El script del líder de gimnasio no se como sea pero yo lo haría así suponiendo que una de las medallas sea la 208.

#dynamic 0x720000
#org @star
Checkflag 0x208
If 0x1 goto @pointer
Trainerbattle (para pelear con el líder)
Texto en el que te felicita
Goto @pointer

#org @pointer
Texto de que ganaste

Que hice aquí?
Pues el comando Checjflag lo utilizó para comparar si ya tienes la medalla.
En caso de no tenerla seguira leyendo el script, por lo que empezará la trainerbattle en la cual luchará el líder contigo y en el caso de tenerla te dirigirá a @pointer en el cual te dirá un texto random.

Como hice esto?
Las flag son interruptores los cuales funsionan si están encendidos o apagados.
¿Pero como yo hago q esto sea funsiona?
Bueno.

If 0x1 Goto @pointer

¿Que dice este comando y a que llevan estos parámetros?

If sería Si, 0x1 sería si esta activada, Goto sería ir ay @pointer a donde dirigirse de ser así.

Por loq se puede traducir así.

If 0x1 Goto @pointer
Si esta activada. ir a @pointer

Como la activamos?
Pues después del trainerbattle, hay un setflag, el cual indica el valor de la flag de dicha medalla.
Si te fijas el sertflag está después de la batalla.
¿Por que?
Pues pq si ganamos activamos la flag, y si perdemos se supone q sale el cartel y directo al Centro pokemon.

¿Que quise explicarte con esto?

Que si configuras el script de los lideres de Gym de esta manera, cuando pierdas en la loga con sólo dar un sertflag 0x208 ya ducha flag esta desactivada, por lo tanto al hablar con el lider de gimnasio volverás a pelear.

Hasta aquí, ya tienes un problema resuelto, ya puedes al perder en la liga setear todas las flag de tus 8 medallas y así ya los líderes de Gym estarían default.

*punto dos.
Como hacer q caigas en tu casa.
Pues bueno, ya esto es complicado.
En Rubi los puntos de cura son los mismo q los de vuelo, por lo tanto con WBTO puedes hacer q al perder caigas en cualquier punto del mapa o de cualquier mapa moviendo las coordenadas del punto de vuelo.

Ahora en FR sólo se me ocurre algo.
Que al perder la batalla no vayas al centro pokemon, algo así como la batalla contra Gary en el tutorial de Oak.
Si esto fuera posible, podrías después de perder q el líder de la liga te diga lo incompetente q eres y de paso das un fadescreen para q la pantalla se ponga negra y un warp para derigirte a tu casa.

Yo lo haría así

Texto de q perdiste
Setflag de todas las medallas
Fadescreen 0x1
Warpmuted 0x0 0x0 0xff 0xa 0xa

Warpmuted lo q hace es un warp sin que suene el sonido de las puertas.
Los primeros 0x0 serían el banco del mapa y el el número del mapa y el 0xFF significa que no vamos a un warp en concreto sino a las expesificacions de los parámetros.

Bien, pero como haríamos para después de la pelea no ir al centro pokemon.
Pues aquí necesitas de ASM y para tu suerte ya la rutina está creada por @Javi4315 y te hizo un video tutorial de como aplicarla.

Siguiendo esto no tendrías problemas, simplemente leyendo tutos de script para que te familiarices y después leas esto.

muchas gracias por tu aporte lo pondre a prueba, es que quiero darle un toque de realismo a mi hack, y de nuevo muchas gracias
 
Estado
Cerrado para nuevas respuestas.
Arriba