Registrarse

[Scripts] ayuda con el script yesno

  • Autor Miembro eliminado 28262
  • Fecha de inicio
Estado
Cerrado para nuevas respuestas.
M

Miembro eliminado 28262

Invitado
hola amigos del foro
desde hace dias llevo trabado en un script que no puedo realizar como me gusta
he seguido al pie de la letra lo que dicen los tutoriales y "funciona" se compila bien, pero no me dice nada a la hora de escoger "no" y no se como hacer que me lo pregunte denuevo automaticamente y luego no me lo vuelva a preguntar mas. porfavor diganme en que he fallado con este script
me ayudaria muchisimo si me dan sugerencias ya que lo usaria de plantilla para futuros scripts. grazzie :D

#dynamic 0x82000
#org @start
lock
faceplayer
msgbox @msg 0x5
compare lastresult 0x1
if 0x1 goto @si
compare lastresult 0x0
if 0x0 goto @no
release
end

#org @si
msgbox @msg2 0x5
compare lastresult 0x1
if 0x1 goto @si2
compare lastresult 0x0
if 0x0 goto @no2
release
end

#org @no
msgbox @msgno 0x6
release
end

#org @si2
msgbox @msgsi2 0x6
release
end

#org @no2
msgbox @msgno2 0x6
release
end

#org @msg
= al fin despertaste player\nlisto para la aventura?

#org @msg2
= me gusa oir eso, por cierto\nsabes que dia es hoy no?

#org @msgno
= como que no? te has dejado algo\nen la habitacion o que?

#org @msgsi2
= asi es, es el dia en el que\nrecibiras a tu primera pokemon\lla profesora blue me ha llamado\lha dicho que antes de pasar por su\llaboratorio\lbusques a quien se convertira en\ltu rival.\lcreo que vive aqui al lado\lporque no vas y os haceis amigos?

#org @msgno2
= a ver, creo que aun no has\nespabilado, te lo preguntare una\lvez mas.
 

Javi4315

Babyface
Miembro de honor
Claro, es importante que comprendas esto:

msgbox @msg2 0x5
compare lastresult 0x1
if 0x1 goto @si2
compare lastresult 0x0
if 0x0 goto @no2
Que significaría esto:

Comprueba si has elegido "yes"
Si lo has hecho va a @si2
Comprueba si has elegido "no"
Si NO lo has hecho va a @no2
Es decir, la última frase no sería "si no lo has elegido", sino si lo has elegido, que es con 0x1, no con 0x0. Entonces, tendrías que poner esto:

msgbox @msg2 0x5
compare lastresult 0x1
if 0x1 goto @si2
compare lastresult 0x0
if 0x1 goto @no2
 

Sayer301!

UnityLord!
Miembro de honor
Creo que seria mas facil si debajo del si, pusieses lo que pasase si es no.

Quiero decir tu tienes esto

Código:
msgbox @msg 0x5
compare lastresult 0x1
if 0x1 goto @si
compare lastresult 0x0
if 0x1 goto @no

pero no te has dado cuenta, de que si dices no, el script no ira a @si y continuara hacia abajo, por lo que en vez del:
Código:
compare lastresult 0x0
if 0x1 goto @no
deberías poner lo que pasaria si dices no.

para que no se repita el script deberas usar una flag
para ello despues del faceplayer pones
Código:
checkflag 0xflag elegida
if 0x1 goto @scriptcumplido
y en @scriptcumplido pones lo que pasara cuando ya hayas ejecutado el script.



Por ultimo, al final de tu script, cuando ya hayas cumplido hasta el ultimo objetivo que te interese, entonces en esa parte pones:
Código:
setflag 0xflagelegida
espero haberte ayudado!
 

eing

Miembro de honor
Miembro de honor
Tal y como dice @Sayer, no hace falta comparar dos veces una misma variable, ya que es boleana en este caso. Así que si no es "si", será "no", y viceversa.
Por lo tanto con un:

#org 0xdireccion
faceplayer
msgbox 0x8offset
callstd 0x5
compare LASTRESULT 0x1
if 0x1 goto 0xoffset //Ir al offset si dices "si".
//lo que pase si dices "no".

Aunque también comprendo a javi, en caso de que lo quiera tener más ordenado.
Y sí, usa flags para que no se repita.
 

DavZero

Estoy mamadísimo
Miembro de honor
Usuario de Oro
Esto no es ningún pedido gráfico, lo muevo al subforo ''Pedidos de scripts''.
 
M

Miembro eliminado 28262

Invitado
muchas gracias sayer y javi no me habia dado cuenta que estaba negando el no
y a lordzero que siempre esta ahi vigilandonos a todos los usuarios de wah
 
Estado
Cerrado para nuevas respuestas.
Arriba