PHP - Cambiar estados de usuarios en un juego RPG

 
Vista:

Cambiar estados de usuarios en un juego RPG

Publicado por Brian (17 intervenciones) el 28/05/2017 00:54:37
Hola a todos, tengo un problema, no se que manera implementar para que sea lo mas simple posible.
Estoy programando un juego rpg, el problema surge que cuando un personaje es derrotado tiene que descansar 5 minutos para volver a luchar.
Para enviarlo a descansar a la hora de la derrota cambio el usuario a estado = 2.
El problema surge cuando pasan esos 5 minutos asi el estado vuelve a 1...
No se en que momento ejecutar la accion para realizar ese update de nuevo.

Tendria que mandar un script automatico cada 1 minuto que recorra toda la base de datos y comparar los minutos fecha de ultima pelea y fecha actual.
Pero hacer eso cada un minuto me parece algo terrible.

Yo conozco un juego que tiene la misma ideologia pero es como si los bloqueara desde javascript y te muestra un reloj con la cuenta regresiva.
No entiendo como hacer desde javascript sin tener el navegador abierto... Si yo cierro todo el tiempo corre igual y cuando pasan los 5 minutos se libera.

Que se les ocurre ?
Gracias !!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Cambiar estados de usuarios en un juego RPG

Publicado por olivares (3 intervenciones) el 31/05/2017 14:42:42
Creo que solo lo vas a poder hacer ejecutando cada 1 minuto mediante un cron. Creo que no tiene por que ser terrible, si lo que vas a ejecutar no es muy pesado creo que incluso un hosting básico compartido aguantaría eso de sobras.

Supongo que en la base de datos tienes una fecha para saber si han pasado los 5 minutos, Otra cosa que se me ocurre que puedes hacer pero igual es algo cutre es que cuando alguien entre al juego, compruebes si el estado esta en "2" y si lo esta calculas el tiempo que ha pasado de la fecha que guardaste hasta la actual, si da mas de 5 minutos mandas un update a la base de datos y muestras en un mensaje que "Ya puedes revivir" y abajo un botón "Revivir" cual al clickarle recargue la pagina...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar