Foros del Web » Programando para Internet » PHP »

Cambiar estados de usuarios en un juego RPG

Estas en el tema de Cambiar estados de usuarios en un juego RPG en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 27/05/2017, 16:56
 
Fecha de Ingreso: enero-2010
Mensajes: 400
Antigüedad: 12 años, 5 meses
Puntos: 6
Cambiar estados de usuarios en un juego RPG

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 !!
  #2 (permalink)  
Antiguo 27/05/2017, 17:06
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 13 años, 10 meses
Puntos: 2236
Respuesta: Cambiar estados de usuarios en un juego RPG

Por medio de PHP, cuando cambias el estado, también debes actualizar una columna donde guardes el momento en que puede continuar jugando; ejemplo:

Código PHP:
Ver original
  1. $tiempo = time() + 300; // 300 segundos son 5 minutos.
  2. $sql = "UPDATE usuario SET estado = 2, inactivo_hasta = $tiempo WHERE id = $id_usuario";

Ejecutas la consulta y, antes de permitirle jugar, revisas si inactivo_hasta es menor o igual a la fecha y hora actual.

Por supuesto, si tiene abierto el navegador, es buena idea mostrar la cuenta regresiva con Javascript.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 31/05/2017, 17:49
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 12 años
Puntos: 1
Respuesta: Cambiar estados de usuarios en un juego RPG

Claro, yo setearia que no puede jugar hasta las 20:55, entonces cuando intenta ingresar se verifica. Si el horario es mayor a 20:55 puede jugar, sino cartel de error

Etiquetas: estados, fecha, juego, rpg, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:20.