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


HGIDC
Resultados 1 a 5 de 5
  1. #1

    Avatar de Guz3rax
    Data de Ingresso
    Sep 2009
    Localização
    São Paulo
    Posts
    340
    Agradecido
    10
    Agradeceu
    7
    Peso da Avaliação
    13

    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
    37
    Posts
    229
    Agradecido
    72
    Agradeceu
    51
    Peso da Avaliação
    9

    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
    21
    Posts
    291
    Agradecido
    76
    Agradeceu
    52
    Peso da Avaliação
    7

    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
    26
    Posts
    42
    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
    340
    Agradecido
    10
    Agradeceu
    7
    Peso da Avaliação
    13

    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
  •