Задать вопрос
@sergei2000

Как создать скрипт работающий без участия пользователя?

Тут подумал как можно создать что то подобное игр с выводом или игры "Понаехали тут". Почти все они написаны на php. А вопрос заключается в том как сделать так чтобы например каждую секунду прибавлялось к имеющимся деньгам (и естественно даже тогда когда игрока нет в сети). Или например использовал предмет +15 к атаке на 60 минут, как это контролировать? Чтобы именно через 60 мин эффект пропал, ну и естественно удалилась строка в бд?
  • Вопрос задан
  • 220 просмотров
Подписаться 1 Средний 1 комментарий
Решения вопроса 3
flexer1992
@flexer1992
Unity Developer
Крон в этом случае плохое решение. По факту вам надо оперировать только таймерами. Начисление денег за время что не были в игре делается легко. Просто берете разницу между последним начислением и текущем временем и даете денег юзеру сохраняя время начисления. Увеличение атаки можно сделать следующим образом. Например у нас есть таблица с эффектами которые цепляются на юзера. Основная задача этой таблицы - хранить таймпштамп когда этот эффект будет не активен. При активации эффекта мы его добавляем в эту таблицу, а дальше каждый раз когда считаем урон просто проверяем не истекло ли еще время действия эффекта. Проверка будет происходить каждый запрос. Это будет сильно дешевле чем раз в секунду пинать крон, да и более правильно как по мне.
Ответ написан
Stimulate
@Stimulate
могу
Cron
Ответ написан
Комментировать
StrangeDev
@StrangeDev
Web developer
Почитайте о Cron. На сервере пишете скрипт который проверяет информацию об эффектах и бонусы, и сверяет время. Если время прошло - удаляет запись из БД. В крон добавляете задачу запускать скрипт каждые 2 минуты (или как вам надо) и все
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@phpkoder
Web-програмист
Конечно CRON
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект