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

Alpha Servers
Página 1 de 9 123 ... ÚltimoÚltimo
Resultados 1 a 10 de 87
  1. #1



    Avatar de Renato
    Data de Ingresso
    Nov 2010
    Localização
    Imperyus
    Posts
    1.099
    Agradecido
    2519
    Agradeceu
    492
    Peso da Avaliação
    30

    Padrão Contando Tempo Online com procedures

    Vou ensinar como contar tempo online de forma EXATA para poderem dar valores em gold por tempo online.
    É relevante ressaltar que este procedimento ELIMINA a necessidade de JOB para a contagem de tempo on.

    O tempo online será atualizado SEMPRE que o player DESLOGAR.

    Inicialmente, vamos criar algumas colunas na tabela MEMB_STAT, onde ficarão armazenados alguns dados.
    Código:
    USE [MUOnline]
    GO
    
    ALTER TABLE MEMB_STAT
    ADD	[ConnectStartTime] [varchar](50) NOT NULL  DEFAULT (getdate())
    GO
    
    ALTER TABLE MEMB_STAT
    ADD	[ConnectEndTime] [varchar](50) NOT NULL  DEFAULT (getdate())
    GO
    
    ALTER TABLE MEMB_STAT
    ADD	[TimeON] [int] NOT NULL DEFAULT 0
    GO
    Feito isto, vamos modificar a Stored Procedure WZ_CONNECT_MEMB, para "salvar" o horário em que o usuário efetua o login. Faremos este salvamento em formato TIMESTAMP.

    Código:
    IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'WZ_CONNECT_MEMB')
    DROP PROCEDURE [dbo].[WZ_CONNECT_MEMB]
    GO
    
    CREATE PROCEDURE [dbo].[WZ_CONNECT_MEMB]
    
    @memb___id VARCHAR(10),
    @ServerName  VARCHAR(20),
    @IP VARCHAR(15)	
    AS
    BEGIN
    SET NOCOUNT ON
    
    DECLARE @find_id VARCHAR(10);	
    DECLARE @ConnectStat TINYINT;
    
    SET @find_id = 'NOT';
    SET @ConnectStat = 1;
    
    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
    
    INSERT INTO MEMB_STAT (memb___id,ConnectStat,ServerName,IP,ConnectTM) VALUES(@memb___id,  @ConnectStat, @ServerName, @IP, getdate());
    
    --=============================================================--
    --	ATUALIZANDO HORÁRIO DE LOGIN NA MEMB_STAT APÓS INSERT DE DADOS	--
    --=============================================================--
    
    UPDATE MEMB_STAT SET ConnectStartTime = DATEDIFF(s, '19700101', GETDATE()) WHERE memb___id = @memb___id;
    
    END
    ELSE 
    
    UPDATE MEMB_STAT SET ConnectStat = @ConnectStat, ServerName = @ServerName,IP = @IP, ConnectTM = getdate() WHERE memb___id = @memb___id
    
    --=========================================--
    --	ATUALIZANDO HORÁRIO DE LOGIN NA MEMB_STAT  --
    --=========================================--
    UPDATE MEMB_STAT SET ConnectStartTime = DATEDIFF(s, '19700101', GETDATE()) WHERE memb___id = @memb___id;
    
    END
    Feito isto, modificamos a procedure WZ_DISCONNECT_MEMB para armazenar o horário de disconnect em formato timestamp, selecionar o horário de connect, e realizar a operação:

    Tempo on = horário de disconnect - horário de connect.

    E salvar o tempo online exato no formado: horas: minutos : segundos.


    Código:
    IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'WZ_DISCONNECT_MEMB')
    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 @LOGINTIME INT;
    DECLARE @LOGOUTTIME INT;
    DECLARE @TIMEON INT;
    
    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() WHERE memb___id = @memb___id;
    
    --======================================================--
    --	ATUALIZANDO HORÁRIO DE LOGGOUT NA MEMB_STAT	--
    --======================================================--
    
    UPDATE MEMB_STAT SET ConnectEndTime = DATEDIFF(s, '19700101', GETDATE()) WHERE memb___id = @memb___id;
    
    --==============================================================--
    --	SELECIONANDO HORÁRIO DE LOGIN E DE LOGGOUT NA MEMB_STAT	--
    --==============================================================--
    
    SET @LOGINTIME = (SELECT DATEDIFF(s, GETDATE(), DATEADD(s, CAST(MEMB_STAT.ConnectStartTime as int), '19700101')) FROM MEMB_STAT WHERE memb___id = @memb___id);
    SET @LOGOUTTIME = (SELECT DATEDIFF(s, GETDATE(), DATEADD(s, CAST(MEMB_STAT.ConnectEndTime as int), '19700101')) FROM MEMB_STAT WHERE memb___id = @memb___id);
    
    --==============================--
    --	EXECUTANDO OPERAÇÃO	--
    --==============================--
    
    SET @TIMEON = @LOGOUTTIME - @LOGINTIME;
    
    
    --==============================================--
    --	ATUALIZANDO TEMPO ONLINE NA MEMB_STAT	--
    --==============================================--
    
    UPDATE MEMB_STAT SET TimeON = TimeON + @TIMEON WHERE memb___id = @memb___id;
    
    
    END
    END
    Pronto, a contagem de tempo online será automática, em formato timestamp.

    Para exibir em seu site o tempo online exato, faça o seguinte:

    Código PHP:
    <?php
    $findSTAT 
    mssql_query("SELECT * FROM MEMB_STAT WHERE memb___id='".$userName."'");
    $fetchSTAT mssql_fetch_object($findSTAT);    
    $seconds $fetchSTAT->TimeON;
    $hours floor($seconds 3600);
    $seconds -= $hours 3600;
    $minutes floor($seconds 60);
    $seconds -= $minutes 60;
    $timeON = (''.$hours.'h'.$minutes.'min'.$seconds.'sec');
    echo 
    $timeON;
    ?>
    A exibição será assim (exemplo):

    Tempo ON: 18h54min55sec


    Lembrando pela ÚLTIMA VEZ que tudo é salvo em formato TIMESTAMP. Então, para usar na premiação em golds é necessário saber manipular os dados em timestamp.

    __________________________________________________ ______________________________________________

    UPDATE 1.

    VOCÊ UTILIZA MUSITE? ENTÃO DÊ UMA OLHADA [Somente usuários registrados podem vem os links. ].

    __________________________________________________ ______________________________________________

    Se você não utiliza MuSite ou utiliza e não se interessou pelo conteúdo do tópico acima, como forma de premiar, estou disponibilizando um sistema de trocas que eu fiz a muito tempo atrás para utilizar em meu servidor (que hoje não existe mais).
    Os scripts são antigos (faz tempo pra caralho que eu fiz, não programo mais assim), portanto pode haver falhas (mas nunca tive problemas com ele).

    [Somente usuários registrados podem vem os links. ]


    Prévia do sistema pela settings:
    Código PHP:
    <?php

    /*
        @ CONFIGURACÕES DE SESSÃO
    */

    define('SESSION_NAME','q8453k44Dh455S4Qj453QzSA'); # HASH DE NOME DA SESSÃO
    define('SESSION_PROTECT','RT5434YKr4s42ad5f64S'); # HASH DE PROTEÇÃO DA SESSÃO[

    /*
        @ CONFIGURAÇÕES GERAIS
    */

    define('TITLE_SITE','MU NewAge - Sistema de Trocas Online - GXWeb - TOOL FOR EXCHANGE - V1'); # TÍTULO DA PÁGINA NO NAVEGADOR
    define('SERVER_NAME','Mu NewAge Acturus'); # NOME DO SERVIDOR A SER EXIBIDO NO FOOTER
    define('SERVER_URL','www.munewage.com.br/acturus'); # URL DA WEB DO SERVIDOR

    /*
        @ CONFIGURAÇÃO DE LINGUAGEM
    */

    define('LANG_FILE','pt-br'); # DEFINE A LINGUAGEM DE TEXTOS DA WEB

    /*
        @ CONFIGURAÇÕES DE CONEXÃO
    */

    define('MSSQL_HOST','127.0.0.1,8433'); # HOST DA CONEXÃO MSSQL => IP,PORT
    define('MSSQL_DB','MuOnline'); # DATABASE A SER CONECTADA
    define('MSSQL_USER','sa'); # USUÁRIO DO MSSQL
    define('MSSQL_PASS','123'); # SENHA DO MSSQL

    /*
        @ CONFIGURAÇÃO DE COLUNAS
    */

    $TABLES_CONFIGS['WEBVIPS'] = array("database" => "MuOnline"//webSite || MuOnline
                                       
    "table" => "MEMB_INFO"//webVips || MEMB_INFO
                                       
    "columnUsername" => "memb___id"//username || memb___id
                                       
    "columnType" => "type"//type || vip
                                       
    "columnDateBegin" => "datebegin"
                                       
    "columnDateEnd" => "dateend",
                                       
    "columnDateEndInteger" => "dateendinteger");
                                       
    $TABLES_CONFIGS['WEBCASH'] = array("database" => "MuOnline"//webSite || MuOnline
                                        
    "table" => "webCash"//webCash || MEMB_INFO
                                        
    "columnUsername" => "username"//username || memb___id
                                        
    "columnAmount" => "amount"//amount || gold
                                        
    "columnAmount2" => "amount2"//amount2 || gold2
                                        
    "columnPoints" => "points"); //points

    /*
        @ CONFIGURAÇÃO DE TEMPLATE
    */

    define('TEMPLATE_DIR','refresh'); # DEFINE A PASTA DE TEMPLATE A SER USADA (public/templates/TEMPLATE_DIR)

    /*
        @ CONFIGURAÇÃO DE MD5
    */

    define('USE_MD5',true); # SE SEU SERVIDOR USA MD5 => TRUE | SE SEU SERVIDOR NAO USA MD5 => FALSE.

    /*
        @ CONFIGURAÇÕES DE MOEDAS
    */

    define('CASH_NAME''Nashs'); # NOME DA PRIMEIRA MOEDA
    define('CASH_NAME2''Cashs'); # NOME DA SEGUNDA MOEDA
    define('POINTS_NAME''Points'); # NOME DA "POINTS" A SER EXIBIDO

    $VIP['ACTIVES'] = array("VIP_1" => true"VIP_2" => true"VIP_3" => true"VIP_4" => true"VIP_5" => true); # ATIVA OU DESATIVA O VIP

    $MENU['ACTIVES'] = array("TIME_ON" => array("NASH" => true"CASH" => true"VIP"=> true), "RESETS" => false); # ATIVA / DESATIVA MENUS DE TROCA.

    /*
        @ CONFIGURAÇÕES DE NOME DE VIP
    */

    define('VIP_0_NAME','FREE'); # NOME DO VIP PARA VALOR 0 NA COLUNA DE ARMAZENAMENTO DE VIPS
    define('VIP_1_NAME','Vip NA'); # NOME DO VIP PARA VALOR 1 NA COLUNA DE ARMAZENAMENTO DE VIPS 
    define('VIP_2_NAME','Vip GOLD'); # NOME DO VIP PARA VALOR 2 NA COLUNA DE ARMAZENAMENTO DE VIPS
    define('VIP_3_NAME','Vip MASTER'); # NOME DO VIP PARA VALOR 3 NA COLUNA DE ARMAZENAMENTO DE VIPS
    define('VIP_4_NAME','Vip PLATINA'); # NOME DO VIP PARA VALOR 4 NA COLUNA DE ARMAZENAMENTO DE VIPS
    define('VIP_5_NAME','Vip DIAMANTE'); # NOME DO VIP PARA VALOR 5 NA COLUNA DE ARMAZENAMENTO DE VIPS

    /*
        @ CONFIGURAÇÕES DE PREÇOS
    */

     #################################################################
     ## AS CONFIGURAÇÕES ABAIXO SÃO PARA AS DEFINIÇÕES DE "PREÇOS"  ##
     ## NAS TROCAS EFETUADAS. PRESTE MUITA ATENÇÃO NA CONFIGURAÇÃO  ##
     #################################################################

    # CONFIGURAÇÕES DE PREÇOS NAS OPÇÕES DE TROCA POR HORAS

    define('PACOTE_HORAS_POR_MOEDA_1_1',120); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 1 DA MOEDA 1
    define('PACOTE_HORAS_POR_MOEDA_1_2',240); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 2 DA MOEDA 1
    define('PACOTE_HORAS_POR_MOEDA_1_3',360); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 3 DA MOEDA 1
    define('PACOTE_HORAS_POR_MOEDA_1_4',480); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 4 DA MOEDA 1
    define('PACOTE_HORAS_POR_MOEDA_1_5',600); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 5 DA MOEDA 1
    define('PACOTE_HORAS_POR_MOEDA_1_6',720); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 6 DA MOEDA 1
    define('PACOTE_HORAS_POR_MOEDA_1_7',840); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 7 DA MOEDA 1

    define('CASH_HORAS_PACOTE_1_1',10); # DEFINE A QUANTIDADE DE MOEDA 1 A SER DADA PELO PACOTE 1
    define('CASH_HORAS_PACOTE_1_2',20); # DEFINE A QUANTIDADE DE MOEDA 1 A SER DADA PELO PACOTE 2 
    define('CASH_HORAS_PACOTE_1_3',30); # DEFINE A QUANTIDADE DE MOEDA 1 A SER DADA PELO PACOTE 3
    define('CASH_HORAS_PACOTE_1_4',40); # DEFINE A QUANTIDADE DE MOEDA 1 A SER DADA PELO PACOTE 4
    define('CASH_HORAS_PACOTE_1_5',50); # DEFINE A QUANTIDADE DE MOEDA 1 A SER DADA PELO PACOTE 5
    define('CASH_HORAS_PACOTE_1_6',60); # DEFINE A QUANTIDADE DE MOEDA 1 A SER DADA PELO PACOTE 6
    define('CASH_HORAS_PACOTE_1_7',70); # DEFINE A QUANTIDADE DE MOEDA 1 A SER DADA PELO PACOTE 7

    define('PACOTE_HORAS_POR_MOEDA_2_1',20); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 1 DA MOEDA 2
    define('PACOTE_HORAS_POR_MOEDA_2_2',30); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 2 DA MOEDA 2
    define('PACOTE_HORAS_POR_MOEDA_2_3',40); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 3 DA MOEDA 2
    define('PACOTE_HORAS_POR_MOEDA_2_4',50); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 4 DA MOEDA 2
    define('PACOTE_HORAS_POR_MOEDA_2_5',60); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 5 DA MOEDA 2
    define('PACOTE_HORAS_POR_MOEDA_2_6',70); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 6 DA MOEDA 2
    define('PACOTE_HORAS_POR_MOEDA_2_7',80); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 7 DA MOEDA 2

    define('CASH_HORAS_PACOTE_2_1',20); # DEFINE A QUANTIDADE DE MOEDA 2 A SER DADA PELO PACOTE 1
    define('CASH_HORAS_PACOTE_2_2',35); # DEFINE A QUANTIDADE DE MOEDA 2 A SER DADA PELO PACOTE 2 
    define('CASH_HORAS_PACOTE_2_3',50); # DEFINE A QUANTIDADE DE MOEDA 2 A SER DADA PELO PACOTE 3
    define('CASH_HORAS_PACOTE_2_4',70); # DEFINE A QUANTIDADE DE MOEDA 2 A SER DADA PELO PACOTE 4
    define('CASH_HORAS_PACOTE_2_5',80); # DEFINE A QUANTIDADE DE MOEDA 2 A SER DADA PELO PACOTE 5
    define('CASH_HORAS_PACOTE_2_6',90); # DEFINE A QUANTIDADE DE MOEDA 2 A SER DADA PELO PACOTE 6
    define('CASH_HORAS_PACOTE_2_7',100); # DEFINE A QUANTIDADE DE MOEDA 2 A SER DADA PELO PACOTE 7

    define('PACOTE_HORAS_POR_VIP_1_1',360); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 1 DO VIP 1
    define('PACOTE_HORAS_POR_VIP_1_2',530); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 2 DO VIP 1
    define('PACOTE_HORAS_POR_VIP_1_3',700); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 3 DO VIP 1
    define('PACOTE_HORAS_POR_VIP_1_4',870); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 4 DO VIP 1
    define('PACOTE_HORAS_POR_VIP_1_5',1040); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 5 DO VIP 1
    define('PACOTE_HORAS_POR_VIP_1_6',1210); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 6 DO VIP 1
    define('PACOTE_HORAS_POR_VIP_1_7',1380); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 7 DO VIP 1


    define('DAYS_VIP_1_FOR_PACOTE_1',30); # DEFINE A QUANTIDADE DE DIAS DE VIP 1 A SER DADA NO PACOTE 1
    define('DAYS_VIP_1_FOR_PACOTE_2',45); # DEFINE A QUANTIDADE DE DIAS DE VIP 1 A SER DADA NO PACOTE 2
    define('DAYS_VIP_1_FOR_PACOTE_3',60); # DEFINE A QUANTIDADE DE DIAS DE VIP 1 A SER DADA NO PACOTE 3
    define('DAYS_VIP_1_FOR_PACOTE_4',75); # DEFINE A QUANTIDADE DE DIAS DE VIP 1 A SER DADA NO PACOTE 4
    define('DAYS_VIP_1_FOR_PACOTE_5',90); # DEFINE A QUANTIDADE DE DIAS DE VIP 1 A SER DADA NO PACOTE 5
    define('DAYS_VIP_1_FOR_PACOTE_6',105); # DEFINE A QUANTIDADE DE DIAS DE VIP 1 A SER DADA NO PACOTE 6
    define('DAYS_VIP_1_FOR_PACOTE_7',120); # DEFINE A QUANTIDADE DE DIAS DE VIP 1 A SER DADA NO PACOTE 7


    ###########################################################
    ###### DAQUI PARA BAIXO NÃO É UTILIZADO NO NEWAGE #########
    ###########################################################


    define('PACOTE_HORAS_POR_VIP_2_1',10); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 1 DO VIP 2
    define('PACOTE_HORAS_POR_VIP_2_2',20); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 2 DO VIP 2
    define('PACOTE_HORAS_POR_VIP_2_3',30); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 3 DO VIP 2
    define('PACOTE_HORAS_POR_VIP_2_4',40); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 4 DO VIP 2
    define('PACOTE_HORAS_POR_VIP_2_5',50); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 5 DO VIP 2
    define('PACOTE_HORAS_POR_VIP_2_6',60); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 6 DO VIP 2
    define('PACOTE_HORAS_POR_VIP_2_7',70); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 7 DO VIP 2

    define('DAYS_VIP_2_FOR_PACOTE_1',30); # DEFINE A QUANTIDADE DE DIAS DE VIP 2 A SER DADA NO PACOTE 1
    define('DAYS_VIP_2_FOR_PACOTE_2',45); # DEFINE A QUANTIDADE DE DIAS DE VIP 2 A SER DADA NO PACOTE 2
    define('DAYS_VIP_2_FOR_PACOTE_3',60); # DEFINE A QUANTIDADE DE DIAS DE VIP 2 A SER DADA NO PACOTE 3
    define('DAYS_VIP_2_FOR_PACOTE_4',75); # DEFINE A QUANTIDADE DE DIAS DE VIP 2 A SER DADA NO PACOTE 4
    define('DAYS_VIP_2_FOR_PACOTE_5',90); # DEFINE A QUANTIDADE DE DIAS DE VIP 2 A SER DADA NO PACOTE 5
    define('DAYS_VIP_2_FOR_PACOTE_6',105); # DEFINE A QUANTIDADE DE DIAS DE VIP 2 A SER DADA NO PACOTE 6
    define('DAYS_VIP_2_FOR_PACOTE_7',120); # DEFINE A QUANTIDADE DE DIAS DE VIP 2 A SER DADA NO PACOTE 7

    define('PACOTE_HORAS_POR_VIP_3_1',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 1 DO VIP 3
    define('PACOTE_HORAS_POR_VIP_3_2',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 2 DO VIP 3
    define('PACOTE_HORAS_POR_VIP_3_3',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 3 DO VIP 3
    define('PACOTE_HORAS_POR_VIP_3_4',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 4 DO VIP 3
    define('PACOTE_HORAS_POR_VIP_3_5',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 5 DO VIP 3
    define('PACOTE_HORAS_POR_VIP_3_6',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 6 DO VIP 3
    define('PACOTE_HORAS_POR_VIP_3_7',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 7 DO VIP 3

    define('DAYS_VIP_3_FOR_PACOTE_1',30); # DEFINE A QUANTIDADE DE DIAS DE VIP 3 A SER DADA NO PACOTE 1
    define('DAYS_VIP_3_FOR_PACOTE_2',45); # DEFINE A QUANTIDADE DE DIAS DE VIP 3 A SER DADA NO PACOTE 2
    define('DAYS_VIP_3_FOR_PACOTE_3',60); # DEFINE A QUANTIDADE DE DIAS DE VIP 3 A SER DADA NO PACOTE 3
    define('DAYS_VIP_3_FOR_PACOTE_4',75); # DEFINE A QUANTIDADE DE DIAS DE VIP 3 A SER DADA NO PACOTE 4
    define('DAYS_VIP_3_FOR_PACOTE_5',90); # DEFINE A QUANTIDADE DE DIAS DE VIP 3 A SER DADA NO PACOTE 5
    define('DAYS_VIP_3_FOR_PACOTE_6',105); # DEFINE A QUANTIDADE DE DIAS DE VIP 3 A SER DADA NO PACOTE 6
    define('DAYS_VIP_3_FOR_PACOTE_7',120); # DEFINE A QUANTIDADE DE DIAS DE VIP 3 A SER DADA NO PACOTE 7

    define('PACOTE_HORAS_POR_VIP_4_1',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 1 DO VIP 4
    define('PACOTE_HORAS_POR_VIP_4_2',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 2 DO VIP 4
    define('PACOTE_HORAS_POR_VIP_4_3',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 3 DO VIP 4
    define('PACOTE_HORAS_POR_VIP_4_4',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 4 DO VIP 4
    define('PACOTE_HORAS_POR_VIP_4_5',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 5 DO VIP 4
    define('PACOTE_HORAS_POR_VIP_4_6',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 6 DO VIP 4
    define('PACOTE_HORAS_POR_VIP_4_7',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 7 DO VIP 4

    define('DAYS_VIP_4_FOR_PACOTE_1',30); # DEFINE A QUANTIDADE DE DIAS DE VIP 4 A SER DADA NO PACOTE 1
    define('DAYS_VIP_4_FOR_PACOTE_2',45); # DEFINE A QUANTIDADE DE DIAS DE VIP 4 A SER DADA NO PACOTE 2
    define('DAYS_VIP_4_FOR_PACOTE_3',60); # DEFINE A QUANTIDADE DE DIAS DE VIP 4 A SER DADA NO PACOTE 3
    define('DAYS_VIP_4_FOR_PACOTE_4',75); # DEFINE A QUANTIDADE DE DIAS DE VIP 4 A SER DADA NO PACOTE 4
    define('DAYS_VIP_4_FOR_PACOTE_5',90); # DEFINE A QUANTIDADE DE DIAS DE VIP 4 A SER DADA NO PACOTE 5
    define('DAYS_VIP_4_FOR_PACOTE_6',105); # DEFINE A QUANTIDADE DE DIAS DE VIP 4 A SER DADA NO PACOTE 6
    define('DAYS_VIP_4_FOR_PACOTE_7',120); # DEFINE A QUANTIDADE DE DIAS DE VIP 4 A SER DADA NO PACOTE 7

    define('PACOTE_HORAS_POR_VIP_5_1',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 1 DO VIP 5
    define('PACOTE_HORAS_POR_VIP_5_2',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 2 DO VIP 5
    define('PACOTE_HORAS_POR_VIP_5_3',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 3 DO VIP 5
    define('PACOTE_HORAS_POR_VIP_5_4',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 4 DO VIP 5
    define('PACOTE_HORAS_POR_VIP_5_5',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 5 DO VIP 5
    define('PACOTE_HORAS_POR_VIP_5_6',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 6 DO VIP 5
    define('PACOTE_HORAS_POR_VIP_5_7',1000); # DEFINE O PREÇO EM HORAS A SER COBRADO PELO PACOTE 7 DO VIP 5

    define('DAYS_VIP_5_FOR_PACOTE_1',30); # DEFINE A QUANTIDADE DE DIAS DE VIP 5 A SER DADA NO PACOTE 1
    define('DAYS_VIP_5_FOR_PACOTE_2',45); # DEFINE A QUANTIDADE DE DIAS DE VIP 5 A SER DADA NO PACOTE 2
    define('DAYS_VIP_5_FOR_PACOTE_3',60); # DEFINE A QUANTIDADE DE DIAS DE VIP 5 A SER DADA NO PACOTE 3
    define('DAYS_VIP_5_FOR_PACOTE_4',75); # DEFINE A QUANTIDADE DE DIAS DE VIP 5 A SER DADA NO PACOTE 4
    define('DAYS_VIP_5_FOR_PACOTE_5',90); # DEFINE A QUANTIDADE DE DIAS DE VIP 5 A SER DADA NO PACOTE 5
    define('DAYS_VIP_5_FOR_PACOTE_6',105); # DEFINE A QUANTIDADE DE DIAS DE VIP 5 A SER DADA NO PACOTE 6
    define('DAYS_VIP_5_FOR_PACOTE_7',120); # DEFINE A QUANTIDADE DE DIAS DE VIP 5 A SER DADA NO PACOTE 7

    ?>

    []'s


    Créditos do tutorial, modificação da procedure e programação do sistema de trocas: EU.
    Última edição por Renato; 30-09-2014 às 11:58 AM.

  2. Os Seguintes 12 Usuários Agradeceram você Renato Por este Post Útil:


  3. #2

    Avatar de Mr.Junior
    Data de Ingresso
    Jul 2011
    Localização
    Hortolândia
    Idade
    31
    Posts
    507
    Agradecido
    165
    Agradeceu
    97
    Peso da Avaliação
    18

    Padrão

    Erro

    Server: Msg 446, Level 16, State 9, Procedure WZ_CONNECT_MEMB, Line 17
    Cannot resolve collation conflict for equal to operation.


    Ainda bem que criei um backup 1 ^^ !
    "Só tem o direito de criticar aqueles, que pretendem ajudar "

  4. #3



    Avatar de Renato
    Data de Ingresso
    Nov 2010
    Localização
    Imperyus
    Posts
    1.099
    Agradecido
    2519
    Agradeceu
    492
    Peso da Avaliação
    30

    Padrão

    A procedure não está com erro. Eu mesmo a utilizei por muito tempo em meu servidor e sempre funcionou.

    Esse conflito que deu ai é por causa de COLLATION. Verifique as colunas que a procedure utiliza, e coloque collation com database default:
    Código:
    Cannot resolve collation conflict for equal to operation.

    _____________________

    EDIT.

    @Brewolf, verifica se na MEMB_STAT foi criada a coluna TimeON, porque eu errei na query de alter table ai, escrevi "NUL" no fim, faltou um L opsakposkpoksas

    Veja como está funcionando:

    Última edição por Renato; 16-01-2013 às 01:13 PM.

  5. #4

    Avatar de Mr.Junior
    Data de Ingresso
    Jul 2011
    Localização
    Hortolândia
    Idade
    31
    Posts
    507
    Agradecido
    165
    Agradeceu
    97
    Peso da Avaliação
    18

    Padrão

    Rennatin

    Pra mim ultilizar, meus ranking por essa procedure.
    No caso:

    Tableas : TempoON = Geral | TempoDiario = Dia | TempoSemanal= Semanal .

    Como ficaria ?

    TempoDiario = Zerar dando - 1 Lugar 10 Golds | 2 Lugar 07 Golds 3 Lugar | 05 Golds MEMB_INFO Colum : Golds
    TempoSemanal Zerar dando 1 Lugar 20 Points | 2 Lugar 15 Points 3 Lugar | 10 Golds MEMB_INFO Colum : Points

    Como Ficaria ?
    "Só tem o direito de criticar aqueles, que pretendem ajudar "

  6. #5



    Avatar de Renato
    Data de Ingresso
    Nov 2010
    Localização
    Imperyus
    Posts
    1.099
    Agradecido
    2519
    Agradeceu
    492
    Peso da Avaliação
    30

    Padrão

    @Brewolf, preciso bolar a query. É complexa d+ pra falar assim na lata.
    Vou ver se faço tudo em procedures e posto pra vocês. Um sistema completo de contagem e premiação totalmente baseado nas procedures.
    Aguardem. (:
    Última edição por Renato; 16-01-2013 às 02:16 PM.

  7. #6

    Avatar de Mr.Junior
    Data de Ingresso
    Jul 2011
    Localização
    Hortolândia
    Idade
    31
    Posts
    507
    Agradecido
    165
    Agradeceu
    97
    Peso da Avaliação
    18

    Padrão

    Vou ficar, no aguardo
    Pois não adiantaria usar apenas desta forma ^^!
    Cendo que meu servidor possui ranking's GERAL | DIARIA | E SEMANAL .

    Mais é um ótimo tópico !
    "Só tem o direito de criticar aqueles, que pretendem ajudar "

  8. #7


    Avatar de dcvitoria
    Data de Ingresso
    Aug 2009
    Localização
    Maringá, PR
    Idade
    43
    Posts
    452
    Agradecido
    43
    Agradeceu
    25
    Peso da Avaliação
    20

    Padrão

    Só cuidado com os deadlocks!

  9. #8



    Avatar de Renato
    Data de Ingresso
    Nov 2010
    Localização
    Imperyus
    Posts
    1.099
    Agradecido
    2519
    Agradeceu
    492
    Peso da Avaliação
    30

    Padrão

    Também é por isso que eu pedi um tempo pra elaborar a query nova. Como disse, é algo muito complexo, tem que ser feito com calma e deve ser testado diversas vezes. (:

  10. #9

    Avatar de mujet
    Data de Ingresso
    Nov 2013
    Localização
    Curitiba
    Idade
    36
    Posts
    15
    Agradecido
    1
    Peso da Avaliação
    0

    Padrão

    a primeira e a segunda parte rodou normal mais quando chega na terceira parte apresenta o seguinte erro.

    Msg 137, Level 15, State 2, Line 13
    Must declare the scalar variable "@memb___id".
    Msg 137, Level 15, State 2, Line 18
    Must declare the scalar variable "@memb___id".
    Msg 137, Level 15, State 2, Line 24
    Must declare the scalar variable "@memb___id".
    Msg 137, Level 15, State 2, Line 30
    Must declare the scalar variable "@memb___id".
    Msg 137, Level 15, State 2, Line 31
    Must declare the scalar variable "@memb___id".
    Msg 137, Level 15, State 2, Line 44
    Must declare the scalar variable "@memb___id".
    alguma dica de como arrumar isso?

  11. #10



    Avatar de Renato
    Data de Ingresso
    Nov 2010
    Localização
    Imperyus
    Posts
    1.099
    Agradecido
    2519
    Agradeceu
    492
    Peso da Avaliação
    30

    Padrão

    mujet, posta o código das 2 procedures (wz_connect_memb e wz_disconnect_memb) para eu ver o que pode ter acontecido. Mas de antemão, analisando apenas o erro, não houve a declaração da variável memb___id, sua procedure deve estar utilizando @login ou @uid.
    Poste o código da sua procedure que poderei dizer com mais certeza o motivo do erro e como solucioná-lo.

 

 
Página 1 de 9 123 ... ÚltimoÚltimo

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| Ranking Top Tempo Online
    Por juniorpk22 no fórum Sites
    Respostas: 11
    Último Post: 22-11-2014, 07:32 PM
  2. |Pedido| Script Tempo Online
    Por FlavioBarreto no fórum Dúvidas|Pedidos
    Respostas: 2
    Último Post: 29-06-2014, 11:27 PM
  3. |Resolvido| Gold Por Tempo Online MU S4.
    Por FlavioBarreto no fórum Tópicos Resolvidos
    Respostas: 3
    Último Post: 30-01-2013, 08:55 AM
  4. |Resolvido| Tigger de Tempo Online
    Por -HeLLus- no fórum Tópicos resolvidos
    Respostas: 7
    Último Post: 03-04-2012, 04:59 PM
  5. |Pedido| Golds por tempo Online
    Por Marceliin no fórum Arquivos MuOnline
    Respostas: 1
    Último Post: 08-12-2011, 04:05 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
  •