Resultados 1 a 5 de 5
  1. #1
    Membro Stark's Avatar
    Data de Ingresso
    Oct 2015
    Posts
    137
    Thanks Thanks Given 
    9
    Thanks Thanks Received 
    331
    Thanked in
    13 Posts
    Mencionado
    18 Post(s)
    MEU HUMOR
    Fine

    Query 1 hora on =1 gold

    Bom dia pessoal!

    Preciso de uma query para dar bônus em moeda para o player que ficar 1 hora online no servidor, premiando automaticamente.

    Eu vi uma query e 2 pessoas me indicaram que criava uma procedure, mas sinceramente tenho receio de criar uma procedure desse tipo e ter problemas futuros.

    Alguém me indica algo funcional?

  2. #2
    Super Moderador andredeco's Avatar


    Data de Ingresso
    Oct 2016
    Posts
    577
    Thanks Thanks Given 
    63
    Thanks Thanks Received 
    74
    Thanked in
    37 Posts
    Mencionado
    35 Post(s)
    MEU HUMOR
    Breezy
    País
    Brazil
    Citação Originally Posted by Stark Ver Post
    Bom dia pessoal!

    Preciso de uma query para dar bônus em moeda para o player que ficar 1 hora online no servidor, premiando automaticamente.

    Eu vi uma query e 2 pessoas me indicaram que criava uma procedure, mas sinceramente tenho receio de criar uma procedure desse tipo e ter problemas futuros.

    Alguém me indica algo funcional?
    Qual Servidor você usa?
    Tem certeza que ele não possui este sistema de premiação integrado? É raro hoje em dia ver um MS sem tal sistema.

    Quanto mais você puder evitar de instalar JOB's e Procedures em seu Banco de Dados é melhor, lembrando que elas
    afetam o desempenho e pode acarretar problemas, principalmente em quantidades elevadas.

  3. #3
    Membro Stark's Avatar
    Data de Ingresso
    Oct 2015
    Posts
    137
    Thanks Thanks Given 
    9
    Thanks Thanks Received 
    331
    Thanked in
    13 Posts
    Mencionado
    18 Post(s)
    MEU HUMOR
    Fine
    Citação Originally Posted by andredeco Ver Post
    Qual Servidor você usa?
    Tem certeza que ele não possui este sistema de premiação integrado? É raro hoje em dia ver um MS sem tal sistema.

    Quanto mais você puder evitar de instalar JOB's e Procedures em seu Banco de Dados é melhor, lembrando que elas
    afetam o desempenho e pode acarretar problemas, principalmente em quantidades elevadas.
    Exatamente isso que penso! Por isso estava evitando ao máximo, mas não tenho outra alternativa.

    Utilizo o MuServer da FireTeam! Ainda não tem esse sistema.

  4. #4
    Developer C++ LaMO's Avatar


    Data de Ingresso
    Sep 2015
    Posts
    692
    Thanks Thanks Given 
    206
    Thanks Thanks Received 
    766
    Thanked in
    124 Posts
    Mencionado
    80 Post(s)
    MEU HUMOR
    Tired
    Citação Originally Posted by Stark Ver Post
    Exatamente isso que penso! Por isso estava evitando ao máximo, mas não tenho outra alternativa.

    Utilizo o MuServer da FireTeam! Ainda não tem esse sistema.
    O Maykon falou que desenvolve pra você, mas deixa o GS um pouco mais pesado.. E o sistema que ele está pensando, na minha opinião é ruim, e o mesmo sistema de uma outra forma, deixaria 60x mais pesado o GS.

    Acredito que procedure seja a melhor forma nesse caso em específico.
    Eu deixaria 1 query executando a cada 1 minuto, fazendo quem está com o membstat = 1 ganhar + 1 de "TempoON".
    E depois faria um sistema de trocas através do site para trocar os minutos por cashs/golds/vip.

    Tem um sistema do Renato que é +- assim, utilizando uma procedure que parece incrível. Não cheguei a testar, mas quando tive um servidor com ele, ele desenvolveu uma procedure desse tipo, não dá pra saber se é a mesma porque não cheguei a olhar a original do MU Wolf.

    De qualquer forma, acredito que existem outras formas de manter os jogadores ativos,

    Att;

  5. #5
    Membro Stark's Avatar
    Data de Ingresso
    Oct 2015
    Posts
    137
    Thanks Thanks Given 
    9
    Thanks Thanks Received 
    331
    Thanked in
    13 Posts
    Mencionado
    18 Post(s)
    MEU HUMOR
    Fine
    Citação Originally Posted by vlgtre Ver Post
    O Maykon falou que desenvolve pra você, mas deixa o GS um pouco mais pesado.. E o sistema que ele está pensando, na minha opinião é ruim, e o mesmo sistema de uma outra forma, deixaria 60x mais pesado o GS.

    Acredito que procedure seja a melhor forma nesse caso em específico.
    Eu deixaria 1 query executando a cada 1 minuto, fazendo quem está com o membstat = 1 ganhar + 1 de "TempoON".
    E depois faria um sistema de trocas através do site para trocar os minutos por cashs/golds/vip.

    Tem um sistema do Renato que é +- assim, utilizando uma procedure que parece incrível. Não cheguei a testar, mas quando tive um servidor com ele, ele desenvolveu uma procedure desse tipo, não dá pra saber se é a mesma porque não cheguei a olhar a original do MU Wolf.

    De qualquer forma, acredito que existem outras formas de manter os jogadores ativos,

    Att;
    Pensei nessa alternativa de colocar a query pra rodar de 1 ou 2 minutos para adicionar na coluna TempoON.

    Queria a opinião de todos os colegas se acham que iria sobrecarregar o SQL

    3 Horas 54 minutes:------- Atualizado -------

    Amigos, o que acham dessa procedure?

    USE [MuOnline]
    GO
    DROP PROCEDURE [dbo].[WZ_DISCONNECT_MEMB]
    GO
    CREATE PROCEDURE [dbo].[WZ_DISCONNECT_MEMB]
    @memb___id varchar(10)
    AS
    Begin
    set nocount on
    Declare @find_id varchar(10)
    Declare @ConnectStat tinyint
    Declare @OnlineHours real
    Set @ConnectStat = 0
    Set @find_id = 'NOT'
    select @find_id = S.memb___id from MEMB_STAT S INNER JOIN MEMB_INFO I ON S.memb___id = I.memb___id
    where I.memb___id = @memb___id
    if( @find_id <> 'NOT' )
    begin
    Update MEMB_STAT SET ConnectStat = @ConnectStat, DisConnectTM = getdate(), OnlineHours = OnlineHours + datediff(hour, ConnectTM, getdate()) where memb___id = @memb___id

    SELECT @OnlineHours = OnlineHours FROM MEMB_STAT WHERE memb___id = @memb___id

    Update MEMB_INFO SET gold = gold+(@OnlineHours * 2) WHERE memb___id = @memb___id and @OnlineHours >= '1'

    Update MEMB_STAT SET OnlineHours = 0 WHERE memb___id = @memb___id

    end
    end
    GO
    Last edited by Stark; 08/11/2019 at 04:01 PM.

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • You may not post Resposta(s)
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •  
Sobre nós
Somos uma comunidade em atividade a 8 anos que aborda assuntos relacionados a games em geral, principalmente games MMORPG. e que busca sempre ajudar os membros através de conteúdos, tutoriais e suporte...
Nossos anunciantes
Hinetworks
VelozHost
InovHost
Rede Sociais