Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Zombot (Клиент для игры Зомби ферма) [Обсуждение]

-

Свободное обсуждение

- Ваши идеи, вопросы и ответы на тему браузерных игр и социальных сетей

Ответ
 
Опции темы
Старый 16.01.2015, 11:04   #3856
 Разведчик
Аватар для ruslanische
 
ruslanische никому не известный тип
Регистрация: 22.03.2012
Сообщений: 3
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Кто знает как правильно dailyBonus крутить?
Клиент у меня отпраляет {"action":"play","type":"dailyBonus","id":4}
Что за id?
В коде игры:
Код:
sendGameEvent({"type":"dailyBonus", "action":"play"}, this.onEvent);
Проверил на другом аккаунте:
при отправке: current=0, id=5
в ответе получаю current=1
Значит, current - это день и скорее всего не связан с id

Последний раз редактировалось ruslanische; 16.01.2015 в 13:10. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 16.01.2015, 13:46   #3857
Заблокирован
 Разведчик
Аватар для Cheater-84
 
Cheater-84 никому не известный тип
Регистрация: 22.03.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 6 раз(а) в 5 сообщениях
Отправить сообщение для Cheater-84 с помощью Skype™
 
Exclamation Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ruslanischeПосмотреть сообщение
Кто знает как правильно dailyBonus крутить?
Клиент у меня отпраляет {"action":"play","type":"dailyBonus","id":4}
Что за id?
В коде игры:
Код:
sendGameEvent({"type":"dailyBonus", "action":"play"}, this.onEvent);
Проверил на другом аккаунте:
при отправке: current=0, id=5
в ответе получаю current=1
Значит, current - это день и скорее всего не связан с id

все хитрят и хитрят гады....с другой стороны все интереснее.....у меня тоже с ошибкой валится, именно на ежедневной...
бум как то решать.
  Ответить с цитированием
Старый 16.01.2015, 13:49   #3858
 Разведчик
Аватар для ruslanische
 
ruslanische никому не известный тип
Регистрация: 22.03.2012
Сообщений: 3
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
все хитрят и хитрят гады

щас посмотрел, при кручении других рулеток клиент тоже шлет "id":5 в событии.
  Ответить с цитированием
Старый 16.01.2015, 14:04   #3859
Заблокирован
 Разведчик
Аватар для Cheater-84
 
Cheater-84 никому не известный тип
Регистрация: 22.03.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 6 раз(а) в 5 сообщениях
Отправить сообщение для Cheater-84 с помощью Skype™
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ruslanischeПосмотреть сообщение
щас посмотрел, при кручении других рулеток клиент тоже шлет "id":5 в событии.

а чсто думаете над этим -

Код:
Завтра обновление: 
Новинка на рынке - Супер-комбо для очистки островов и тебе не будет равных!
Выиграть Сундук Пирата теперь под силу только удачливому Зомби.
Материалы в постройках можно производить оптом, а декорации продавать прямо со склада.
ждем сюрпризов?....
  Ответить с цитированием
Старый 16.01.2015, 14:16   #3860
 Разведчик
Аватар для ruslanische
 
ruslanische никому не известный тип
Регистрация: 22.03.2012
Сообщений: 3
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Внимание!!!
Может не новость, но похоже, что появились изменения в протоколе: в евентах передается параметр "id", который представляет собой счетчик евентов. В ответе сервера тоже присутствует "id", соответствующий запросу.

Добавлено через 24 минуты
Причем, не во всех ивентах он передается.

Последний раз редактировалось ruslanische; 16.01.2015 в 14:40. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 16.01.2015, 14:57   #3861
 Пехотинец
Аватар для vintets
 
vintets скоро будет известенvintets скоро будет известенvintets скоро будет известен
Регистрация: 01.08.2012
Сообщений: 95
Популярность: 255
Сказал(а) спасибо: 28
Поблагодарили 54 раз(а) в 38 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ruslanischeПосмотреть сообщение
Внимание!!!
Может не новость, но похоже, что появились изменения в протоколе: в евентах передается параметр "id", который представляет собой счетчик евентов. В ответе сервера тоже присутствует "id", соответствующий запросу.

Добавлено через 24 минуты
Причем, не во всех ивентах он передается.

Какая же это новость? Так всегда было. Я об этом 100 раз писал.

Да вот например: http://zhyk.ru/forum/showpost.php?p=...postcount=3667

Это внутренняя нумерация эвентов на которые должен быть обязательный ответ сервера.
Номера даются для обеспечения асинхронной работы. Чтобы обрабатывать ответы приходящие в изменённом порядке.
  Ответить с цитированием
Старый 16.01.2015, 14:58   #3862
 Разведчик
Аватар для ruslanische
 
ruslanische никому не известный тип
Регистрация: 22.03.2012
Сообщений: 3
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Кажись, передается в тех эвентах, от которых сразу ожидает ответ:
Код:
        public function sendGameEvent(arg1:Object, arg2:Function=null):void
        {
            if (this.1!J == null) 
            {
                return;
            }
            this.3!w.push(arg1);
            if (arg2 != null)
            {
                var loc1:*;
                var loc2:*=((loc1 = this).eventId + 1);
                loc1.eventId = loc2;
                arg1.id = (loc1 = this).eventId;
                this.>f[arg1.id] = arg2;
            }
            if (!this.6!?) 
            {
                this.2!Y();
            }
            return;
        }
так наверно передается:
Код:
sendGameEvent({"type":"game", "action":"play", "objId":this.building.id, "extraId":gameObj.id}, this.onEvent)
а так наверно нет:
Код:
sendGameEvent({"action":"clientEvent", "type":"item", "itemId":loc1});
Добавлено через 2 минуты
Цитата:
Какая же это новость?

Прошу прощение за панику К сожалению, весь тред не читал и не знал про этот id. В оригинальном боте этого нету.
Так, если его слать (для верности), то во всех эвентах, кроме пустых?

Последний раз редактировалось ruslanische; 16.01.2015 в 15:00. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 16.01.2015, 15:10   #3863
 Пехотинец
Аватар для vintets
 
vintets скоро будет известенvintets скоро будет известенvintets скоро будет известен
Регистрация: 01.08.2012
Сообщений: 95
Популярность: 255
Сказал(а) спасибо: 28
Поблагодарили 54 раз(а) в 38 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ruslanischeПосмотреть сообщение
В оригинальном боте этого нету.
Так, если его слать (для верности), то во всех эвентах, кроме пустых?

Для верности нужно разделять и переделывать на 2 типа с id и без. Но много переделок и слишком много других "неверных" мест, что можно забить.
Думаю получение лишних параметров там где не надо ничуть не лучше их недостачи. Это если втупую добавить счётчик в функцию отправки.
  Ответить с цитированием
Старый 16.01.2015, 15:22   #3864
 Разведчик
Аватар для ruslanische
 
ruslanische никому не известный тип
Регистрация: 22.03.2012
Сообщений: 3
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
нужно разделять и переделывать на 2 типа с id и без

Я, вообщем-то переделываю так, чтобы евенты обрабатывали наследники BaseActor. Например, отправили евент на кручение рулетки, тут же ждем прихода евента "game". Для верности еще в главном цикле обрабатываю остатки евентов.
Скорее всего это неправильная архитектура, т.к. не все действия должны иметь ответ и не все действия должны иметь сразу ответ. Например:
дровосек работает, его склад забился, он перестал работать (но мозги занимает);
собираем у него дрова, приходит евент о том, что работа начата.
  Ответить с цитированием
Старый 16.01.2015, 15:44   #3865
 Пехотинец
Аватар для vintets
 
vintets скоро будет известенvintets скоро будет известенvintets скоро будет известен
Регистрация: 01.08.2012
Сообщений: 95
Популярность: 255
Сказал(а) спасибо: 28
Поблагодарили 54 раз(а) в 38 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ruslanischeПосмотреть сообщение
Я, вообщем-то переделываю так, чтобы евенты обрабатывали наследники BaseActor. Например, отправили евент на кручение рулетки, тут же ждем прихода евента "game". Для верности еще в главном цикле обрабатываю остатки евентов.

Мы так делали в копателе. Ну как мы... товарищ сделал. Не я, я не догнал как сделать. Точнее я точно знал что мне нужно передать и куда, но реализация хромала до нерабочего состояния Ну не программист я.
Так вот, вызываем прямо из модуля handle_all_events, а нужные ответы с алертом передаём через BaseActor назад в модуль для трепанации.
Поэтому нужные ответы сразу у нас не выходя из модуля.
При этом остальные модули пользуют handle_all_events как и раньше на каждом круге.
Ну и да, опоздавшие потом подбираются.

Для всех думаю ждать не имеет смысла, замедлится работа если модуль будет ждать все свои ответы. А вот там где ждать обязательно (для нас) там и делать..

Последний раз редактировалось vintets; 16.01.2015 в 15:48.
  Ответить с цитированием
Старый 16.01.2015, 15:55   #3866
 Разведчик
Аватар для ruslanische
 
ruslanische никому не известный тип
Регистрация: 22.03.2012
Сообщений: 3
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
А вот там где ждать обязательно (для нас) там и делать.

Например, отправка зомби на работы. Нам в ответе приходит время окончания работы (что можно и потом получить) и цель . Вот тут я считаю, что ждать надо, чтобы сервер подтвердил работу и чтобы не отправить второго зомби на этот же ресурс.
Т.е. ход моих мыслей правильный был.

Добавлено через 55 минут
Сделал фильтрацию отправки евентов, в которых нужно отправлять id:
Код:
    with open('zombiefarm.as', 'r') as f:
        data = f.read()

    p = re.compile(u'sendGameEvent\({(.*)},.*\);')
    function_calls = re.findall(p, data)
    for function_call in function_calls:
        print function_call
В сухом остатке:
Код:
"type":"trader", "action":"remoteExchange"
"type":"game", "action":"play"
"type":"game", "action":"friendPlay"
"type":"npc", "action":"play"
"type":"npc", "action":"hi"
"type":"npc", "action":"apply"
"type":"dailyBonus", "action":"play"
"type":"item", "action":"checkMission"
"type":"item", "action":"remoteNewYear"
"type":"item", "action":"remoteThanksgiving"
"type":"item", "action":"upgrade"
"type":"item", "action":"pick"
"type":"item", "action":"useStorageItem"
"type":"item", "action":"useStoragePickups"
"type":"item", "action":"remoteDig"
"type":"item", "action":"checkGameLevelMission"
"type":"item", "action":"remotePirateCheckin"
"type":"pirateItem", "action":"makeOnlineSailingRequest"
"type":"payment"
"type":"players", "action":"getInfo"
"type":"friend", "action":"confirm"
"type":"gameState", "action":"gameState"
"type":"gift", "action":"sendGift"
"type":"action", "action":"getMissions"
"type":"speedGiftMission", "action":"speedUp"
"type":"blackjack"

Последний раз редактировалось ruslanische; 16.01.2015 в 18:08. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 16.01.2015, 17:55   #3867
 Разведчик
Аватар для megabyte0
 
megabyte0 никому не известный тип
Регистрация: 29.07.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 5 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ruslanischeПосмотреть сообщение
тобы не отправить второго зомби на этот же ресурс.

В геймстейте помечаем его занятым, ещё до отправки сообщения на сервер. Проблемы не вижу.
Да, с хэндлингом входящих евентов жесть, я что-то предлагал когда-то по этому поводу, http://zhyk.ru/forum/showpost.php?p=...postcount=3217 , но это половинчатое решение. Впрочем, как и в официальном клиенте сделано, вешать на EVT сразу обработчик-функцию , которая будет вызываться для ответа_сервера с этим EVT id , тоже половинчатое, потому что никто нам не запретит выслать 2 разных типа eventов в одном EVT, чтобы не грузить сервер. Похоже, надо сортировать входящие eventы сразу при получении ответа сервера и хэндлить там же, а не после отработки модуля.
Опять посылка action id -- ну, и без неё всегда работало, сколько бот есть. Другое дело, когда надо разобрать, на что ответ, когда в ответе, например, только один SendOK или что подобное. Я считаю, что провести action id по всем исходящим actionам, требующим этого, незаметно для разработчика конечных модулей было бы трудно. Не то, что он не нужен.
А вот что мы "time": уже 2 недели не отдаём, похоже, мало кого волнует Мне просто первопроходцем быть не хочется, у меня всего 2 фейка под ботом (вдруг забанят из-за неправильной послыки времени? ), попробуйте кто-нибудь, плз, отпишитесь, как полёт?
Цитата:
Сообщение от Cheater-84Посмотреть сообщение
Материалы в постройках можно производить оптом

Да, будет весело. Первым делом попробую отрицательный крафт из жёлтой краски обратно в хеллию, если это не тупо навеска на клиент, а действительно изменения в протоколе крафта

Stasya1991, уважаемый vintets же написал, что по 300 открывать нормально. Попробуйте? Прямо из флеша с жемчужины. Ну, долго обрабатывается потом pickups, да.
В принципе, дописать id жемчужины в отправку сообщения, когда оно dictом сделано, ну сильно ж несложно? Мне тестить негде, но я бы мог слегка поменять код выше, с позволения.

Последний раз редактировалось megabyte0; 16.01.2015 в 18:27.
  Ответить с цитированием
Старый 16.01.2015, 18:11   #3868
 Разведчик
Аватар для ruslanische
 
ruslanische никому не известный тип
Регистрация: 22.03.2012
Сообщений: 3
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
В геймстейте помечаем его занятым, ещё до отправки сообщения на сервер. Проблемы не вижу.

а я вижу в этом проблему: сообщение может не дойти до сервера (например, глюканет он)
я не правлю состояние игры без ответа сервера, за исключением подбирания ресурсов (на них не приходит ответ)
Цитата:
А вот что мы "time": уже 2 недели не отдаём

про это не в курсе, можно подробнее?

Добавлено через 40 минут
Пока что подумываю над тем, чтобы добавлять ко всем евентам id. Банить за это не вижу смысла, да и как мониторить все это? На сервера сыпятся миллионы запросов.

Добавлено через 58 минут
Ах... нафиг, добавляю только определенным евентам:
Код:
    def send_events(self, events):
        waiting_types = [
            u'dailyBonus', u'trader', u'game',
            u'npc', u'item', u'pirateItem',
            u'payment', u'players', u'friend',
            u'gameState', u'gift', u'action',
            u'speedGiftMission', u'blackjack'
        ]

        for event in events:
            if event[u'type'] in waiting_types:
                self.__eventID += 1
                event['id'] = self.__eventID

        if self.emulating is True:
            logger.debug(u'Имитация отправки события.')
            return

        if len(events) > 0:
            logger.debug(u"events to send: %s" % events)
        command = {u'events': events, u'type': u'EVT'}
        game_response = self.send_request(command)
        self.add_game_events(game_response['events'])
Добавлено через 2 часа 53 минуты
Статус рефакторинга, если кому интересно:
Код:
- убран нафиг game_types.py;
- убран нафиг item_reader.py;
- убран нафиг game_event.py;
- убрана ужасная зависимость от dict2obj и obj2dict;
- переделан connection.py (используется пакет requests);
- убрана gui;

- функции главного модуля:
    - авторизация ВКонтакте;
    - автоpизация в зомби ферме;
    - отправка событий;
    - прием событий;
    - цикл событий (обработка событий налагается на модули);
    - запуск модулей.
	
- конфигурация:
    - рецепты на фарку добавляются списком:
      либо по имени - ["клевер", "клевер", "тыквахелл", "лимон"],
      либо по ID - ["X1", "X2"].
    - семена для посадки добавляются списком:
      либо по имени - ["клеверхелл"],
      либо по ID - ["X1", "X2"].

- событийная модель - синхронная (модули, посылающие события, ожидают от сервера ответа, если необходимо);
- события обрабатываются в модулях (наследниках BaseActor);
- сделан модуль рабочих (дровосеков, камнетесов);
- сделан модуль сбора дерева, камней;
- сделан модуль кручения рулеток;
- сделаны модуль кручения ежедневных рулеток.

Проблемы:
- если поставить ВКонтакте опцию "соединение только по HTTPS", то соединение не устанавливается (кривое использование пакета requests).

В планах:
- доделать модули из оригинального бота;
- сделать красивую консоль с окнами.

Последний раз редактировалось ruslanische; 16.01.2015 в 21:14. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 16.01.2015, 22:25   #3869
 Разведчик
Аватар для megabyte0
 
megabyte0 никому не известный тип
Регистрация: 29.07.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 5 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ruslanischeПосмотреть сообщение
сообщение может не дойти до сервера (например, глюканет он)

Хм, у меня тогда вылазит timeout и бот перегружает TIME, START и получает точное состояние острова (с точной занятостью дровосеков и ресурсов). Я не говорю, что это хорошо. Но поэтому я и не вижу проблемы.

Цитата:
Сообщение от ruslanischeПосмотреть сообщение
про это не в курсе, можно подробнее?

Тут, в конце
  Ответить с цитированием
Старый 16.01.2015, 22:55   #3870
 Разведчик
Аватар для ruslanische
 
ruslanische никому не известный тип
Регистрация: 22.03.2012
Сообщений: 3
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Тут, в конце

что-то не понял...
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Программа] Zombot (Клиент для игры Зомби ферма) AnonProger Баги игр ВКонтакте 189 26.08.2014 15:50
[Статья] Небольшие секреты игры зомби ферма haussuper Баги игр ВКонтакте 11 26.01.2013 10:54
[Информация] Зомби Ферма dekirillov Баги игр ВКонтакте 40 22.10.2011 18:25

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 18:11.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net