Как это можно реализовать на php без крона..
Юзер захоит,у него 5 боев.(эта часть написана)
Он играет и побеждае/проигрывает у него остается 4 боя(это тоже написано)
Дальше должно отсчитаться 5 минут и опять чтобы +1 бой было..это как сделать,причем вне зависимости от активности юза играет он еще или уходит со страници..
Добавлено 18.07.16 в 13:46:42:
Поменял чуть,заного 3 абзац прочтите
Если время последнего боя + 5 минут меньше текущего времени, насчитываем +1 бой.
Просто записываешь когда было последнее начисление боя, от этого момента отсчитываешь 5 минут, прошли? Начисляешь, в БД обновляешь время и по новой
$lastTime = time() + 300; //+5 минут
//пишем эти 5 минут в бд
$curTime = $db->query("...." //вытаскиваем с бд записанный $lastTime
if($curTime < time())
echo 'Проводим бой';
else
echo 'Еще рано';
Simptom, ага,а если игрок зашел,у него 5 боев,он сыграл 1,потом другой и вышел,то по твоей схеме выйдет то что начислится только +1 бой и будет 4 боя,а нужно чтобы он зашел,скажем через час и у его было 5 боев
popovdk01, Это уже вопрос к реализации, там нужно делением смотреть + ограничивать, что бы больше 5 боев небыло.
Человек просил алгоритм - ему подсказали, не будут же за него весь код писать темболее не зная внутреностей
Simptom, у меня есть вариант создать в бд 5 колонок и там время последних боев.. потом сравнивать их с тек. временим..
Xsikor, я выше описал недостатки. код я и сам напишу
popovdk01, Что мешает написать общий код, для всех пользователей?
popovdk01, 5 колонок? Ну ну) успехов.
floor((lastUpdateTime - nowTime) / 300)