Buen día a todos. tengo una duda.
Como puedo hacer una mascota virtual que siga funcionando aun cuando el juego este cerrado, que siga creciendo en personaje? o que trabaje en segundo plano?
Gracias a todos por su ayuda!  :)
GGX GAMES

hacer eso cuando el juego no se ejecuta es imposible. Lo que puedes hacer es que al cerrar la partida, guardes en un INI la fecha y hora (mediante las funciones de fecha y hora de GM:S), luego, al cargar el juego la próxima vez, se compara la fecha actual con la guardada en el ini, se calcula cuántas horas o días han pasado, y en función de eso, ajustas las estadísticas/parámetros de la mascota.

Dependiendo del juego y su complejidad, tienes que crear fórmulas para indicar el crecimiento de cada parámetro, a mi me gusta meterle comportamientos aleatorios a las fórmulas, para que haya "buena" y "mala" suerte

Eso es interesante lo que dices, pero que tipo de comandos podria utilizar para comparar la hora del sistema? como podria hacer eso? la verdad seria la primera vez que lo hago y bueno, me gustaria aprender!
GGX GAMES

#3 Septiembre 20, 2014, 01:24:47 AM Ultima modificación: Septiembre 20, 2014, 01:30:08 AM por penumbra
date_current_datetime() es una función  de GMS que devuelve la fecha y la hora actual. Esta variable se usa en conjunto con otras funciones para leer un dato en específico (día, hora, mes, etc). Hay MUCHAS funciones de tiempo en GMS, te recomiendo que leas el manual, porque lo que quieres hacer se puede hacer usando distintas funciones.

Esto es sólo una idea. Cuando se cierre el juego, usas
[gml]fecha_de_guardado = date_current_datetime()[/gml]
y guardas la variable en el INI

Luego, al cargar el juego, lees desde el ini esa fecha
[gml]
     fecha_de_guardado = ini_read_real(blah, blah, blah)
     diferencia = date_hour_span(fecha_de_guardado, date_current_datetime());
[/gml]

No lo he probado, por ejemplo. La función  date_current_datetime() devuelve un número real, según el manual, por lo que para guardar su valor en un ini sedebe usar write_real y read_real para leerlo, pero no sé si la función date_hour_span() acepte correctamente ese valor real almacenado en fecha_de_guardado. Yo pienso que sí, y creo que esta es la manera más directa, pero si no se pudiera, la solución sería guardar individualmente (por separado) los días de las horas y calcular por separado la diferencia en días y al final dejar todo en horas

Pero bueno, como dije, consultando las funciones en el manual se puede hacer
http://docs.yoyogames.com/source/dadiospice/002_reference/date%20and%20time/index.html

Por ejemplo, en lugar de date_current_datetime() que devuelve toda la fecha completa, se puede usar current_hiour(), current_day(), current_month(), etc

Gracias penumbra. pero tengo otra pregunta. debe haber una solucion, por que si la gente adelante el año o la hora, haría crecer la mascota virtual rápidamente, me imagino que el GMS debe tener una función que trabaje con la fecha online o algo así, tu que me aconsejas?
GGX GAMES

Cita de: carry en Septiembre 20, 2014, 12:57:22 PM
Gracias penumbra. pero tengo otra pregunta. debe haber una solucion, por que si la gente adelante el año o la hora, haría crecer la mascota virtual rápidamente, me imagino que el GMS debe tener una función que trabaje con la fecha online o algo así, tu que me aconsejas?

Eso mismo hacia la gente con algunos juegos como Plantas vs Zombies(en el jardín Zen), si el exe es local y funciona  por un cliente es imposible que puedas hacer algo. Si quieres que no sucedan este tipo de cosas te toca hacer el juego "online", de tal forma que la fecha u hora vaya basada en una base de datos o en el servidor.

Gracias amigo es buena tu idead. un servidor
GGX GAMES