Registrarse

[RH - Scripting] Duda respecto a scripts de batallas de entrenador.

Estado
Cerrado para nuevas respuestas.

DukePantarei

Usuario de oro
Supongo que sera una duda relativamente sencilla, busque en el foro y no pille nada respecto a esto. Queria saber si alguien me podia facilitar alguna fuente o directamente el script para hacer una batalla de entrenador normal, donde al derrotar al entrenador, este nos de uno o mas items (distintos). He intentando meter un poco de mano en scripts a la rapida, pero no he podido xD si alguien puede ayudarme se lo agradeceria mucho!
 

hacanoca

Héroe de WaH
¿Y exactamente por qué no te funciona?
Suena como algo bastante sencillo.
Debes tener en cuenta que el "Trainerbattle" más común (El 0x0) finaliza el script tras ganar la batalla, por lo que no te darían los objetos automáticamente sino que tendrías que volver a hablar con el entrenador.
Así que sugiero utilizar otro tipo de "trainerbattle", por ejemplo el 0x2 ó 0x3 (aunque este último no cambia la flag de batalla, por lo que el combate se repetiría siempre, a no ser que la cambies por tu cuenta; por eso opto más por el 0x2)
Te recomiendo leer los tutoriales de Javi de "Comandos y Usos" para entender más los "Trainerbattle"

Supongo que sería algo de este estilo:
"dynamic 0x800000
#org @inicio
trainerbattle 0x2 0x(N° Entrenador) 0x0 @Texto1 @Texto2 @pointer
msgbox @Texto3 0x2
end

#org @pointer 'puntero a donde te envía tras ganarle el combate
lock
msgbox @Texto4 0x2
giveitem 0x(N°Item) 0x(Cantidad) 0x0
release
end

'Textos'
#org @Texto1 'lo que te dice al retarte
=¡Por Arceus, se vé que eres un debilucho! Apuesto mi caña a que no puedes vencerme en un combate.

#org @Texto2 'lo que te dice al ganarle el combate
=¡No puedo creerlo!...¿Perdí mi caña?

#org @Texto3 'lo que dirá tras volverle a hablar tras el evento del combate
=Me ganaste con todas las de la ley, disfruta mi antigua caña, es muy útil.

#org @Texto4 'Algún texto antes de que te entregue la caña
=Pensé que ganaría, no es justo...Bueno, una apuesta es una apuesta, toma mi caña."

Esto fue un ejemplo rápido, ya toca pulirlo según tus necesidades y lo detallado que lo quieras hacer.
Creo que no se necesita una flag pues el "Trainerbattle 0x2" cambia la flag de combate, por lo que tras haberle ganado una vez, el comando del trainerbattle no se ejecutará nuevamente tras volverle a hablar, por lo tanto, nunca te volverá a enviar a "@pointer". Si le vuelves a hablar sólo leerá el script después del comando "Trainerbattle"

Nuevamente te recomiendo los tutos de Javi, están...en alguna parte del foro (Me da lochita buscarlos). A mí me han sido muy útiles.

Otra cosa importante, este ejemplo lo hice pensando en la rom que yo trabajo que es FR. Desconozco si en otras roms los comandos o la estructura de las cosas cambie.
 
Última edición:

Nachoius

Caminante del cielo
Supongo que sera una duda relativamente sencilla, busque en el foro y no pille nada respecto a esto. Queria saber si alguien me podia facilitar alguna fuente o directamente el script para hacer una batalla de entrenador normal, donde al derrotar al entrenador, este nos de uno o mas items (distintos). He intentando meter un poco de mano en scripts a la rapida, pero no he podido xD si alguien puede ayudarme se lo agradeceria mucho!
Si quieres más items de forma azarosa debes agregar al script de arriba, el comando "random", si buscas en el indice de tutoriales encontrarás como usarlo.


#SQ
 

DukePantarei

Usuario de oro
¿Y exactamente por qué no te funciona?
Suena como algo bastante sencillo.
Debes tener en cuenta que el "Trainerbattle" más común (El 0x0) finaliza el script tras ganar la batalla, por lo que no te darían los objetos automáticamente sino que tendrías que volver a hablar con el entrenador.
Así que sugiero utilizar otro tipo de "trainerbattle", por ejemplo el 0x2 ó 0x3 (aunque este último no cambia la flag de batalla, por lo que el combate se repetiría siempre, a no ser que la cambies por tu cuenta; por eso opto más por el 0x2)
Te recomiendo leer los tutoriales de Javi de "Comandos y Usos" para entender más los "Trainerbattle"

Supongo que sería algo de este estilo:
"dynamic 0x800000
#org @inicio
trainerbattle 0x2 0x(N° Entrenador) 0x0 @Texto1 @Texto2 @pointer
msgbox @Texto3 0x2
end

#org @pointer 'puntero a donde te envía tras ganarle el combate
lock
msgbox @Texto4
giveitem 0x(N°Item) 0x(Cantidad) 0x0
release
end

'Textos'
#org @Texto1 'lo que te dice al retarte
=¡Por Arceus, se vé que eres un debilucho! Apuesto mi caña a que no puedes vencerme en un combate.

#org @Texto2 'lo que te dice al ganarle el combate
=¡No puedo creerlo!...¿Perdí mi caña?

#org @Texto3 'lo que dirá tras volverle a hablar tras el evento del combate
=Me ganaste con todas las de la ley, disfruta mi antigua caña, es muy útil.

#org @Texto4 'Algún texto antes de que te entregue la caña
=Pensé que ganaría, no es justo...Bueno, una apuesta es una apuesta, toma mi caña."

Esto fue un ejemplo rápido, ya toca pulirlo según tus necesidades y lo detallado que lo quieras hacer.
Creo que no se necesita una flag pues el "Trainerbattle 0x2" cambia la flag de combate, por lo que tras haberle ganado una vez, el comando del trainerbattle no se ejecutará nuevamente tras volverle a hablar, por lo tanto, nunca te volverá a enviar a "@pointer". Si le vuelves a hablar sólo leerá el script después del comando "Trainerbattle"

Nuevamente te recomiendo los tutos de Javi, están...en alguna parte del foro (Me da lochita buscarlos). A mí me han sido muy útiles.

Otra cosa importante, este ejemplo lo hice pensando en la rom que yo trabajo que es FR. Desconozco si en otras roms los comandos o la estructura de las cosas cambie.
Soy algo novato en el tema de los scripts, y mas que lo MUY basico, no sabia mucho mas xD! pero me sirvio harto el script que me diste de ejemplo, literamente queria hacer algo como eso jajaj, muchas gracias!
 

Kammm

Profesional de WaH
Bien realizado @hacanoca.

Dado que la duda ya fue resulta, les pido no estirar más el tema. Saludos cordiales

SQ was here
 
Estado
Cerrado para nuevas respuestas.
Arriba