Registrarse

[RPGXP] Engine tiempo

Drive

Cazador de subnormales
Colaborador
Redactor/a
Bueno camaradas. Os voy a enseñar como darle una hora al juego. Esto nos podría servir para hacer eventos puntuales, misiones secundarias, etc... Para nuestro proyecto, como por ejemplo el mío, que en la historia principal interviene la hora.

Primero iremos a la Base de Datos>Eventos comunes, luego, en iniciador pondremos "Proceso paralelo" y en interruptor de condición pondremos el nombre que queramos (al igual que el nombre del evento), pero que sea un espacio vacío.



Ahora trabajaremos en el engine tiempo, iniciaremos un ciclo, el cual se encuentra abajo de las condiciones y efectos.

Y dentro del comando ciclo, pondremos el de Esperar..., aquí podréis los frames que queráis, los frames son "los segundos" en el RPG, pero no son equivalentes a los segundos de verdad. Podréis comprobar a que velocidad queréis que pase vuestro proyecto, probando los frames que queréis.
Yo pondré 20.



Abajo de frames añadiremos una variable. La cual será un espacio vacío que llamaremos "Minutos". Y pondremos que a la constante se le sume "1".



Ahora, abajo de la variable, añadiremos el comando de las condiciones y efectos. Aquí asignaremos la casilla de variables, seleccionaremos la variable de "Minutos" y pondremos que será igual a la constante de 60.

Esto quiere decir, que cuando "Minutos" llegue a 60, haga lo que está dentro de la condición (recordad que llega a 60 debido a que antes pusimos que siempre sumará 1 en la constante).
Por último, desactivados la casilla de las excepciones que está abajo del todo.



Dentro de la condición, crearemos la variable "Horas". Exactamente como hicimos con "Minutos" (recordad que tiene que ser en un espacio vacío, independiente de "Minutos").



Dentro de esa condición, añadiremos otra. Esta vez com la variable "Horas" y que sea igual a 24.
Vemos que nos quedaría así.



¿No ves que falta algo? Habíamos ordenado que el RPG Maker le sumara siempre "1" a "Minutos" y "Horas", así que cuando llegue a 60 seguirá sumando y lo mismo con 24. No queremos que en nuestro juego ponga que son las 243:1964 ¿no?

Entonces, lo que haremos será añadir la variable "Minutos" con sustituir constante 0 a la condición de los minutos y lo mismo para la variable "Horas" en la condición de horas.



Queda así.



Ahora iremos al mapa, crearemos un evento que estará en proceso paralelo y llamaremos al evento común de "Tiempo" (nombre que le pusiste tú al engine tiempo). Esto se debe de hacer en todos los mapas para que el tiempo corra en el juego, tampoco cuesta tanto, es dar 4 clics obligatorios en cada mapa :dodgy:



Por último, haremos un evento donde nos muestre la hora. Puede ser el mensaje que tú quieras, estructúralo como tú desees, pero siempre deverás llamar a la variable "Horas" y "Minutos" en el mensaje. Por ejemplo "Voy a ver la hora. Son las \V[Espacio de la variable horas]:\V[Espacio de la variable minutos]"



Y listo, ya lo tenemos. Aquí las muestras.



Y como vemos, no pasa de 60 y vuelve a 0. Lo mismo pasará con las horas.



 
Última edición:

enanogm

Usuario antiguo de Wah
genial!!

me gusta
es sencillo y practico
probablemente lo use ^^

gracias por el aporte

un saludo
 

Jessie

What goes around, comes around
Me parece buena idea, puede ser usada para eventos en lugares cerrados, por ejemplo intentar capturar un pokémon o hallar un objeto antes que el tiempo termine.

Ya que tiene parecido con la variable de tiempo en la Zona Safari, se puede utilizar para recrear eventos como el "Safari Amistad" o el "Parque compi" donde puedes capturar pokemon poco comunes o con habilidades ocultas durante tiempo limitado.

También pienso en poder crear mini juegos, uno en el cual necesites escapar de un laberinto antes que el tiempo acabe, o conseguir algún objeto antes que un grupo de Kakunas evolucionen a beedrill, igual se podría aplicar en una "Zona de Carreras" y dependiendo del tiempo que te tome llegar a la meta ganaras diferentes premios o llegar antes de que se termine el tiempo establecido.

Me parece genial tu aporte, lo único sería cambiar el tiempo de espera, creo que "20" frames equivale a 1 segundo, así que sería colocar "1200" frames así sería más realista el tiempo, además el agregar la variable de "segundos" o "días" podrían una mayor gama de posibilidades.
 

kanda

Creador de Pokémon HighSchool
Muy interesante y funciona a la perfección :D

Lo único, ¿hay alguna manera de que salgan 2 digitos cuando ponemos qué hora es? Cuando son las doce de la noche aparece 0:0 y justo eso no queda bien.

Genial tutorial, ¡muchas gracias!
 

Diego Mertens

Dartrix Joven
Una pregunta, ¿Se puede usar para hacer que haya que encontrar cierto objeto en cierto mapa por un período de, digamos, 30 seg. o, 1 minuto?
 
Arriba