• Bem vindo à nossa comunidade - Quer se juntar ao resto dos nossos membros? Registre-se*Registros aprovados pela adminitração

Dando Cash/Gold por Tempo Online

calabocajean

Developer C++
Delta XPZ
* Antes de mais nada, essa Query da Cash/Gold/Dinheiro do seu server por tempo Online, não para quem estiver Online quando ela ser executada, não confunda!

Breve Explicação: Fiz a pedido de uma pessoa em meu Skype que relatou que só encontrava Jobs para dar Cash/Gold pra quem estivesse online e não por tempo online, e por ser algo relativamente simples e rápido de fazer (Tenho Sérias Limitações de Tempo) decidi fazer... E ficou boa até, claro que tem limitações, mas como base é algo muito bom, já digo que não é só copiar, colar e criar a Job por que não vai dar certo (na maioria das vezes), tem que editá- la de acordo com as informações de sua DB. Ela funciona utilizando a coluna OnlineHours para contabilizar as horas online de cada jogador e premiá- lo assim com Cash/Gold e até mesmo VIP.

Limitações: Por padrão está contabilizando o tempo em minutos, portanto o máximo de minutos que pode ser adicionado é (59 min.) = 1 Hora praticamente.

Requerimentos: Que sua Coluna de Cash/Gold & VIP fique na table MEMB_INFO e que tenha a coluna OnlineHours fique na table MEMB_INFO. Caso não seja assim, não se preocupe, essa Job e Query podem ser alteradas a vontade, contanto que seja da forma correta, não haverá problemas.

PRIMEIRO TIPO -- CONTABILIZAR AS HORAS JÁ REGISTRADAS (NÃO RECOMENDADO)

Se a sua Gold/Cash e Vip fica em memb_info a Job vai funcionar de forma correta. Isso vai fazer com que a Job quando executada adicione 6 pontos na coluna Gold em Memb_info, caso o número de horas online seja maior ou igual a 1.

 

Gold/Cash

UPDATE Memb_Info SET

Gold = Gold + 6,

 

OnlineHours = OnlineHours - 1 FROM Memb_Info JOIN Memb_Stat ON Memb_Info.memb___id = Memb_Stat.memb___id WHERE Memb_Stat.OnlineHours >= 1;

 

 

VIP

UPDATE Memb_Info SET

vip = vip + 6,

OnlineHours = OnlineHours - 1 FROM Memb_Info JOIN Memb_Stat ON Memb_Info.memb___id = Memb_Stat.memb___id WHERE Memb_Stat.OnlineHours >= 1;

 

 

* Isso vai fazer também com que a Job quando executada, diminua 1 ponto na coluna OnlineHours na MEMB_INFO ou MEMB_STAT (Varia de Acordo com a DB)

~> Coloque a Job para executar a cada minuto... (Tem que ser a cada minuto senão não irá funcionar)

 

Como Funciona?

 

Se eu já tenho 60 horas online, a Job vai diminuir minhas horas de 1 em 1 até fazer ficar 0. e me dando pontos por cada vez que ela seja executada, quando eu ficar com 0 horas online eu paro de ganhar ponto...

 

(Quem já tem 60 horas online, vai ganhar os pontos 60 vezes, no caso 360 Gold | 60 x 6 = 360 Golds/Cash).

 

SEGUNDO TIPO -- ZERAR AS "ONLINE HOURS" E CONTABILIZAR DO ZERO (RECOMENDADO)

 

* Caso você queira que comece a contar a partir do dia em que você criar essa Job, execute a seguinte Querry, após tem criado a Job e ainda não tê- la ativado:

 

UPDATE MEMB_INFO SET OnlineHours=0

 

Como Funciona?

Fazendo isso irá zerar as "Online Hours" de todos os players, e sempre que um player específico tiver 59 minutos, ele ganhará a quantidade de Cash/Gold que você especificou na Job. E as "Online Hours" voltará a 0 e assim sucessivamente.

 

Observação: Tópico não recomendado para pessoas com Daltonismo '-'
 
Editado por um moderador:

calabocajean

Developer C++
Delta XPZ
Files? Template? lol amigo isso é um tutorial ninguém ta pedindo arquivos... Se você tem alguma job de mesma função, legal... Postei aqui na XPZ por quê não encontrei nenhuma Job desse tipo aqui...

E por favor não passe Skype nem links! Se quiser passar Skype passe por MP, e para outra pessoa que talvez possa querer "seus arquivos", para mim não é relevante.
 

Kaneki

Honrado XPZ
Bom queria agradecer ao TheGenesis, estou iniciando meu servidor de muonline agóra este mês e essa job vai me ajudar mt estava a procura destá job e axei =D , obrigado.
 

Tomy XpServer

Novato XPZ
amigo , boa noite, desculpe minha ignorância, para que o comando funcione sem erro, eu tenho que criar a coluna "OnlineHours" na tabela "MEMB_INFO" ? Se sim, como ficaria depois de criada?

outra pergunta, a Job eu coloco para executar de MIN/MIN ou HORA/HORA ?

Obrigado, aguardo!
 
Topo Bottom