0

x時間後に実行されるPHPを使用してスクリプトを作成する方法を知りたいです。

例:プレーヤーが家を建てるのに2時間かかり、[家を建てる]ボタンをクリックすると、時間をカウントするスクリプトが設定され、2時間後にその特定のプレーヤーの家が作成され、その方法の進行状況も表示されます。家の準備が整うまでに多くの時間が残っています。

正直なところ、これを行う方法がわからないので、助けていただければ幸いです。

4

2 に答える 2

4

ゲームプロジェクトにデータベースが接続されている場合。いくつかのデータベーステーブルを使用します。それらの1つには(各プレーヤーの)ユーザーの詳細が含まれ、もう1つにはタイミング(build_time)が含まれます。

id (int)    item (varchar)    time_to_complete (int)
  1           cottage                60
  2           house                  120
  3           mansion                240

次に、ビルドキュー(build_queue)を持つ別のテーブル

id(int)  user_id(int)  item_id(int)  start_time        is_complete (bool)
1             5             2        14:53 05/03/2013       0
2             6             1        12:02 05/03/2013       1
3             6             2        15:15 05/03/2013       0

次に、PHPは、ゲームの世界が構築しているアイテムをチェックできます(パフォーマンスについては、完了していないアイテムをチェックするだけです。完了したら、is_completeフィールドをtrueに設定します)。

したがって、プレーヤーの場合、次のようなことを行います。

SELECT build_queue.*, build_time.time_to_complete 
  INNER JOIN build_time ON item_id = build_time.id
  FROM build_queue WHERE 
     user_id = xx AND is_complete = 0;

次に、開始時刻とtime_to_completeフィールドをチェックして、各プレーヤーでほぼ完了しているかどうかを確認できます。

于 2013-03-05T14:55:44.860 に答える
2

ここにあなたのために考えるべきことがあります:

session_start();
if(!$_SESSION['buildStart']) $_SESSION['buildStart'] = time();
if($_SESSION['buildStart'] >= time() + 60*60*2 ) echo "it is done!";
于 2013-03-05T14:52:09.087 に答える