![](/zhyk/misc/sp.gif) |
Zombot (Клиент для игры Зомби ферма) [Обсуждение] - Свободное обсуждение - Ваши идеи, вопросы и ответы на тему браузерных игр и социальных сетей |
21.01.2015, 22:12
|
#3946
|
|
|
|
Разведчик
|
![](/zhyk/misc/regist.png) Регистрация: 22.03.2012
![](/zhyk/misc/messages.png) Сообщений: 3
![](/zhyk/misc/reput.png) Популярность: 12
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
|
|
|
22.01.2015, 00:07
|
#3947
|
|
|
|
Разведчик
|
![](/zhyk/misc/regist.png) Регистрация: 29.07.2014
![](/zhyk/misc/messages.png) Сообщений: 0
![](/zhyk/misc/reput.png) Популярность: 10
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 5 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
У них там приятно сделано. main наследуется из class_2 , в котором описан connector. Сам connector - экземпляр VKConnector то есть class_102 , который расширяет абстрактный class_101 специфичными для VK функциями, на которых в абстрактном классе стоят raise Error . И вот в этом классе Connector (ну, если так можно читать class_101) вся логика с посылками TIME и START собрана.
![](/zhyk/misc/quotes/quot-top-left.gif) |
Цитата: |
![](/zhyk/misc/quotes/quot-top-right.gif) |
|
|
|
|
|
|
|
|
Даже непонятно, откуда в нем id появляется...
|
|
![](/zhyk/misc/quotes/quot-bot-left.gif) |
|
![](/zhyk/misc/quotes/quot-bot-right.gif) |
|
class_101.startGame вызывает
Код:
.method_919({
"type":"TIME",
"clientVersion":iver
}
, сам метод_919 это, похоже, addOnQueue . Ну и т д, где-то там при заворачивании пакета id дописывается.
Код:
id = this.var_538++;
data = ObjectUtil.copy(sendData);
data["id"] = id;
Я и говорю, недостаточно swfка обфусцирована..
![](/zhyk/misc/quotes/quot-top-left.gif) |
Цитата: |
![](/zhyk/misc/quotes/quot-top-right.gif) |
|
|
|
|
|
|
|
|
что происходит после отправки TIME?
|
|
![](/zhyk/misc/quotes/quot-bot-left.gif) |
|
![](/zhyk/misc/quotes/quot-bot-right.gif) |
|
Вернее, где происходит отправка TIME, на сколько это уровней вниз заложено и сколько колл-бэков это вызовет, каждый из которых проработает, понятно, в порядке, обратном заворачиванию. То оочень трудно понимать слово "после", в этом ключе. "После" на каком из интересующих уровней? : ))
Всё, что я выше пишу, понятно, раскопано не за день и не за два, когда пытался реконструировать saltfunc летом. И оно было понятно, куда копать - к посылкам пакетов. Когда откуда взять "Дровосеки рубят брёвна, осталось 3:43" формирование надписи - куда копать - непонятно совершенно. Я и не берусь особо. Там же ещё есть ui.swf, в который я даже глазком не заглядывал
Последний раз редактировалось megabyte0; 22.01.2015 в 01:03.
|
|
|
22.01.2015, 05:13
|
#3948
|
|
|
|
Разведчик
|
![](/zhyk/misc/regist.png) Регистрация: 13.08.2013
![](/zhyk/misc/messages.png) Сообщений: 2
![](/zhyk/misc/reput.png) Популярность: 10
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Последний раз редактировалось Xmaxudigun; 22.01.2015 в 09:07.
|
|
|
22.01.2015, 10:48
|
#3949
|
|
|
|
Разведчик
|
![](/zhyk/misc/regist.png) Регистрация: 22.03.2012
![](/zhyk/misc/messages.png) Сообщений: 3
![](/zhyk/misc/reput.png) Популярность: 12
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Получилась такая же разница между jobStartTime и временем перед отправкой на работы как и в родном клиенте. Буду тестировать.
Добавлено через 14 минут
Еще, судя по коду коду клиента, когда собираюстся грядки, то время переводится во время сервера:
Код:
timeToServerTime(client_time)
Последний раз редактировалось ruslanische; 22.01.2015 в 11:02.
Причина: Добавлено сообщение
|
|
|
22.01.2015, 15:57
|
#3950
|
|
|
|
Разведчик
|
![](/zhyk/misc/regist.png) Регистрация: 29.07.2014
![](/zhyk/misc/messages.png) Сообщений: 0
![](/zhyk/misc/reput.png) Популярность: 10
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 5 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Спасибо за наводку, там всё и правда просто
Код:
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
|
|
|
|
Разведчик
|
![](/zhyk/misc/regist.png) Регистрация: 22.03.2012
![](/zhyk/misc/messages.png) Сообщений: 3
![](/zhyk/misc/reput.png) Популярность: 12
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 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
|
|
|
|
Разведчик
|
![](/zhyk/misc/regist.png) Регистрация: 29.07.2014
![](/zhyk/misc/messages.png) Сообщений: 0
![](/zhyk/misc/reput.png) Популярность: 10
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 0
Поблагодарили 8 раз(а) в 5 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
|
|
|
22.01.2015, 17:08
|
#3953
|
|
|
|
Разведчик
|
![](/zhyk/misc/regist.png) Регистрация: 22.03.2012
![](/zhyk/misc/messages.png) Сообщений: 3
![](/zhyk/misc/reput.png) Популярность: 12
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
![](/zhyk/misc/quotes/quot-top-left.gif) |
Цитата: |
![](/zhyk/misc/quotes/quot-top-right.gif) |
|
|
|
|
Спасибо, видел уже, я думал есть нормальный код.
Что это?
Код:
#обратный счетчик раскопки
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
|
|
|
|
Пехотинец
|
![](/zhyk/misc/regist.png) Регистрация: 01.08.2012
![](/zhyk/misc/messages.png) Сообщений: 95
![](/zhyk/misc/reput.png) Популярность: 255
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 28
Поблагодарили 54 раз(а) в 38 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Это со старого бота. Этот участок даже не смотрел.
Ну да, там многое сделано на педалях, не дело конечно, но работает исправно и не охота было заморачиваться.
Теперь программисты, надеюсь, возьмут это в свои руки.
Гора сообщений по времени в StartTime уже сбила с толку. Непонятно в итоге где, кто и что. В итоге есть проблема или нет и что исправлять чтобы было как у белых людей?
Последний раз редактировалось vintets; 23.01.2015 в 10:53.
|
|
|
23.01.2015, 12:27
|
#3955
|
|
|
|
Разведчик
|
![](/zhyk/misc/regist.png) Регистрация: 22.03.2014
![](/zhyk/misc/messages.png) Сообщений: 0
![](/zhyk/misc/reput.png) Популярность: 10
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 0
Поблагодарили 6 раз(а) в 5 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Друзья, я вот с чем столкнулся, поставил крафт изума, все работало, бот скрафтил один раз и усё...то есть после 6ти часов снова не крафтит, как можно поправить это дело?) за ранее благодарю) если нужно будет скину модуль, всех с пятницей!)
|
|
|
23.01.2015, 12:32
|
#3956
|
|
|
|
Разведчик
|
![](/zhyk/misc/regist.png) Регистрация: 22.03.2012
![](/zhyk/misc/messages.png) Сообщений: 3
![](/zhyk/misc/reput.png) Популярность: 12
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
![](/zhyk/misc/quotes/quot-top-left.gif) |
Цитата: |
![](/zhyk/misc/quotes/quot-top-right.gif) |
|
|
|
|
|
|
|
В итоге есть проблема или нет и что исправлять чтобы было как у белых людей? |
|
![](/zhyk/misc/quotes/quot-bot-left.gif) |
|
![](/zhyk/misc/quotes/quot-bot-right.gif) |
|
Проблема проявляется, если вы опираетесь на время окончания чего либо (сбора ресурсов, грядок и т.п.) и иногда вылетает ошибка при сборе несозревшего урожая, пропускания сбора ресурсов.
Проверить, есть ли проблема думаю можно, если сделать лабораторную работу.
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 минут
![](/zhyk/misc/quotes/quot-top-left.gif) |
Цитата: |
![](/zhyk/misc/quotes/quot-top-right.gif) |
|
|
|
|
|
|
|
|
Это со старого бота. Этот участок даже не смотрел.
Ну да, там многое сделано на педалях, не дело конечно, но работает исправно и не охота было заморачиваться.
Теперь программисты, надеюсь, возьмут это в свои руки.
|
|
![](/zhyk/misc/quotes/quot-bot-left.gif) |
|
![](/zhyk/misc/quotes/quot-bot-right.gif) |
|
Да, многое приходится костылить и *****кодить во время разработки, но надо заставлять себя потом рефакторить (приводить в порядок), иначе этот код не только другим не пригодиться, но и себе скорее всего будет дешевле заново написать (это ко всем относиться и ко мне тоже).
Модуль-то я переделаю, только вот уже на новый лад (для нового бота).
Добавлено через 13 минут
Точнее, я не переделаю а сделаю с нуля, т.к. того пациента проще сами знаете куда.
Последний раз редактировалось ruslanische; 23.01.2015 в 12:45.
Причина: Добавлено сообщение
|
|
|
23.01.2015, 14:15
|
#3957
|
|
|
|
Разведчик
|
![](/zhyk/misc/regist.png) Регистрация: 23.08.2013
![](/zhyk/misc/messages.png) Сообщений: 1
![](/zhyk/misc/reput.png) Популярность: 10
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
![](/zhyk/misc/quotes/quot-top-left.gif) |
Цитата: |
![](/zhyk/misc/quotes/quot-top-right.gif) |
|
|
|
|
|
|
|
|
Проблема проявляется, если вы опираетесь на время окончания чего либо (сбора ресурсов, грядок и т.п.) и иногда вылетает ошибка при сборе несозревшего урожая, пропускания сбора ресурсов.
|
|
![](/zhyk/misc/quotes/quot-bot-left.gif) |
|
![](/zhyk/misc/quotes/quot-bot-right.gif) |
|
Это критично, только если ты сидишь на одном острове. То есть это достаточно редкое явление (во всяком случае у меня). Лично у меня полный цикл похода по островам занимает порядка 7-8 минут, то есть когда я повторно возвращаюсь на остров, урожай уже гарантированно созрел, поэтому "time elapsed" вполне нормально работает.
Я в свое время пытался сделать автоматическое исключение островов, где у меня нет "время-зависимых вещей" (урожай, деревья, работники). То есть я анализировал всех, кто зависит от времени, выбирал в каждой категории максимальное время (то есть, чтобы гарантированно созрело самое последнее дерево или грядка), и если это время прошло, то заходил на остров, а если нет, то его пропускал. Однако, как я сказал, при всех моих островах, полный цикл занимает больше времени, чем 5 минут, так что в этом отпал смысл.
Определенную роль в этом сыграло то, что какое-то время назад они ввели (вводили???) ограничение на количество events в одном запросе. Во флешевой игре (если делать все руками), кроме сбора дропов, большинство действий генерят один event на один пакет, а бот раньше отправлял больше сотни за раз (например при вскапывании или посеве). Это убыстряло процесс, но потом начали валиться ошибки. Плюс, в некоторых случаях я принудительно использую time.sleep(), чтобы сымитировать "ручной процесс".
|
|
|
23.01.2015, 16:46
|
#3958
|
|
|
|
Пехотинец
|
![](/zhyk/misc/regist.png) Регистрация: 01.08.2012
![](/zhyk/misc/messages.png) Сообщений: 95
![](/zhyk/misc/reput.png) Популярность: 255
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 28
Поблагодарили 54 раз(а) в 38 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
![](/zhyk/misc/quotes/quot-top-left.gif) |
Цитата: |
![](/zhyk/misc/quotes/quot-top-right.gif) |
|
|
|
|
|
|
|
|
Определенную роль в этом сыграло то, что какое-то время назад они ввели (вводили???) ограничение на количество events в одном запросе. Во флешевой игре (если делать все руками), кроме сбора дропов, большинство действий генерят один event на один пакет, а бот раньше отправлял больше сотни за раз (например при вскапывании или посеве). Это убыстряло процесс, но потом начали валиться ошибки. Плюс, в некоторых случаях я принудительно использую time.sleep(), чтобы сымитировать "ручной процесс".
|
|
![](/zhyk/misc/quotes/quot-bot-left.gif) |
|
![](/zhyk/misc/quotes/quot-bot-right.gif) |
|
Ты забываешь аэроплан. После его ввода они сами шлют пачками. Сколько у него там пунктов? Сбор, посадка, посев, удобрение, удобрение деревьев.
+ гиперсфера крутящая все рулетки разом (ХЗ у меня нет)
+ дарение бесплаток
+ дарение платных ??? ХЗ
+ новый крафт с заданным числом
Все эти действия пакуют в один эвент
|
|
|
23.01.2015, 17:04
|
#3959
|
|
|
|
Разведчик
|
![](/zhyk/misc/regist.png) Регистрация: 22.03.2012
![](/zhyk/misc/messages.png) Сообщений: 3
![](/zhyk/misc/reput.png) Популярность: 12
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Как бы там ни было, но бага, если есть, то ее надо исправлять. Но дело каждого, конечно.
|
|
|
23.01.2015, 18:12
|
#3960
|
|
|
|
Разведчик
|
![](/zhyk/misc/regist.png) Регистрация: 30.04.2013
![](/zhyk/misc/messages.png) Сообщений: 0
![](/zhyk/misc/reput.png) Популярность: 10
![](/zhyk/misc/thnx.png) Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Уважаемые, поделитесь ботом на питоне, лопатить столько стриниц в поисках ссылки уже глаза болят. Будьте так добры.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 13:41.
|
![](/zhyk/misc/sp.gif) |