Loading...
Обучение/Помощь новичкам | Работа с временем на PHP
Здравствуйте Мастера. Решил написать новый мод. Как долина бессмертных. Ток будет немного по другому, совсем по другому. Идея есть, знаю как написать, как работать с заявками и т.д. Уже догадываюсь, НО, как работать с временем? Я хочу управлять временем как Принц Персии!!(Ладно без шуток) Нужно сделать как в долине, Отсчет времени. Типа каждые 8 часов начинается бой. Вот этот отсчет и нужен мне. А дальше функции по типу уведомления и т.д., почти знаю как сделать, с помощью оператора if else))) Статьи читал в гугле, но там не все понятно. Может вы объясните или покажите как это делается?
Файл начала на крон
Deep Cool (07.03.2018 в 18:14)
Файл начала на крон

Я еще толком не написал его. Разве это важно? там же с time() как то работать надо чтобы отсчет сделать? или я как то не понимаю?
Sheyx , держи время старта битвы

if(strtotime('10:30:00') > time())$time = strtotime('10:30:00');
elseif(strtotime('12:00:00') > time())$time = strtotime('12:00:00');
elseif(strtotime('13:30:00') > time())$time = strtotime('13:30:00');
elseif(strtotime('16:00:00') > time())$time = strtotime('16:00:00');
elseif(strtotime('18:30:00') > time())$time = strtotime('18:30:00');
elseif(strtotime('20:00:00') > time())$time = strtotime('20:00:00');
elseif(strtotime('22:30:00') > time())$time = strtotime('22:30:00');
else $time = strtotime('+1 day 10:30:00');


$battle = mysql_query("SELECT * FROM `battle` WHERE `start` > '0' ORDER BY `id` DESC LIMIT 1");
$user = mysql_query("SELECT * FROM `battle_users` WHERE `id_user` = '$u[id]' AND `id_battle` = '$battle[id]' LIMIT 1");
$battle_2 = mysql_query("SELECT * FROM `battle` WHERE `start` = '2' AND `id` = '".($battle['id']-1)."' ORDER BY `id` DESC LIMIT 1");
$user_2 = mysql_query("SELECT * FROM `battle_users` WHERE `id_user` = '$u[id]' AND `id_battle` = '$battle_2[id]' AND `end` = '0' LIMIT 1");
if($battle_2 and $user_2)
{
$battle = $battle_2;
$user = $user_2;
}
if($battle['start'] == 1 and $battle['last'] <= time())
{
mysql_query("UPDATE `battle` SET `start` = '2' WHERE `id` = '$battle[id]' LIMIT 1");
header('Location: ?');
exit();
}
if(!$battle or !$user)
{
header('Location: /battle/');
exit();
}

думаю понял как это все писать дальше для битвы
________
посл. ред. 07.03.2018 в 18:43; всего 1 раз(а); by MySqli
MySqli , Спасибо. Попробую разобраться)
Sheyx , ну что понял что нибудь?
MySqli (07.03.2018 в 20:02)
Sheyx , ну что понял что нибудь?



if(strtotime('10:30:00') > time())$time = strtotime('10:30:00');
elseif(strtotime('12:00:00') > time())$time = strtotime('12:00:00');
elseif(strtotime('13:30:00') > time())$time = strtotime('13:30:00');
elseif(strtotime('16:00:00') > time())$time = strtotime('16:00:00');
elseif(strtotime('18:30:00') > time())$time = strtotime('18:30:00');
elseif(strtotime('20:00:00') > time())$time = strtotime('20:00:00');
elseif(strtotime('22:30:00') > time())$time = strtotime('22:30:00');
else $time = strtotime('+1 day 10:30:00');

Типа условие когда прописаны время битв?
Опиши полное условие по типу вот начало в 12.00 допустим до 12.30 допустим если время больше или равно 12.00 битва доступна если больше чем 12.30 нет доступ закрыт. Благодарю заранее
MySqli (07.03.2018 в 20:02)
Sheyx , ну что понял что нибудь?

с if else понятно. А вот с запросами нет(
Drages , if(strtotime('12:00:00') > time())$time = strtotime('12:00:00');

Если нет 12 то идет запись на битву, есть 12:00:01 то идет запрос на старт битвы start = 2 и битва начинается и так по кругу а точнее по выставленному времени
Sheyx , выше прочитай челу ответил
Онлайн: 6
Время:
Gen. 0.096
(c) Bym.Guru 2010-2026