Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Ох, какой же питон неуниверсальный :
Код:
if not os.path.isdir('.\subloc'): os.makedirs('.\subloc')
if not os.path.isdir('.\counts'): os.makedirs('.\counts')
if not os.path.isdir('.\counts\\'+curuser): os.makedirs('.\counts\\'+curuser)
[Ссылки могут видеть только зарегистрированные пользователи. ]
Добавлено через 41 минуту
Снова не копает
Код:
2014-03-14 18:30:02,604 1######### Идем к другу [BOT]friend1 1/10 на main #########
2
2014-03-14 18:36:02,973 sig is not valid
при:
Код:
actor_classes = [VisitingUsers] # копай
Последний раз редактировалось lokanaft; 14.03.2014 в 17:44.
Причина: Добавлено сообщение
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
заметил одну вещь,если ставить 100 лопат,бот почему то в ошибку уходит,так же при 50ти,а вот 48 нормально копает,на ошибки не совсем обращаю внимание,а да и на чудика оказывается есть лимит...ну жно еще и счетчик прикручивать к чудику..
Собсна так и есть, settings.ini написал по образцу, найденному здесь
Цитата:
Сообщение от Reydan-46
для особо одарённых.
Порядок установки и настройки бота:
...
5. Файл settings.example.ini переименовываем в settings.ini и перемещаем в папку src
6. В файле settings.ini прописываем свой логин и пароль к контакту (в номере телефона + не ставим, так же русские буквы не должны быть в логине и пароле)
[Ссылки могут видеть только зарегистрированные пользователи. ]
Прост пока еще не въехал что куда и для чего прописывать)
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от Cheater84
заметил одну вещь,если ставить 100 лопат,бот почему то в ошибку уходит,так же при 50ти,а вот 48 нормально копает,на ошибки не совсем обращаю внимание,а да и на чудика оказывается есть лимит...ну жно еще и счетчик прикручивать к чудику..
А на чудика сколько лимит? Я как то еще не доходил до него..
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Вероятнее всего переполняется очередь "events" (которая должна обрабатываться потом event_handler). Я когда-то вставлял event_handler (после копания просто скопируй кусок "pickuper", и запускай его после каждых 10-20 лопат, пусть он "чистит" очередь.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от mike4kz
Вероятнее всего переполняется очередь "events" (которая должна обрабатываться потом event_handler). Я когда-то вставлял event_handler (после копания просто скопируй кусок "pickuper", и запускай его после каждых 10-20 лопат, пусть он "чистит" очередь.
В других ситуациях не переполняется. Новая открывалка жует по 200 сразу. Иногда и 300 работало. Это там где нужно подбирать дроп, думаю это ограничение на вскрытый но не собранный дроп.
В действиях где дропа нет в 1 сообщение лезет 2000 пар эвентов. Может и больше но этого хватает. Когда ставил для эксперемента 10000 пар было переполнение длины запроса.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от Znewf
кто-нибудь знает как организовать такой цыкл. запускаемся с домашнего, проходим все острова, а когда снова заходим на домашний, завершаем работу бота?
В файле game_engine.py функцию eventLoop меняем таким образом
PHP код:
def eventLoop(self): ''' in a loop, every 30 seconds send EVT request handle EVT response ''' interval = 5 refresh_min = 6 seconds = interval ref_min = [] cir_count = 0 while(self.running()): if cir_count == 2: exit() if seconds >= interval: self.perform_all_actions() if self.get_game_loc().get_location_id() == 'main': cir_count +=1 #logger.info('Ждем %d секунд'%interval) seconds = 0 time.sleep(0.1) seconds += 0.1
cur_time = self.__timer._get_current_client_time() min = int(int(cur_time/1000)/60) if min not in ref_min: if (refresh_min-min)==1: print u'Перезагрузка через %s минуту'%str(refresh_min-min) elif ((refresh_min-min)>=2) and ((refresh_min-min)<=4): print u'Перезагрузка через %s минуты'%str(refresh_min-min) else: print u'Перезагрузка через %s минут'%str(refresh_min-min) ref_min += [min] if min>=refresh_min: ref_min = [] break
Только interval ставим свой, по сути при таком цикле важно только время перехода между островами.
Если нужно несколько циклов, то ставим if cir_count == не 2, а количество циклов + 1, ну и refresh_min меняем на такое время, чтобы не было перезагрузки бота между циклами.
Последний раз редактировалось dark-dragon; 15.03.2014 в 14:22.