Compartir entrada

jueves, 26 de diciembre de 2013

RPG Maker VX Ace: Sistema de Misiones Secundarias

En el post de ayer pudimos ver cómo crear un sistema de mensajes emergentes usando las librerías CSCA. El objetivo de implementar ese simple pero elegante sistema fue para poder aprovechar al máximo las funcionalidades de los nuevos scripts que vamos a implementar. En éste post vamos a ver cómo crear un sistema de misiones secundarias.


Misiones Secundarias.

Las misiones secundarias en un RPG son un elemento indispensable, damos variedad al juego y alargamos su duración además de poder otorgar recompensas especiales si así lo deseamos.

CSCA Sidequest.

El usuario Casper Gaming nos brida un sistema de misiones secundarias muy famoso y que muchos de los seguidores de la saga Final Fantasy Tactics reconoceremos. Las misiones se presentan al estilo de un tablón de anuncios o una persona encargada de gestionar las misiones, nosotros elegimos la que queramos, ésta misión se activará y en el momento de cumplirla recibiremos una recompensa además de desbloquear nuevas misiones secundarias.

Instalar CSCA Sidequest.

Lo primero que debemos hacer es copiar el código, éste se puede descargar de éste enlace.

Lo siguiente es abrir nuestro proyecto en el editor y pulsar F11 para abrir la ventana de scripts.

Insertamos una nueva línea, la nombramos como "CSCA Sidequests" y pegamos el código en la parte de la derecha.


Con esto hemos implementado perfectamente el sistema de misiones secundarias. Ahora vamos a crear un evento para poder acceder a la ventana de gestión de misiones secundarias. En mi caso el evento es el siguiente:


De nuevo he añadido un script para llamar al proceso que muestra la ventana.


Pulsamos F12 para probar el juego.


Al hablar con el personaje aparecerá la ventana de misiones.


Además gracias al CSCA Menu Organizer tenemos en el menú la opción de ver la misión actual que hayamos aceptado.



Completando misiones.

Vamos a plantear un caso de prueba de éste sistema, vamos a hacer que al abrir el cofre del pueblo se complete la primera misión. Modificamos el evento del cofre tal que así:


Lo que he hecho es añadir dos scripts al final del código.



El primero completará la misión y el segundo mostrará un mensaje emergente de que la misión ha sido completada.

Pulsamos F12 para testear el juego.


Como podemos ver, sólo tenemos la primera misión activada, ahora vamos a abrir el cofre.


Ahora vamos de nuevo a hablar con el personaje para mostrar la lista de las misiones.


Como se puede ver, al completar la primera misión se nos ha activado la segunda, ahora podemos elegir cualquiera de las dos.

Agregar o Modificar Misiones Secundarias.

Como hemos podido comprobar, ya tenemos implementado correctamente el sistema de misiones secundarias, ahora podemos agregar nuevas misiones mediante código, veamos como:

Pulsamos F11 para abrir la ventana de scripts y nos vamos a la parte donde está este código.


#TASK[x] = ["Task array.","Separate tasks with commas!"]
TASKS[0] = ["Objective one","Objective two","Objective three"]
TASKS[1] = ["Do this","Then do this","And finally do this"]
TASKS[2] = ["This","Is","A","Lot","Of","Tasks","For","A","Tutorial"]
 
#SIDEQUESTS[x] = {"tasks" => TASK ARRAY VALUE, "name" => "Mission Name",
#"switch" => [switch_id, true/false](leave nil to not use a switch)
#"variable" => [variable_id, value](leave nil to not use a variable)
SIDEQUESTS[0] = {"tasks" => TASKS[0], "name" => "Tutorial", "switch" => nil, "variable" => nil, "sidequest" => nil}
SIDEQUESTS[1] = {"tasks" => TASKS[1], "name" => "Tutorial 2", "switch" => [1, true], "variable" => nil, "sidequest" => 0}
SIDEQUESTS[2] = {"tasks" => TASKS[2], "name" => "Tutorial 3", "switch" => nil, "variable" => [2, 10], "sidequest" => 1}

Podemos ver dos arrays, TASK y SIDEQUEST. En el array TASK rellenamos las instrucciones de la misión, esto será lo que se muestre en pantalla.

El array SIDEQUEST es el que crea la misión secundaria, se rellena media un registro del array TASK (para las instrucciones), un interruptor que definamos (si queremos), una variable (si queremos) y un indicador de si la misión está completa o no.

Para habilitar y completar las misiones podemos usar interruptores y variables del propio juego, al igual que hemos hecho en otras ocasiones con otras cosas.

Personalizando la ventana de Misiones Secundarias.

Al igual que podíamos personalizar el coliseo, también podemos personalizar la ventana del gestor de misiones secundarias, para ello pulsamos F11 para irnos a la ventana de scripts y buscamos los siguientes:

HEADER = "Message Board" - Mensaje que aparece en la cabecera de la ventana.
HEADER2 = "Current Mission" - Mensaje que aparece en la cabecera de la ventana de misión actual.
TASK_TEXT = "Objectives" - Mensaje que aparece en la ventana de objetivos de la misión.

Conclusiones.

Hemos terminado de crear un sistema de misiones secundarias para nuestro RPG, ahora sólo falta dotar ese sistema de muchas misiones y recompensas, esto le dará mucha variedad al juego proporcionando una forma de obtener objetos poderosos o de subir experiencia facilmente.

¿Qué tipo de misiones secundarías crearías en RPG Maker VX Ace?

9 comentarios:

  1. Adoro tus tutoriales del RPG Maker ^^
    Gracias a ti estoy haciendo un juego bastante completito :3

    ResponderEliminar
    Respuestas
    1. Buenas Faris, muchas gracias por comentar, me alegro que te guste y te sea de utilidad.

      Me alegro que estés haciendo un juego y que uses mis tutoriales, cuando lo tengas listo pásamelo para jugarlo :)

      Un saludo.

      Eliminar
  2. Tengo una pregunta amigo.. El script que tenes el enlace para copiar no tiene definido el método "SceneManager.call(CSCA_Scene_Sidequest)".. solo el de "SceneManager.call(CSCA_Scene_Quest)", en algún momento se cambio el link? xD
    Y otra cosa, estuve mirándolo y lo entiendo bastante bien pero no puedo hacer que aparezcan las misiones en el menú, esta en blanco. Ni tampoco llamar al inicio de una quest.. me podrías dar una mano? te lo agradecería.

    ResponderEliminar
    Respuestas
    1. Disculpe las molestias, ahí pude resolverlo. xD Había que leer mas el código no mas jajaja.

      Eliminar
    2. Yo tengo el mismo problema y jamás pude resolverlo. Si aún pueden ayudarme, se los agradecería.

      Eliminar
    3. Ya encontré el problema, es que acá hablan del CSCA Sidequests, pero el link es para el CSCA Quest System

      Eliminar
  3. Tengo una pequeña duda, he usado el script y todo va bien pero cuando le doy a la ventana me salta vacia sin misiones...y busco linea por linea y a mi los codigos del array TASK y SIDEQUEST no me aparecen en el script. Se cambió o algo? Alguna solución? Gracias.

    ResponderEliminar
  4. Hola Sergio, yo hallé la forma, si quieres háblame al correo er-heavy@hotmail.com y compartimos dudas

    ResponderEliminar
  5. Tengo un problema,me marca un error con el "Game Interpreter"

    ResponderEliminar

 
Google+