Tabla de Contenidos

Reloj y Fecha en Tiempo Real

Este engine mostrará a través de un mensaje los segundos, minutos, horas, día, día de la semana en letras, mes, mes en letras, año y siglo. Además se respetan los meses que son de 30, 31 y 28 días.

Página original del engine: http://comunidad.rpgmaker.es/viewtopic.php?f=19&t=7186

Válido para: RPG Maker 2000/2003

Asignar los valores iniciales

Antes de comenzar a usar el engine debemos asignar los valores iniciales, por ejemplo, antes de comenzar la introducción del juego. Los valores que se han puesto son ejemplos, se pueden modificar al gusto:

  Variable SEGUNDOS pone 0
  Variable MINUTOS pone 0
  Variable HORAS pone 0
  Variable DIA pone 1
  Variable DIA-SEMANA pone 1
  Variable MES pone 1
  Variable AÑO pone 07
  Variable AÑO-REAL 2007
  Variable SIGLO pone 21

El reloj en tiempo real

Ahora, en un evento común en proceso paralelo ponemos lo siguiente:

      esperar 1 segundo.
    Variable SEGUNDOS suma 1
    condición Variable SEGUNDOS equivalente 60
         Variable SEGUNDOS pone 0
         Variable MINUTOS suma 1
    FIN

    condición Variable MINUTOS equivalente 60
         Variable MINUTOS pone 0
         Variable HORA suma 1
    FIN

    condición Variable HORA equivalente 24
         Variable HORA pone 0
         Variable DIA suma 1
         Variable DIA-SEMANA suma 1
    FIN

    condición Variable DIA-SEMANA equivalente 8
         Variable DIA-SEMANA pone 1
    FIN

    condición Variable MES equivalente 2
                condición Variable DIA equivalente 28
                       Variable DIA pone 1
                       Variable MES suma 1
                FIN
        Ir a etiqueta 1

    EXCEPCIÓN
       condición Variable MES equivalente 4
             ir a etiqueta 2
        EXCEPCIÓN
              condición Variable MES equivalente 6
                         ir a etiqueta 2
               EXCEPCIÓN
                         condición Variable MES equivalente 9
                                ir etiqueta 2
                         EXCEPCIÓN
                                ir etiqueta 3
                         FIN
                 FIN
        FIN
    FIN

    Elegir etiqueta 2
    condición Variable DIA equivalente 30
         Variable DIA pone 1
         Variable MES suma 1
         Ir a etiqueta 1
    FIN

    Elegir etiqueta 3
    condición Variable DIA equivalente 31
         Variable DIA pone 1
         Variable MES suma 1
    FIN


    Elegir Etiqueta Número 1


    condición Variable MES equivalente 12
         Variable MES pone 1
         Variable AÑO suma 1
         Variable AÑO-REAL suma 1
    FIN

    condición Variable AÑO equivalente 100
         Variable AÑO pone 0
         Variable SIGLO suma 1
         
    FIN

Día y Mes con letras

Para almacenar el nombre del día y del mes usaremos dos héroes de la base de datos. Crea dos héroes y llámalos nombremes y nombredia, por ejemplo. Para este ejemplo imaginemos que se usan los personajes 15: nombredia (día de la semana) y 16: nombremes (mes).

Ahora creamos otro evento común cuya condición de activación sea al llamarlo (Llamar) o que sea un proceso paralelo activado por algún interruptor (según queramos), y cuyo código sea el siguiente:

      condición Variable DIA-SEMANA equivalente 1
          Pone nombre héroe 15 -> Lunes
    FIN

    condición Variable DIA-SEMANA equivalente 2
          Pone nombre héroe 15 -> Martes
    FIN

    condición Variable DIA-SEMANA equivalente 3
          Pone nombre héroe 15 -> Miércoles
    FIN

    condición Variable DIA-SEMANA equivalente 4
          Pone nombre héroe 15 -> Jueves
    FIN

    condición Variable DIA-SEMANA equivalente 5
          Pone nombre héroe 15 -> Viernes
    FIN

    condición Variable DIA-SEMANA equivalente 6
          Pone nombre héroe 15 -> Sábado
    FIN

    condición Variable DIA-SEMANA equivalente 7
          Pone nombre héroe 15 -> Domingo
    FIN

    condición Variable MES equivalente 1
          Pone nombre héroe 16 -> Enero
    FIN

    condición Variable MES equivalente 2
          Pone nombre héroe 16 -> Febrero
    FIN

    condición Variable MES equivalente 3
          Pone nombre héroe 16 -> Marzo
    FIN

    condición Variable MES equivalente 4
          Pone nombre héroe 16 -> Abril
    FIN

    condición Variable MES equivalente 5
          Pone nombre héroe 16 -> Mayo
    FIN

    condición Variable MES equivalente 6
          Pone nombre héroe 16 -> Junio
    FIN

    condición Variable MES equivalente 7
          Pone nombre héroe 16 -> Julio
    FIN

    condición Variable MES equivalente 8
          Pone nombre héroe 16 -> Agosto
    FIN

    condición Variable MES equivalente 9
          Pone nombre héroe 16 -> Septiembre
    FIN

    condición Variable MES equivalente 10
          Pone nombre héroe 16 -> Octubre
    FIN

    condición Variable MES equivalente 11
          Pone nombre héroe 16 -> Noviembre
    FIN

    condición Variable MES equivalente 12
          Pone nombre héroe 16 -> Diciembre
    FIN

El código de ese evento común no ha terminado aún. Para que quede presentable, vamos a anteponer un cero delante de los números que sean menores que 10, para que así todas las cifras tengan dos dígitos. Crearemos unos cuantos "personajes comodines" más para evitarnos un barullo de condiciones y efectos que sólo harían el código más complicado. Usaremos los personajes 17 (segundos), 18 (minutos), 19 (horas), y completaremos el evento común anterior con las siguientes instrucciones:

    condiciones Variable SEGUNDOS menor o igual a 9
        Pone nombre héroe 17 -> 0
    EXCEPCIÓN
        Pone nombre héroe 17 ->    (sí, está vacío)
    fin

    condiciones Variable MINUTOS menor o igual a 9
        Pone nombre héroe 18 -> 0
    EXCEPCIÓN
        Pone nombre héroe 18 ->    (sí, está vacío)
    fin


    condiciones Variable HORAS menor o igual a 9
        Pone nombre héroe 19 -> 0
    EXCEPCIÓN
        Pone nombre héroe 19 ->    (sí, está vacío)
    fin

Formato del Mensaje

Para mostrar el mensaje con el formato que hemos desarrollado usaremos el comando Mostrar Mensaje con el siguiente código:

  Hoy es \n[15], \v[DIA] de \n[16] del \v[AÑO-REAL] del siglo \v[SIGLO] a las \n[19]\v[HORA]:\n[18]\v[MINUTOS]:\n[17]\v[SEGUNDOS]