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

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

-

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

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

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

Цитата:
Да флеш на C++ похож, сильно. Уж не думаю, что у Вас бы там проблемы были.

это понятно, конструкции-то я понимаю, только не подебажить и не проследить логику. Например, что происходит после отправки TIME? Даже непонятно, откуда в нем id появляется...
  Ответить с цитированием
Старый 22.01.2015, 00:07   #3947
 Разведчик
Аватар для megabyte0
 
megabyte0 никому не известный тип
Регистрация: 29.07.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 5 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ruslanischeПосмотреть сообщение
логику.

У них там приятно сделано. main наследуется из class_2 , в котором описан connector. Сам connector - экземпляр VKConnector то есть class_102 , который расширяет абстрактный class_101 специфичными для VK функциями, на которых в абстрактном классе стоят raise Error . И вот в этом классе Connector (ну, если так можно читать class_101) вся логика с посылками TIME и START собрана.
Цитата:
Сообщение от ruslanischeПосмотреть сообщение
Даже непонятно, откуда в нем id появляется...

class_101.startGame вызывает
Код:
.method_919({
            "type":"TIME",
            "clientVersion":iver
         }
, сам метод_919 это, похоже, addOnQueue . Ну и т д, где-то там при заворачивании пакета id дописывается.
Код:
            id = this.var_538++;
            data = ObjectUtil.copy(sendData);
            data["id"] = id;
Я и говорю, недостаточно swfка обфусцирована..
Цитата:
Сообщение от ruslanischeПосмотреть сообщение
что происходит после отправки TIME?

Вернее, где происходит отправка TIME, на сколько это уровней вниз заложено и сколько колл-бэков это вызовет, каждый из которых проработает, понятно, в порядке, обратном заворачиванию. То оочень трудно понимать слово "после", в этом ключе. "После" на каком из интересующих уровней? : ))

Всё, что я выше пишу, понятно, раскопано не за день и не за два, когда пытался реконструировать saltfunc летом. И оно было понятно, куда копать - к посылкам пакетов. Когда откуда взять "Дровосеки рубят брёвна, осталось 3:43" формирование надписи - куда копать - непонятно совершенно. Я и не берусь особо. Там же ещё есть ui.swf, в который я даже глазком не заглядывал

Последний раз редактировалось megabyte0; 22.01.2015 в 01:03.
  Ответить с цитированием
Старый 22.01.2015, 05:13   #3948
 Разведчик
Аватар для Xmaxudigun
 
Xmaxudigun никому не известный тип
Регистрация: 13.08.2013
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

На лицокнига стала вываливаться следующая ошибка, у кого нить есть такое?
Цитата:
File "c:\Python27\lib\site-packages\requests\adapters.py", line 415, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', error(10060, '\xcf\
xee\xef\xfb\xf2\xea\xe0 \xf3\xf1\xf2\xe0\xed\xee\xe2\xe8\xf2\xfc \xf1\xee\xe5\xe
4\xe8\xed\xe5\xed\xe8\xe5 \xe1\xfb\xeb\xe0 \xe1\xe5\xe7\xf3\xf1\xef\xe5\xf8\xed\
xee\xe9, \xf2.\xea. \xee\xf2 \xe4\xf0\xf3\xe3\xee\xe3\xee \xea\xee\xec\xef\xfc\x
fe\xf2\xe5\xf0\xe0 \xe7\xe0 \xf2\xf0\xe5\xe1\xf3\xe5\xec\xee\xe5 \xe2\xf0\xe5\xe
c\xff \xed\xe5 \xef\xee\xeb\xf3\xf7\xe5\xed \xed\xf3\xe6\xed\xfb\xe9 \xee\xf2\xe
a\xeb\xe8\xea, \xe8\xeb\xe8 \xe1\xfb\xeb\xee \xf0\xe0\xe7\xee\xf0\xe2\xe0\xed\xe
e \xf3\xe6\xe5 \xf3\xf1\xf2\xe0\xed\xee\xe2\xeb\xe5\xed\xed\xee\x e5 \xf1\xee\xe5
\xe4\xe8\xed\xe5\xed\xe8\xe5 \xe8\xe7-'))

P.S. Все заработало, прошу прощения

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

Получилась такая же разница между jobStartTime и временем перед отправкой на работы как и в родном клиенте. Буду тестировать.

Добавлено через 14 минут
Еще, судя по коду коду клиента, когда собираюстся грядки, то время переводится во время сервера:
Код:
timeToServerTime(client_time)

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

Цитата:
Сообщение от ruslanischeПосмотреть сообщение
timeToServerTime

Спасибо за наводку, там всё и правда просто
Код:
      public function timeToServerTime(param1:Number) : Number
      {
         return param1 - this.clientTime + this.var_538;
      }
, где var_538 это EVT id , а clientTime это начальный отсылаемый id в TIME (время начала инициализации Connector), или на несколько мс меньше.
  Ответить с цитированием
Старый 22.01.2015, 16:09   #3951
 Разведчик
Аватар для ruslanische
 
ruslanische никому не известный тип
Регистрация: 22.03.2012
Сообщений: 3
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

насчет косяка с таймером:
1. мешал вызов vkutils.getUserInfo() между TIME и START, он как раз занимал 300-400 мс
2. время, затраченное на START надо было не прибавлять к времени бота, а отнимать

Добавлено через 7 минут
Скиньте кто-нибудь пожалуйста код раскопки/закопки друзей и код обработки евента "type":"buried","action":"buried".

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

Цитата:
Сообщение от ruslanischeПосмотреть сообщение
Скиньте кто-нибудь пожалуйста код раскопки/закопки друзей

http://zhyk.ru/forum/showpost.php?p=...postcount=3258
Про реакцию на событие не знаю.
  Ответить с цитированием
Старый 22.01.2015, 17:08   #3953
 Разведчик
Аватар для ruslanische
 
ruslanische никому не известный тип
Регистрация: 22.03.2012
Сообщений: 3
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
http://zhyk.ru/forum/showpost.php?p=...postcount=3258
Про реакцию на событие не знаю.

Спасибо, видел уже, я думал есть нормальный код.
Что это?
Код:
        #обратный счетчик раскопки
        if hasattr(self._get_game_state(), 'digOut'):
            self._get_game_state().digOut -= 1
            #print self._get_game_state().digOut
            if self._get_game_state().digOut < 0:
                del self._get_game_state().digOut
            else: return
  Ответить с цитированием
Старый 23.01.2015, 10:41   #3954
 Пехотинец
Аватар для vintets
 
vintets скоро будет известенvintets скоро будет известенvintets скоро будет известен
Регистрация: 01.08.2012
Сообщений: 95
Популярность: 255
Сказал(а) спасибо: 28
Поблагодарили 54 раз(а) в 38 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ruslanischeПосмотреть сообщение
Спасибо, видел уже, я думал есть нормальный код.
Что это?
Код:
        #обратный счетчик раскопки
        if hasattr(self._get_game_state(), 'digOut'):
            self._get_game_state().digOut -= 1
            #print self._get_game_state().digOut
            if self._get_game_state().digOut < 0:
                del self._get_game_state().digOut
            else: return

Это со старого бота. Этот участок даже не смотрел.

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

Гора сообщений по времени в StartTime уже сбила с толку. Непонятно в итоге где, кто и что. В итоге есть проблема или нет и что исправлять чтобы было как у белых людей?

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

Друзья, я вот с чем столкнулся, поставил крафт изума, все работало, бот скрафтил один раз и усё...то есть после 6ти часов снова не крафтит, как можно поправить это дело?) за ранее благодарю) если нужно будет скину модуль, всех с пятницей!)
  Ответить с цитированием
Старый 23.01.2015, 12:32   #3956
 Разведчик
Аватар для ruslanische
 
ruslanische никому не известный тип
Регистрация: 22.03.2012
Сообщений: 3
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
В итоге есть проблема или нет и что исправлять чтобы было как у белых людей?

Проблема проявляется, если вы опираетесь на время окончания чего либо (сбора ресурсов, грядок и т.п.) и иногда вылетает ошибка при сборе несозревшего урожая, пропускания сбора ресурсов.

Проверить, есть ли проблема думаю можно, если сделать лабораторную работу.
1. после получения game_state (сразу после посылки START) замеряем время работы бота и выводим на экран:
Код:
# надо в милисекундах
print gameTimer.getClientTime() # client_jobStart
2. далее нужно отправить одного зомби рубить лес или камень и засечь время, затраченное на отправку евента и получение евента gainMaterial:
Код:
# делаем первый замер, например до WoodTargetSelector.perform_action()
time.clock()
Важно, чтобы между пунктами 2 и 3 не вызывался time.clock, а то будет неверный замер вермени.

3. в полученном евенте gainMaterial:
- берем jobStartTime из евента и выводим на экран
- выводим на экран long(time.clock()*1000) # request_time

4. Высчитать разницу между клиентом и сервером:
Код:
delta = jobStartTime -client_jobStart
5. Выполнить тоже самое с родным клиентом и Чарли (уже лень писать как это сделать)

6. Сравнить результаты

Нормальные значения:
request_time<20, delta < 100
request_time == ~70, delta == ~250
если delta намного больше, то у вас рассинхрон с сервером

Добавлено через 9 минут
Цитата:
Сообщение от vintetsПосмотреть сообщение
Это со старого бота. Этот участок даже не смотрел.

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

Да, многое приходится костылить и *****кодить во время разработки, но надо заставлять себя потом рефакторить (приводить в порядок), иначе этот код не только другим не пригодиться, но и себе скорее всего будет дешевле заново написать (это ко всем относиться и ко мне тоже).
Модуль-то я переделаю, только вот уже на новый лад (для нового бота).

Добавлено через 13 минут
Точнее, я не переделаю а сделаю с нуля, т.к. того пациента проще сами знаете куда.

Последний раз редактировалось ruslanische; 23.01.2015 в 12:45. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 23.01.2015, 14:15   #3957
 Разведчик
Аватар для mike4kz
 
mike4kz никому не известный тип
Регистрация: 23.08.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ruslanischeПосмотреть сообщение
Проблема проявляется, если вы опираетесь на время окончания чего либо (сбора ресурсов, грядок и т.п.) и иногда вылетает ошибка при сборе несозревшего урожая, пропускания сбора ресурсов.

Это критично, только если ты сидишь на одном острове. То есть это достаточно редкое явление (во всяком случае у меня). Лично у меня полный цикл похода по островам занимает порядка 7-8 минут, то есть когда я повторно возвращаюсь на остров, урожай уже гарантированно созрел, поэтому "time elapsed" вполне нормально работает.

Я в свое время пытался сделать автоматическое исключение островов, где у меня нет "время-зависимых вещей" (урожай, деревья, работники). То есть я анализировал всех, кто зависит от времени, выбирал в каждой категории максимальное время (то есть, чтобы гарантированно созрело самое последнее дерево или грядка), и если это время прошло, то заходил на остров, а если нет, то его пропускал. Однако, как я сказал, при всех моих островах, полный цикл занимает больше времени, чем 5 минут, так что в этом отпал смысл.

Определенную роль в этом сыграло то, что какое-то время назад они ввели (вводили???) ограничение на количество events в одном запросе. Во флешевой игре (если делать все руками), кроме сбора дропов, большинство действий генерят один event на один пакет, а бот раньше отправлял больше сотни за раз (например при вскапывании или посеве). Это убыстряло процесс, но потом начали валиться ошибки. Плюс, в некоторых случаях я принудительно использую time.sleep(), чтобы сымитировать "ручной процесс".
  Ответить с цитированием
Старый 23.01.2015, 16:46   #3958
 Пехотинец
Аватар для vintets
 
vintets скоро будет известенvintets скоро будет известенvintets скоро будет известен
Регистрация: 01.08.2012
Сообщений: 95
Популярность: 255
Сказал(а) спасибо: 28
Поблагодарили 54 раз(а) в 38 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от mike4kzПосмотреть сообщение
Определенную роль в этом сыграло то, что какое-то время назад они ввели (вводили???) ограничение на количество events в одном запросе. Во флешевой игре (если делать все руками), кроме сбора дропов, большинство действий генерят один event на один пакет, а бот раньше отправлял больше сотни за раз (например при вскапывании или посеве). Это убыстряло процесс, но потом начали валиться ошибки. Плюс, в некоторых случаях я принудительно использую time.sleep(), чтобы сымитировать "ручной процесс".

Ты забываешь аэроплан. После его ввода они сами шлют пачками. Сколько у него там пунктов? Сбор, посадка, посев, удобрение, удобрение деревьев.

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

Как бы там ни было, но бага, если есть, то ее надо исправлять. Но дело каждого, конечно.
  Ответить с цитированием
Старый 23.01.2015, 18:12   #3960
 Разведчик
Аватар для LLlAKAJI
 
LLlAKAJI никому не известный тип
Регистрация: 30.04.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 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, время: 13:41.

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