qna_rh
Thread Id: 9553
Thread Name: [Pokemon_Ruby_ing] YESNO msg.
¡Hola a todos! Verán tengo un problema, cuando voy a hacer un mensaje de YESNO en XSE (actualizado 1.1.1), al escribirlo de esta forma:
msgbox @yesno
boxset 0x5
if 0x1 goto @yes
if 0x0 goto @no
Me dice que en la linea de 'msgbox @yesno' los parametros son demaiado bajos y que el número correcto es 2.. ¿Qué e hecho mal? si es porque falta el ''compare LASTRESULT'' me sigue diciendo lo mismo.
En algunos tutoriales me pone que ponga compare ''LASTRESULT'' y en otros no pero de todas maneras me pasa esto.
PD: Perdon por si es un fallo tonto ^^
Edito, pongo el script entero:
#DYNAMIC 0x800001
#org @ini
lock
faceplayer
msgbox @yesno
boxset 0x5
if 0x1 goto @yes
if 0x0 goto @no
relese
end
#org @mensaje
= Estaba explorando y.. o-oy..\nunos gritos..\l¡Me.. d-da mucho miedo pasar..!\p ¡Pasa tú porfa!
#org @yes
msgbox @mensaje 0x6
applymovement 0xFF @move
waitmovement 0x0
#org @no
= ¡No me dejes solo..!
#org @mensaje
= ¡Pas-a p-asa..!
#org @move
#raw 0xD
#raw 0xFE
A ver, estás mezclando comandos de XSE y pokescript. Mira, este es el script (lo que te da problemas):
msgbox @yesno
boxset 0x5
if 0x1 goto @yes
if 0x0 goto @no
Tienes que comprobar el último resultado, es decir, si elegiste yes o no y eso, efectivamente, se hace mediante un LASTRESULT. Así que bueno, te quedaría más o menos así:
msgbox @yesno
boxset 0x5
if 0x1 goto @yes
if 0x0 goto @no
Quedaría así:
msgbox @yesno
callstd 0x5
compare LASTRESULT 0x1
if 0x1 goto @yes
if 0x0 goto @no
Pero, si tienes la versión actualizada de XSE, quedaría así:
msgbox @yesno 0x5
compare LASTRESULT 0x1
if 0x1 goto @yes
if 0x0 goto @no
Vamos, espero no haberme equivocado con los comandos y bueno, si te sigue dando problemas, pues vuelve a postear ;D
Ahora pasa lo que me pasaba cuando ponía el LASTRESULT, que me dice:
Error 13 ''Type mismatch'' sobre la línea 6. Falta #define.
Que según yo significa:
Error 13''No coinciden los tipos''Sobre la Línea 6. Falta # define.
:awesome: ¿Y ahora? ^^
'---------------
#org 0x800001
lock
faceplayer
msgbox 0x880001A 0x5 '"Estaba explorando y.. o-oy..\nunos..."
compare LASTRESULT 0x1
if 0x1 goto 0x8800078
if 0x0 goto 0x880008B
release
end
'---------------
#org 0x800078
msgbox 0x88000A2 0x6 '"¡Pas-a p-asa..!"
applymovement 0xFF 0x88000B4
waitmovement 0x0
'---------------
#org 0x80008B
waitmovementpos 0xE3C8 0x0 0xE1
'---------
' Strings
'---------
#org 0x80001A
= Estaba explorando y.. o-oy..\nunos gritos..\l¡Me.. d-da mucho miedo pasar..!\p ¡Pasa tú porfa!
#org 0x8000A2
= ¡Pas-a p-asa..!
'-----------
' Movements
'-----------
#org 0x8000B4
#raw 0xD 'Jump2 Up
#raw 0xFE 'End of Movements
Bueno, te marcaré tu error.
El scrtip es asi:
#org 0x(Offset Núcleo)
msgbox 0x[Diálogo]
callstd 0x5
compare LASTRESULT 0x0
if 0x1 goto 0x(Offset Secundario)
-- El cuerpo del scrtip del "No" --
end
0x(Offset Secundario)
-- El cuerpo del scrtip del "Si"
end
Hace tiempo que no hago scrtip de este tipo, pero en lo unico que le puedo errar es en el:
compare LASTRESULT 0x0
Que 0x0 = Si es No.
o 0x1 = Si es Si.
Eso lo puedes probar tu.
¡Adiós!