Xabier2012
Usuario mítico
Comando CHECKGENDER
Gracias al comando checkgender podemos verificar si nuestro personaje es un chico o una chica. Se suele utilizar por ejemplo para que dependiendo del género se diga un diálogo u otro y también para hacer aparecer al minisprite de tú género contrario al estilo Ruby.
Es simple. Solo tendremos que poner "checkgender", y lo que hará el juego será asignar a la variable 0x800D un "0" si somos un chico, y un "1" si somos una chica.
Código:
#dynamic 0x800000
#org @inicio
checkgender
end
Comparando el checkgender
Una vez que sabemos que si después de utilizar el checkgender la variable 0x800D es "0" quiere decir que somos un chico, ahora solo nos queda comparar la variable y en función de hacer una cosa u otra. Aquí un ejemplo:
Código:
#dynamic 0x800000
#org @inicio
faceplayer
lock
checkgender
compare 0x800D 0x0
if 0x1 goto @eschico
if 0x5 goto @eschica
end
#org @eschico
msgbox @textochico 0x6
release
end
#org @eschica
msgbox @textochica 0x6
release
end
#org @textochico
= Eres un tío
#org @textochica
= Eres una tía
El código anterior se puede poner de esta otra forma para ahorrar líneas:
Código:
#dynamic 0x800000
#org @inicio
faceplayer
lock
checkgender
compare 0x800D 0x0
if 0x1 goto @eschico
goto @eschica
end
#org @eschico
msgbox @textochico 0x6
release
end
#org @eschica
msgbox @textochica 0x6
release
end
#org @textochico
= Eres un tío
#org @textochica
= Eres una tía
lastresult
Son varios los comandos que al ejecutarse, guardan valores en variables dependiendo de las condiciones, para que de esta forma después nosotros podamos trabajar con dicha variables y hacer nuestras propias condiciones. Pero si en vez de poner la variable ponemos "lastresult" nos funcionará igual.
lastresult que viene de last (último) result (resultado), lo que hace es guardan la última variable que hemos modificado. Con esto no hace falta que nos sepamos en que variable se guardan los valores cuando utilizamos ciertos comandos, y con poner lastresult en vez de la variable, nos hará la misma función.
Vamos a poner el anterior código con lastresult:
Código:
#dynamic 0x800000
#org @inicio
faceplayer
lock
checkgender
compare lastresult 0x0
if 0x1 goto @eschico
goto @eschica
end
#org @eschico
msgbox @textochico 0x6
release
end
#org @eschica
msgbox @textochica 0x6
release
end
#org @textochico
= Eres un tío
#org @textochica
= Eres una tía
MSGBOX 0x5 / Yes-No
Ahora vamos entrar en profundidad sobre el "tipo de mensaje 0x5" el cual habíamos dicho en la primera lección que se utilizaba para abrir al box del yes/no.
Código:
#dynamic 0x80000
#org @inicio
faceplayer
lock
msgbox @texto 0x5
release
end
#org @texto
= ¿Quieres leche?
¿Qué pasará si escogemos una opción?
Pues nada, porque solo hemos hecho la pregunta.
En función de si contestamos sí o no tendremos una variable a la cual se le asignará el valor "1" si contestamos sí, y el valor "0" si contestamos no.
Vamos a aprovechar el elemento lastresult para nuestra condición de si a contestado sí o no. Es como el checkgender.
Código:
#dynamic 0x80000
#org @inicio
faceplayer
lock
msgbox @texto 0x5
compare lastresult 0x1
if 0x1 goto @si
msgbox @textono 0x6
release
end
#org @si
msgbox @textosi 0x6
release
end
#org @textosi
= Has dicho sí
#org @textono
= Has dicho no
#org @texto
= ¿Quieres leche?
Preguntas frecuentes
¿Cómo hago para que aparezca un mini u otro dependiendo del checkgender?
Esto lo sabremos hacer cuando aprendamos a usar Flags, en otra lección.
¿En qué variable se guarda en el caso del yes/no?
Yo siempre utilizo el "lastresult" para no equivocarme nunca. En este caso no me acuerdo bien de qué variable era. Posiblemente la sea otra vez la 800D, lo que sí estoy seguro es que empezaba por 800.
¿Cómo hago para que en vez del si/no muestre otras opciones?
Hacer es más complicado de lo que parece, al menos, si lo que queremos son opciones personalizadas. De todas formas también hablaremos de esto más adelante.
Si quiero hacer dos if para comprobar el género tengo que hacer dos compare?
Puedes hacerlo pero no es necesario. Se podría hacer así:
Código:
checkgender
compare lastresult 0x1
if 0x1 goto @chica
if 0x0 goto @chico
TAREA
Hacer un script donde al hablar a un minisprite se cumplan estas condiciones:
- Nos preguntará si queremos saber nuestro género
- En caso afirmativo nos dirá nuestro género
- Solo cuando nos haya dicho nuestro género, si volvemos a hablar con él nos dirá que no le apetece hablar (utilizando variables)
@Tervaxx @Toni @Neon Skylar @rdoble @AwesomeCS @Jaizu @RafaSc3 @~Nozz~ @LluviaElemental @AlexanderWWE @AlejoCr @Luna @Axnez @♦ZeØn♦ @KaycerWolf @jfem
Última edición: