[Tutorial] SALVANDO TEMPO ONLINE POR CHAR
[Tutorial] SALVANDO TEMPO ONLINE POR CHAR
Como todos sabem, versões mais novas, fazem a função de salvar o tempo online em horas de cada conta.
Mas somente por conta, então resolvi alterar a Tigger original que fica no MSSQL, e fazer que o SQL salve o tempo online por personagem.
OBS.:
1º Eu não testei em servidores grandes, não se isso vai ocasionar algum lag ou coisa do tipo, fiz o teste em um servidor pequeno, com apenas eu online.
2º A função de salvar por conta será anulada.
3º Não me responsabilizarei por danos ao servidor, estou apenas tentando ajudar.
4º Alterei, para que salve o tempo por minutos, assim fica mais exato.
1º Passo:
Crie uma coluna na Table "Character" com os dados:
Código:
Ou simplesmente use o seguinte código no Query Analizer:
Código:
2º Passo:
Vá no Query Analizer e utilize o seguinte código:
Código:
Logo após usar a query acima, limpe o query analizer e utilize a seguinte query:
Código:
Legenda:
minute = Altere esse valor pelo o que você quizer, se você quer que salve por horas altere esse valor em vermelho para hour
PHP:
Criei uma função que converte o tempo de Minutos para Horas,
Você deverá adicionar esse codigo no começo da sua pagina:
Código:
E onde deverá mostrar os minutos você adiciona o seguinte codigo:
Código:
Onde Tempo = Tempo em minutos que será convertido. (A variavel que seleciona o tempo).
Créditos: DouglasF
CASO TENHA ALGUMA DUVIDA POSTE NA OUTRA AREA!
Mas somente por conta, então resolvi alterar a Tigger original que fica no MSSQL, e fazer que o SQL salve o tempo online por personagem.
OBS.:
1º Eu não testei em servidores grandes, não se isso vai ocasionar algum lag ou coisa do tipo, fiz o teste em um servidor pequeno, com apenas eu online.
2º A função de salvar por conta será anulada.
3º Não me responsabilizarei por danos ao servidor, estou apenas tentando ajudar.
4º Alterei, para que salve o tempo por minutos, assim fica mais exato.
1º Passo:
Crie uma coluna na Table "Character" com os dados:
Código:
Nome da coluna: TempoOnline
Tipo da coluna: int
Default Value: 0
Ou simplesmente use o seguinte código no Query Analizer:
Código:
USE MuOnline
ALTER TABLE Character ADD TempoOnline int DEFAULT (0)
2º Passo:
Vá no Query Analizer e utilize o seguinte código:
Código:
DROP TRIGGER MembStat_RecordOnlineHours
Logo após usar a query acima, limpe o query analizer e utilize a seguinte query:
Código:
CREATE TRIGGER [MembStat_RecordOnlineHours] ON dbo.MEMB_STAT
AFTER UPDATE
AS
declare @memb___id varchar(10)
declare @connectstat tinyint
SELECT @memb___id=memb___id,@connectstat=connectstat FROM INSERTED
IF (@connectstat = 0)
BEGIN
UPDATE [dbo].[Character]
SET TempoOnline = TempoOnline + datediff(minute, (SELECT ConnectTM FROM MEMB_STAT WHERE memb___id= @memb___id), getdate())
WHERE Name = (SELECT GameIDC FROM AccountCharacter WHERE Id=@memb___id)
END
Legenda:
minute = Altere esse valor pelo o que você quizer, se você quer que salve por horas altere esse valor em vermelho para hour
PHP:
Criei uma função que converte o tempo de Minutos para Horas,
Você deverá adicionar esse codigo no começo da sua pagina:
Código:
<?php
function Minutos2Horas($Mins) {
$Horas = floor($Mins / 60);
$Minutos = ($Mins - ($Horas * 60)) / 100;
$Sep = explode('.', $Horas + $Minutos);
if (strlen($Sep[1]) < 2) { $Sep[1] = $Sep[1] . 0; }
return sprintf('%02dhs e %02dmin', $Sep[0], $Sep[1]);
}
?>
E onde deverá mostrar os minutos você adiciona o seguinte codigo:
Código:
<?php
print Minutos2Horas(Tempo);
?>
Onde Tempo = Tempo em minutos que será convertido. (A variavel que seleciona o tempo).
Créditos: DouglasF
CASO TENHA ALGUMA DUVIDA POSTE NA OUTRA AREA!
Tópicos semelhantes
» [Tutorial] Jobs todos os tipos!
» Tutorial] Backup das DBs de 4 em 4 horas automátic
» [Tutorial] Fazendo JOB - Apostila em PDF com Imagens
» [Tutorial] Achar itens full no seu servidor
» [Tutorial] [Query] Premiando Quem está on!
» Tutorial] Backup das DBs de 4 em 4 horas automátic
» [Tutorial] Fazendo JOB - Apostila em PDF com Imagens
» [Tutorial] Achar itens full no seu servidor
» [Tutorial] [Query] Premiando Quem está on!
Permissões neste sub-fórum
Não podes responder a tópicos
|
|