Registrarse

Ayuda sobre un script de gatillo de trainerbattle con rival

Estado
Cerrado para nuevas respuestas.
Hola, quiero hacer lo siguiente en este mapa hay 1 script de gatillo de los cuales he configurado el 1 he creado una variable para asociarsela


Despues he hecho que compruebe la flag 0x501 para iniciar el script de gatillo si es la correcta deberia iniciar el script si no se finaliza.

Le he asignado la flag para que desaparezca el sprite en la 503

Necesito saber que es lo que falla cuando piso el gatillo no hace nada ayuda aquí el codigo:

Código:
#dynamic 0x800000

'---------------
#org @start
checkflag 0x501
if 0x1 @script
if 0x0 @fin

#org @script
lockall
applymovement 0x3 @movs1
waitmovement 0x3 
msgbox @inicial 0x6
trainerbattle 0x0 0x74 0x0 @txt @txtfinal
msgbox @finbatalla 0x6
applymovement 0x3 @movs2
hidesprite 0x3
setflag 0x503
setvar 0x4057 0x1
releaseall
end

#org @movs1
#raw 0x62 'Exclamación (!)
#raw 0x18 'Esperar 1
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x65 'Doble Exclamación (!!)
#raw 0xFE 'Finalizar Movimientos

#org @movs2
#raw 0x66 'Feliz (^_^)
#raw 0x11 'Paso Arriba
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x11 'Paso Arriba
#raw 0x11 'Paso Arriba
#raw 0x11 'Paso Arriba
#raw 0x11 'Paso Arriba
#raw 0x11 'Paso Arriba
#raw 0x60 'Ocultar
#raw 0xFE 'Finalizar Movimientos

#org @inicial
= [green_fr] Hola, [player] , me han\nhablado mucho sobre ti, soy Leaf\lque tal si hacemos un combate?

#org @txt
= [green_fr] Bien , vamos a ver si eres\nlo bastante fuerte!!

#org @txtfinal
= [green_fr] ¡Oh, me has vencido!

#org @finbatalla
= [green_fr] Vaya, [player] me has vencido.\nBueno ya nos iremos viendo de vez\len cuando que tengas suerte.

#org @fin
release
end
 

Markuzz Kaizuka

Usuario de platino
Porque no usas la variable en vez de las flags,pienso que la unica flag necesaria aqui seria la del mini sprite ademas de que al comienzo colocaste check flag 0x501 y despues no hubo setflag para esta flag lo que te recomiendo es que para scripts gatillos no te valgas mucho de las flags .
En este script colocaste el puntero @fin, por que?
si con una variable ,al terminar el evento puedes hacer que no se repita
te recomiendo que te leas un tutorial sobre variables.
 

Inferno

Miembro insignia
Miembro insignia
Hola, quiero hacer lo siguiente en este mapa hay 1 script de gatillo de los cuales he configurado el 1 he creado una variable para asociarsela


Despues he hecho que compruebe la flag 0x501 para iniciar el script de gatillo si es la correcta deberia iniciar el script si no se finaliza.

Le he asignado la flag para que desaparezca el sprite en la 503

Necesito saber que es lo que falla cuando piso el gatillo no hace nada ayuda aquí el codigo:

Código:
#dynamic 0x800000

'---------------
#org @start
checkflag 0x501
if 0x1 @script
if 0x0 @fin

#org @script
lockall
applymovement 0x3 @movs1
waitmovement 0x3 
msgbox @inicial 0x6
trainerbattle 0x0 0x74 0x0 @txt @txtfinal
msgbox @finbatalla 0x6
applymovement 0x3 @movs2
hidesprite 0x3
setflag 0x503
setvar 0x4057 0x1
releaseall
end

#org @movs1
#raw 0x62 'Exclamación (!)
#raw 0x18 'Esperar 1
#raw 0x10 'Paso Abajo
#raw 0x10 'Paso Abajo
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x12 'Paso Izquierda
#raw 0x10 'Paso Abajo
#raw 0x65 'Doble Exclamación (!!)
#raw 0xFE 'Finalizar Movimientos

#org @movs2
#raw 0x66 'Feliz (^_^)
#raw 0x11 'Paso Arriba
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x13 'Paso Derecha
#raw 0x11 'Paso Arriba
#raw 0x11 'Paso Arriba
#raw 0x11 'Paso Arriba
#raw 0x11 'Paso Arriba
#raw 0x11 'Paso Arriba
#raw 0x60 'Ocultar
#raw 0xFE 'Finalizar Movimientos

#org @inicial
= [green_fr] Hola, [player] , me han\nhablado mucho sobre ti, soy Leaf\lque tal si hacemos un combate?

#org @txt
= [green_fr] Bien , vamos a ver si eres\nlo bastante fuerte!!

#org @txtfinal
= [green_fr] ¡Oh, me has vencido!

#org @finbatalla
= [green_fr] Vaya, [player] me has vencido.\nBueno ya nos iremos viendo de vez\len cuando que tengas suerte.

#org @fin
release
end

Varias cosas que comentar:

-Si has usado ya una variable no vas a necesitar la flag que active el script de gatillo, ya que el script de gatillo se ejecutará o no dependiendo del valor que hayas configurado tú en "var value" dentro de la casilla del script de gatillo, es decir, si tu en var value pones 0 y esa variable tiene el valor 0 se ejecutará el script, luego gracias a ese setvar ya estás modificando el valor 0 por lo tanto no se repetirá el script. Te dejo esta pequeña explicación que hice hace un tiempo por si te sirve de algo: https://whackahack.com/foro/392228-post3.html

-El lock/lockall se suele utilizar justo después de #org @start, además veo que el pointer @fin te lleva a un release (debería ser releaseall si haces lockall) que no se está utilizando ya que no hay lock previo.

-El script no se te ejecutaba porque has usado los condicionantes iniciales a la inversa, me explico, al iniciar el script en teoría la flag que usaste, si está libre, (que no está dentro de las 100% libres así que tampoco estoy seguro si esa lo está), por defecto tiene el valor 0, por lo tanto según tu script te iría directamente al pointer @fin, ya que tu no llegas a activarla nunca.
 
Estado
Cerrado para nuevas respuestas.
Arriba