Короче, как я понимаю многие так делают, например:
отнимаем 10 хп и ставим временную метку time()
ну и например должно прибавлять 1 хп каждые 10 секунд
делается проверка, если набежало 1 или более, то добавляем хп и опять же ставим временную метку time()
и вот тут какая коза заделывается - ведь если прошло 19 секунд и обновляем страницу, то набежало 1 хп и работает условие проверки, в результате чего будет проставлена новая временная метка для отсчёта, но ведь 9 секунд мы потеряли и получается на генерацию следующего хп + 1 затрачивается 19 секунд, а не 10
а если генерация раз в час и прошло 1:59, то получается мы не 2 получим а 1 и 59 МИНУТ будет потеряно
ну-ка го сочиним, как разницу учесть а то я с ночи не очень варит маковка
________ посл. ред. 08.05.2019 в 18:19; всего 2 раз(а); by PhpStorm
PhpStorm (08.05.2019 в 22:12)
TuT (08.05.2019 в 21:47) PhpStorm, Тык ты получишь дробное число, оберни в round() и все.
как так?
Так деление же используем, на выходе по любому получим дробное число.
DELETED
Автор
8 мая 2019, в 23:41
Delete
TuT (08.05.2019 в 22:18)
PhpStorm (08.05.2019 в 22:12)
TuT (08.05.2019 в 21:47) PhpStorm, Тык ты получишь дробное число, оберни в round() и все.
как так?
Так деление же используем, на выходе по любому получим дробное число.
и что?
DELETED
Автор
8 мая 2019, в 23:42
Delete
Добрыня (08.05.2019 в 22:16)
Если я понял тебя правильно, ты получаешь дробное число, но получаешь ты меньшее значение в место большего, для это используй celi();
PhpStorm, как вариант "компенсации" хп исходя из n количества за определенное время т.е суммировать сколько было выдано и сверять периодически для компенсации.
Пример: твой вариант с 10 сек, берем 10 хп = 100 сек или 1 мин 40 сек
каждая выдача +=1 т.е на 10-ом обновлении начинаем проверять последний сохраненный временной период, считаем суммарное время за 10 обновлений - 100 сек, разницу компенсируем
P.S а пока писал этот бред, пришло решение попроще в сохранении 9 сек как отдельный параметр для будущего апдейта, т.е время + 9 сек, то что целое все переводим в хп, остаток опять в будущий апдейта