Registrarse

Duda con trainerbattle

Estado
Cerrado para nuevas respuestas.
Muy buenos días, compañeros.

Hoy les traigo una nueva duda (cómo no xD)
Os explico la situación que quiero que ocurra:
-Al pisar un Script de Gatillo, aparece mi rival (el cual estaba oculto) y viene hacia mí. Luchamos.
-Si gano, se marcha de mi campo de visión, como si se fuera a otro pueblo, cuando en realidad hago un hidesprite.
-Si pierdo, supuestamente tengo que aparecer en el Centro Pokémon para curarme, y cuando salga y pise de nuevo el Script de Gatillo, tendría que luchar de nuevo con él.
-Todo esto ocurre hasta que yo gane la batalla.

Pero tengo un problema. Este es el Script:
#dynamic 0x800000

#org @inicio
checkflag 0x200
if 0x1 goto @fin
showsprite 0x(mi colega)
applymovement 0x(mi colega) @HaciaPlayer
waitmovement 0x0
trainerbattle 0x0 0x(mi colega/PET) 0x(offset libre/mensaje antes de la pelea) 0x(offset libre/mensaje al yo ganar)
msgbox @pierdo 0x2
applymovement 0x(mi colega) @SeMarcha
waitmovement 0x0
hidesprite 0x(mi colega)
setflag 0x200 'para que no se vuelva a ejecutar el script si gano.
end

#org @HaciaPlayer
#raw 0x(movimientos que sean)
#raw 0xFE

#org 0x(offset libre/mensaje antes de la pelea)
= ¿Luchamos?

#org 0x(offset libre/mensaje al yo ganar)
= Vaya... eres muy fuerte... snif...

#org @pierdo
= Jeh, ya sabía que iba a ganar.

#org @SeMarcha
#raw 0x(movimientos que sean)
#raw 0xFE

#org @fin
release
end


Si pierdo, el Script continúa, ¿verdad? Es decir, que si pierdo, acaba marchándose. Y cuando pise el Gatillo, no pasaría nada por la Flag...
No sé cómo hacer para que cuando pierda, el Gatillo siga estando operativo, ni que mi colega se marche.

Qué dolores de cabeza jajaja

Muchas gracias a todos por su ayuda :)
 

Sayer301!

UnityLord!
Miembro de honor
vamos por pasos.

Si pierdes, el script no continua en ninguno de los casos, vas directamente al CP y listo, como mucho puedes usar la batalla de Gary del principio, pero te sale con los tutoriales de Oak, por lo cual pierde muchísimo la gracia.

Luego, el checkflag aqui no sirve de nada, los scripts de gatillo tienes que configurarlo asignandole una variable(que no es lo mismo que una flag) y un valor.

En "Varnum" se pone el numero de la variable y en "varvalue" el valor de esta.
Esto será lo que nos haga de "checkflag" pues el script SOLO se ejecutara si la variable que pusimos en varnum tiene el valor que pusimos en varvalue. Si tiene cualquier otro valor, no se ejecutará. Por lo que dentro del script no te hace falta ningun checkflag.
(El setflag si,para hacer desaparecer al mini para siempre)

entonces:

Tu tienes un script de gatillo y tienes por ejemplo la variable 40FF y el valor 1
Cuando la variable tenga valor uno (porque se lo hayas puesto asi tu a través de otro script) se ejecutará el script al pisarlo, si tiene valor 0, 2 o mayor pasarás por encima como si nada.

Bien, ahora según lo que tienes el script se repetiría indefinidamente ganes o pierdas, siempre que pises pasaría el script. ¿Como haces que no se repita?
Pues cambiando el valor de la variable.

Entonces, como quieres que solo deje de repetirse cuando ganes, tendrías que cambiar la variable después del combate, pues como te he dicho, si pierdes el script no se sigue ejecutando, por lo que no cambiara la variable y el script se seguirá activando.

¿Como cambias la variable?
Sencillo

Setvar 0x(variable) 0x(valor)

Espero haberte orientado!
 
Vaya, pues me has aclarado bastante las dudas!! jejeje con lo sencillo que era y no se me ocurría jaja que patán
Muchas gracias de nuevo Tito ;)
 
Estado
Cerrado para nuevas respuestas.
Arriba