Antes de atender à sua solicitação, peço por gentileza que informe como está a sua configuração de armazenamento das moedas no SQL (tabelas, colunas, etc). De posse destas informações, poderemos elaborar a query correta.
Estou precisando de um query pro site do daldegan para dar vip a todas as contas, tipow quero dar 3 dias de vip gold gratis a todas as contas cadastradas.
Antes de atender à sua solicitação, peço por gentileza que informe como está a sua configuração de armazenamento das moedas no SQL (tabelas, colunas, etc). De posse destas informações, poderemos elaborar a query correta.
Até onde eu sei as informações deles estão as padrões do Site do Daldegam.
Também não me recordo mais de qual é o padrão (muito tempo sem mexer com MuSite).
No meu está assim:
To precisando dessa ai e de uma para dar SGolds a todas as contas!Código PHP:
@Configurações das tabelas do webSite.
*/
$TABLES_CONFIGS['WEBVIPS'] = array("database" => "MuOnline", //webSite || MuOnline
"table" => "MEMB_INFO", //webVips || MEMB_INFO
"columnUsername" => "memb___id", //username || memb___id
"columnType" => "vip", //type || vip
"columnDateBegin" => "dateBegin",
"columnDateEnd" => "dateEnd",
"columnDateEndInteger" => "dateEndInteger");
$TABLES_CONFIGS['WEBCASH'] = array("database" => "MuOnline", //webSite || MuOnline
"table" => "MEMB_INFO", //webCash || MEMB_INFO
"columnUsername" => "memb___id", //username || memb___id
"columnAmount" => "gold", //amount || gold
"columnAmount2" => "amount2"); //amount2 || gold2
Código PHP:
$TABLES_CONFIGS['WEBVIPS'] = array("database" => DATABASE, //webSite || MuOnline
"table" => "webVips", //webVips || MEMB_INFO
"columnUsername" => "username", //username || memb___id
"columnType" => "type", //type || vip
"columnDateBegin" => "dateBegin",
"columnDateEnd" => "dateEnd",
"columnDateEndInteger" => "dateEndInteger");
$TABLES_CONFIGS['WEBCASH'] = array("database" => DATABASE, //webSite || MuOnline
"table" => "webCash", //webCash || MEMB_INFO
"columnUsername" => "username", //username || memb___id
"columnAmount" => "amount", //amount || gold
"columnAmount2" => "amount2", //amount2 || gold2
"columnPoints" => "points"); //points
Aqui bruno. Basta modificar o valor da linha "SET @BONUS_VIP = 2; -- DIAS DE VIP A SER DADO COMO BÔNUS" pro que vc quiser
Código:-- SCRIPT CRIADO POR -- RENATO VALER -- 19/11/2012 -- 01:00 AM /* 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; -- NÃO MEXA AQUI DECLARE @LOGINS varchar(12); -- NÃO MEXA AQUI /* 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 /* DECLARANDO CURSOR DE CONTAS FREE */ DECLARE C_FREE CURSOR FOR -- NÃO MEXA AQUI /* SELECIONANDO LOGINS DAS CONTAS FREE */ SELECT username FROM [dbo].[webVips] WHERE type = 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].[webVips] SET [dateBegin] = DATEDIFF(s, '19700101', GETDATE()) WHERE [username] = @LOGINS -- NÃO MEXA AQUI /* ATUALIZANDO DATA DE FIM DO VIP */ UPDATE [dbo].[webVips] SET [dateEnd] = DATEDIFF(s, '19700101', GETDATE() + @BONUS_VIP) WHERE [username] = @LOGINS -- NÃO MEXA AQUI /* ATUALIZANDO DATA DE FIM DO VIP EM NÚMEROS INTEIROS E TORNANDO A CONTA VIP*/ UPDATE [dbo].[webVips] SET [dateEndInteger] = @BONUS_VIP, [type] = @VIP_FOR_ACC_FREE WHERE [username] = @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 DECLARE C_VIP CURSOR FOR -- NÃO MEXA AQUI /* LISTANDO LOGINS VIP */ SELECT username FROM [dbo].[webVips] WHERE type > 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].[webVips] WHERE [username] = @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].[webVips] SET [dateEnd] = DATEDIFF(s, '19700101', GETDATE() + @VIP_TOTAL) WHERE [username] = @LOGINS -- NÃO MEXA AQUI /* ATUALIZANDO DATA DE FIM DO VIP EM NÚMEROS INTEIROS */ UPDATE [dbo].[webVips] SET [dateEndInteger] = [dateEndInteger]+@VIP_TOTAL WHERE [username] = @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 /* FIM DO SCRIPT */
Última edição por Renato; 27-11-2013 às 12:47 PM.
Renati rodei a queri de deu Arrows Afectend e talz, mais no site as contas free nao pularao pra Vip gold tipow ainda esta
Total de Contas: 111
Total de Chars: 125
Recorde Online: 41
Vip Silver: 13
Vip Gold: 20
Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)
Marcadores