Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: Querry - Regalo PcP para jugadores Online - Season 3  (Visto 36 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline LuchoToledo Posteado: December 22, 2025, 04:49:36 PM | Modificado: December 22, 2025, 04:56:14 PM by LuchoToledo

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 15
  • Gracias recibida: 0
  • ar
Buenas tardes gente!!!

Se acerca navidad y quería dejar mi pequeño aporte, es la primea vez que realizo un aporte y me aventure hace 2 meses con este proyecto de Mu Online.

Esto esta probado en un Season 3 KOR - No lo he verificado en otra Season ya que poseo mi servidor S3 y estoy realizando las pruebas ahí.

Bueno como dice el titulo, acá les dejo un pequeño querry donde pueden otorgarle a todos sus jugadores Online el regalo de PCPoints (esto depende de la tabla que utilicen).

Esto es para entregas de 15.000 PcPoints (en mi caso) por unica vez por CUENTA y por IP, con esto no tendrán duplicado de premio por más que el jugador lo reclame



//Primero creamos la Tabla del Regalo//

CREATE TABLE Event_Navidad_Gift (
    AccountID VARCHAR(10) NOT NULL,
    IPAddress VARCHAR(50) NOT NULL,
    ClaimDate DATE NOT NULL,
    CONSTRAINT PK_Event_Navidad PRIMARY KEY (AccountID, IPAddress)
)

Una vez creada la tabla procedemos a crear los diferentes PROCEDURE con los cuales vamos a trabajar, se los dejaré por colores, donde finaliza el END es uno nuevo, pueden copiar de todas maneras todo y lanzarlo, pero ojo con las partes texto:

CREATE PROCEDURE SP_Event_Navidad_Gift
    @AccountID VARCHAR(10),
    @IP VARCHAR(50)
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @Today DATE = CAST(GETDATE() AS DATE);

    -- Solo 25 de diciembre
    IF (MONTH(@Today) <> 12 OR DAY(@Today) <> 25) aca es para el 25 de diciembre por eso va el 12 en MONTH y 25 DAY (luego borrar esta linea de texto, no es solo copiar y pegar)
    BEGIN
        SELECT 0 AS Result, 'El evento de Navidad solo está disponible el 25 de diciembre.' AS Message;
        RETURN;
    END

    -- Verificar si ya reclamó por cuenta o IP
    IF EXISTS (
        SELECT 1
        FROM Event_Navidad_Gift
        WHERE AccountID = @AccountID
           OR IPAddress = @IP
    )
    BEGIN
        SELECT 0 AS Result, 'Ya reclamaste el regalo de Navidad desde esta cuenta o IP.' AS Message;
        RETURN;
    END

    -- Entregar 15000 PcPoint
    UPDATE PcPointData
    SET PcPoint = ISNULL(PcPoint, 0) + 15000
    WHERE AccountID = @AccountID;

    IF @@ROWCOUNT = 0
    BEGIN
        INSERT INTO PcPointData (AccountID, PcPoint)
        VALUES (@AccountID, 15000);
    END

    -- Registrar reclamo
    INSERT INTO Event_Navidad_Gift (AccountID, IPAddress, ClaimDate)
    VALUES (@AccountID, @IP, @Today);

    SELECT 1 AS Result, '¡Felices Fiestas! Recibiste 15.000 PcPoint.' AS Message;
END

Recuerden que pueden adaptarlo dependiendo su tabla, en su caso yo utilizo PCPoints - pueden probar con WC- Goblin etc.

NOTA: Esto esta probado en un SEASON 3 - KOR con cliente 1.04j por si acaso, pueden probar, yo aun no lo he echo ya que no poseo otro servidor para probar.

Espero que les sirva, felices fiestas!!


Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
5 Replies
2754 Views
Last post September 20, 2019, 07:14:52 AM
by louis
3 Replies
1516 Views
Last post May 14, 2020, 03:37:48 AM
by Hoangsy99
3 Replies
1703 Views
Last post July 04, 2021, 01:53:09 AM
by lunaticodeveloper
0 Replies
403 Views
Last post January 04, 2024, 05:32:50 PM
by jknfkls
2 Replies
150 Views
Last post December 11, 2025, 11:42:49 AM
by LuchoToledo