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

Alpha Servers
Resultados 1 a 5 de 5
  1. #1

    Avatar de Guz3rax
    Data de Ingresso
    Sep 2009
    Localização
    São Paulo
    Posts
    301
    Agradecido
    9
    Agradeceu
    5
    Peso da Avaliação
    19

    Padrão Premiação para jogar online a cada 3 horas.

    Boa noite galera, pesquisei bastante e não encontrei nenhuma query, job, procedure que funcione no meu sistema.

    Atualmente, estou usando procedure para contar os minutos que os players ficam online,

    E quero colocar para cada 3 horas online os players ganhe 1 gold. ou seja, 180 minutos.

    Então venho aqui pedir ajuda, meu servidor é 97d.

    Aguardo e obrigado.

  2. #2

    Avatar de TeamKingBR
    Data de Ingresso
    Dec 2011
    Localização
    Maua
    Idade
    43
    Posts
    179
    Agradecido
    60
    Agradeceu
    47
    Peso da Avaliação
    14

    Padrão

    Qual Sistema Teu e Site ? Explique

    ---------- Post added at 01:11 PM ---------- Previous post was at 01:05 PM ----------

    Código PHP:
    USE [MuOnline]
    GO
    /****** Object:  StoredProcedure [dbo].[WZ_DISCONNECT_MEMB]     Script Date: 05/05/2013 10:42:49 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO

    --//************************************************************************
    --// Reviewed and Optimized by X-Team
    --// www.xteamservers.com
    --//************************************************************************
    ALTER PROCEDURE [dbo].[WZ_DISCONNECT_MEMB]
    @
    memb___id varchar(10)
    AS
    Begin
    set nocount on
    Declare @find_id varchar(10)
    Declare @
    ConnectStat tinyint
    Declare @con_tm DATETIME
    Declare @Minutos tinyint
    Declare @TempoAtual int
    Declare @NovoTempo int
    Declare @Bonus int
    Set 
    @ConnectStat 0
    Set 
    @find_id 'NOT'

    --Ganhar 1 mua cada 10 minutos
    Set 
    @Minutos 60
    --------------------------------

    select @find_id S.memb___id,
      @
    con_tm S.ConnectTM
      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

    --ATUALIZA status da conta
    UPDATE MEMB_STAT
    SET ConnectStat 
    = @ConnectStat,
    DisconnectTM getdate(),
    @
    TempoAtual OnlineTime OnlineTime+(DATEDIFF(mi,@con_tm,getdate()))
    WHERE memb___id = @memb___id

    --ATUALIZA minutos online do char
    UPDATE Character
    SET OnlineTime 
    OnlineTime+(DATEDIFF(mi,@con_tm,getdate()))
    FROM Character as c INNER JOIN AccountCharacter as ac ON
    c
    .Name ac.GameIDC WHERE c.accountid = @memb___id

    --Mupor tempo online--------------------------------
    SELECT @Bonus = @TempoAtual / @Minutos
    SELECT 
    @NovoTempo = @TempoAtual % @Minutos

    set 
    @find_id 'NOT'

    IF (@Bonus IS NOT NULL)
    BEGIN
    SELECT 
    @find_id memb___id FROM XW_Credits
    WHERE memb___id 
    = @memb___id AND type AND server 0
    if( @find_id <> 'NOT' )
    begin
    UPDATE XW_Credits SET value 
    value + @Bonus WHERE memb___id = @memb___id AND type AND server 0
    end
    else
    begin
    INSERT INTO XW_Credits 
    (memb___id,value,type,server)
    VALUES (@memb___id,@Bonus,1,0)
    end
    UPDATE MEMB_STAT SET OnlineTime 
    = @NovoTempo WHERE memb___id = @memb___id
    END
    ------------------------------------------------------

    --
    Logs------------------------------------------------
    INSERT INTO XW_ConLog (action,ip,date,memb___id)
    VALUES (0,'-',getdate(),@memb___id)
    ------------------------------------------------------

    end
    end 

    Set @Minutos = 60 ---> Aqui você define os intervalos de tempo para se ganhar 1 Cash

    ================================================== ===============
    WHERE memb___id = @memb___id AND type = 1 AND server = 0

    UPDATE XW_Credits SET value = value + @Bonus WHERE memb___id = @memb___id AND type = 1 AND server = 0

    VALUES (@memb___id,@Bonus,1,0)
    ================================================== ===============

    Onde está marcado de vermelho seria o tipo da moeda que será dada para o player, exemplo: (1=Gold / 2=Cashs)

  3. #3


    Avatar de Reck
    Data de Ingresso
    Sep 2013
    Localização
    Cuiabá
    Idade
    27
    Posts
    300
    Agradecido
    77
    Agradeceu
    53
    Peso da Avaliação
    14

    Padrão

    estou desenvolvendo um site que terá essa possibilidade !

  4. #4

    Avatar de alexx
    Data de Ingresso
    Oct 2009
    Localização
    campo grande
    Idade
    33
    Posts
    32
    Agradecido
    4
    Agradeceu
    2
    Peso da Avaliação
    0

    Padrão

    Pelo que deu pra entender é necessário ter 1 colunas em 2 tabelas:
    Tabelas: MEMB_STAT e Character
    Coluna a criar: OnlineTime int (NOT NULL) Default 0

  5. #5

    Avatar de Guz3rax
    Data de Ingresso
    Sep 2009
    Localização
    São Paulo
    Posts
    301
    Agradecido
    9
    Agradeceu
    5
    Peso da Avaliação
    19

    Padrão

    TeamKingBR - vou testar ela, sabe me dizer se já foi usada em versões 97d?

    Obs: meu site é próprio.

 

 

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. |Jobs/Query| Dar Golds para jogadores Online a cada 3 horas
    Por hidy no fórum Jobs e Querys
    Respostas: 3
    Último Post: 28-12-2011, 01:44 AM
  2. |Pedido| Job para premiar a cada hora online
    Por kingrox no fórum Pedidos
    Respostas: 9
    Último Post: 08-04-2011, 12:52 AM
  3. Respostas: 2
    Último Post: 12-05-2010, 07:03 PM
  4. |Resolvido| Job premiar com vip a cada 5 horas online!
    Por kingrox no fórum Tópicos resolvidos
    Respostas: 0
    Último Post: 06-01-2010, 06:07 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
  •