Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro

Alpha Servers
Resultados 1 a 5 de 5

Visão do Encadeamento

  1. #1

    Avatar de sula
    Data de Ingresso
    Oct 2011
    Localização
    Fortaleza
    Posts
    269
    Agradecido
    73
    Agradeceu
    58
    Peso da Avaliação
    15

    Padrão Rank Semanal & mensal

    Bom gente, preciso de uma Quary que adicionada ao comando contido na job que zera o top semanal/mensal já efetue o pagamento dos 3 primeiros colocados.

    Obs: estou verificando se acho algo pela net, aqui no forum até tem 2 ou 3 tópicos sobre o assunto, mas nenhum com resultado final satisfatório.

    Estou testando o script abaixo e até agora ou ele pagou apenas os 2 primeiros ou pagou o 1 em dobro -.-"

    declare @AccountID varchar (10)
    declare @AccountID2 varchar (10)
    declare @AccountID3 varchar (10)

    declare @Name varchar(10)
    declare @Name2 varchar(10)
    declare @Name3 varchar(10)

    Select top 1 @AccountID=AccountID,@Name=Name from Character order by ResetsWeek desc, name desc
    Select top 1 @AccountID2=AccountID,@Name2=Name from Character WHERE Name<>@Name order by ResetsWeek desc, name desc
    Select top 1 @AccountID3=AccountID,@Name3=Name from Character WHERE Name<>@Name and Name<>@Name2 order by ResetsWeek desc, name desc

    UPDATE memb_info set gold=gold+50 WHERE memb___id=@AccountID
    UPDATE memb_info set gold=gold+30 WHERE memb___id=@AccountID2
    UPDATE memb_info set gold=gold+20 WHERE memb___id=@AccountID3

    UPDATE Character SET ResetsWeek = 0

    ---------------------------------------------------------------------
    Edit:

    Testado e retestado e aparentemente o script acima funciona sim.
    Segue abaixo as quarys para Semanal/mensal/diario para musite:
    -----------------------------------------------
    Top Reset Semanal, premiando os 3 primeiros
    Use MuOnline

    declare @AccountID varchar (10)
    declare @AccountID2 varchar (10)
    declare @AccountID3 varchar (10)

    declare @Name varchar(10)
    declare @Name2 varchar(10)
    declare @Name3 varchar(10)

    Select top 1 @AccountID=AccountID,@Name=Name from Character order by ResetsWeek desc, name desc
    Select top 1 @AccountID2=AccountID,@Name2=Name from Character WHERE Name<>@Name order by ResetsWeek desc, name desc
    Select top 1 @AccountID3=AccountID,@Name3=Name from Character WHERE Name<>@Name and Name<>@Name2 order by ResetsWeek desc, name desc

    UPDATE memb_info set gold=gold+50 WHERE memb___id=@AccountID
    UPDATE memb_info set gold=gold+25 WHERE memb___id=@AccountID2
    UPDATE memb_info set gold=gold+10 WHERE memb___id=@AccountID3

    UPDATE Character SET ResetsWeek = 0


    -----------------------------------------------
    Top Reset Mensal, premiando os 3 primeiros
    Use MuOnline

    declare @AccountID varchar (10)
    declare @AccountID2 varchar (10)
    declare @AccountID3 varchar (10)

    declare @Name varchar(10)
    declare @Name2 varchar(10)
    declare @Name3 varchar(10)

    Select top 1 @AccountID=AccountID,@Name=Name from Character order by ResetsMonth desc, name desc
    Select top 1 @AccountID2=AccountID,@Name2=Name from Character WHERE Name<>@Name order by ResetsMonth desc, name desc
    Select top 1 @AccountID3=AccountID,@Name3=Name from Character WHERE Name<>@Name and Name<>@Name2 order by ResetsMonth desc, name desc

    UPDATE memb_info set gold=gold+100 WHERE memb___id=@AccountID
    UPDATE memb_info set gold=gold+50 WHERE memb___id=@AccountID2
    UPDATE memb_info set gold=gold+25 WHERE memb___id=@AccountID3

    UPDATE Character SET ResetsMonth = 0

    -----------------------------------------------
    Top Reset Diario, premiando os 3 primeiros
    Use MuOnline

    declare @AccountID varchar (10)
    declare @AccountID2 varchar (10)
    declare @AccountID3 varchar (10)

    declare @Name varchar(10)
    declare @Name2 varchar(10)
    declare @Name3 varchar(10)

    Select top 1 @AccountID=AccountID,@Name=Name from Character order by ResetsDay desc, name desc
    Select top 1 @AccountID2=AccountID,@Name2=Name from Character WHERE Name<>@Name order by ResetsDay desc, name desc
    Select top 1 @AccountID3=AccountID,@Name3=Name from Character WHERE Name<>@Name and Name<>@Name2 order by ResetsDay desc, name desc

    UPDATE memb_info set gold=gold+15 WHERE memb___id=@AccountID
    UPDATE memb_info set gold=gold+10 WHERE memb___id=@AccountID2
    UPDATE memb_info set gold=gold+5 WHERE memb___id=@AccountID3

    UPDATE Character SET ResetsDay = 0
    -----------------------------------------------
    Obs:
    UPDATE Character SET ResetsWeek = 0
    e
    UPDATE Character SET ResetsMonth = 0

    é da job que zera os tops, no meu caso vou só adicionar o codigo de premiação logo acima deles no comando da job.
    Bom, acho que isso é tudo.
    Última edição por sula; 24-06-2015 às 02:31 PM.

 

 

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Pedido| Premiar top mensal e semanal (MuSite 2.5.x)
    Por betoto12 no fórum Jobs e Querys
    Respostas: 0
    Último Post: 21-12-2015, 09:40 PM
  2. |Pedido| Premiação TOP Mensal/Semanal MuSite
    Por [ADM]Lp no fórum Pedidos
    Respostas: 9
    Último Post: 09-12-2013, 12:52 PM
  3. |Tutorial| Rank Semanal e Mensal em servers com /reset
    Por louis no fórum Servers
    Respostas: 11
    Último Post: 15-06-2012, 08:49 PM
  4. |Suporte| Resetar Semanal e Mensal no GS
    Por yvescleuder no fórum Pedidos
    Respostas: 1
    Último Post: 30-03-2012, 01:50 PM
  5. |Jobs/Query| Premiando Rank Semanal, Rank Mensal
    Por Cøłєridgє no fórum Jobs e Querys
    Respostas: 7
    Último Post: 01-12-2011, 05:04 PM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •