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!!