1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Realizar acção depois de n tempo - PHP

Discussão em 'Web Development' iniciada por ricardoaux, 27 de Maio de 2009. (Respostas: 7; Visualizações: 676)

  1. ricardoaux

    ricardoaux Power Member

    Boas
    Estou a fazer um jogo text-based e estou com uma duvida.
    Por exemplo: faço uma acção, e só passado algum tempo é que a possa voltar a realizar. O problema é que não sei como posso fazer isso.
    Se for preciso adicionar algum campo na base de dados digam, para guardar o tempo ou assim.

    acção A ---10 min---> acção B ---15 min---> acção C

    Desde já agradeço a ajuda.
     
  2. K0mA

    K0mA Power Member

    Guardas o tempo da última acção (numa base de dados, cookie ou sessão) e sempre que o jogador tentar executar essa acção verificas se já passaram 10 minutos se sim fixas o novo tempo e deixas executar a acção.
     
  3. antek

    antek Power Member

    usa um cronjob...
     
  4. hostmake

    hostmake Power Member

    :x2:
     
  5. anjo2

    anjo2 Power Member

    cronbase é má opção , tem de se guardar na base de dados o timestamp e quando ele for tentar de novo, se o timestamp actual for maior que o timestamp da base de dados + x segundos, então pode fazer, senão não pode.
     
  6. hostmake

    hostmake Power Member

    Por acaso um cronjob é a melhor opção.

    Salvo raras excepções, pois ele não falou numa acção do Utilizador, falou numa acção..

    Já tive esta discussão num jogo que fui contratado como freelancer, repara:
    - Construção de uma Casa

    Algo que só tu possas ver, uma acção da tua página, ainda é naquela.. usa-se apenas o timestamp que está guardado na BD.
    Mas quando tu tens algo que vai ser público da tua "personagem" para todas as outras, tens que além de ter o timestamp para teres uma informação pessoal, tens que ter o cronjob para quando o tempo expira "ganhares" a Casa neste caso.

    Porque se não, todo e qualquer utilizador que visitasse a tua página, chamava um Query à BD para saber se já podiam ver uma casa que ainda está em construção por parte desse utilizador.
     
  7. K0mA

    K0mA Power Member

    A opção não é sw todo óbvia!!! o mais correcto seria dizer:

    Caso seja necessário publlicitar que a acção está disponivel mesmo que não haja pedido de execução dessa acção > CRON
    Caso apenas seja necessário saber se a acção está disponivel aquando do pedido de execução >
     
    Última edição: 28 de Maio de 2009
  8. anjo2

    anjo2 Power Member

    depende de como programares, para um jogo a cron pode não valer de nada, até pode ser bem pior, como pode ser bom e mais leve.
    Guardar em session/cookie, se forem apagados que acontece? Melhor é base de dados.
     

Partilhar esta Página