Registrarse

No Funciona el "Trainerbattle"

Estado
Cerrado para nuevas respuestas.

Famidox

Rom Hacker principiante
hola amigos hoy tengo un problemilla y es uqe estoy haciendo un script y hay una batalla de entrenador y para eso puse el "trainerbattle 0x4 0x100 0x0" asi igual porque quiero que el script siga y no se detenga cuando acabe la batalla pero el XSE me dice que tengo un error y que no va 0x4 pero yo quiero que siga el script y ya probe que solo sirve con 0x0
me podrian decir que esta pasando aqui?
 

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Lo cierto es que te faltan 3 parámetros que son punteros.
Especifica la base porque el trainerbattle 0x4, según esta guía de comandos es un combate doble, no uno que sigue cuando acaba la batalla.
Los tipos que hacen lo que quieres son el 1 y el 2 para los cuales los parámetros faltantes son: Texto antes de la batalla, texto al ganar la batalla, offset de dónde continúa el script tras la batalla.

Si no es eso lo que quieres, acláramelo porque no te he entendido del todo bien.
 

Lunos

Enfrentando a La Organización
Miembro insignia
hola amigos hoy tengo un problemilla y es uqe estoy haciendo un script y hay una batalla de entrenador y para eso puse el "trainerbattle 0x4 0x100 0x0" asi igual porque quiero que el script siga y no se detenga cuando acabe la batalla pero el XSE me dice que tengo un error y que no va 0x4 pero yo quiero que siga el script y ya probe que solo sirve con 0x0
me podrian decir que esta pasando aqui?​
Pusiste los parametros incorrectos para que el comando funcione. Por lo que vi, funciona tal que asi:
Código:
trainerbattle 0x4 0xEntrenador 0x0 @#Antes @#Derrota @#Necesitas2
Por otro lado, el tipo 0x4 de trainerbattle simplemente no existe en Fire Red.
Las batallas dobles no están implementadas en la ROM por defecto.

Ya mencioné el uso correcto del trainerbattle 0x4.
Ahora, en el caso de que si estés utilizando Fire Red, si quieres una trainerbattle que le permita al script continuar su ejecución tras la batalla, tus opciones son el 0x1 y el 0x3 (Si estás utilizando Fire Red tambien tienes el 0x9).

El trainerbattle 0x1 funciona de la siguiente manera:
Código:
trainerbattle 0x1 0xIDDelEntrenador 0x0 @#Antes @#Derrota @#Despues
@#Antes = Msgbox antes de la batalla.
@#Derrota = Mensaje que te dirá el NPC al ser derrotado en la batalla.
@#Despues = Sección del script que se ejecutará tras la batalla.

Ejemplo rapido:
Código:
#dynamic 0x0800000
#org @inicio
checkflag 0x820
if 0x1 goto @done
trainerbattle 0x1 0x001 0x0 @#Antes @#Derrota @#Despues
end

#org @#Despues
fanfare 0x13E // Creo que esta fanfare es la equivocada, pero como esto es un ejemplo da igual.
msgbox @1 0x4
setflag 0x820
waitfanfare
closeonkeypress
end

#org @done
msgbox @2 0x6
end

#org  @#Antes
= ¡Luchemos!

#org @#Derrota
= ¡Me has ganado! ¡Felicidades!

#org @1
= Me has derrotado. Como muestra\nde tu victoria, te entrego\lla Medalla Roca.

#org @2
= ¡Tú ya me has vencido!
Y este es el resultado.

El 0x3 funciona de la siguiente manera:
Código:
#dynamic 0x0800000
#org @inicio
checkflag 0x820
if 0x1 goto @done
msgbox @1 0x4
closeonkeypress
trainerbattle 0x3 0x001 0x0 @#derrota
msgbox @2 0x6
setflag 0x820
fanfare 0x13E
msgbox @3 0x4
waitfanfare
closeonkeypress
end

#org @done
msgbox @4 0x6
end

#org @1
= ¡Luchemos!

#org @#derrota
= ¡Me has ganado! ¡Felicidades!

#org @2
= Me has derrotado. Como muestra\nde tu victoria, te entrego\lla Medalla Roca.

#org @3
= ¡[PLAYER] obtuvo la Medalla Roca!

#org @4
= ¡Tú ya me has vencido!
Y este es el resultado.

No copies y pegues los scripts presentados, como dije antes solo fueron ejemplos rapidos.
Me cago en el sistema de tagging de este foro, la madre que lo parió.
 
Última edición:
Estado
Cerrado para nuevas respuestas.
Arriba