tuts_gba
Thread Id: 16056
Thread Name: GBA | Scripting | Haciendo Yes/No Boxses con Zinc
#0
Chuckles el Cerdito 0
Seguramente viste mi tutorial de "El primer Script"
¿Que? ¿No lo vistes?

Para empezar ¿Que es una YES/No Box?
Por ejemplo cuando una chica en la Ruta (Lógicamente en los juegos de Pokémon) Te pregunta: ¿Te gustan los nachos? Y te aparece una "caja" que te da la opcion de poner YES/NO (Cuando es una Rom en Ingles) y SI/NO (Cuando es en español).
Más claro que el agua no puede quedar.
Ahora necesitamos hacer ese script tan anhelado
¿Pero como? No se los dire
Les debería quedar algo así
#dynamic 0x80000

#org @inicio -dirección de nuestro Script-
lock -evita que el player se mueva-
faceplayer -hace que el player mire al mini-
msgbox @pregunta 0x5 -pregunta que se hace al player-
compare LASTRESULT 0x1 -compara si dijo que sí-
if 0x1 goto @si -si dijo "sí" va al offset "@si"; si dijo "no" sigue el script normalmente-
msgbox @no 0x6 -mensaje luego de que el player dijo que no-
release -el player se puede mover normalmente-
end -termina el script-

#org @si
msgbox @tegusta 0x6 -mensaje luego de que el player dijo que si-
release
end

#org @pregunta
= ¿Te gusta la pizza?

#org @no
= Te odio.

#org @tegusta
= Te amo <3


Explico los comandos: (Lógicamente los que no he explicado)

compare LASTRESULT 0x1
if 0x1 goto @inicio2
if 0x0 goto @inicio3 El compare LASTRESULT 0x1 simplemente hay que ponerlo, es para saber si pusiste el YES

if 0x1 goto @inicio2
0x1: Esto sería equivalente al "YES".
goto: Te envía al puntero que elijas después, en este caso @inicio2
@inicio2: Script que se ejecutará al decir que Sí. No tiene por qué ser una simple frase, de hecho, puedes meter otra YES/NO box, o un script largo, etc. (Cada inicio abre un script, en este caso hay 3 scripts, en algunos casos hay 5 scripts [Casos más avanzados)

msgbox @no 0x6
Msgbox normal, se ejecuta al decir que no

Más claro que el Agua no podría quedar... Cualquier Duda, Consulta o Sugerencia, poner aqui.
#1
Milotix 12267
¿Y en caso de que sea LASTRESULT 0x0?
¿Cómo quedaría?

El comando LASTRESULT es como una "caja" temporal, donde se guarda toda la información que se dio anteriormente para X e Y motivo y luego se borra, como si le preguntáramos a alguien algo, guardamos el papel y a la hora de preguntarle a otra persona se rompe el papel. En ese caso, con el callstd 0x5 abrimos la caja de Si/No, y ahí se generan datos almacenados en esa caja temporal de la que estuvimos hablando.

Si colocamos LASTRESULT 0x, estamos comparando el valor que nos tiró la caja, aclaro, en este caso el 0x0 significa el NO, y el 0x1 significa el SI

Entonces, por ejemplo, el comando quedaría LASTRESULT 0x0, compara que lo que tengamos en la caja sea 0, o lo que es igual a NO.

Luego viene el comando if 0x1 goto 0x[offset secundario], en este la estructura if 0x1 significa que sea VERDADERO, es decir, que efectivamente en la caja el contenido sea 0 o lo que es igual a NO, entonces nos lleva al offset secundario que le asignamos.

El resultado es el mismo para el SI, o para que sea falso en el segundo caso.

Saludos!

MÁS INFO ACERCA DEL COMANDO LASTRESULT:

http://wahackforo.com/t-lastresult-el-ojo-que-todo-lo-ve
#2
Chuckles el Cerdito 0
Iniciado por Miloticx100pre
¿Y en caso de que sea LASTRESULT 0x0?
¿Cómo quedaría?


Probablemente no lo leiste todo, creo que lo leiste por encima...

Iniciado por Zinc

if 0x1 goto @si -si dijo "sí" va al offset "@si"; si dijo "no" sigue el script normalmente-


Hay lo explica
#3
Perpendicular 24918
Iniciado por Miloticx100pre
¿Y en caso de que sea LASTRESULT 0x0?
¿Cómo quedaría?

El comando LASTRESULT es como una "caja" temporal, donde se guarda toda la información que se dio anteriormente para X e Y motivo y luego se borra, como si le preguntáramos a alguien algo, guardamos el papel y a la hora de preguntarle a otra persona se rompe el papel. En ese caso, con el callstd 0x5 abrimos la caja de Si/No, y ahí se generan datos almacenados en esa caja temporal de la que estuvimos hablando.

Si colocamos LASTRESULT 0x, estamos comparando el valor que nos tiró la caja, aclaro, en este caso el 0x0 significa el NO, y el 0x1 significa el SI

Entonces, por ejemplo, el comando quedaría LASTRESULT 0x0, compara que lo que tengamos en la caja sea 0, o lo que es igual a NO.

Luego viene el comando if 0x1 goto 0x[offset secundario], en este la estructura if 0x1 significa que sea VERDADERO, es decir, que efectivamente en la caja el contenido sea 0 o lo que es igual a NO, entonces nos lleva al offset secundario que le asignamos.

El resultado es el mismo para el SI, o para que sea falso en el segundo caso.

Saludos!

MÁS INFO ACERCA DEL COMANDO LASTRESULT:

http://wahackforo.com/t-lastresult-el-ojo-que-todo-lo-ve


No me imaginaba que un comando tenga cosas tan complicadas jajajajaja

El tuto es muy bueno, me sirvió mucho, gracias =)
#4
<:.miguel.:> 25101
gracias me re sirvio te lo agradesco
#5
Zeo&Cress2 25982
Gracias... El Tuto me sirvio de mucho *o*