{% else-1 %}
Обновить | Подписаться | Поднять тему
Чтобы выполнить действие авторизируйтесь или пройдите регистрацию на сайте.
1. [автор] (25 янв 2017, 05:39) [0/0] [0] [отв] [спам] [под] +1 | -1

Всем привет,пользуюсь вот таким алгоритмом для восстановления энергии

$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

2. [автор] (30 янв 2017, 22:47) [0/0] [0] [отв] [спам] [под] +1 | -1

Up
Добавлено 31.01.17 в 01:15:36:
Может кто может свой алгоритм предложить

  • 1 из 1
Чтобы писать сообщения авторизируйтесь или пройдите регистрацию на сайте.
Подписаны: 0
Скачать тему | Файлы темы | Фильтр сообщений