Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
pessoal to eu aqui de novo com outra duvida..
vou tentar explicar:
-No jogo que eu estou criando eu coloquei uma pagina de PVP (Player vs Player).
-Eu queria saber como eu faço para quando estiver na vez do jogador ele terá 2min para escolher qual golpe vai usar, se passar esses 2 min e ele não escolher um golpe ele perde.
mas tipo..
teria que ser algo assim:
eu uso isso para alterar as tabelas:
$query = $db->execute("update `players` set `hp`=?, `vez`=?, `ultimo_log`=? where `id`=?", array($hprestante1, sim, $log1, $player->id_adversario));
$query = $db->execute("update `players` set `energy`=?, `vez`=?, `ultimo_log`=? where `id`=?", array($player->energy - 2, nao, $meulog1, $player->id));}}
na primeira query ele altera a tabela do adversario e na segunda a di jogador..
entaum eu teria que alterar na tabela do adversário tempo_para_golpear
e na tabela do jogador tempo_para_golpear para 3 min..
assim se acabar o tempo do jogador que estiver na vez ele perde, e se passar os 3 min e não estiver na vez dele significa que ou adversário não usou nenhum golpe entaum o jogador ganhou..
eu sei que esta complacado para enteder mas espero que você's me ajudem
VLW!!!
vlw mann..
o poblema eh que eu sou :seta: Iniciante ainda..
no entendi metade do que você disse :ermm:
:mellow: você poderia me explicar como que eu faço isso que você disse?
;) vlw
Você vai salvar o tempo dos ataques, e comparar se o tempo do último ataque ultrapassou 2 minutos do tempo atual, se ultrapassar o jogador que realizou esse ataque ganhará.
Você pode usar javascript para ficar fazendo essa verificação de tempos em tempos. Com setInterval ou setTimeout.
Não sei se deu para entender.
JavaScript qualquer usuário pode desabilitar, não acho que seja uma boa prática.
Além do mais, usar o banco de dados para fazer um "contador" de batalha é gastar muito processamento para pouca atividade.
Um contador em timestamp utilizando a sessão ou os cookies (acredito que para RPG de Browser, precisa ser Sessão) seria mais prático, eficiente e você não precisaria se comunicar com o HD (dispositivo mais lento), deixando que a memória faça o serviço.
>
JavaScript qualquer usuário pode desabilitar, não acho que seja uma boa prática.
Além do mais, usar o banco de dados para fazer um "contador" de batalha é gastar muito processamento para pouca atividade.
Um contador em timestamp utilizando a sessão ou os cookies (acredito que para RPG de Browser, precisa ser Sessão) seria mais prático, eficiente e você não precisaria se comunicar com o HD (dispositivo mais lento), deixando que a memória faça o serviço.
Se o usuário desabilitar JavaScript, não o deixe acessar o jogo. Na minha opinião, se for fazer um jogo de RPG via Browser, e não usar javascript, não sairá algo muito bom.
E não subestime o banco de dados. ;)
@Deleu se o usuário desabilitar javascript o problema é dele, é por isso que os projetos precisam de pre-requisitos. Na minha opinião, usuário sem javascript deve ser bloqueado.
E qual a vantagem de Session sobre DB? Afinal os dois são armazenados no HD, agora se fosse um mem_cache da vida não reclamaria.
COOKIE?!?!?! Você fala que o usuário pode desativar o javascript e sugere cookie?! Qualquer webman sabe como modificar cookies... Informações importantes NUNCA devem ser armazenadas em cookie, porque o usuário tem TOTAL controle sobre eles...
@deathnoterpg saiba que se você quiser um jogo online, no mínimo deves usar MySQL com muito MyISAM (para tabelas que não precisam de integridade referencial), pois são rapidíssimas, e utilizar muito AJAX, que só é possível via JavaScript. Utilize todas as técnicas que você souber para otimizar a aplicação. Afinal, para jogos, milhares de requisições são feitas periodicamente.
@Deleu não ache que quis menos prezar sua opinião, mas acho que antes de falar algo você deve entender bem do assunto. Por padrão as sessões do PHP são armazenados no HD e são carregados no script no momento do session_start(). E JavaScript vem ativado por padrão nos navegadores, então a maioria das pessoas nem sabem desativar. E os que desativam já tem na cabeça que não terão suporte a muitos sites.
O que você pode fazer é colocar um campo na tabela contendo o momento que iniciou o ataque. Assim quando receber a requisição, verificar se o tempo ultrapassou o limite escolhido por você.
Na página, você pode setar um timeOut com javascript que executa uma função para passar a vez para o outro jogador e fazer uma requisição ajax para o teu script informando que a vez foi passada e o jogador não atacou em tempo hábil.