Registrarse

[duda] error en el script gatillo

Estado
Cerrado para nuevas respuestas.

Nachoius

Caminante del cielo
Hola tengo un error en el script [gatillo], el error está en que:

no va al @inicio3, (la var no tiene 0x4 entonces debería continuar el script) y ahí no se activa la msgbox @frase2 0x6 (cuando le hablo al mini no pasa nada solo sale el pitido de que le hablo pero no pasa nada)

1) primero le hablo por primera vez (va al @inicio2) y todo bien, me cambia el valor de la variable a 0x2

2) Vuelvo a hablar y por el comando "if 0x0 @inicio3" ya que no tengo el valor 0x1 , si no 0x2 por haber ejecutado antes el script, me debería llevar al @inicio3

3) una vez en el inicio 3 (estamos con valor 0x2) debería continuar el script y ejecutar msgbox @frase2 0x6, pero no lo hace y no sigue con el script, No se pq


MI DUDA ES:

en el compare siempre debe ir "if 0x1 y if 0x0" o solo al poner "if 0x1" debería ejecutarse por defecto lo que continua del script, pues yo no le veo otro modo del pq no me funciona, slds

compare 0x(variable) 0x(valor var.)
if 0x1 @ejemplo
if 0x0 @ejemplo2

EN RESUMEN:

- la primera vez deberia ir a @inicio2 y lo hace bien
- la segunda vez debería ir a @inicio3 (quedándose ahí) y no lo hace

PD: no es un error de el Valor de la variable.

#dynamic 0x800000

#org @inicio
lock
faceplayer
compare 0x40f8 0x1
if 0x1 @inicio2
if 0x0 @inicio3
end


#org @inicio2
lock
faceplayer
applymovement 0x1 @mov1
sound 0x15
msgbox @frase 0x6
waitmovement 0x1
clearflag 0x208
setvar 0x40f8 0x2
release
end

#org @frase
= [red_fr]PINTOR:[black_fr] Hey! tienes pinta de\nentrandor ¿Puedes ayudarme?, mi\lPOKéMON se ha extraviado, es un\lSMEARGLE, creo que lo vieron al\lnorte, camino las RUINAS DOMO\lEstaría muy agradecido si lo\lfueras a buscar por mi.

#org @mov1
#raw 0x62
#raw 0x52
#raw 0xFE

#org @inicio3
lock
faceplayer
compare 0x40f8 0x4
if 0x1 @inicio4
msgbox @frase2 0x6
release
end

#org @inicio4
lock
faceplayer
msgbox @frase3 0x6
release
end


#org @frase2
= [red_fr]PINTOR: [black_fr]¿Pero qué esperas, aún\nestás aquí?

#org @frase3
= Gracias por todo, ojalá te ayude en tu viaje. Con SMEARGLE estamos muy agradecidos.
 
Última edición:

Sayer301!

UnityLord!
Miembro de honor
Creo que tienes una confusion con los If 0x?

Cada numero tiene su significado
0x0 = Menos que
0x1 = Igual
0x2 = Mayor que
0x3 = Menor o igual que
0x4 = Mayor o igual que
0x5 = Desigual


Aunque de todas formas el principal fallo es que dentro del @inicio tienes que hacer dos compares diferentes, es decir, sería asi:

#org @inicio
lock
faceplayer
compare 0x40f8 0x1
if 0x1 @inicio2
compare 0x40F8 0x2
if 0x1 @inicio3
end


espero que te sirva!
 

FEL!X

ᴛᴜ ᴀᴍɪɢᴏ ᴇʟ ᴇsᴘᴀᴅᴀᴄʜíɴ
Usuario de Oro
Lo que ha respondido Sayer está bien; el compare marca el criterio de comparación y el if revisa el valor y te envía al pointer.

Hay muchas manera de hacerlo, pero creo que con ésta gastarás menos espacio y es más fácil de entender.

Código:
#dynamic 0x800000

#org @inicio
lock
faceplayer
compare 0x40f8 0x1
if 0x1 @inicio2
compare 0x40f8 0x1
if 0x4 @inicio4
msgbox @frase2 0x6
release
end

#org @inicio2
lock
faceplayer
applymovement 0x1 @mov1
sound 0x15
msgbox @frase 0x6
waitmovement 0x1
clearflag 0x208
setvar 0x40f8 0x2
release
end

#org @mov1
#raw 0x62
#raw 0x52
#raw 0xFE

#org @inicio4
lock
faceplayer
msgbox @frase3 0x6
release
end

#org @frase
= [red_fr]PINTOR:[black_fr] Hey! tienes pinta de\nentrandor ¿Puedes ayudarme?, mi\lPOKéMON se ha extraviado, es un\lSMEARGLE, creo que lo vieron al\lnorte, camino las RUINAS DOMO\lEstaría muy agradecido si lo\lfueras a buscar por mi.

#org @frase2
= [red_fr]PINTOR: [black_fr]¿Pero qué esperas, aún\nestás aquí?

#org @frase3
= [red_fr]PINTOR:[black_fr] Gracias por todo, ojalá\nte ayude en tu viaje.\lCon SMEARGLE estamos muy\lagradecidos.

De paso he modificado el texto.

¡Un abrazo!
 
Última edición:
Estado
Cerrado para nuevas respuestas.
Arriba