Всем привет,пользуюсь вот таким алгоритмом для восстановления энергии
$currentDate = time();
$dateDiff = $currentDate - $arr['fuel_time'];
$newFuel = $arr['energy'];
//1500 сек - время полного восстановления ...
if ($dateDiff < 300 && $newFuel < $arr['max_energy'])
{
while ($dateDiff > 60)
{
$newFuel++;
if ($newFuel >= $arr['max_energy'])
{
break;
}
$dateDiff = $dateDiff - 60; //300 сек == 5 мин
}
}
else
{
$newFuel = $arr['max_energy'];
}
if ($newFuel != $arr['energy'])
{
$sql->query("UPDATE `users` SET `energy`='$newFuel', `fuel_time`= '$currentDate' WHERE `id`='$id_user' "
}
Но есть в нем ошибки,когда набрал максимальное количество энергии,тратишь одну,она снимается,и когда обновляешь страницу,и +1 одна энергия добавляется,и дальше до 0 все нормально
Добавлено 25.01.17 в 18:40:06:
вот немного скринов как происходит
http://prntscr.com/e05eyq
http://prntscr.com/e05f8j
http://prntscr.com/e05fdw
http://prntscr.com/e05fjxи дальше уже нормально
http://prntscr.com/e05ft5
Up
Добавлено 31.01.17 в 01:15:36:
Может кто может свой алгоритм предложить