Bem, meu Game serve ele trabalha com essa query para adicionar o vip : UPDATE MEMB_INFO SET AccountLevel = 1, AccountExpireDate = GETDATE() + 30 WHERE memb___id = 'LOGIN' até ai tudo bem eu rodo a query e ele reconhece normalmente
Estas são as configurações normais do MuSite
$TABLES_CONFIGS['WEBVIPS'] = array("database" => DATABASE, //webSite || MuOnline
"table" => "WebVips", //webVips || MEMB_INFO
"columnUsername" => "username", //username || memb___id
"columnType" => "type", //type || vip
"columnDateBegin" => "dateBegin",
"columnDateEnd" => "dateEnd",
"columnDateEndInteger" => "dateEndInteger");
Eu alterei as seguintes colunas
Não foi deu erro, também tentei dessa forma$TABLES_CONFIGS['WEBVIPS'] = array("database" => MuOnline, //webSite || MuOnline
"table" => "MEMB_INFO", //webVips || MEMB_INFO
"columnUsername" => "memb___id", //username || memb___id
"columnType" => "AccountLevel", //type || vip
"columnDateBegin" => "dateBegin",
"columnDateEnd" => "AccountExpireDate",
"columnDateEndInteger" => "dateEndInteger");
Deu erro :/$TABLES_CONFIGS['WEBVIPS'] = array("database" => DATABASE_ACCOUNTS, //webSite || MuOnline
"table" => "MEMB_INFO", //webVips || MEMB_INFO
"columnUsername" => "memb___id", //username || memb___id
"columnType" => "AccountLevel", //type || vip
"columnDateBegin" => "dateBegin",
"columnAccountExpireDate" => "AccountExpireDate",
"columnDateEndInteger" => "dateEndInteger");
Dessa forma também
A questão e o ele até adiciona o tipo de vip na coluna AccountLevel, mas os dias não entra e o GS não consegue ler o vip e o tempo.. Ajuda por favor$TABLES_CONFIGS['WEBVIPS'] = array("database" => DATABASE, //webSite || MuOnline
"table" => "MEMB_INFO", //webVips || MEMB_INFO
"columnUsername" => "memb___id", //username || memb___id
"columnType" => "AccountLevel", //type || vip
"columnDateBegin" => "dateBegin",
"columnDateEnd" => "DateEnd",
"columnAccountExpireDate" => "AccountExpireDate");
E não vai funcionar mesmo. O MuSite utiliza contagem de vip em formato timestamp. O GS da X-TEAM (reconheci pelas colunas) utiliza formato datetime, que imprime algo como 2016-02-02 07:56:02.047.
Já o timestamp armazena isso de forma diferente, em formato de números inteiros. Timestamp conta quantos segundos se passaram desde 1970-01-01 00:00:00 até agora.
Para fazer o musite funcionar, você vai ter que modificar todo o sistema de contagem de VIP para que ele utilize datetime em vez de timestamp. Sem conhecimentos em PHP, esquece.
Código PHP:
<?php
if(Weather::getState() == 'Rainy weather') {
$this->removingLittleHorseFromRain();
}
Blz renato mas teria como eu rodar uma Jobs, com a query do X-TEAM para dar VIP no cadastro já que ela se alto expira com com essa query. creio que já que o site não tem como adicionar por ele mesmo devido ao formato timestamp / datetime uma jobs, rodando de 1 em 1 segundo resolveria o problema, correto ?
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[WZ_GetAccountLevel]
@Account varchar(10)
AS
BEGIN
SET NOCOUNT ON
SET XACT_ABORT ON
DECLARE @CurrentAccountLevel int
DECLARE @CurrentAccountExpireDate smalldatetime
SELECT @CurrentAccountLevel=AccountLevel,@CurrentAccountE xpireDate=AccountExpireDate FROM MEMB_INFO WHERE memb___id=@Account
IF(@CurrentAccountLevel <> 0 AND getdate() > @CurrentAccountExpireDate)
BEGIN
SET @CurrentAccountLevel = 0
UPDATE MEMB_INFO SET AccountLevel=@CurrentAccountLevel,AccountExpireDat e=@CurrentAccountExpireDate WHERE memb___id=@Account
END
SELECT @CurrentAccountLevel As AccountLevel,@CurrentAccountExpireDate As AccountExpireDate
SET NOCOUNT OFF
SET XACT_ABORT OFF
END
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
Não rapaz, você não entendeu. Site e MuServer devem trabalhar em conjunto, caso contrário você terá problemas. Como alguém irá comprar VIP no seu site se ele não usa as mesmas colunas que o MuServer? Se você adicionar o VIP por meio da query, como o site vai saber quando o vip expira? Além disso, o MuSite do daldegam faz controle da expiração do VIP e, caso verifique que expirou, ele REMOVE O VIP.
Acredite: você terá problemas.
Sua única saída é reprogramar o sistema de vip do musite se desejar utilizá-lo.
Código PHP:
<?php
if(Weather::getState() == 'Rainy weather') {
$this->removingLittleHorseFromRain();
}
Eu sou a favor de uma "gambiarra saudável", mas isso ai já passou do limite hahahah
Se bem que, com uma trigger aqui e outra ali, dá para sincronizar os valores e manter tudo funcionando.
Escute o @Renato que você ganha mais.
[]'s
@navossoc, com triggers também daria pra fazer, mas penso que seria forçar demais o SQL sem necessidade, não concorda?
Código PHP:
<?php
if(Weather::getState() == 'Rainy weather') {
$this->removingLittleHorseFromRain();
}
Apaguem meu post viajei na maionese.
kkkkkkk
![]()
Última edição por BeoWulf; 03-02-2016 às 03:37 PM.
Existe solução ainda mais simples.
O DataServer da X-Team faz todo o controle do VIP através das procedures WZ_GetAccountLevel e WZ_SetAccountLevel (não tenho certeza se são estes os nomes).
O que poderia ser feito é algo como fiz para um cliente, que era a própria procedure manipular o VIP tanto no MuSite quanto no GS.
Explicando:
Você tem as colunas de VIP do MuSite, que trabalham com timestamp, apesar do Renato não estar errado em dizer que é o valor inteiro, esse não é exatamente o problema, pois datetime também é "inteiro".
O problema da compatibilidade está como o site trata o formato de datas, pois ele simplesmente gera o UNIX TimeStamp através do PHP e envia o valor dele "numérico" ao SQL, sendo que deveria enviar em string no formato de data YYYY-MM-DD HH:MI:SS.
Continuando:
Na procedure você consegue fazer umas "manobras" que calcula o datetime e atualiza o valor do timestamp utilizado pelo MuSite.
Dessa forma, o próprio DataServer da X-Team irá fazer a sincronização entre os dois "sistemas de vip".
É de fato melhor que fazer uso de jobs e triggers, uma vez que o DataServer chama estas procedures somente quando necessário.
[]'s
Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)
Marcadores