我想知道如何使用 PHP 创建一个脚本,该脚本将在 x 时间后执行。
例如:玩家建造房屋需要 2 小时才能完成,当他点击“建造房屋”按钮时,会设置一个脚本来计算时间,并在 2 小时后为该特定玩家创建房屋,同时显示进度条在房子准备好之前还有很多时间。
老实说,我不知道如何做到这一点,所以任何帮助将不胜感激。
如果有一个数据库附加到您的游戏项目。我会使用几个数据库表。其中一个将包含用户详细信息(对于每个玩家),另一个将包含时间(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 可以检查游戏世界正在构建的项目(obv 仅检查未完成的项目,一旦完成,将 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 字段以查看每个玩家是否几乎完成。
您需要考虑以下几点:
session_start();
if(!$_SESSION['buildStart']) $_SESSION['buildStart'] = time();
if($_SESSION['buildStart'] >= time() + 60*60*2 ) echo "it is done!";