при сравнивании времени рулеток
get_current_client_time() > (время до конца таймера рулеток) = True
время до конца рулеток прилетает от сервера после прокрутки
как видно из реального локального времени отнимаем стартовое локальное время умножаем на 1000 прибавляем к client_time получаем типа корректное время работы бота после запуска
а так как для стартового запроса нужно время поэтому у нас к client_time прибавляется рандомное число от 2800 до 4000 то есть грубо говоря прибавляем 3-4 секунды + время затраченное на загрузку клиента после загрузки которой к client_time прибавляется еще и это время вот этим _add_sending_time, а зачем оно надо
если в отправляемых запросах не используется посыл корректного времени просто уберем это время потраченное на загрузку из client_time
то в этой функции
def _add_sending_time(self, sending_time): поменяй плюс на минус(ну это если малой кровью)
и про такую ошибку как некорректно посчитанное время можно забыть!
какой смысл ставить перезапуск бота через 10 минут если он через 10 минут вылетает в ошибку и загружает стату и время рулеток получаются те же яйца что и при перезагрузке только память не освободилась и вывело принт тебе об ошибке, а в остальном то что ты перед ошибкой просто его перегрузишь смысла то и нет, время на загрузку потрачено одинаковое. у меня перезапуск через 2 часа, ни разу не было чтобы время рулеток посчиталось неправильно
Последний раз редактировалось greyzza; 19.01.2017 в 14:55.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Это я понял и сделал.
Наткнулся на следующий грабли.
В файлие ксть острова с поменткой
PHP код:
Не нужны: Остров Майя isle_02 Мобильный остров isle_mobile Пещеры Зу un_02 Вишневый остров isle_light Остров гномов isle_gnome лысая гора isle_halloween
Но если поставить, например Лысую гору (да, у меня там грядки) бот начинает сходить с ума.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Понял, сам дурак. Не правильно прописал острова/посадки
Добавлено через 2 минуты
Вот что пишет
PHP код:
File "main.py", line 88, in run_game Game(site, settings, UserPrompt(gui_input), gui_input=gui_input).start() File "C:\Python27\Zombot\game_engine.py", line 795, in start self.eventLoop() File "C:\Python27\Zombot\game_engine.py", line 869, in eventLoop self.perform_all_actions() File "C:\Python27\Zombot\game_engine.py", line 998, in perform_all_actions actor.perform_action() File "C:\Python27\Zombot\game_actors_and_handlers\plants.py", line 333, in per form_action if type(seed_items) == type(''): seed_item = self._get_item_reader().get(see d_items) File "C:\Python27\Zombot\game_state\item_reader.py", line 93, in get return dict2obj(self.content_dict[item_id]) KeyError: "[u'un_03':'P_46',u'un_08':'P_46',u'other':'P_12']"
Разобрался, надо было в фигурные строки заключать.
{u'un_03':'P_46',u'un_08':'P_46',u'other':'P_12'}
Добавлено через 54 минуты
Подскажите, есть технолония переноса некоторых переменных из грубин скриптов в ini файл настройки?
Последний раз редактировалось tarrac; 19.01.2017 в 17:07.
Причина: Добавлено сообщение
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
есть технолония переноса некоторых переменных из грубин скриптов в ini файл настройки?
есть
только не из скриптов переменная переносится а переменная из ини юзается скриптом
открой сеттингс.пу там увидишь портяночку и вот эта портяночка передается в конструктор класса гейм а из гейм уже раздается по некоторым нужным модулям, я у себя портяночку эту убрал и передаю в конструктор словарь со всеми переменными которые нашел парсер в сетинге ини а к гейме передаю их в конструкторы каждого модуля и все переменные доступны в любом модуле а в модуле уже из словаря выдергивю по ключу то что нужно, т.е ввел переменную со значением в сетинг ини и в любом модуле я могу получить и использовать значение нужной переменной
Последний раз редактировалось greyzza; 19.01.2017 в 17:26.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Можно чуть чуть подробнее как это сделать? Нашел перебор этой портянки в цикле и вижу, что там целых 4 параметра
actor_class(item_reader, game_state, events_sender, timer, options))
это до портянки.
в конструкторе GAME : self.__options = settings.getAllUserSettings()
передаем в конструкторы модулей self.__options
в конструкторе BaseActor: self.__options = options
в модулях вызываем словарик со всеми переменными из сетинг.ини self._get_options() ,ищем по ключу self._get_options() .get('send_user')
или если уверен что ключ там есть self._get_options()['send_user']
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Добрый вечер или доброй ночи у кого уже наступила она. Я хотел спросить тут пользователь ripton07 16.01.2017 в 21:22 выложил ссылочку на бот и я хотел спросить если его послать по подземкам ходить он не будет "случайно" или "преднамеренно" удалять грядки там? а то все таки жалко будет если удалит...
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
он не будет "случайно" или "преднамеренно" удалять грядки
В боте есть модуль removeBot class DeletingObjects который отвечает за то что и где удалять, не включайте его, либо включайте только необходимые острова и нужные объекты, насколько помню подземные он вообще удалить не в состоянии, вывалится в ошибку. В любом другом случае бот не может ничего удалить.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Я наверное совсем тупой... я ввел логин и пароль в сеттингс.ини запускаю бот через Старт.бат и вот что получается первое что я не пойму что это за русские буквы, а второе ползунок быстро бежит вниз после "загружаем карту" но ничего не пишет ниже тупо пустое место(
Извините что таким образом кидаю просто не могу прикрепить скрин
И прошу не смейтесь с дурака) не знаю почему тут так сложно, просто зомбифермера я сразу запустил почти не напрягаясь а тут какое то попадалово прям
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
с интернетом все нормально, а пробовал еще с утра и пару раз днем когда небыло тех работ точно... проблемы точно не может быть в настройках? я уже не знаю так обидно что не запускается
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
проблемы точно не может быть в настройках?
По описанным симптомам когда указатель вниз бежит на ошибку соеденения похоже. Без скринов трудно понять, и сеттинг глянуть нужно на всякий. Скрины сюда кидай https://i.zhyk.ru/