Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

AmareshinO

ql

Recommended Posts

Olá,

 

estou criando um MMORPG com alguns amigos.

 

As ideias principais como Edificíos, Unidades, Pesquisas, Mapa, dentre outras ja foram feitas.

 

 

Agora entra a parte de programação (Minha Área).

 

Eu estou precisando aprender como fazer um "Cronometro" em PHP.

 

 

Exemplo:

Quando o jogador clicar para fazer Upgrade na Fábrica e deixa-la no nível 2, o jogo (site) cria o tempo de construção na dB do mySQL.

Vamos supor que este tempo fosse 1h e 44mim (104 minutos ou 6240 segundos), quando der este tempo o site, mesmo se o player estiver offline, atualize este edifício para o nível 2.

 

 

Caso não dê para entender o que eu quis dizer, eu tento explicar denovo!!!

 

OBS: Caso meu post estiver no fórum errado, favor muda-lo para o lugar certo pois eu não achei nenhum Fórum sobre PHP que fosse só para postar duvidas.

 

obrigado!

 

João Ricardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpem, mas o titulo do post ficou errado, axo que bati em alguma tecla aqui!

 

o titulo seria: Como montar um "Timer"????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom amigo, sim você postou no lugar errado...

 

Mas o que aconteceria é o seguinte.. Você tem 2 opções:

 

1. Define quando a ação vai estar concluída, por exemplo,

 

$segundos = 6240;
$fim = date('Y-m-d H:is', time()+$segundos);

E envia esse valor pra um banco de dados, e acada 'carregamento' de página você faz uma rotinazinha que dá um update no banco, da seguinte forma:

 

UPDATE `construcoes` SET `status` = 'Concluido', `nivel` = (`nivel` + 1) WHERE (`conclusao` <= NOW()) AND (`status` = 'Upgrade');

Ou seja, você tá dizendo para ele atualizar todas as construções para terem o status 'Concluido' e aumentando o nível em 1 caso estejam com status em 'Upgrade' e o tempo de conclusão (lá da variavel $fim), for menor que NOW(), que significa agora.

 

~~~~~~~~~~~~~~~~

 

2. Você usaria um cronjob, leia mais sobre cronjobs aqui ou procure mais no google (não achei sites em português sobre as crons), elas são o equivalente das sheduled tasks do windows (tarefas agendadas) comandos que são executados a a cada X tempo definido por você, pode sem em dias, horas, segundos, todo dia X de cada mês, cada hora de cada dia e por aí vai... mas a rotina a ser executada seria a mesma que eu expliquei ali em cima, na 1ª solução...

 

Espero ter ajudado!

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

xD ehehhehe msm assim valew..

 

 

eu vou ler sim sobre este assunto!!!!

 

 

mas eu ja tinha resolvido o problema...

 

 

criei um sistema ke adciona no mySQL o time() + o tempo que você quer:

 

e ele faz com java um refresh na pagina a cada 10 segundos, ai ele atualiza a tabela

 

 

mas vlw!!

 

 

vou analisar o que você me deu de referencia e vou testa-lo para ver se fica melhor!!!

 

 

vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Laboratório de scripts (PHP) http://forum.imasters.com.br/public/style_emoticons/default/seta.gif PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.