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

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

-

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

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

Ответ
 
Опции темы
Старый 02.05.2014, 16:41   #2146
 Разведчик
Аватар для JohnMorgan
 
JohnMorgan никому не известный тип
Регистрация: 14.02.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ProPeinПосмотреть сообщение
да есть всё там!.882 милиона. мало что ли?

Остров тот?:В На тех координатах точно есть грядка?
  Ответить с цитированием
Старый 02.05.2014, 18:24   #2147
 Разведчик
Аватар для ProPein
 
ProPein никому не известный тип
Регистрация: 06.07.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

ОСТРОВ ТОТ,ГРЯДКИ ЕСТЬ, ДЕНЬГИ ЕСТЬ! МИНУТКИ АКТИВИРОВАНЫ! ПОВАРА НЕ СТОЯТ!
  Ответить с цитированием
Старый 02.05.2014, 19:20   #2148
 Разведчик
Аватар для Znewf
 
Znewf никому не известный тип
Регистрация: 01.03.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Отправить сообщение для Znewf с помощью ICQ
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ZnewfПосмотреть сообщение
за звездочетов кто-нибудь знает?. Бот вылетает после выгона этих товарищей на работу.

Добавлю, что ошибка
PHP код:
   File "C:\P\game_actors_amd_handlers\digger_graves.py"line 66in handle
     gameObject
.gainTime event_to_handle.gainTime
AttributeError
'GameSrartTimeGain' object has no attribute 'gainTime' 
возникает не только после выгона звездочетов но и рыбаков, которые требуют мозги.
Модуль написан mike4kz-ом, кто-то знает как решить проблему?)

Последний раз редактировалось Znewf; 02.05.2014 в 19:22.
  Ответить с цитированием
Старый 02.05.2014, 21:44   #2149
 Разведчик
Аватар для greyzza
 
greyzza никому не известный тип
Регистрация: 25.02.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

вот бьем Сильвера в теме не нашел может надо кому
PHP код:
        if not enemies:
            
open('.\counts\\SilverHit.txt','w').write('')
        for 
object in self._get_game_location().get_game_objects():
            if 
object.type == 'pirateEnemy':
                
hitsilver open('.\counts\\SilverHit.txt','r').read()
                if 
not str(object.idin hitsilver:
                    
gain_event = {"action":"hit","objId":object.id,"type":"pirateEnemy"}
                    
open('.\counts\\SilverHit.txt','a').write(str(object.id)+',')
                    
self._get_events_sender().send_game_events( [gain_event] )
                    
counthealt object.health-1
                    self
.cprint(u'5БЬЮ СИЛЬВЕРА^7_id:%s^2_осталось добить^6_%d^2_раза'%(str(object.id),counthealt)) 
вставляем в chop.py
и кстати не нашел где храниться инфа о том что я уже ударил сильвера поэтому сделал пока так,хотя так нормально работает.Может кто знает подскажите
и да self.cprint кто не пользует поменяйте на
PHP код:
logger.info(u'БЬЮ СИЛЬВЕРА %s осталось добить %d раз(а)'%(str(object.id),counthealt)) 
Изображения
Тип файла: jpg Сохраненное изображение 2014-5-2_23-14-22.680.jpg (86.1 Кб, 59 просмотров)

Последний раз редактировалось greyzza; 02.05.2014 в 22:40.
  Ответить с цитированием
Старый 03.05.2014, 03:50   #2150
 Разведчик
Аватар для mike4kz
 
mike4kz никому не известный тип
Регистрация: 23.08.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от greyzzaПосмотреть сообщение
и кстати не нашел где храниться инфа о том что я уже ударил сильвера поэтому сделал пока так,хотя так нормально работает.

Честно говоря, я плаваю только со своими клонами, причем запускаю всех одновременно. Сильвера бью у всех, так что проблем со счетчиком не возникает. Возможно если плыть куда-то матросом, и ждать, пока кто-то другой дойдет до того же Сильвера...

Кстати, в некоторых случаях можно вместо внешнего текстового файла использовать переменные в game_state.py. Например, если поставить в файле в:

PHP код:
class GameState():
    
def __init(self,start_response,item_reader):
        
self.test 'abc' 
...то потом из того же файла chop.py ее значение можно будет вызывать через:

PHP код:
self._get_game_state().test 
То есть если туда, например, сохранять стукнутых Сильверов как list, а потом вызывать по мере надобности, то можно обойтись и без файла.

С другой стороны если игру перезапустить, то переменная обнулится, а статус на сервере останется, что вызовет ingame_error.
  Ответить с цитированием
Старый 03.05.2014, 04:06   #2151
 Разведчик
Аватар для Znewf
 
Znewf никому не известный тип
Регистрация: 01.03.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Отправить сообщение для Znewf с помощью ICQ
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

подскажите можно как-то исключать возможность кручения рулеток рядом с сильвером, допустим есть запросы на кручение рулеток с ошибками
PHP код:
"events":[{"action":"play","type":"game","objId":-7450,"extraId":"B_PIRATE_SLOT_ROULETTE"}]}'} 
как создать словарик исключений ошибочных рулеток, чтоб бот игнорировал на эвент такие рулетки из словаря и прокручивал только те рулетки которым не мешает сильвер
  Ответить с цитированием
Старый 03.05.2014, 05:42   #2152
 Разведчик
Аватар для GirlKris
 
GirlKris никому не известный тип
Регистрация: 17.02.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ZnewfПосмотреть сообщение
подскажите можно как-то исключать возможность кручения рулеток рядом с сильвером, допустим есть запросы на кручение рулеток с ошибками
PHP код:
"events":[{"action":"play","type":"game","objId":-7450,"extraId":"B_PIRATE_SLOT_ROULETTE"}]}'} 
как создать словарик исключений ошибочных рулеток, чтоб бот игнорировал на эвент такие рулетки из словаря и прокручивал только те рулетки которым не мешает сильвер

Выбираешь поиск в этой теме. Пишешь "рулетки сильвер" и ... вуаля
  Ответить с цитированием
Старый 03.05.2014, 09:23   #2153
 Разведчик
Аватар для greyzza
 
greyzza никому не известный тип
Регистрация: 25.02.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
можно будет вызывать через

спасибо
Цитата:
что вызовет ingame_error.

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

Цитата:
Сообщение от ZnewfПосмотреть сообщение
Добавлю, что ошибка
PHP код:
   File "C:\P\game_actors_amd_handlers\digger_graves.py"line 66in handle
     gameObject
.gainTime event_to_handle.gainTime
AttributeError
'GameSrartTimeGain' object has no attribute 'gainTime' 
возникает не только после выгона звездочетов но и рыбаков, которые требуют мозги.
Модуль написан mike4kz-ом, кто-то знает как решить проблему?)

в модуле digger_graves вставляем это-
PHP код:
class TimeGainEventHandler(object):

    
def __init__(selfitem_readergame_locationtimer):
        
self.__item_reader item_reader
        self
.__game_location game_location
        self
.__timer timer

    def _get_timer
(self):
        return 
self.__timer

    def handle
(selfevent_to_handle):
        
gameObject self.__game_location.get_object_by_id(
            
event_to_handle.objId
        
)
        if 
gameObject is None:
            
logger.critical("OMG! No such object")
            return
        else:
            
worker self.__item_reader.get(gameObject.item).name
            
if hasattr(gameObject'gainTime') and gameObject.gainTime and self._get_timer().has_elapsed(gameObject.gainTime):
                    
logger.info(worker u' принёс')
                    
gameObject.materials += 1
                    gameObject
.gainTime None
            
if event_to_handle.action == 'start':
                
gameObject.started True
        
if hasattr(event_to_handle,'gainTime'):    
                
gameObject.gainTime event_to_handle.gainTime
                logger
.info(worker u' принесёт через ' str((int(gameObject.gainTime) - self._get_timer()._get_current_client_time())/1000/60) + u' мин.')
            else:
                
gameObject.started False 
где-то это уже описывалось,но найти к сожалению трудно))))
  Ответить с цитированием
Старый 03.05.2014, 12:33   #2155
 Пехотинец
Аватар для vintets
 
vintets скоро будет известенvintets скоро будет известенvintets скоро будет известен
Регистрация: 01.08.2012
Сообщений: 95
Популярность: 255
Сказал(а) спасибо: 28
Поблагодарили 54 раз(а) в 38 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от mike4kzПосмотреть сообщение
С другой стороны если игру перезапустить, то переменная обнулится, а статус на сервере останется, что вызовет ingame_error.

Цитата:
Сообщение от greyzzaПосмотреть сообщение
значит через внешний файл все таки лучше, со счетчиком проблем нет ,плаваю тоже со своими фейками, просто думаю где-то храниться же инфа что я уже бил сильвера

Ошибки не будет. Это же сильсер... Просто придёт ответ от сервера, что мы его уже били. Можно совсем не проверять и лупить всегда.
  Ответить с цитированием
Старый 03.05.2014, 14:04   #2156
 Разведчик
Аватар для greyzza
 
greyzza никому не известный тип
Регистрация: 25.02.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Можно совсем не проверять и лупить всегда

можно просто когда интервал маленький он его часто принтует, а так да я в курсе что ошибки не будет
  Ответить с цитированием
Старый 03.05.2014, 18:34   #2157
 Разведчик
Аватар для gasire
 
gasire никому не известный тип
Регистрация: 15.02.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ProPeinПосмотреть сообщение
в другой бот попробуй логин и пароль ввести.

у меня все 5 ботов такую ошибку шлют!!!
  Ответить с цитированием
Старый 03.05.2014, 19:44   #2158
 Разведчик
Аватар для Znewf
 
Znewf никому не известный тип
Регистрация: 01.03.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Отправить сообщение для Znewf с помощью ICQ
 
Smile Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Cheater-84Посмотреть сообщение
в модуле digger_graves вставляем это-
PHP код:
class TimeGainEventHandler(object):

    
def __init__(selfitem_readergame_locationtimer):
        
self.__item_reader item_reader
        self
.__game_location game_location
        self
.__timer timer

    def _get_timer
(self):
        return 
self.__timer

    def handle
(selfevent_to_handle):
        
gameObject self.__game_location.get_object_by_id(
            
event_to_handle.objId
        
)
        if 
gameObject is None:
            
logger.critical("OMG! No such object")
            return
        else:
            
worker self.__item_reader.get(gameObject.item).name
            
if hasattr(gameObject'gainTime') and gameObject.gainTime and self._get_timer().has_elapsed(gameObject.gainTime):
                    
logger.info(worker u' принёс')
                    
gameObject.materials += 1
                    gameObject
.gainTime None
            
if event_to_handle.action == 'start':
                
gameObject.started True
        
if hasattr(event_to_handle,'gainTime'):    
                
gameObject.gainTime event_to_handle.gainTime
                logger
.info(worker u' принесёт через ' str((int(gameObject.gainTime) - self._get_timer()._get_current_client_time())/1000/60) + u' мин.')
            else:
                
gameObject.started False 
где-то это уже описывалось,но найти к сожалению трудно))))

Спасибо, но этот кусок кода уже прописан в модуле от mike4kz, кроме строки
PHP код:
        if hasattr(event_to_handle,'gainTime'): 
но махинации с ней не к чему хорошему не привордят, бот не запускается

Цитата:
Сообщение от GirlKrisПосмотреть сообщение
Выбираешь поиск в этой теме. Пишешь "рулетки сильвер" и ... вуаля

благодарю.
Отдельная благодарность автору скрипта.

Последний раз редактировалось Znewf; 03.05.2014 в 20:01.
  Ответить с цитированием
Старый 04.05.2014, 07:40   #2159
 Разведчик
Аватар для GirlKris
 
GirlKris никому не известный тип
Регистрация: 17.02.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Модуль для обмена коллекций. 'exchange.py'
Код:
# coding=utf-8
import logging
from math import ceil
from game_state.game_types import GameBuilding
from game_actors_and_handlers.base import BaseActor
from game_state.game_event import dict2obj, obj2dict


logger = logging.getLogger(__name__)

class ExchangeCollections(BaseActor):
    def perform_action(self):
        
        # Сколько оставлять коллекций
        collections = {
                  "C_1":10000,         # Звёздная
                  "C_2":10000,         # Луксорская
                  "C_3":10000,         # Байкерская
                  "C_4":10000,         # Знаков
                  "C_5":10000,         # Ручная
                  "C_6":10000,         # Обувная
                  "C_7":10000,         # Страшная
                  "C_8":10000,         # Строительная
                  "C_9":10000,         # Столовая
                  "C_10":10000,        # Редкая
                  "C_11":10000,        # Автомобильная
                  "C_12":10000,        # Туристическая
                  "C_13":10000,        # Домашняя
                  "C_14":10000,        # Игрушек
                  "C_15":10000,        # Ёлочная
                  "C_16":10000,        # Кролика
                  "C_17":10000,        # Цветов
                  "C_18":10000,        # Деда Мороза
                  "C_19":10000,        # Анти-зомби
                  "C_20":10000,        # Брендов
                  "C_21":10000,        # Весенняя
                  "C_22":10000,        # Тинейджерская
                  "C_23":10000,        # Компа
                  "C_24":10000,        # Морская
                  "C_25":10000,        # Пляжная
                  "C_26":10000,        # Майя
                  "C_27":10000,        # Секретная
                  "C_28":10000,        # Гипер
                  "C_29":10000,        # Хэллоуин
                  "C_30":10000,        # Президентская
                  "C_31":10000,        # Зимняя
                  "C_32":10000,        # Подземельная
                  "C_33":10000,        # Любовная
                  "C_34":10000,        # Адская
                  "C_35":10000,        # Райская
                  "C_36":10000,        # Японская
                  "C_37":10000,        # Школьная
                  "C_38":10000,        # Пиратская
                  "C_39":10000,        # Рыбака
                  "C_40":10000,        # Военная
                  "C_41":10000,        # Футбольная
                  "C_42":10000,        # Изумрудная
                  "C_43":10000,        # Песочная 
                  "C_44":10000,        # Котят
                  "C_45":10000,        # Щенков
                  "C_46":10000,        # Тропическая
                  "C_47":10000,        # Плохая
                  "C_48":10000,        # Палача
                  "C_49":10000,        # Фобий
                  "C_50":10000,        # Вкусная
                  "C_51":10000         # Временная
                  }
                  
        # Словарь названий коллекций          
        name = {"C_1":u"Звёздная","C_2":u"Луксорская","C_3":u"Байкерская","C_4":u"Знаков","C_5":u"Ручная","C_6":u"Обувная","C_7":u"Страшная","C_8":u"Строительная","C_9":u"Столовая","C_10":u"Редкая","C_11":u"Автомобильная","C_12":u"Туристическая","C_13":u"Домашняя","C_14":u"Игрушек","C_15":u"Ёлочная","C_16":u"Кролика","C_17":u"Цветов","C_18":u"Деда Мороза","C_19":u"Анти-зомби","C_20":u"Брендов","C_21":u"Весенняя","C_22":u"Тинейджерская","C_23":u"Компа","C_24":u"Морская","C_25":u"Пляжная","C_26":u"Майя","C_27":u"Секретная","C_28":u"Гипер","C_29":u"Хэллоуин","C_30":u"Президентская","C_31":u"Зимняя","C_32":u"Подземельная","C_33":u"Любовная","C_34":u"Адская","C_35":u"Райская","C_36":u"Японская","C_37":u"Школьная","C_38":u"Пиратская","C_39":u"Рыбака","C_40":u"Военная","C_41":u"Футбольная","C_42":u"Изумрудная","C_43":u"Песочная","C_44":u"Котят","C_45":u"Щенков","C_46":u"Тропическая","C_47":u"Плохая","C_48":u"Палача","C_49":u"Фобий","C_50":u"Вкусная","C_51":u"Временная"}          
                  
                   
                  
        # Получаем количество на складе                             
        cl_items = obj2dict(self._get_game_state().get_state().collectionItems)
        for collection in collections: # Создаём item всех элементов         
            element_1 = collection + "_1"
            element_2 = collection + "_2"
            element_3 = collection + "_3"
            element_4 = collection + "_4"
            element_5 = collection + "_5"
            
            # Проверка на наличие собранной коллекции
            if (element_1 in cl_items) and (element_2 in cl_items) and (element_3 in cl_items) and (element_4 in cl_items) and (element_5 in cl_items):
                # И вычисляем сколько обменять
                count = min(cl_items[element_1],cl_items[element_2],cl_items[element_3],cl_items[element_4],cl_items[element_5]) - collections[collection]
                if count > 0:
                    event = [{"type":"item","count":count,"itemId":collection,"action":"collect"}]
                    self._get_events_sender().send_game_events(event)
                    logger.info(u"Обменяли %d коллекций '%s' "%(count,name[collection]))
                    self._get_game_state().remove_from_storage('@'+element_1, cl_items[element_1] - count)
                    self._get_game_state().remove_from_storage('@'+element_2, cl_items[element_2] - count)
                    self._get_game_state().remove_from_storage('@'+element_3, cl_items[element_3] - count)
                    self._get_game_state().remove_from_storage('@'+element_4, cl_items[element_4] - count)
                    self._get_game_state().remove_from_storage('@'+element_5, cl_items[element_5] - count)
                    cl_items[element_1] -= count
                    cl_items[element_2] -= count
                    cl_items[element_3] -= count
                    cl_items[element_4] -= count
                    cl_items[element_5] -= count
                    
        self._get_game_state().get_state().collectionItems=dict2obj(cl_items)
Прописать в game_engine.py
Код:
from game_actors_and_handlers.exchange import ExchangeCollections

        actor_classes = [
            ExchangeCollections,         # Обмен коллекций
        ]
  Ответить с цитированием
Пользователь сказал cпасибо:
maks_maks) (06.05.2014)
Старый 04.05.2014, 11:55   #2160
 Разведчик
Аватар для maxmydjer
 
maxmydjer никому не известный тип
Регистрация: 12.06.2011
Сообщений: 22
Популярность: 12
Сказал(а) спасибо: 13
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

ребята, кому не сложно , выложите рабочий модуль для создания проездного , нашел тут его ,запустил , но там косяк , решения этого косяка так и не нашел
Изображения
Тип файла: jpg Безым123янный.jpg (195.9 Кб, 42 просмотров)
Вложения
Тип файла: txt create_ticket.txt (1.8 Кб, 21 просмотров)
  Ответить с цитированием
Ответ


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

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, время: 19:47.

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