[RH - Scripting] [Escuela de scripts] Género / Yes-No


Like Tree12Gracias
  • 4 Post By Xabier2012
  • 1 Post By Zeon
  • 1 Post By Toni
  • 1 Post By jfem
  • 1 Post By KevinXDE
  • 1 Post By rdoble
  • 1 Post By Luna
  • 1 Post By AwesomeCS
  • 1 Post By Axnez
 
 
Herramientas Desplegado
  #1  
07/07/2016
Predeterminado [Escuela de scripts] Género / Yes-No




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
En este código utilizamos checkgender. Si somos un chico la variable 0x800D tendrá el valor "0". Entonces comparamos la variable 0x800D con "0". En caso de que sea igual a cero (if 0x1) entonces irá a @eschico y se ejecutará un texto que no dice que somos un tío. En caso de que no sea "0" (if 0x5) entonces irá a @eschica y se ejecutará el texto que nos dirá que somo 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
Como veis, el comando goto no hace falta que vaya después de un if para ejecutarse. Ahora hemos simplificado el código. En caso de que no sea un chico, el código no irá a @eschico y se seguirá ejecutando por abajo, entonces simplemente ponemos el texto de si es chica debajo de la condición.


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
Hemos sustituido la variable 0x800D por lastresult y el resultado es el mismo.


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?
Acabamos de hacer un script en el cual se nos preguntará si queremos leche y se nos dará las opciones de sí y no.

¿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?
Primero hacemos la pregunta con el msgbox tipo "0x5", si contestamos sí nuestra variable será "1", entonces comparamos la variable (compare lastresult) con "1" y en caso de que sí sea uno (if 0x1) irá a @si. En caso de que contestemos no, y por tanto la condición no se cumpla, pues se ejecutará el codigo de abajo, entonces ponemos que texto que queremos que nos diga si decimos no abajo de la condición, y hecho.


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:
  1. Nos preguntará si queremos saber nuestro género
  2. En caso afirmativo nos dirá nuestro género
  3. 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
Gracias: KevinXDE, Toni, rdoble y 1 más.

Última edición por Xabier2012; 07/07/2016 a las 15:27
  #2  
07/07/2016
Predeterminado Respuesta: [Escuela de scripts] Género / Yes-No
Usuario:wenston91
Rom Base:FireRed
Lección:CheckGender
Scripts:

Script1

Código:
#dynamic 0x800000

'---------------
#org @start
faceplayer
lock
compare 0x4012 0x3
if 0x1 goto @snippet1
msgbox  @String1 MSG_YESNO '"Voy to' fumado, no te veo muy bien..."
compare LASTRESULT 0x1
if 0x1 goto @snippet2
msgbox  @String2 MSG_NORMAL '"Pues nada, serás como un Pokémon\n..."
release
end

'---------------
#org @snippet1
faceplayer
lock
msgbox  @String3 MSG_NORMAL '"No me apetece hablar más..."
release
end

'---------------
#org @snippet2
checkgender
compare LASTRESULT 0x0
if 0x1 goto @snippet3
goto @snippet4

'---------------
#org @snippet3
msgbox  @String4 MSG_NORMAL '"Eres un tío, muy apuesto por\ncier..."
setvar 0x4012 0x3
release
end

'---------------
#org @snippet4
msgbox  @String5 MSG_NORMAL '"Eres una tía, ¿quieres mi número?"
setvar 0x4012 0x3
release
end


'---------
' Strings
'---------
#org  @String1
= Voy to' fumado, no te veo muy bien\npero creo que sé lo que eres,\l¿Quieres saberlo?

#org  @String2
= Pues nada, serás como un Pokémon\nlegendario, sin género...

#org  @String3
= No me apetece hablar más...

#org  @String4
= Eres un tío, muy apuesto por\ncierto...

#org  @String5
= Eres una tía, ¿Quieres mi número?


Video

Video



Y el link, como siempre: VIDEO
Gracias: Xabier2012

Última edición por Zeon; 07/07/2016 a las 14:46
  #3  
07/07/2016
Predeterminado Re: [Escuela de scripts] Género / Yes-No
Usuario:Toni
Rom Base:FR
Lección:Género / Yes-No
Scripts:

Script1

Código:
#dynamic 0x800000

#org @inicio
compare 0x401D 0x0
if 0x1 goto @genero
msgbox @texto6 0x6 
release
end

#org @genero
lock
faceplayer
msgbox @texto1 0x5
compare lastresult 0x1
if 0x1 goto @si
msgbox @texto2 0x6
release 
end

#org @si 
msgbox @texto3 0x6
checkgender
if 0x1 goto @chico
msgbox @texto4 0x6
setvar 0x401D 0x1 
release
end

#org @chico
msgbox @texto5 0x6
setvar 0x401D 0x1 
release
end

#org @texto1
= ¿Quieres saber tu género?

#org @texto2
= ¿No tienes inquietud por saber\nque eres?

#org @texto3
= Espera un momento, estoy\ninspeccionando.

#org @texto4
= Tengo el resultado, eres...\n¡Una chica!\l

#org @texto5
= Tengo el resultado, eres...\n¡Un chico!

#org @texto6
= Ahora no tengo ganas de hablar


Imágenes

Imágenes

Gracias: Xabier2012

Última edición por Toni; 07/07/2016 a las 22:05
  #4  
07/07/2016
Predeterminado Re: [Escuela de scripts] Género / Yes-No
Usuario:JFeM
Rom Base:FIRE RED
Lección:Género / Yes-No
Scripts:

Script1

Código:
'---------------
#org @start
lock
faceplayer
compare 0x4013 0x1
if 0x1 goto @snippet1
msgbox @String1 MSG_YESNO '"[black_fr]¿Quieres saber una cosa?"
compare LASTRESULT 0x1
if 0x1 goto @snippet2
msgbox @String2 MSG_NORMAL '"[black_fr]Vuelve cuando quieras sa..."
release
end

'---------------
#org @snippet1
msgbox @String3 MSG_NORMAL '"[black_fr]No voy a repetir otra ve..."
release
end

'---------------
#org @snippet2
checkgender
compare LASTRESULT 0x0
if 0x1 goto @snippet3
msgbox @String4 MSG_NORMAL '"[black_fr]Yo soy tu padre.\p\p\p\n..."
setvar 0x4013 0x1
release
end

'---------------
#org @snippet3
msgbox @String5 MSG_NORMAL '"[black_fr]Yo soy tu padre.\p\p\p\n..."
setvar 0x4013 0x1
release
end


'---------
' Strings
'---------
#org @String1
= [black_fr]¿Quieres saber una cosa?

#org @String2
= [black_fr]Vuelve cuando quieras saberlo.

#org @String3
= [black_fr]No voy a repetir otra vez lo\nmismo. La próxima me prestas\latención cuando hablo.

#org @String4
= [black_fr]Yo soy tu padre.\p\p\p\n[red_fr]Nah, es coña, eres una chica.\ljeje.

#org @String5
= [black_fr]Yo soy tu padre.\p\p\p\n[blue_fr]Nah, es coña, eres un chico.



VIDEO

VIDEO

Gracias: Xabier2012
  #5  
07/07/2016
Predeterminado Respuesta: [Escuela de scripts] Género / Yes-No
Usuario: Tervaxx
Rom Base: Fire Red
Lección: Género / Yes-No
Scripts:

Script1

Código:
#dynamic 0x800000

'---------------
#org @start
faceplayer
lock
compare 0x4011 0x0
if 0x5 goto @snippet1
msgbox @String1 MSG_YESNO '"Vaya con la juventud de hoy en\ndí..."
compare LASTRESULT 0x1
if 0x1 goto @snippet2
msgbox @String2 MSG_NORMAL '"Hmmph... Está bien, es normal no\n..."
release
end

'---------------
#org @snippet1
msgbox @String3 MSG_FACE '"Qué, ¿ya vienes con la tontería\no..."
release
end

'---------------
#org @snippet2
setvar 0x4011 0x1
checkgender
compare LASTRESULT 0x0
if 0x1 goto @snippet3
msgbox @String4 MSG_NORMAL '"Pues verás, tu cosilla... ¿Eh?\n¿C..."
release
end

'---------------
#org @snippet3
msgbox @String5 MSG_FACE '"Pues verás, tu cosilla... ¿Eh?\n¿C..."
release
end


'---------
' Strings
'---------
#org @String1
= Vaya con la juventud de hoy en\ndía, ¿qué ha pasado que nadie\llleva ropa interior?\p¡Desde aquí puedo ver tu cosilla!\nComo soy un pervertido educado,\lte pregunto: ¿Te la describo?

#org @String2
= Hmmph... Está bien, es normal no\nconfiar en un desconocido...

#org @String3
= Qué, ¿ya vienes con la tontería\notra vez? Piérdete, y déjame\ldarme un baño a gusto.

#org @String4
= Pues verás, tu cosilla... ¿Eh?\n¿Cómo? ¿Que no quieres detalles?\l¿Que era broma?\pPues tú te lo pierdes. Solo puedo\ndecir con total seguridad que no\ltienes bulto, y eso me alivia.\lUna tía como Arceus manda.

#org @String5
= Pues verás, tu cosilla... ¿Eh?\n¿Cómo? ¿Que no quieres detalles?\l¿Que era broma?\pPues tu mismo. Solo puedo decir\nque se ve claramente que eres un\ltío, de cabo a rabo, y nunca\lmejor dicho.


Video

Video

Gracias: Xabier2012

Este tío es un...



Zero for GMod
  #6  
08/07/2016
Predeterminado Respuesta: [Escuela de scripts] Género / Yes-No
Usuario: rdoble
Rom Base: Fire Red
Lección: Género / Yes-No
Scripts:

Script 1

Código:
#dynamic 0x800000

#org @inicio
faceplayer
lock
compare 0x401D 0x0
if 0x1 goto @cuestion
msgbox @textofinal 0x6 
release
end

#org @cuestion
faceplayer
lock
msgbox @texto 0x5
compare 0x800D 0x1
if 0x1 goto @yes
if 0x5 goto @no
release
end

#org @yes
checkgender
setvar 0x401D 0x1 
compare 0x800D 0x1
if 0x0 goto @boy
if 0x1 goto @girl
end

#org @boy
msgbox @textochico 0x6
release
end

#org @girl
msgbox @textochica 0x6
release
end

#org @no
msgbox @textono 0x6
release
end

#org @texto
= ¿Quieres saber cuál es tu\nverdadero género?

#org @textochico
= De acuerdo. Entonces eres: ¡Un\nchico! ¿Quién lo iba a decir?

#org @textochica
= De acuerdo. Entonces eres: ¡Una\nchica! Lo supe en el momento en el\lque te oí hablar con [rival].

#org @textono
= Bueno, de todos modos ya lo sabrás\ncuando seas mayor.

#org @textofinal
= Ya te dije lo que te tenía que\ndecir, ahora déjame en paz.


Imágenes:

Imágenes









Gracias: Xabier2012


Jugando a Pokémon Zafiro Alfa.

  #7  
09/07/2016
Predeterminado Respuesta: [Escuela de scripts] Género / Yes-No
Usuario: Luna
Rom Base: Fire Red
Lección: Género / Yes-No
Scripts:

Script

Código:
dynamic 0x800000

'---------------
#org @start
compare 0x401D 0x0
if 0x1 goto @snippet1
msgbox @String1 MSG_NORMAL '"Shh, no me hables, ella no me\npue..."
release
end

'---------------
#org @snippet1
lock
faceplayer
msgbox @String2 MSG_YESNO '"¿Quieres ver si eres mi tipo?"
compare LASTRESULT 0x1
if 0x1 goto @snippet2
msgbox @String3 MSG_NORMAL '"Igual tengo novia."
release
end

'---------------
#org @snippet2
checkgender
compare LASTRESULT 0x0
if 0x1 goto @snippet3
goto @snippet4

'---------------
#org @snippet3
msgbox @String4 MSG_NORMAL '"Meh, eres un chico."
setvar 0x401D 0x1
release
end

'---------------
#org @snippet4
msgbox @String5 MSG_NORMAL '"Si, eres mi tipo, es una cita."
setvar 0x401D 0x1
release
end


'---------
' Strings
'---------
#org @String1
= Shh, no me hables, ella no me\npuede ver contigo.

#org @String2
= ¿Quieres ver si eres mi tipo?

#org @String3
= Igual tengo novia.

#org @String4
= Meh, eres un chico.

#org @String5
= Si, eres mi tipo, es una cita.


Imagenes

Gracias: Xabier2012


Los amo chicos!





¡Gracias a todos!


Gracias a todos!!


  #8  
10/07/2016
Predeterminado Respuesta: [Escuela de scripts] Género / Yes-No
Usuario: AwesomeCS
Rom Base: Fire Red
Lección: Género / Yes-No
Scripts:

Script1

Código:
#dynamic 0x800000

'---------------
#org @start
faceplayer
lock
compare 0x40FF 0x1
if 0x1 goto @snippet1
msgbox @String1 MSG_YESNO '"Mmm, tu pareces...\n¿Quiéres saber..."
compare LASTRESULT 0x1
if 0x1 goto @snippet2
if 0x5 goto @snippet3
end

'---------------
#org @snippet1
msgbox @String2 MSG_NORMAL '"Ya no me apetece hablar más,\nlo s..."
end

'---------------
#org @snippet2
setvar 0x40FF 0x1
checkgender
compare LASTRESULT 0x0
if 0x1 goto @snippet4
if 0x5 goto @snippet5
end

'---------------
#org @snippet3
msgbox @String3 MSG_NORMAL '"¡Pues ok!"
end

'---------------
#org @snippet4
msgbox @String4 MSG_NORMAL '"Eres un caballero, por supuesto."
end

'---------------
#org @snippet5
msgbox @String5 MSG_NORMAL '"Eres una bella dama, por supuesto."
end


'---------
' Strings
'---------
#org @String1
= Mmm, tu pareces...\n¿Quiéres saber lo que opino?

#org @String2
= Ya no me apetece hablar más,\nlo siento. Tengo la regla.

#org @String3
= ¡Pues ok!

#org @String4
= Eres un caballero, por supuesto.

#org @String5
= Eres una bella dama, por supuesto.


Imágenes

Imágenes




Gracias: Xabier2012
  #9  
10/07/2016
Predeterminado Respuesta: [Escuela de scripts] Género / Yes-No
Usuario:Axnez
Rom Base:FR
Lección:Genero / Yes-No
Scripts:

Script1

Código:
#dynamic 0x800000

#org @inicio
compare lastresult 0x0
if 0x1 goto @sexo
msgbox @texto2 0x6 
setvar lastresult 0x0
release
end

#org @sexo
faceplayer
lock
msgbox @texto 0x5
compare lastresult 0x1
if 0x1 goto @si
msgbox @textono 0x6
release 
end

#org @si 
msgbox @textosi 0x6
checkgender
compare lastresult 0x0
if 0x1 goto @eshombre
goto @esmujer
release
end

#org @eshombre
msgbox @textohombre 0x6
setvar lastresult 0x2
release
end

#org @esmujer
msgbox @textomujer 0x6
setvar lastresult 0x2
release
end

#org @textono
= Pues que mal.

#org @textosi
= Dejame pensar...

#org @textohombre
= Eres un hombre.

#org @textomujer
= Eres una mujer.

#org @texto2
= Ahora no tengo ganas de hablar.

#org @texto
= ¿Quieres saber tu genero?


Imágenes

Imágenes

Gracias: Xabier2012
  #10  
10/07/2016
Predeterminado Respuesta: [Escuela de scripts] Género / Yes-No
Usuario:AlexanderWWE
Rom Base:PokemonFR
Lección:Genero / Yes-No
Scripts:

Script1

Código:
'---------------
#org 0x900000
compare LASTRESULT 0x0
if 0x1 goto 0x890001B
msgbox 0x89000D4 MSG_NORMAL '"Estoy cansado despúes hablamos"
setvar LASTRESULT 0x0
release
end

'---------------
#org 0x90001B
faceplayer
lock
msgbox 0x89000F5 MSG_YESNO '"Quieres saber tu sexo?"
compare LASTRESULT 0x1
if 0x1 goto 0x890003B
msgbox 0x8900077 MSG_NORMAL '"que mal."
release
end

'---------------
#org 0x90003B
msgbox 0x8900082 MSG_NORMAL '"estoy pensando"
checkgender
compare LASTRESULT 0x0
if 0x1 goto 0x8900057
goto 0x8900067

'---------------
#org 0x900057
msgbox 0x8900093 MSG_NORMAL '"[red_fr] Eres un hombre¡¡¡¡,aleluy..."
setvar LASTRESULT 0x2
release
end

'---------------
#org 0x900067
msgbox 0x89000B4 MSG_NORMAL '"[lightblue3_fr]Eres una mujer¡¡¡¡,..."
setvar LASTRESULT 0x2
release
end


'---------
' Strings
'---------
#org 0x9000D4
= Estoy cansado despúes hablamos

#org 0x9000F5
= Quieres saber tu sexo?

#org 0x900077
= que mal.

#org 0x900082
= estoy pensando

#org 0x900093
= [red_fr] Eres un hombre¡¡¡¡,aleluya

#org 0x9000B4
= [lightblue3_fr]Eres una mujer¡¡¡¡,aleluya


Imágenes

Imágenes

 

Herramientas
Desplegado

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Desactivado



Extra
Estilo clásico
La franja horaria es GMT +1. Ahora son las 01:33.