qna_rh
Thread Id: 26490
Thread Name: [RF] Dudas sobre script de Revancha contra Líderes.
#0
Druaron 28521
Bueno, he estado peleándome con los scripts. Mi intención es que (en Rojo Fuego) puedas pelear otra vez con los líderes de gimnasio una vez hayas superado por segunda vez la Líga Pokémon.

Bueno, he estado viendo que los scripts de los líderes de gimnasio del juego son muy complejos y no sabía por dónde empezar a tocar, así que he pensado que lo mejor era primero sacar un script que simule un nuevo Líder de Gimnasio, buscando por google y luego toqueteando e investigando cosas he conseguido hacer un script bastante convincente, aunque no es perfecto, pero para pruebas sirve.

El problema viene al hacer que el líder pelee contigo cuantas veces quieras una vez hayas superado la Liga por segunda vez. Investigando di con este flag:

checkflag 0x844
if 0x1 goto @loquesea

El problema es que eso determina que has superado la Liga Pokémon, pero no por segunda vez. Para que nos entendamos, el flag que aparece en el script del Alto Mando cada vez que hablas con uno y que determina si debes luchar con "la versión débil" o la "versión fuerte". Lo que yo necesito es conocer el flag que indica que has superado la liga por segunda vez.

Aparte de eso, me gustaría saber, si es posible, cómo puedo añadir cosas al Script existente de un Líder de Gimnasio, por ejemplo Brock, sin destrozar el script. Es decir, a partir de qué línea debería colocar el checkflag 0x844??

Para que sirva como datos extra, o al menos como aporte o por si me queréis dar alguna sugerencia, aquí está el script que tengo para el líder de gimnasio a partir de cero.

#dynamic 0x800000

#org @start
lockall
faceplayer
checkflag 0x844
if 0x1 goto @rematch
checkflag 0x820
if 0x1 goto @done
trainerbattle 0x1 0x19E 0x0 @beforematch1 @aftermatch1 @later1
end

#org @rematch
trainerbattle 0x1 0x002 0x0 @beforematch2 @aftermatch2 @later2
end

#org @beforematch2
= Así que te has vuelto\nmás fuerte.\pLuchemos.

#org @aftermatch2
= Nunca podré vencerte.

#org @later2
msgbox @006 0x6
givepokemon 0x1 0x5 0x0 0x0 0x0
release
end

#org @beforematch1
= Soy Brock. Luchemos.

#org @aftermatch1
= Me has puesto verde

#org @later1
msgbox @003 0x6
fanfare 0x13E
msgbox @004 0x4
waitfanfare
closeonpresskey
msgbox @005 0x6
giveitem 0x12A 0x1 0x5
releaseall
end

#org @done
msgbox @001 0x6
release
end

#org @001
= Eres realmente fuerte\nve a la Liga.

#org @003
= Toma la medalla\nRoca.

#org @004
= [player] recibió la\nmedalla Roca.

#org @005
= Te regalo esto.

#org @006
= Aquí tienes tu recompensa.

Nótese que el trainerbattle 0x1 0x002 0x0 es porque ocupa esa posición la versión con pokémons fuertes que he creado con el A-Trainer.

Un saludo!
#1
Megascep_9 Kuchiki 28187
#dynamic 0x800000

#org @start
lockall
faceplayer
checkflag 0x844
if 0x1 goto @rematch
checkflag 0x820
if 0x1 goto @done
trainerbattle 0x1 0x19E 0x0 @beforematch1 @aftermatch1 @later1
end

#org @rematch
trainerbattle 0x1 0x002 0x0 @beforematch2 @aftermatch2 @later2
cleartrainerflag 0x002
end

#org @beforematch2
= Así que te has vuelto\nmás fuerte.\pLuchemos.

#org @aftermatch2
= Nunca podré vencerte.

#org @later2
msgbox @006 0x6
givepokemon 0x1 0x5 0x0 0x0 0x0
release
end

#org @beforematch1
= Soy Brock. Luchemos.

#org @aftermatch1
= Me has puesto verde

#org @later1
msgbox @003 0x6
fanfare 0x13E
msgbox @004 0x4
waitfanfare
closeonpresskey
msgbox @005 0x6
giveitem 0x12A 0x1 0x5
releaseall
end

#org @done
msgbox @001 0x6
release
end

#org @001
= Eres realmente fuerte\nve a la Liga.

#org @003
= Toma la medalla\nRoca.

#org @004
= [player] recibió la\nmedalla Roca.

#org @005
= Te regalo esto.

#org @006
= Aquí tienes tu recompensa.


Eso hará que pelee una y otro y otro vez xD.

En número que tienes que pones es siempre el mismo que usaste en el trainer.
Por ejemplo:

trainerbattle 0x3 0x12d 0x0 @defeat
cleartrainerflag 0x12d


Saludos:D

EDITO: perdón no era settrainerflag sino cleartrainerflag XD
#2
Druaron 28521
Ah, muchas gracias! Ahora ya pelea infinitamente xDD

Lo que me gustaría saber ahora es qué flag define que has derrotado a la liga por segunda vez (la vez que tienen los pokémon de mayor nivel), en lugar de sólo la primera.

¿Conoce alguien el flag?