lunes, 22 de septiembre de 2014

[Tutorial] Sistema de día/noche (RPG Maker VX ace)

Bueno este es un tutorial más o menos sencillo para
hacer un sistema de día y noche que funcione en el juego y
en base a ello poder hacer cosas que afecten a la jugabilidad.
Esto es aplicable a otros rpg makers.

Requisitos: Saber usar interruptores y variables.

1 - Paso. Abrimos el RPG Maker VX Ace y vamos a la Base de datos y a la pestaña Eventos comunes.
Creamos un evento común donde queramos,
el inicio en Proceso paralelo, así estará todo el tiempo procesándose.
Y en interruptor condicional ponemos algún interruptor que queramos,
de forma que lo que pongamos solo se procese cuando activemos el interruptor.

Si en un punto del juego no queremos que cambie la hora lo desactivamos y listo.


2. Paso. Ponemos el siguiente código para que avance la hora:

Creamos las variables "Segundos", "Minutos" "Hora", y si queréis también podéis añadir "Día", "Meses" y "Años", ya eso según lo que prefiráis para vuestro juego.

3. Paso. Ponemos las operaciones.

- Esperar 60 frames (lo que es 1 segundo aproximadamente)
- Controlar variable -  "Individual = Segundos" "Añadir = Constante 1" (Esto que viene expresado como el técnicamente culo en este rpg maker, es básicamente sumar 1 a la variable)
 Con esto conseguimos que cada segundo se vaya añadiendo 1 a la variable segundos, así avanza el tiempo.

- Separación condicional - variable "Segundos" es 60 (desmarcamos lo de añadir excepciones)
 dentro de esto metemos,
     Controlar variable -  "Individual = Minutos" "Añadir = Constante 1"
      Controlar variable -  "Individual = Segundos" "Fijar = Constante 0"
Esto lo que hace es que cuando hay 60 segundos, se añade 1 minuto y los segundos se ponen a 0.


- Separación condicional - variable "Minutos" es 60 (desmarcamos lo de añadir excepciones)
 dentro de esto metemos,
     Controlar variable -  "Individual = Horas" "Añadir = Constante 1"
      Controlar variable -  "Individual = Minutos" "Fijar = Constante 0"
Esto lo que hace es que cuando hay 60 minutos, se añade 1 hora y los minutos se ponen a 0. 

Y ya por último:

- Separación condicional - variable "Horas" es 24 (desmarcamos lo de añadir excepciones)
 dentro de esto metemos,
     Controlar variable -  "Individual = Horas" "Fijar = Constante 0"
      Controlar variable -  "Individual = Minutos" "Fijar = Constante 0"
Una vez que llegas a las 24 horas (12 de la noche), se cambia el número por 0, sin esto
los días tendrían mas horas. XD

 Aquí una imagen:

Así que ahora cuando activemos el interruptor se pondrá a pasar el tiempo.
Si queremos que el tiempo avance más rápido tan solo hay que cambiar el
Esperar 60 frames por otro valor, así el tiempo avanzará más deprisa.

Dentro del juego pulsando F9 y ver como avanza el tiempo en las variables.

En el próximo tutorial comentaré como aprovechar algunas cosas de este sistema.



2 comentarios:

Los comentarios deben pasar una moderación.