Ir para conteúdo

Arquivado

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

matheus280

Executar uma ação a cada segundo.

Recommended Posts

Estou criando um jogo para jogar com os amigos, e estou tentando fazer com que o personagem recupere hp a cada segundo,

tentei usar sleep, mas vi que só funcionava ao atualizar a página.

<?php
sleep(1);
mysql_query("UPDATE personagem SET vida = vida+$recuperar/60 WHERE personagemid = $idPersonagem");
?>

$recuperar é a vida que recupera a cada minuto, por isso usei o /60, mas como já disse não funcionou como eu queria.

 

tentei pegar o tempo do servidor, mas não achei uma forma de fazer funcionar.

 

Se não entendeu oque eu quero, tentarei explicar mais detalhadamente.

 

Eu quero que o personagem continue recuperando vida, sem o usuario estar online ou ficar atualizando a página, como se o valor do banco de dados para a vida fosse atualizado automaticamente a cada segundo, sempre aumentando com o valor que eu coloquei.

 

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso provavelmente vai sobrecarregar seu servidor desnecessariamente.

 

Já pensou em fazer algo como registrar o horário de saída do jogador e depois comparar com o horário que ele volta? Aí você pega a diferença de tempo e calcula quanto ele deve recuperar. Depois é só realizar uma consulta, atualizando o valor total.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O rapaz ai em cima ja disse, vai sobrecarregar o servidor sem necessidade. Mas se realmente quiser, pode usar as tarefas Cron (Cron Jobs), se o seu servidor for Linux, ou o agendador de tarefas do Windows. Vai precisar de um conhecimento razoável de comandos pra executar a tarefa. Nada muito complicado, basta se acostumar com a linguagem. Nao recomendo essa opção, vai consumir muitos recursos do servidor. Tente fazer a cada 30 minutos ou como o rapaz disse, grava horário de saída e compara na volta. Multiplica o tempo pelo valor de vida recuperado a cada segundo e pronto.

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.