Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от Cheater-84
в общем все работает нормально...даже отлично!))а вот копальщик нефурычит(
P.S. ...судя по всему это не из-за этого....други скорее всего не грузятся..(
Полез править, но выяснилось что незагрузка друзей отдельная проблема, конкретно майла. Причём иногда часть проскакивает.
Хотел увеличить таймаут в __getResponse передаваемый opener.open но походу он не работает или это не секунды...
Пока тупо зациклил запрос в mrutils пока не придёт нормальный ответ.
Добавлено через 4 минуты
Цитата:
Сообщение от megabyte0
а как пользовать...
Шайтан. Спасибо. Посмотрел, сложно всё там, для меня недостижимые высоты, но работает исправно. Хотелось бы самому вникнуть чтобы править в случае добавления функций.
Разбор swf работает намного быстрее старого метода. И разные аккаунты теперь не толкаются возле кормушки. Хоть и делал раньше по 5000 подписей и запуск разносил по времени на 8 секунд, всё равно какой нибудь гадёныш упадёт и ломится вне очереди генерить подписи. Потом всё висело пол часа до принудительного убития.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Последний раз редактировалось vintets; 16.09.2014 в 11:55.
Причина: Добавлено сообщение
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от vintets
Спасибо. Посмотрел, сложно всё там,
Не за что Сейчас скину пару доков, с которых брал описания структур.
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
Я до этого пытался читать чужой код, это и правда нереально, а вот по докам всё написал "на ура"
Цитата:
Сообщение от vintets
Хотелось бы самому вникнуть чтобы править в случае добавления функций.
Ам, это в swf2functions. Первая часть словарика functions - то, как выглядит функция в swf (выше print read_code закомменчен, в нём можно посмотреть новые, когда будут), второе - в питоне. И, кстати, там строчка ('s.shadowlands.ru/zombievk-res/') прописана для вк, её бы лучше передать, чтобы не править в read_swf, но я скинул как обычно через полчаса после того, как всё заработало
Цитата:
Сообщение от vintets
или это не секунды...
Это секунды... (8)
Вообщем, что происходит в read_swf. Reader - абстрактный класс (без создания его экземпляров). От него наследуются SWF - это разбиральщик заголовка swf и заголовка тегов. Про тэги можно прочитать в первой доке. Нам надо найти тэг DoABC, в котором ActionScript ByteCode. Он находится, его содержимое передаётся в ABC - ABC разбирает ConstantPool и прочие структуры, которые не особо нужны после того, как мы взяли из ConstantPool multinames. Но нам надо добраться до тел методов.
abc.method_body_info[0] - это конструктор класса SaltGenerator, а вот abc.method_body_info[1] - это то, что нам нужно.
Ну, и abc.method_body_info[1]['code'] - сам код метода, передаётся в Code_Reader, который отдаёт массив строчек, по одной на опкод. В нём в self.opcodes промаплены byte-codes и opcodes, естественно не все 256, а только те, которые пользуются. Ну, он плотненько написан, да. Это всё по разбору swf.
Потом мы соединяем все строчки, отданные Code_Readerом, через '\n' и смотрим, какая функция первая,
записываем её в массив функций, пропускаем её код, смотрим вторую. И так до return _loc2_ . В результате имеем массив из 5 функций, который отдаём.
Применяются они последовательно к строчке sig = sessionKey + str(requestId) + authKey
Код:
saltFunction_sig = sig
for f in self.functions:
saltFunction_sig = f(saltFunction_sig)
, вообщем происходит всё, как в swfке.
Последний раз редактировалось megabyte0; 16.09.2014 в 17:01.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Я знаю я ракан и что-то делаю не так!
Цитата:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 810, in __bootstrap_inner
self.run()
File "C:\ZombiFarmInterface\app.py", line 35, in run
self.run_function(self)
File "C:\ZombiFarmInterface\main.py", line 79, in run_game
Game(site, settings, UserPrompt(gui_input), gui_input=gui_input).start()
File "C:\ZombiFarmInterface\game_engine.py", line 460, in start
start_response,self.__friendsid,self.__server_time = self.__game_initializer
.start()
File "C:\ZombiFarmInterface\game_engine.py", line 175, in start
start_response, friendsid = self.start_game(server_time, session_key)
File "C:\ZombiFarmInterface\game_engine.py", line 208, in start_game
return self.__request_sender.send(command),friendsid
File "C:\ZombiFarmInterface\game_engine.py", line 685, in send
request = self.__factory.createRequest(data)
File "C:\ZombiFarmInterface\message_factory.py", line 89, in createRequest
request_data['data'] = self.__createDataValue(data, data_keys_order)
File "C:\ZombiFarmInterface\message_factory.py", line 136, in __createDataValu
e
self.__addSigOrAuth(data_value)
File "C:\ZombiFarmInterface\message_factory.py", line 149, in __addSigOrAuth
auth_key)
File "C:\ZombiFarmInterface\message_factory.py", line 99, in calcSig
opener = urllib2.build_opener()
NameError: global name 'urllib2' is not defined
Я вставил
Цитата:
from read_swf import swf2functions
import urllib2
в game_engine
И попытался исправить messenge,кто подскажет где косяк?
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от GirlKris
Просто киньте 2 файла в корневую папку бота!
[Ссылки могут видеть только зарегистрированные пользователи. ]
Простите, глянул, правки внесены не совсем точно.
Код:
response = self.send_request_get_response(connection)
global base_redirect_url
response = self.send_request_get_response(connection)
Так не должно быть.
self.send_request_get_response(connection) должен быть 1, а до global base_redirect_url он будет или после, это уже не совсем важно Спасибо.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от megabyte0
self.send_request_get_response(connection) должен быть 1
Старое забыла подтереть))) А разве это ошибка? Вроде просто лишняя строка, которая не влияет на работу. Там же только присваивание выполняется. Ошибаюсь?))))
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от GirlKris
Там же только присваивание выполняется. Ошибаюсь?))))
Лишний вызов посылки данных, результат которого потом не используется.
Хороший стресс-тест серверов Они же должны отдать то же самое, что по предыдущей посылке, а действия, содержащиеся в дублирующемся пакете, не выполнять. Чтобы такой вариант работал.
Остальное всё вроде как верно, то есть я на взгляд ошибок не нашёл.
Цитата:
Сообщение от GirlKris
Все очень подробно описано!
Опять на самом деле нет, а написано только для понимающих. Импорты привыкли дописывать в game_engine, и maks_maks) не первый
Лучше перевыложите файл с оговоркой, что где править для других серверов (mr, ok, fb). Большое одолжение сделаете тем, кто не совсем в курсе.
P.S. Я чтот думаю - меня одного запарило перезагружать XP каждые 12-18 часов из за бота? Ему бы Connection:keep-alive не помешал, но это опять дополнительный модуль. Пока что нашёл [Ссылки могут видеть только зарегистрированные пользователи. ] , хотя urllib3 и request заявлено что тоже умеют, с urlgrabber.keepalive переписывать по минимуму. Или сделано всё уже?
Последний раз редактировалось megabyte0; 19.09.2014 в 01:13.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от megabyte0
P.S. Я чтот думаю - меня одного запарило перезагружать XP каждые 12-18 часов из за бота? Ему бы Connection:keep-alive не помешал, но это опять дополнительный модуль. Пока что нашёл [Ссылки могут видеть только зарегистрированные пользователи. ] , хотя urllib3 и request заявлено что тоже умеют, с urlgrabber.keepalive переписывать по минимуму. Или сделано всё уже?
Не сделано, ты первый озадачился. Мне, например, ничего не мешает. Каждые 12-18 часов XP не перезагружаю. Работает иногда по несколько суток, снижения производительности не заметил. А в чём проблема проявляется?
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Подскажите пожалуйста как ходилку по соседям сделать с большего ид на меньший ид. (на данный момент ходит с самого маленько к большему.) если кто знает где поменять напишите.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от xxxXANxxx
Подскажите пожалуйста как ходилку по соседям сделать с большего ид на меньший ид. (на данный момент ходит с самого маленько к большему.) если кто знает где поменять напишите.
А разве там отсортировано? У меня приходит от сервера вперемешку, правда на майле.
После получения модулем друзей
PHP код:
friends = self._get_options()[0][2]
добавить
PHP код:
friends.sort(reverse=True)
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от vintets
А в чём проблема проявляется?
Просто перестают приходить сетевые ответы, нидокуда не достучаться. После перезагрузки проходит. Без включенного долгое время бота не проявляется. Может outpost виноват, конечно.