脚本显示进度php

时间:2013-03-05 14:49:34

标签: php mysql

我想知道如何使用PHP创建脚本,该脚本将在x个时间后执行。

例如: 玩家建造一个需要2个小时才能完成的房子,当他点击“建造房屋”按钮时,会设置一个脚本来计算时间,并在2小时后为该特定玩家创建一个房子,同时显示进度条表示有多少时间是在房子准备好之前离开了。

老实说,我不知道该怎么做,所以任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:4)

如果您的游戏项目附有数据库。我会使用几个数据库表。其中一个将包含用户详细信息(对于每个玩家),另一个将包含时间(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字段,看看它是否几乎为每个玩家完成。

答案 1 :(得分:2)

这是想想对你有用的东西:

session_start();
if(!$_SESSION['buildStart']) $_SESSION['buildStart'] = time();
if($_SESSION['buildStart'] >= time() + 60*60*2 ) echo "it is done!";