Привет всем, подскажите пожалуйста есть игра в ней есть бой где игроки бьют босса когда у боса здоровья 0 бой заканчивается и он пропадает и не восстанавливается сам я хочу что бы к примеру в 18:00 каждый день происходит автоматически запрос в базу данных где здоровья босса восстанавливается сразу, запрос я отдельным скриптом уже прописал если зайти на этот скрипт то босс восстановится и снова появится.. Но как это сделать автоматически? Вот сам запрос в БД PHP: <?php $aluko = mysql_fetch_assoc(mysql_query("SELECT * FROM `aluko` ORDER BY `id` LIMIT 1")); echo "<table class='post'>"; if($aluko['health']<1){ echo "Он васкрес!"; mysql_query("UPDATE `aluko` SET `health` = `health` + '1000000' WHERE `id` LIMIT 1"); } echo " <form action='game_nac.php?take' method='post'><br/> <span class='btn'><span class='end'><center><input class='label' type='submit' value='Воскресить начальника'></center></span></span></form></div> </form></center></div>"; ?>
на хостинге имеется crontab вбиваю ему запрос по протаколу http указываю ссылку на срипт который прибовляет хп у босса и нечего не происходит
В момент убийства можно его родить в 18:00 и забить. А показывать мобов только которые уже родились =) удобняк.
И скорее всего, что на хостинге имеется панель управления и с большой вероятностью там есть раздел, который называется а ля "Планировщик заданий". У каждой панели свой интерфейс, но суть сводится к одному: выставить время и прописать команду. Для команды отводится текстовое поле. Вот туда и пишите. Вот, к примеру, как это выглядит в ISPManager 5
Вот настроил а смысла нет выбрал "Произвольная команда" и вставил тупо ссылку указал повторять 1 раз в минуту --- Добавлено --- а если русками зайти на эту ссылку то всё гуд
Желательно с умом. Команда имеет примерно такой вид Код (Text): /usr/local/bin/php /home/myaccount/mydomain.com/public_html/cron.php > /dev/null /usr/local/bin/php - путь к интерпретатору PHP(зависит от настроек сервера) /home/myaccount/mydomain.com/public_html/cron.php - путь к требуемому скрипту,начиная от корневого каталога сервера(не аккаунта) > - перенаправление стандартного вывода(результата) /dev/null - в никуда --- Добавлено --- P.S. В принципе, есть вариант и с указанием URL, но честно говоря, я никогда не пробовал. Команда в этом случае, может быть примерно такой: Код (Text): wget -O - http://mydomain.com/cron.php >/dev/null 2>&1
просто ставишь в бд запись про моба. В поле "показывать после" у него "2016-08-22 18:00:00", а выбираешь ты только тех, кто уже родился --- Добавлено --- потом ставишь дату смерти, кто убил, и т.п. БД будет пухнуть, но на деле это не страшно, зато куча статы есть.
Из постов сложилось впечатление, что ты хочешь ресать ему ХП в любом случаи. А если его в этот момент кто-то добивает, а тут хренак и фул ХП? Несправедливо. Надеюсь я ошибся.
его полюбому убьют в тот момент хочу что бы он каждый день в 18:00 по МСК ресал ему хп вот и всё думаю слодно будет за сутки не убить
вот я и предлагаю когда грохнули - заносить в бд запись. Т.е. если его не убили - запись не появится и он не реснется. Так что он будет жить. Долго. Можно будет даже стату высчитать, сколько он пожил и когда.
Может и не сложно. Я привел маловероятный, но возможный случай. Юзеры тебя за такое гнилыми помидорами закидают. ) Вон @igordata предлагает решение этой проблемы.
просто при заходе на страницу в запросе к бд бы выбираешь только тех мобов у которых дата рождения больше чем сейчас, но дата смерти нулл.
что то я если честно не понял как так сделать то --- Добавлено --- у меня только 1 босс и он респается каждый день в 18:00
ты не читаешь, ты просто пропускаешь те куски, что тебе не понятны. Нужно заставить себя вчитаться. Тебе нужна База Данных, далее БД. Из БД ты выбираешь мобов при заходе на страницу. Тех, которые уже родились.
@StepanAMK Так если ты хочешь запустить, cronTab на бегете, то тебе сначала нужно позвонить в тех поддержку, там указан их номер и сказать, что у тебя не работает крон, после чего они попросят тебя написать тикет. Потом они починят крон для тебя и он чудесно заработает. У меня таже история была, когда я шедулер ларавеля пытался запустить ) При этом я тебя обрадую, если у тебя не выделенный сервер и не vds. То в ручную ты запустить крон не сможешь, т.е через терминал. У тебя просто прав нету. Ну в общем после нескольких часов *бли мозгов они тебе его починят и всё будет окай. --- Добавлено --- @StepanAMK Ваще круто... Знаешь! Это гениально просто... --- Добавлено --- Плохо читаешь Когда убивают моба ты записываешь тек дату в дату смерти! А у него есть ещё дата возрождения. То есть когда кто-то заходит например на локу, то ты делаешь запрос к бд, на мобов у которых Дата возрождения меньше текущей даты, но дата смерти Null. Т.есть следуем логике нам нужно как-то поставить дату смерти в Null после того как его убили. А когда это нужно сделать? И тут меня осенило нужен третий пункт. Нужна дата смерти, время респа и дата возрождения. А теперь смотри алгоритм. Убили моба, записал дату смерти прибавил время респа и записал в дату возрождения. После чего ты при заходе в локу ты спрашиваешь сервер, Дата возрождения > Тек дата ? и всё. И как бы по сути можно даже в null не вводить, но если ты прямо в прямом смысле возрождаешь боса, то пиши ещё проверки, например: Дата. Возрождения > тек.Дата ? Если да пишем в бд, дата смерти Null, а если она null то показываем всем, и все остальные уже по дате смерти в нулл видят мобиков, Т.есть тебе нужна первая проверка на воскрешение, а вторая на показ, если воскрешать ещё рано, если воскрешать не кого, то алгоритм пропускаешь и сразу выводишь мобов с дата смерти Null, как бы так ещё можно типа быстрее будет чем вариант без null... Но на самом деле надо потестить, скока время займёт алгоритм возрождения