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

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

-

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

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

Ответ
 
Опции темы
Старый 30.03.2016, 22:07   #4921
 Разведчик
Аватар для viver9
 
viver9 никому не известный тип
Регистрация: 27.04.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Triumf2016Посмотреть сообщение
дык и так все работает...во всяком случае у меня как обычно все...

разве у меня написано что бот перестал работать?
  Ответить с цитированием
Старый 30.03.2016, 22:30   #4922
 Разведчик
Аватар для Triumf2016
 
Triumf2016 никому не известный тип
Регистрация: 18.01.2016
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 14 раз(а) в 13 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от viver9Посмотреть сообщение
разве у меня написано что бот перестал работать?

нет, а я и не говорил что у тебя не работает, ну если уж на то дело пошло....
________________
Помогите с ботом Клондайк
  Ответить с цитированием
Старый 01.04.2016, 00:33   #4923
 Разведчик
Аватар для shuls188
 
shuls188 никому не известный тип
Регистрация: 01.04.2016
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

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

А вот и [Ссылки могут видеть только зарегистрированные пользователи. ] для файла в сообщении выше подвезли.

Ori.Man.Aleks, под линуксом работает, например, уважаемый mike4kz .

viver9, ой, ну Вы же программист? Почему ж сразу чужими руками и жар загрeбaть? О проблеме известно, и она решена, например ruslanische, попробуйте посмотреть его посты в теме. Плюсом к замеченному Вами, были поправлены и &gz=y серверу (что снижает нагрузку на сеть раз в 10 имхо), генерация clientTime и serverTime в первых запросах.
Если уж полностью соответствовать swf-клиенту, тогда и CLIENT_VERSION нужно отдавать по-новее, а как? Каждый раз руками править или zombiferma.swf парсить? Непонятно, что хуже.
Да и не только эти проблемы должны выплыть, если всё по уму делать, имхо.

Последний раз редактировалось megabyte0; 01.04.2016 в 04:04.
  Ответить с цитированием
Старый 03.04.2016, 04:31   #4925
 Разведчик
Аватар для viver9
 
viver9 никому не известный тип
Регистрация: 27.04.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

не видел в теме таких исправлений и во всех ботах что видел их не было вот и написал.
я считаю что если делать то лучше делать по уму.
и лично я каждый раз меняю версию клиента так как считаю это САМЫМ ЛЕГКИМ способом выловить ботовода
  Ответить с цитированием
Старый 06.04.2016, 17:06   #4926
 Разведчик
Аватар для MUXALbICH
 
MUXALbICH скоро будет известенMUXALbICH скоро будет известенMUXALbICH скоро будет известенMUXALbICH скоро будет известен
Регистрация: 18.09.2011
Сообщений: 14
Популярность: 358
Сказал(а) спасибо: 120
Поблагодарили 18 раз(а) в 14 сообщениях
Отправить сообщение для MUXALbICH с помощью ICQ Отправить сообщение для MUXALbICH с помощью Skype™
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

а чо есть актуальная версия? и где ее скачать. Заранее спасибо!
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Помог? Нажми спасибо!
  Ответить с цитированием
Старый 09.04.2016, 01:51   #4927
 Разведчик
Аватар для bes2010
 
bes2010 никому не известный тип
Регистрация: 04.11.2010
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Друзья, кто нибудь сталкивался уже с такой проблемой рубки островов УПС (болото, поле чудес, каморка) и нового Забытого острова? Выдает такую ошибку.. Создается впечатление, что он в упор не хочет видеть инвентарь со склада.. Может что-то подправить или добавить в код нужно? Помогите, пожалуйста, советом!
Заранее благодарю
[Ссылки могут видеть только зарегистрированные пользователи. ]

Chop
Код:
# coding=utf-8
import logging
import sys
import time
import os.path
import os
from game_state.game_types import GameWoodGrave, GameWoodGraveDouble,\
    GamePickItem, GameWoodTree, GameStone, GameGainItem, GamePickup
from game_state.game_event import dict2obj, obj2dict
from game_actors_and_handlers.base import BaseActor

logger = logging.getLogger(__name__)


class PirateTreeCut(BaseActor):

    def get_object_type(self):
        return "chop"

    def perform_action(self):
        options = [
                u'вскрытие сокровищ'
                ]
        resources = self._get_game_location().get_all_objects_by_type(
                    self.get_object_type()
                )
        enemies = self._get_game_location().get_all_objects_by_type("pirateEnemy")
          
        # пиратские острова : Остров сокровищ , Таинственный , Жуткий , Северный полюс , Остров сокровищ , Древний
        pirate_locs_id = ["exploration_isle1_random","exploration_isle2_random","exploration_isle3_random","exploration_snow1","exploration_isle1_1","exploration_isle4_random","exploration_isle_un1_4"]
        _loc = self._get_game_state().get_game_loc().get_location_id() # текущая локация

        instruments = []        # переменная для инструментов
        _loc = self._get_game_state().get_game_loc().get_location_id() # текущая локация
        
        sklad = False
        if resources:
            if _loc not in pirate_locs_id:
                sklad = True
                st_items = self._get_game_state().get_state().storageItems # Предметы на складе
                #print u'СКЛАД!'
                for item in list(st_items):
                    if hasattr(item, "item"):
                        if '@CHOP_' in item.item: 
                            instruments.append(dict2obj({"item":item.item, "count": item.count}))
                        
                        # или
                        # reader = self._get_item_reader().get(item.item)
                        # if reader.type == 'chopInstrument':
                            # instruments.append(dict2obj({"item":item.item, "count": item.count}))
                        
                        # или
                        # if item.item == ('@CHOP_MACHETE'): #мачете
                            # instruments.append(dict2obj({"item":"@CHOP_MACHETE", "count": item.count}))
                        # if item.item == ('@CHOP_AXE'): #топор
                            # instruments.append(dict2obj({"item":"@CHOP_AXE", "count": item.count}))
                        # if item.item == ('@CHOP_HAMMER'): #кирка
                            # instruments.append(dict2obj({"item":"@CHOP_HAMMER", "count": item.count}))
                        # if item.item == ('@CHOP_TRIDENT'): #Трезубец
                            # instruments.append(dict2obj({"item":"@CHOP_TRIDENT", "count": item.count}))
                        
                        # или ссылками, тогда исправить учёт траты
                        # if hasattr(item, "item") and item.item in ['@CHOP_MACHETE','@CHOP_AXE','@CHOP_HAMMER','@CHOP_TRIDENT','@CHOP_TRIDENT_GOLDEN']: 
                            # instruments.append(item)
            else: instruments = self._get_game_state().get_state().pirate.instruments
            
            CHOP_MACHETE = 10000
            CHOP_AXE = 10000
            CHOP_HAMMER = 10000
            CHOP_TRIDENT = 0
            for tool in instruments:
                if hasattr(tool, "item"):
                    if tool.item == '@CHOP_MACHETE': CHOP_MACHETE = tool.count
                    if tool.item == '@CHOP_AXE': CHOP_AXE = tool.count
                    if tool.item == '@CHOP_HAMMER': CHOP_HAMMER = tool.count
                    if tool.item == '@CHOP_TRIDENT': CHOP_TRIDENT = tool.count
            print u'Инструмента перед рубкой М-Т-К-Тр:', str(CHOP_MACHETE)+'-'+str(CHOP_AXE)+'-'+str(CHOP_HAMMER)+'-'+str(CHOP_TRIDENT)
            if (CHOP_MACHETE > 250 and CHOP_HAMMER > 250):
                self._get_game_state().many_chop = 1  # проставили many_chop если мачете и кирки за 250

            resources_dict = {resource : resource.x for resource in resources}
            resources_order = resources_dict.items()
            if not hasattr(self._get_game_state(), 'many_chop'): # рублено не много, будем сортировать
                resources_order.sort(key=lambda x: x[::-1], reverse=True)  # ресурсы отсортированные по X
            #print resources_order
            
            # Пинатель       
            if enemies:
                if not hasattr(self, 'enemies'):self.enemies = []
                for enemy in enemies:
                    if enemy.id in self.enemies:continue
                    print u'Шуганём сильвера '+str(enemy.id)
                    self._get_events_sender().send_game_events([{"type":"pirateEnemy","objId":enemy.id,"action":"hit"}])
                    self.enemies.append(enemy.id)
                    #self._get_game_location().remove_object_by_id(enemy.id)
            
            print u'Ресурсов видно:', len(resources_order)
            for resource in resources_order:
                resource = resource[0]
                #print 'Obj: ', resource.item.ljust(27, " "), ' id = ', resource.id
                #print 'resource ', resource,' ', resource.x 
                #print obj2dict(resource)
                tool_needed = resource.chopCount
                type_of_res = resource.item
                type_of_instrument = self._get_item_reader().get(type_of_res).chopInstrumentType
                    
                # сортируем что рубим, а что нет
                if (not hasattr(self._get_game_state(), 'many_chop')): # рублено не много, ограничиваем траты
                    if type_of_instrument == '@CIT_MACHETE':                     # мачете
                        pass
                    elif type_of_instrument == '@CIT_TRIDENT':                  # трезубец
                        pass
                    elif type_of_instrument == '@CIT_AXE':                       # топоры
                        if CHOP_AXE > 600 or tool_needed == 10 or tool_needed == 15 or tool_needed == 16 or tool_needed > 49:
                            pass
                        else: continue
                    elif type_of_instrument == '@CIT_HAMMER':                    # кирки
                        if ('CH_BLACKSTONE' in type_of_res) or ('CH_GREENSTONE' in type_of_res) or ('CH_WHITESTONE' in type_of_res) or ('CH_CRYSTALSTONE' in type_of_res) or tool_needed > 49:
                            pass
                        else: continue 
                
                for tool in instruments:
                    #print "self._get_item_reader().get(tool.item).chopInstrumentType", self._get_item_reader().get(tool.item).chopInstrumentType
                    #print "type_of_instrument", type_of_instrument
                    if not hasattr(tool, "item"):
                        print u'Нет итема', obj2dict(tool)
                        continue
                    if self._get_item_reader().get(tool.item).chopInstrumentType == type_of_instrument and tool.count > 0: #= tool_needed:
                        enemy_here = 0
                        if enemies:
                            for enemy in enemies:
                                if(((enemy.x - resource.x)**2+(enemy.y - resource.y)**2)**0.5 < 16):
                                    enemy_here = 1
                                    break
                        if(enemy_here == 1):
                            self._get_game_location().remove_object_by_id(resource.id)
                            logger.info("Сильвер мешает вырубке "+str(resource.id))
                            break
                        
                        # if type_of_instrument == '@CIT_HAMMER' and tool_needed == 100:
                            # tool_needed = 50
                            # logger.info(u'Снижаем удар киркой до 50')
                        
                        if tool.count < tool_needed:
                            if type_of_instrument == '@CIT_TRIDENT':
                                tool_needed = tool.count
                                logger.info(u'Рубим неполный')
                            else: continue

                        gain_event = {"type":"chop","objId":resource.id,"instruments":{self._get_item_reader().get(tool.item).id:tool_needed},"action":"chop"}
                        logger.info(u"Рубим " +str(self._get_item_reader().get(tool.item).id).ljust(13, ' ')+str(tool_needed).rjust(3, ' ')+u'L, id '+str(gain_event['objId']))
                        self._get_events_sender().send_game_events( [gain_event] )
                        if resource.chopCount == tool_needed:
                            self._get_game_location().remove_object_by_id(resource.id)
                        else:
                            resource.chopCount -= tool_needed
                        tool.count -= tool_needed
                        if sklad:
                            #print 'type_of_instrument', type_of_instrument, 'tool.item', tool.item, 'ins', ins
                            self._get_game_state().remove_from_storage(tool.item, tool_needed)
                        break
            CHOP_MACHETE2 = 0
            CHOP_AXE2 = 0
            CHOP_HAMMER2 = 0
            CHOP_TRIDENT2 = 0
            for tool in instruments:
                if hasattr(tool, "item"):
                    if tool.item == '@CHOP_MACHETE': CHOP_MACHETE2 = tool.count
                    if tool.item == '@CHOP_AXE': CHOP_AXE2 = tool.count
                    if tool.item == '@CHOP_HAMMER': CHOP_HAMMER2 = tool.count
                    if tool.item == '@CHOP_TRIDENT': CHOP_TRIDENT2 = tool.count
            if  CHOP_MACHETE-CHOP_MACHETE2 or CHOP_AXE-CHOP_AXE2 or CHOP_HAMMER-CHOP_HAMMER2 or CHOP_TRIDENT-CHOP_TRIDENT2:
                print u'Инструмента после рубки  М-Т-К-Тр:', str(CHOP_MACHETE2)+'-'+str(CHOP_AXE2)+'-'+str(CHOP_HAMMER2)+'-'+str(CHOP_TRIDENT2)                
        else:
            logger.info("Не осталось ресурсов для добычи")
            raw_input('-------------   END   ---------------')
            
        if u'вскрытие сокровищ' in options:
            resources = self._get_game_location().get_all_objects_by_type("pirateCaptureObject")
            if resources:
                for resource in resources:
                    enemy_here = 0
                    if enemies:
                        for enemy in enemies:
                            if(((enemy.x - resource.x)**2+(enemy.y - resource.y)**2)**0.5 < 15):
                                enemy_here = 1
                                break
                    if(enemy_here == 1):
                        self._get_game_location().remove_object_by_id(resource.id)
                        logger.info("Сильвер мешает взять "+str(resource.id))
                        continue
                    gain_event = {"type":"pirateCapture","objId":resource.id,"action":"capture"}
                    print gain_event
                    logger.info("Открываем " + str(resource.id))
                    self._get_events_sender().send_game_events( [gain_event] )
                    self._get_game_location().remove_object_by_id(resource.id)
            else:
                logger.info("Нет неоткрытых сокровищ")

Последний раз редактировалось bes2010; 09.04.2016 в 03:19.
  Ответить с цитированием
Старый 09.04.2016, 02:00   #4928
 Разведчик
Аватар для ripton07
 
ripton07 никому не известный тип
Регистрация: 19.10.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от bes2010Посмотреть сообщение
Друзья, кто нибудь сталкивался уже с такой проблемой рубки островов УПС и нового Забытого острова? Выдает такую ошибку.. Создается впечатление, что он в упор не хочет видеть инвентарь со склада.. Может что-то подправить или добавить в код нужно? Помогите, пожалуйста, советом!
Заранее благодарю
[Ссылки могут видеть только зарегистрированные пользователи. ]

Chop
Код:
# coding=utf-8
import logging
import sys
import time
import os.path
import os
from game_state.game_types import GameWoodGrave, GameWoodGraveDouble,\
    GamePickItem, GameWoodTree, GameStone, GameGainItem, GamePickup
from game_state.game_event import dict2obj, obj2dict
from game_actors_and_handlers.base import BaseActor

logger = logging.getLogger(__name__)


class PirateTreeCut(BaseActor):

    def get_object_type(self):
        return "chop"

    def perform_action(self):
        options = [
                u'вскрытие сокровищ'
                ]
        resources = self._get_game_location().get_all_objects_by_type(
                    self.get_object_type()
                )
        enemies = self._get_game_location().get_all_objects_by_type("pirateEnemy")
          
        # пиратские острова : Остров сокровищ , Таинственный , Жуткий , Северный полюс , Остров сокровищ , Древний
        pirate_locs_id = ["exploration_isle1_random","exploration_isle2_random","exploration_isle3_random","exploration_snow1","exploration_isle1_1","exploration_isle4_random","exploration_isle_un1_4"]
        _loc = self._get_game_state().get_game_loc().get_location_id() # текущая локация

        instruments = []        # переменная для инструментов
        _loc = self._get_game_state().get_game_loc().get_location_id() # текущая локация
        
        sklad = False
        if resources:
            if _loc not in pirate_locs_id:
                sklad = True
                st_items = self._get_game_state().get_state().storageItems # Предметы на складе
                #print u'СКЛАД!'
                for item in list(st_items):
                    if hasattr(item, "item"):
                        if '@CHOP_' in item.item: 
                            instruments.append(dict2obj({"item":item.item, "count": item.count}))
                        
                        # или
                        # reader = self._get_item_reader().get(item.item)
                        # if reader.type == 'chopInstrument':
                            # instruments.append(dict2obj({"item":item.item, "count": item.count}))
                        
                        # или
                        # if item.item == ('@CHOP_MACHETE'): #мачете
                            # instruments.append(dict2obj({"item":"@CHOP_MACHETE", "count": item.count}))
                        # if item.item == ('@CHOP_AXE'): #топор
                            # instruments.append(dict2obj({"item":"@CHOP_AXE", "count": item.count}))
                        # if item.item == ('@CHOP_HAMMER'): #кирка
                            # instruments.append(dict2obj({"item":"@CHOP_HAMMER", "count": item.count}))
                        # if item.item == ('@CHOP_TRIDENT'): #Трезубец
                            # instruments.append(dict2obj({"item":"@CHOP_TRIDENT", "count": item.count}))
                        
                        # или ссылками, тогда исправить учёт траты
                        # if hasattr(item, "item") and item.item in ['@CHOP_MACHETE','@CHOP_AXE','@CHOP_HAMMER','@CHOP_TRIDENT','@CHOP_TRIDENT_GOLDEN']: 
                            # instruments.append(item)
            else: instruments = self._get_game_state().get_state().pirate.instruments
            
            CHOP_MACHETE = 10000
            CHOP_AXE = 10000
            CHOP_HAMMER = 10000
            CHOP_TRIDENT = 0
            for tool in instruments:
                if hasattr(tool, "item"):
                    if tool.item == '@CHOP_MACHETE': CHOP_MACHETE = tool.count
                    if tool.item == '@CHOP_AXE': CHOP_AXE = tool.count
                    if tool.item == '@CHOP_HAMMER': CHOP_HAMMER = tool.count
                    if tool.item == '@CHOP_TRIDENT': CHOP_TRIDENT = tool.count
            print u'Инструмента перед рубкой М-Т-К-Тр:', str(CHOP_MACHETE)+'-'+str(CHOP_AXE)+'-'+str(CHOP_HAMMER)+'-'+str(CHOP_TRIDENT)
            if (CHOP_MACHETE > 250 and CHOP_HAMMER > 250):
                self._get_game_state().many_chop = 1  # проставили many_chop если мачете и кирки за 250

            resources_dict = {resource : resource.x for resource in resources}
            resources_order = resources_dict.items()
            if not hasattr(self._get_game_state(), 'many_chop'): # рублено не много, будем сортировать
                resources_order.sort(key=lambda x: x[::-1], reverse=True)  # ресурсы отсортированные по X
            #print resources_order
            
            # Пинатель       
            if enemies:
                if not hasattr(self, 'enemies'):self.enemies = []
                for enemy in enemies:
                    if enemy.id in self.enemies:continue
                    print u'Шуганём сильвера '+str(enemy.id)
                    self._get_events_sender().send_game_events([{"type":"pirateEnemy","objId":enemy.id,"action":"hit"}])
                    self.enemies.append(enemy.id)
                    #self._get_game_location().remove_object_by_id(enemy.id)
            
            print u'Ресурсов видно:', len(resources_order)
            for resource in resources_order:
                resource = resource[0]
                #print 'Obj: ', resource.item.ljust(27, " "), ' id = ', resource.id
                #print 'resource ', resource,' ', resource.x 
                #print obj2dict(resource)
                tool_needed = resource.chopCount
                type_of_res = resource.item
                type_of_instrument = self._get_item_reader().get(type_of_res).chopInstrumentType
                    
                # сортируем что рубим, а что нет
                if (not hasattr(self._get_game_state(), 'many_chop')): # рублено не много, ограничиваем траты
                    if type_of_instrument == '@CIT_MACHETE':                     # мачете
                        pass
                    elif type_of_instrument == '@CIT_TRIDENT':                  # трезубец
                        pass
                    elif type_of_instrument == '@CIT_AXE':                       # топоры
                        if CHOP_AXE > 600 or tool_needed == 10 or tool_needed == 15 or tool_needed == 16 or tool_needed > 49:
                            pass
                        else: continue
                    elif type_of_instrument == '@CIT_HAMMER':                    # кирки
                        if ('CH_BLACKSTONE' in type_of_res) or ('CH_GREENSTONE' in type_of_res) or ('CH_WHITESTONE' in type_of_res) or ('CH_CRYSTALSTONE' in type_of_res) or tool_needed > 49:
                            pass
                        else: continue 
                
                for tool in instruments:
                    #print "self._get_item_reader().get(tool.item).chopInstrumentType", self._get_item_reader().get(tool.item).chopInstrumentType
                    #print "type_of_instrument", type_of_instrument
                    if not hasattr(tool, "item"):
                        print u'Нет итема', obj2dict(tool)
                        continue
                    if self._get_item_reader().get(tool.item).chopInstrumentType == type_of_instrument and tool.count > 0: #= tool_needed:
                        enemy_here = 0
                        if enemies:
                            for enemy in enemies:
                                if(((enemy.x - resource.x)**2+(enemy.y - resource.y)**2)**0.5 < 16):
                                    enemy_here = 1
                                    break
                        if(enemy_here == 1):
                            self._get_game_location().remove_object_by_id(resource.id)
                            logger.info("Сильвер мешает вырубке "+str(resource.id))
                            break
                        
                        # if type_of_instrument == '@CIT_HAMMER' and tool_needed == 100:
                            # tool_needed = 50
                            # logger.info(u'Снижаем удар киркой до 50')
                        
                        if tool.count < tool_needed:
                            if type_of_instrument == '@CIT_TRIDENT':
                                tool_needed = tool.count
                                logger.info(u'Рубим неполный')
                            else: continue

                        gain_event = {"type":"chop","objId":resource.id,"instruments":{self._get_item_reader().get(tool.item).id:tool_needed},"action":"chop"}
                        logger.info(u"Рубим " +str(self._get_item_reader().get(tool.item).id).ljust(13, ' ')+str(tool_needed).rjust(3, ' ')+u'L, id '+str(gain_event['objId']))
                        self._get_events_sender().send_game_events( [gain_event] )
                        if resource.chopCount == tool_needed:
                            self._get_game_location().remove_object_by_id(resource.id)
                        else:
                            resource.chopCount -= tool_needed
                        tool.count -= tool_needed
                        if sklad:
                            #print 'type_of_instrument', type_of_instrument, 'tool.item', tool.item, 'ins', ins
                            self._get_game_state().remove_from_storage(tool.item, tool_needed)
                        break
            CHOP_MACHETE2 = 0
            CHOP_AXE2 = 0
            CHOP_HAMMER2 = 0
            CHOP_TRIDENT2 = 0
            for tool in instruments:
                if hasattr(tool, "item"):
                    if tool.item == '@CHOP_MACHETE': CHOP_MACHETE2 = tool.count
                    if tool.item == '@CHOP_AXE': CHOP_AXE2 = tool.count
                    if tool.item == '@CHOP_HAMMER': CHOP_HAMMER2 = tool.count
                    if tool.item == '@CHOP_TRIDENT': CHOP_TRIDENT2 = tool.count
            if  CHOP_MACHETE-CHOP_MACHETE2 or CHOP_AXE-CHOP_AXE2 or CHOP_HAMMER-CHOP_HAMMER2 or CHOP_TRIDENT-CHOP_TRIDENT2:
                print u'Инструмента после рубки  М-Т-К-Тр:', str(CHOP_MACHETE2)+'-'+str(CHOP_AXE2)+'-'+str(CHOP_HAMMER2)+'-'+str(CHOP_TRIDENT2)                
        else:
            logger.info("Не осталось ресурсов для добычи")
            raw_input('-------------   END   ---------------')
            
        if u'вскрытие сокровищ' in options:
            resources = self._get_game_location().get_all_objects_by_type("pirateCaptureObject")
            if resources:
                for resource in resources:
                    enemy_here = 0
                    if enemies:
                        for enemy in enemies:
                            if(((enemy.x - resource.x)**2+(enemy.y - resource.y)**2)**0.5 < 15):
                                enemy_here = 1
                                break
                    if(enemy_here == 1):
                        self._get_game_location().remove_object_by_id(resource.id)
                        logger.info("Сильвер мешает взять "+str(resource.id))
                        continue
                    gain_event = {"type":"pirateCapture","objId":resource.id,"action":"capture"}
                    print gain_event
                    logger.info("Открываем " + str(resource.id))
                    self._get_events_sender().send_game_events( [gain_event] )
                    self._get_game_location().remove_object_by_id(resource.id)
            else:
                logger.info("Нет неоткрытых сокровищ")


[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 09.04.2016, 02:19   #4929
 Разведчик
Аватар для bes2010
 
bes2010 никому не известный тип
Регистрация: 04.11.2010
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ripton07Посмотреть сообщение
[Ссылки могут видеть только зарегистрированные пользователи. ]

Спасибо!
Ошибка осталась все та же.. Видать тут далеко не в chop дело...
Пробовала ставить другие действия (вместо чистки и кручения рулеток), бот как видит этот остров сразу идет в ошибку...
Значит нужно копать где-то глубже - в энжене или локациях)) пиратские острова чистит на ура! а тут такая досада((
Может кто-то сталкивался с такой же проблемой.. Как боролись?

Последний раз редактировалось bes2010; 09.04.2016 в 03:20.
  Ответить с цитированием
Старый 09.04.2016, 19:20   #4930
 Разведчик
Аватар для alser2
 
alser2 никому не известный тип
Регистрация: 03.12.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от bes2010Посмотреть сообщение
Создается впечатление, что он в упор не хочет видеть инвентарь со склада..

инвентарь не при чем. ингэйм ловишь при переходе на локацию. какой модуль у тебя посылает этот "кривей" эвент на переход не знаю. попробуй отключить переход по локациям в гэеймэнжин.
  Ответить с цитированием
Старый 09.04.2016, 19:23   #4931
 Разведчик
Аватар для Triumf2016
 
Triumf2016 никому не известный тип
Регистрация: 18.01.2016
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 14 раз(а) в 13 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от bes2010Посмотреть сообщение
Спасибо!
Ошибка осталась все та же.. Видать тут далеко не в chop дело...
Пробовала ставить другие действия (вместо чистки и кручения рулеток), бот как видит этот остров сразу идет в ошибку...
Значит нужно копать где-то глубже - в энжене или локациях)) пиратские острова чистит на ура! а тут такая досада((
Может кто-то сталкивался с такой же проблемой.. Как боролись?

я этим рубил http://zhyk.ru/forum/showthread.php?t=1061961&highlight

там ниже есть новее бот, для пиратского и других режимов
________________
Помогите с ботом Клондайк
  Ответить с цитированием
Старый 14.04.2016, 19:26   #4932
 Разведчик
Аватар для 777fylhtq
 
777fylhtq никому не известный тип
Регистрация: 14.07.2012
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от shuls188Посмотреть сообщение
обновленный скрипт, с самоустановкой. просто запустите, расслабтесь и получайте удовольствие)))
[Ссылки могут видеть только зарегистрированные пользователи. ]

Запрашивает пароль от файла, шо за дела?
  Ответить с цитированием
Старый 14.04.2016, 19:44   #4933
 Разведчик
Аватар для Triumf2016
 
Triumf2016 никому не известный тип
Регистрация: 18.01.2016
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 14 раз(а) в 13 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от 777fylhtqПосмотреть сообщение
Запрашивает пароль от файла, шо за дела?

ты видимо совсем не читаешь что на форуме пишут? вводи конечно) порадуй человека своими данными)) ЫЫЫ)) никакой внимательности у людей...пичаль http://zhyk.ru/forum/showpost.php?p=...postcount=4925
________________
Помогите с ботом Клондайк
  Ответить с цитированием
Старый 14.04.2016, 20:59   #4934
 Разведчик
Аватар для 777fylhtq
 
777fylhtq никому не известный тип
Регистрация: 14.07.2012
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Triumf2016Посмотреть сообщение
ты видимо совсем не читаешь что на форуме пишут? вводи конечно) порадуй человека своими данными)) ЫЫЫ)) никакой внимательности у людей...пичаль http://zhyk.ru/forum/showpost.php?p=...postcount=4925

Не вводил я данные), так как сам файл запаролен.
  Ответить с цитированием
Старый 16.04.2016, 18:46   #4935
 Разведчик
Аватар для ripton07
 
ripton07 никому не известный тип
Регистрация: 19.10.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Изменился адрес загрузки итемсов (у кого нормально работает, ничё не надо), идём в "\game_state\item_reader.py" ищем url = 'http://jmr.shadowlands.ru/zombiemr/items' меняем на url = 'https://jok.shadowlands.ru/zombieok/items'

Последний раз редактировалось ripton07; 16.04.2016 в 21:35.
  Ответить с цитированием
Ответ


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

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

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

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

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

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

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net