让所有账户都成为 VIP


Published:   Comment: No Comments

游戏设置

-- SCRIPT CRIADO POR
-- RENATO VALER

/ DECLARANDO VARIÁVEIS /

DECLARE @TEMPO_VIP int; -- NÃO MEXA AQUI
DECLARE @VIP_TOTAL int; -- NÃO MEXA AQUI
DECLARE @BONUS_VIP int; -- NÃO MEXA AQUI
DECLARE @VIP_FOR_ACC_FREE int; -- NÃO MEXA AQUI
DECLARE @LOGINS varchar(12); -- NÃO MEXA AQUI

//
/ INÍCIO DAS CONFIGURAÇÕES /
//

/ DEFININDO DIAS DE VIP A SER DADO COMO BÔNUS /

SET @BONUS_VIP = 2; -- DIAS DE VIP A SER DADO COMO BÔNUS

/ DEFININDO TIPO DE VIP A SER DADO PARA CONTAS FREE/

SET @VIP_FOR_ACC_FREE = 2; -- TIPO DE VIP A SER DADO PARA CONTAS FREE

//
/ FIM DAS CONFIGURAÇÕES /
//

/ DECLARANDO CURSOR DE CONTAS VIP /
DECLARE C_VIP CURSOR FOR -- NÃO MEXA AQUI

/ LISTANDO LOGINS VIP /
SELECT memb___id FROM [dbo].[Memb_Info] WHERE VIP > 0 -- NÃO MEXA AQUI

OPEN C_VIP; -- NÃO MEXA AQUI
FETCH NEXT FROM C_VIP INTO @LOGINS -- NÃO MEXA AQUI
WHILE(@@FETCH_STATUS = 0)BEGIN -- NÃO MEXA AQUI

/ SELECIONANDO TEMPO VIP RESTANTE DE CADA LOGIN /
SET @TEMPO_VIP = (SELECT DATEDIFF(day, GETDATE(), DATEADD(s, CAST([dateend] as int), '19700101')) -- NÃO MEXA AQUI
as [diasRestantes] FROM [dbo].[MEMB_INFO] WHERE [memb___id] = @LOGINS); -- NÃO MEXA AQUI

/ EXECUTANDO CÁLCULO /
SET @VIP_TOTAL = @TEMPO_VIP+@BONUS_VIP; -- NÃO MEXA AQUI

/ ATUALIZANDO DATA DE FIM DO VIP /
UPDATE [dbo].[MEMB_INFO] SET [dateEnd] = DATEDIFF(s, '19700101', GETDATE() + @VIP_TOTAL) WHERE [memb___id] = @LOGINS -- NÃO MEXA AQUI

/ ATUALIZANDO DATA DE FIM DO VIP EM NÚMEROS INTEIROS /
UPDATE [dbo].[MEMB_INFO] SET [dateEndInteger] = [dateEndInteger]+@VIP_TOTAL WHERE [memb___id] = @LOGINS -- NÃO MEXA AQUI

FETCH NEXT FROM C_VIP INTO @LOGINS; -- NÃO MEXA AQUI
END; -- NÃO MEXA AQUI
CLOSE C_VIP; -- NÃO MEXA AQUI
DEALLOCATE C_VIP; -- NÃO MEXA AQUI

/ DECLARANDO CURSOR DE CONTAS FREE /
DECLARE C_FREE CURSOR FOR -- NÃO MEXA AQUI

/ SELECIONANDO LOGINS DAS CONTAS FREE /
SELECT memb___id FROM [dbo].[Memb_Info] WHERE VIP = 0 -- NÃO MEXA AQUI

/ INICIANDO CURSOR DE CONTAS FREE /
OPEN C_FREE; -- NÃO MEXA AQUI
FETCH NEXT FROM C_FREE INTO @LOGINS -- NÃO MEXA AQUI
WHILE(@@FETCH_STATUS = 0)BEGIN -- NÃO MEXA AQUI

/ ATUALIZANDO DATA DE INÍCIO DO VIP /
UPDATE [dbo].[MEMB_INFO] SET [dateBegin] = DATEDIFF(s, '19700101', GETDATE()) WHERE [memb___id] = @LOGINS -- NÃO MEXA AQUI

/ ATUALIZANDO DATA DE FIM DO VIP /
UPDATE [dbo].[MEMB_INFO] SET [dateEnd] = DATEDIFF(s, '19700101', GETDATE() + @BONUS_VIP) WHERE [memb___id] = @LOGINS -- NÃO MEXA AQUI

/ ATUALIZANDO DATA DE FIM DO VIP EM NÚMEROS INTEIROS /
UPDATE [dbo].[MEMB_INFO] SET [dateEndInteger] = @BONUS_VIP, [VIP] = @VIP_FOR_ACC_FREE WHERE [memb___id] = @LOGINS -- NÃO MEXA AQUI

/ FINALIZANDO CURSOR DE CONTAS FREE /
FETCH NEXT FROM C_FREE INTO @LOGINS; -- NÃO MEXA AQUI
END; -- NÃO MEXA AQUI
CLOSE C_FREE; -- NÃO MEXA AQUI
DEALLOCATE C_FREE; -- NÃO MEXA AQUI

/ FIM DO SCRIPT /

none
Last Modified:2024-09-29 22:59:13

我有话说