Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 02-10-2024
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 360
Poder: 3
navbuoy Va por buen camino
he modificado un poco el interface y le he añadido lo de controlar y actualizar el numero de jugadores conectados



el numero de jugadores conectados lo controla con el Daemon este pero tambien me las he ingeniado para hacer un STORED PROCEDURE que llamo desde CRON del Hosting cada 15 minutos para actualizar en la pagina web el numero de jugadores conectados y el estado operativo del servidor MySQL

el codigo del stored procedure es este:

Código:
DELIMITER $$

USE `AQUI_LA_BD`$$

DROP PROCEDURE IF EXISTS `Stardust_Players_Conected`$$

CREATE DEFINER=`NOMBRE_USUARIO_DE_LA_BD`@`%` PROCEDURE `Stardust_Players_Conected`()
BEGIN
    DECLARE suma_total DECIMAL(10, 0);
    -- Sumar los valores de campo_a_sumar cuando condicion_campo es 1
    SELECT COALESCE(SUM(status_online), 0) INTO suma_total
    FROM AQUI_NOMBRE_DE_LA_TABLA
    WHERE status_online = 1;
    -- Insertar el resultado en la tabla donde tenemos el numero de jugadores conectados (yo solo tengo 3 campos ID, NUMERO_JUGADORES y Fecha)
    TRUNCATE TABLE AQUI_NOMBRE_DE_OTRA_TABLA_CON_1_SOLO_REGISTRO_DONDE_GUARDARA_EL_NUMERO_DE_PLAYERS;
    INSERT INTO NOMBRE_TABLA (AQUI_CAMPO_INT_DE_NUMERO_DE_PLAYERS, Fecha)
    VALUES (suma_total, CURDATE());
    END$$

DELIMITER ;
son 2 tablas, en la primera, es donde almacena un campo bool (status_online se llama) que es 0 si no esta conectado el usuario o 1 si esta conectado
esto tenemos que controlarlo en el EXE cuando se loguean o se desconectan o cierra el programa actualizar ese campo a 0 en caso de cerrar o desconectarse o a 1 si se loguean bien (password correcto etc)

de esa manera con esta linea:

Código:
SELECT COALESCE(SUM(status_online), 0) INTO suma_total
    FROM AQUI_NOMBRE_DE_LA_TABLA
    WHERE status_online = 1;
sumamos todos los que esten a 1 (conectados online)

de esta forma en la pagina PHP en la web, facilmente con una conexion a la Tabla de PLAYERS_CONECTADOS_TOTALES podemos facilmente
tener un contador en tiempo mas o menos real cada 15 minutos de los jugadores online que hay en el juego

aqui podemos verlo en la web de Stardust


Última edición por navbuoy fecha: 02-10-2024 a las 17:07:24.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Codigo fuente carloseh La Taberna 5 29-05-2013 18:18:17
crear servicio(daemon) en lazarus n03l Lazarus, FreePascal, Kylix, etc. 7 20-06-2012 18:11:41
Código fuente chinchan C++ Builder 3 01-08-2006 04:59:25
TPV.- Codigo Fuente Rabata Varios 4 15-10-2005 13:48:51


La franja horaria es GMT +2. Ahora son las 08:32:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi