Registrarse

[RPG - Scripting] Escribir una respuesta en el teclado.

Estado
Cerrado para nuevas respuestas.

AdrianDeBolsillo

Profesional de WaH
¡Hola! Mi problema es el siguiente. En una encuesta dentro de mi proyecto un NPC pregunta el color favorito del jugador, y me gustaría que en vez de mostrar opciones el mismo jugador lo pudiera escribir. Sin embargo no conozco otra manera de poder escribir un texto de esta manera sin ser cambiandole el nombre al jugador. ¿Alguna idea?​

Gracias.
 

Morel X

Pues bueno aquí estamosxD
En la wiki viene esto: Mensajes | Pokemon Essentials Wiki | FANDOM powered by Wikia
Hay una parte al final que dice esto:

Ingreso de un mensaje Editar
Este método permite al jugador ingresar un texto más largo. Se utiliza para escribir el mensaje de una carta cuando se la asigna a un Pokémon.

A diferencia de las pantallas de nombres, el ingreso de este mensaje no involucra una pantalla separada. En su lugar, aparece un cuadro de texto en el que el jugador puede escribir usando el teclado.

El ingreso de mensajes se realiza con el siguiente código:

message=Kernel.pbMessageFreeText(_INTL("Ingrese un mensaje."),
_INTL("Mensaje por defecto."),
false,256,Graphics.width)
El primer parámetro es el "texto de ayuda", una frase que se muestra para ayudar a entender el propósito del mensaje que se pide.

El segundo parámetro es el mensaje por defecto. Si no quieres un mensaje por defecto, ingrese "" en su lugar.

El tercer parámetro indica si el mensaje es una contraseña. Si está en TRUE, entonces el texto se ingresado se remplazará por asteriscos. Si está en FALSE, el texto se mostrará normalmente.

El cuarto parámetro es la longitud máxima que puede tener el texto.

El quinto parámetro es opcional, y es el ancho de la caja de texto. Si está en blanco, el ancho ser+a de 240 pixeles (la mitad del ancho de la pantalla).

Observa que el ingreso de mensajes puede ser cancelado. En tal caso, message se establecerá en "".

No se si es lo que buscabas pero es lo único que he encontrado jaja
 

AdrianDeBolsillo

Profesional de WaH
En la wiki viene esto: Mensajes | Pokemon Essentials Wiki | FANDOM powered by Wikia
Hay una parte al final que dice esto:

Ingreso de un mensaje Editar
Este método permite al jugador ingresar un texto más largo. Se utiliza para escribir el mensaje de una carta cuando se la asigna a un Pokémon.

A diferencia de las pantallas de nombres, el ingreso de este mensaje no involucra una pantalla separada. En su lugar, aparece un cuadro de texto en el que el jugador puede escribir usando el teclado.

El ingreso de mensajes se realiza con el siguiente código:

message=Kernel.pbMessageFreeText(_INTL("Ingrese un mensaje."),
_INTL("Mensaje por defecto."),
false,256,Graphics.width)
El primer parámetro es el "texto de ayuda", una frase que se muestra para ayudar a entender el propósito del mensaje que se pide.

El segundo parámetro es el mensaje por defecto. Si no quieres un mensaje por defecto, ingrese "" en su lugar.

El tercer parámetro indica si el mensaje es una contraseña. Si está en TRUE, entonces el texto se ingresado se remplazará por asteriscos. Si está en FALSE, el texto se mostrará normalmente.

El cuarto parámetro es la longitud máxima que puede tener el texto.

El quinto parámetro es opcional, y es el ancho de la caja de texto. Si está en blanco, el ancho ser+a de 240 pixeles (la mitad del ancho de la pantalla).

Observa que el ingreso de mensajes puede ser cancelado. En tal caso, message se establecerá en "".

No se si es lo que buscabas pero es lo único que he encontrado jaja
Llamo a un script,pongo eso, y se me crashea el juego. ¿Ideas?
 

Jessie

What goes around, comes around


Supongo que el error te lo marca porque al darle copiar y pegar dentro de la cajita para scripts se cambia la forma en que este esta armado.
Te sugiero que lo escribas de está manera.

Código:
a="¿Cuál es tu color favorito?"
b=Kernel.pbMessageFreeText(_INTL(a),
_INTL(""),false,256,Graphics.width)
pbSet(1,b)
El "pbSet(1,b) es una función que te guardará un valor dado dentro de una variable global, en este ejemplo el valor de "b" osea la respuesta que se escriba se guardará en la variable número 1.

Ahora teniendo la respuesta, puedes usarla como necesites, si quieres que aparezca en un cuadro de texto, solo escribes en este \v[1].
Esto hará que el texto te muestre el valor de la variable 1, por ejemplo
"¡Oh así que te gusta el color \v[1]!", se terminará viendo así
"¡Oh así que te gusta el color Azul!" suponiendo que la respuesta es "Azul".

También puedes usarlo en un condicional, si la respuesta que se escriba es lo que estabas buscando, pero ya que la respuesta es texto, tendrás que colocarlo en un condicional de script y se vería algo así :

Código:
<>Condiciones y efectos : Script : $game_variables[1]=="Azul"
   <># Aquí va lo que sucede si la respuesta es correcta
: Excepción
  <># Aquí va lo que sucede si la respuesta es incorrecta
: Fin
<>
Todo depende lo que quieres hacer.
Saludos.
 

AdrianDeBolsillo

Profesional de WaH


Supongo que el error te lo marca porque al darle copiar y pegar dentro de la cajita para scripts se cambia la forma en que este esta armado.
Te sugiero que lo escribas de está manera.

Código:
a="¿Cuál es tu color favorito?"
b=Kernel.pbMessageFreeText(_INTL(a),
_INTL(""),false,256,Graphics.width)
pbSet(1,b)
El "pbSet(1,b) es una función que te guardará un valor dado dentro de una variable global, en este ejemplo el valor de "b" osea la respuesta que se escriba se guardará en la variable número 1.

Ahora teniendo la respuesta, puedes usarla como necesites, si quieres que aparezca en un cuadro de texto, solo escribes en este \v[1].
Esto hará que el texto te muestre el valor de la variable 1, por ejemplo
"¡Oh así que te gusta el color \v[1]!", se terminará viendo así
"¡Oh así que te gusta el color Azul!" suponiendo que la respuesta es "Azul".

También puedes usarlo en un condicional, si la respuesta que se escriba es lo que estabas buscando, pero ya que la respuesta es texto, tendrás que colocarlo en un condicional de script y se vería algo así :

Código:
<>Condiciones y efectos : Script : $game_variables[1]=="Azul"
   <># Aquí va lo que sucede si la respuesta es correcta
: Excepción
  <># Aquí va lo que sucede si la respuesta es incorrecta
: Fin
<>
Todo depende lo que quieres hacer.
Saludos.
Ok, me ha funcionado muchas gracias a los dos!
 
Estado
Cerrado para nuevas respuestas.
Arriba