Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/12/2009, 07:29
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 9 meses
Puntos: 150
Respuesta: [Ayuda] Creacion de un juego de navegador

Eso se hace por supuesto con registros en la base de datos. Por ejemplo imagina una tabla TAREAS formada por:

ID
TIEMPO_REALIZACION
SQL



Y un ejemplo de un registro:

ID=1
TIEMPO_REALIZACION=1283784726
SQL=Update jugadores set EDIFICIO=EDIFICIO+1 where jugadores.ID=283


Importante conocer la funcion time() de php, que nos da digamos el tiempo en segundos, prueba poniendo echo time(); en una pagina de prueba y actualizandola a cada momento.

De esta manera cuando un jugador le da a construir un edificio, grabamos un registro donde TIEMPO_REALIZACION sera igual al time() más una cantidad de segundos que queramos que el jugador tenga que esperar.

Ya tenemos la tabla llena de tareas que deben ejecutarse cada una en cierto momento..... ¿y como hacemos para que el servidor las vaya ejecutando?

Una solucion es usar cronjobs, scripts que el server ejecuta automaticamente en los intervalos que nosotros queramos, y que se configura en el panel de control de tu hosting (si es que lo permite, casi todos lo permiten). De ese modo tu configuras para que se ejecute tareas.php cada minuto, y ese tareas.php es una consulta a todas aquellas tareas cuyo TIEMPO_REALIZACION sea MENOR al time(), es decir, tareas que ha llegado el momento de ejecutarlas!, las ejecutamos y las borramos.

Bueno, espero que te sirva, yo uso cronjobs en mi juego para dar ciertos turnos, dolares, etc en mi juego online cada dia a las 00:00. Me suscribo a este tema por si tienes mas dudas te voy ayudando en algo, saludosssssss