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

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

-

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

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

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

Цитата:
по локам на выбор тех же рыбаков

С этим поколдуй:

Код:
# coding=utf-8
import logging
from game_actors_and_handlers.base import BaseActor
from game_state.game_event import dict2obj, obj2dict
from game_state.game_types import GamePickPickup, GamePickItem, GamePickup
from game_actors_and_handlers.tree_plant import TreePlant

logger = logging.getLogger(__name__)

class StoragePut(BaseActor):
    
    def perform_action(self):
        num = 50              # партиями по ... шт.
        current_loc = self._get_game_state().get_location_id()
        storage = self._get_game_state().get_state().storageGameObjects
        put_in=['@PIRATE_BOX','@PIRATE_BOX2','@BIRTHDAY_GIFT_BOX1','@BIRTHDAY_GIFT_BOX2','@BIRTHDAY_GIFT_BOX3','@BIRTHDAY_GIFT_BOX4','@BIRTHDAY_GIFT_BOX5','@SYMBOL_D_BOX']
        next_id = max([_i.maxGameObjectId for _i in self._get_game_state().get_state().locationInfos] +[_m.id for _m in self._get_game_location().get_game_objects()]) + 1
        num_put = 0
        if current_loc=='main':
            for pirate_obj in storage:                                 
                if num_put == num: break
                if not hasattr(pirate_obj, 'item'): continue
                if pirate_obj.item in put_in:
                    obj = self._get_item_reader().get(pirate_obj.item)
                    space_crd = self.space(current_loc, obj)
                    if space_crd == []: continue
                    if pirate_obj.count ==0:continue
                    if pirate_obj.count > num - num_put:run = num - num_put
                    else:run = pirate_obj.count
                    #events = []
                    for n in range(run):                               
                        if n < len(space_crd):
                            k = space_crd[n]
                        else:
                            break

                        if len(k) == 5:
                            x = int(k[:3])
                            y = int(k[3:])
                        elif len(k) == 4:
                            if current_loc == u'main' and int(k[:2])<13:
                                x = int(k[:3])
                                y = int(k[3:])
                            else:                           
                                x = int(k[:2])
                                y = int(k[2:])
                        elif len(k) == 2:
                            x = int(k[:1])
                            y = int(k[1:])
                        else:
                            if k[0] == '8' or k[0] == '9':
                                x = int(k[:1])
                                y = int(k[1:])
                            else:
                                x = int(k[:2])
                                y = int(k[2:])
                      
                        event = {
                            "x":x,
                            "y":y,
                            "action":"placeFromStorage",
                            "itemId":pirate_obj.item[1:],
                            "type":"item",
                            "objId":next_id}
                        self._get_events_sender().send_game_events([event])
                        logger.info(u' Выставляю %s на X:%s/Y:%s'%(obj.name,str(x),str(y)))
                        if pirate_obj.item == '@PIRATE_BOX' or pirate_obj.item == '@PIRATE_BOX_2':
                            self._get_game_state().get_state().pirate.state = 'PIRATE'
                        new_object=dict2obj({u'rotate':0,u'item': pirate_obj.item, u'y': str(y), u'x': str(x), u'type': obj.type, u'id': next_id})
                        self._get_game_state().get_state().gameObjects.append(new_object)
                        next_id += 1
                        num_put += 1
                    pirate_obj.count-= run   
                    #if run == pirate_obj.count:self._get_game_state().get_state().storageGameObjects.remove(object)
                    #else:pirate_obj.count -= run
            if num_put>0:logger.info(u" Поставили %s предметов"%(str(num_put)))
                
        
    def space(self, location, need,submap=[]):
        for obj in self._get_game_state().get_state().rectsObjects:
            if str(need.objAnim[0])== str(obj.objAnim):
                need.w = int(obj.rects.rectW)
                need.h = int(obj.rects.rectH)
        crd, bad_crd = self.get_coords(location, submap)
        obj_cache = {}
        space_crd = []
        #перебор объектов на острове
        objects = self._get_game_location().get_game_objects()
        for object in list(objects):
            if not hasattr(object, 'x') or not hasattr(object, 'item'):continue
            reader_object=self._get_item_reader().get(object.item)
            x = object.x
            y = object.y
            if object.rotate==0:ob_anim=reader_object.objAnim[0]
            else:ob_anim=reader_object.objAnim[1]
            if not object.item in obj_cache:
                object_item = self._get_item_reader().get(object.item)
                obj_cache[object.item] = object_item
            else:object_item = obj_cache[object.item]
            for rect in self._get_game_state().get_state().rectsObjects:
                if ob_anim== rect.objAnim:
                    h=int(rect.rects.rectH)
                    if int(rect.rects.rectX) < 0:
                        x = int(x) + int(rect.rects.rectX)
                        w = int(rect.rects.rectW) + int(rect.rects.rectX)*-1
                    else:w = int(rect.rects.rectW) + int(rect.rects.rectX)
                    if int(rect.rects.rectY) < 0:
                        y = int(y) + int(rect.rects.rectY)
                        h = int(rect.rects.rectH) + int(rect.rects.rectY)*-1
                    else:h = int(rect.rects.rectH) + int(rect.rects.rectY)
                    for ix in range(w):
                        for iy in range(h):
                            k = str(int(x) + ix)+''+str(int(y) + iy)
                            if not k in bad_crd:bad_crd.append(k)
        W = crd['x2'] - crd['x1'] - need.w + 2
        H = crd['y2'] - crd['y1'] - need.h + 2
        for iw in range(W):
            iw += crd['x1']
            for ih in range(H):
                ih += crd['y1']
                if (str(iw)+''+str(ih)) in bad_crd:continue
                good = 1
                add = []
                for ix in range(need.w):
                    for iy in range(need.h):
                        k = str(iw+ix)+''+str(ih+iy)
                        if k in bad_crd: #занято
                            good = 0
                            break
                        else:add.append(k)
                    if good == 0:break
                if good == 1:
                    space_crd.append(str(iw)+''+str(ih))
                    bad_crd.extend(add)
        return space_crd

    def get_coords(self, ostrov, submap=[]):
        submap = [
                u'снизу от дороги',
                u'сверху от дороги',
                #u'за забором',
                #u'на горе'
                ]
        # Map world   Домашний
        if(ostrov in ['main']): 
            map = [ str(i)+''+str(j) for i in range(48,62) for j in range(12,48)]
            add = [ str(i)+''+str(j) for i in range(54,60) for j in range(48,100)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(62,112) for j in range(30,48)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(14,62) for j in range(0,12)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(112,128) for j in range(30,112)]
            map.extend(add)
            if submap != []:        
                if not u'снизу от дороги' in submap:
                    add = [ str(i)+''+str(j) for i in range(14,54) for j in range(48,100)]
                    map.extend(add)           
                if not u'сверху от дороги' in submap:
                    add = [ str(i)+''+str(j) for i in range(60,112) for j in range(48,100)]
                    map.extend(add)  
                if not u'за забором' in submap:
                    add = [ str(i)+''+str(j) for i in range(14,48) for j in range(12,48)]
                    map.extend(add) 
                if not u'на горе' in submap:
                    add = [ str(i)+''+str(j) for i in range(62,128) for j in range(0,30)]
                    map.extend(add)                        
            return {'x1':14, 'x2':127, 'y1':0, 'y2':99}, map

        # Map isle_01   Веры, Мечты
        if(ostrov in ['isle_dream', 'isle_faith']):
            map = [ str(i)+''+str(j) for i in range(14,16) for j in range(14,16)]
            add = [ str(i)+''+str(j) for i in range(12,14) for j in range(14,64)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(12,18) for j in range(74,76)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(40,82) for j in range(74,76)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(82,84) for j in range(72,76)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(82,84) for j in range(14,22)]
            map.extend(add)
            return {'x1':12, 'x2':83, 'y1':14, 'y2':75}, map

        # Map isle_02   Альфа, Омега, Пик Админа, Ужасный, Чудовища, Майя, звёздный, гигантов
        if(ostrov in ['isle_alpha', 'isle_omega', 'isle_scarecrow', 'isle_elephant', 'isle_monster', 'isle_02', 'isle_star', 'isle_giant']):
            map = [ str(i)+''+str(j) for i in range(10,12) for j in range(10,12)]
            add = [ str(i)+''+str(j) for i in range(10,12) for j in range(42,44)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(42,44) for j in range(42,44)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(42,44) for j in range(10,12)]
            map.extend(add)
            return {'x1':10, 'x2':43, 'y1':10, 'y2':43}, map

        # Map isle_03   Любви, X, Песочный, Необитаемый
        if(ostrov in ['isle_03', 'isle_x', 'isle_sand', 'isle_desert']):
            map = []
            return {'x1':16, 'x2':65, 'y1':14, 'y2':71}, map

        # Map isle_04   Надежды, Страшный
        if(ostrov in ['isle_hope', 'isle_scary']):
            map = [ str(i)+''+str(j) for i in range(12,14) for j in range(12,14)]
            add = [ str(i)+''+str(j) for i in range(46,50) for j in range(12,14)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(48,50) for j in range(34,42)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(48,50) for j in range(72,74)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(12,20) for j in range(72,74)]
            map.extend(add)
            return {'x1':12, 'x2':49, 'y1':12, 'y2':73}, map

        # Map isle_05   Город-призрак, Секретный
        if(ostrov in ['isle_emerald', 'isle_01']):
            map = [ str(i)+''+str(j) for i in range(16,20) for j in range(12,16)]
            add = [ str(i)+''+str(j) for i in range(70,72) for j in range(30,38)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(70,72) for j in range(70,72)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(16,18) for j in range(64,72)]
            map.extend(add)
            return {'x1':16, 'x2':71, 'y1':12, 'y2':71}, map

        # Map isle_snow1   Дремучий, Мобильный, Маленькой ёлочки, Огромной ёлки
        if(ostrov in ['isle_wild', 'isle_mobile', 'isle_small', 'isle_xxl']):
            map = [ str(i)+''+str(j) for i in range(8,12) for j in range(6,8)]
            add = [ str(i)+''+str(j) for i in range(8,10) for j in range(8,10)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(42,46) for j in range(6,8)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(44,46) for j in range(8,10)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(44,46) for j in range(42,46)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(42,44) for j in range(44,46)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(8,10) for j in range(44,46)]
            map.extend(add)
            return {'x1':8, 'x2':45, 'y1':6, 'y2':45}, map

        # Map isle_snow2   Полярной ночи, НЛО, Лысая гора, Большой ёлки, Лунный, Вишнёвый
        if(ostrov in ['isle_polar', 'isle_ufo', 'isle_halloween', 'isle_large', 'isle_moon', 'isle_light']):
            map = [ str(i)+''+str(j) for i in range(8,12) for j in range(6,10)]
            add = [ str(i)+''+str(j) for i in range(8,10) for j in range(44,46)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(42,46) for j in range(44,46)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(44,46) for j in range(42,44)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(42,46) for j in range(6,8)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(44,46) for j in range(8,10)]
            map.extend(add)
            return {'x1':8, 'x2':45, 'y1':6, 'y2':45}, map
            
        # Map un_09 Склад Хакера
        if(ostrov in ['un_09']):
            map = [ str(i)+''+str(j) for i in range(14,38) for j in range(14,16)]     
            add = [ str(i)+''+str(j) for i in range(46,52) for j in range(14,16)]     
            map.extend(add) 
            add = [ str(i)+''+str(j) for i in range(12,14) for j in range(14,18)]     
            map.extend(add) 
            add = [ str(i)+''+str(j) for i in range(50,52) for j in range(16,28)]     
            map.extend(add) 
            add = [ str(i)+''+str(j) for i in range(50,52) for j in range(42,74)]     
            map.extend(add) 
            add = [ str(i)+''+str(j) for i in range(12,14) for j in range(64,74)]     
            map.extend(add)             
            return {'x1':12, 'x2':51, 'y1':14, 'y2':73}, map
  Ответить с цитированием
Старый 17.09.2015, 22:13   #4502
 Разведчик
Аватар для rak777
 
rak777 никому не известный тип
Регистрация: 03.09.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ripton07Посмотреть сообщение
С этим поколдуй:

Код:
# coding=utf-8
import logging
from game_actors_and_handlers.base import BaseActor
from game_state.game_event import dict2obj, obj2dict
from game_state.game_types import GamePickPickup, GamePickItem, GamePickup
from game_actors_and_handlers.tree_plant import TreePlant

logger = logging.getLogger(__name__)

class StoragePut(BaseActor):
    
    def perform_action(self):
        num = 50              # партиями по ... шт.
        current_loc = self._get_game_state().get_location_id()
        storage = self._get_game_state().get_state().storageGameObjects
        put_in=['@PIRATE_BOX','@PIRATE_BOX2','@BIRTHDAY_GIFT_BOX1','@BIRTHDAY_GIFT_BOX2','@BIRTHDAY_GIFT_BOX3','@BIRTHDAY_GIFT_BOX4','@BIRTHDAY_GIFT_BOX5','@SYMBOL_D_BOX']
        next_id = max([_i.maxGameObjectId for _i in self._get_game_state().get_state().locationInfos] +[_m.id for _m in self._get_game_location().get_game_objects()]) + 1
        num_put = 0
        if current_loc=='main':
            for pirate_obj in storage:                                 
                if num_put == num: break
                if not hasattr(pirate_obj, 'item'): continue
                if pirate_obj.item in put_in:
                    obj = self._get_item_reader().get(pirate_obj.item)
                    space_crd = self.space(current_loc, obj)
                    if space_crd == []: continue
                    if pirate_obj.count ==0:continue
                    if pirate_obj.count > num - num_put:run = num - num_put
                    else:run = pirate_obj.count
                    #events = []
                    for n in range(run):                               
                        if n < len(space_crd):
                            k = space_crd[n]
                        else:
                            break

                        if len(k) == 5:
                            x = int(k[:3])
                            y = int(k[3:])
                        elif len(k) == 4:
                            if current_loc == u'main' and int(k[:2])<13:
                                x = int(k[:3])
                                y = int(k[3:])
                            else:                           
                                x = int(k[:2])
                                y = int(k[2:])
                        elif len(k) == 2:
                            x = int(k[:1])
                            y = int(k[1:])
                        else:
                            if k[0] == '8' or k[0] == '9':
                                x = int(k[:1])
                                y = int(k[1:])
                            else:
                                x = int(k[:2])
                                y = int(k[2:])
                      
                        event = {
                            "x":x,
                            "y":y,
                            "action":"placeFromStorage",
                            "itemId":pirate_obj.item[1:],
                            "type":"item",
                            "objId":next_id}
                        self._get_events_sender().send_game_events([event])
                        logger.info(u' Выставляю %s на X:%s/Y:%s'%(obj.name,str(x),str(y)))
                        if pirate_obj.item == '@PIRATE_BOX' or pirate_obj.item == '@PIRATE_BOX_2':
                            self._get_game_state().get_state().pirate.state = 'PIRATE'
                        new_object=dict2obj({u'rotate':0,u'item': pirate_obj.item, u'y': str(y), u'x': str(x), u'type': obj.type, u'id': next_id})
                        self._get_game_state().get_state().gameObjects.append(new_object)
                        next_id += 1
                        num_put += 1
                    pirate_obj.count-= run   
                    #if run == pirate_obj.count:self._get_game_state().get_state().storageGameObjects.remove(object)
                    #else:pirate_obj.count -= run
            if num_put>0:logger.info(u" Поставили %s предметов"%(str(num_put)))
                
        
    def space(self, location, need,submap=[]):
        for obj in self._get_game_state().get_state().rectsObjects:
            if str(need.objAnim[0])== str(obj.objAnim):
                need.w = int(obj.rects.rectW)
                need.h = int(obj.rects.rectH)
        crd, bad_crd = self.get_coords(location, submap)
        obj_cache = {}
        space_crd = []
        #перебор объектов на острове
        objects = self._get_game_location().get_game_objects()
        for object in list(objects):
            if not hasattr(object, 'x') or not hasattr(object, 'item'):continue
            reader_object=self._get_item_reader().get(object.item)
            x = object.x
            y = object.y
            if object.rotate==0:ob_anim=reader_object.objAnim[0]
            else:ob_anim=reader_object.objAnim[1]
            if not object.item in obj_cache:
                object_item = self._get_item_reader().get(object.item)
                obj_cache[object.item] = object_item
            else:object_item = obj_cache[object.item]
            for rect in self._get_game_state().get_state().rectsObjects:
                if ob_anim== rect.objAnim:
                    h=int(rect.rects.rectH)
                    if int(rect.rects.rectX) < 0:
                        x = int(x) + int(rect.rects.rectX)
                        w = int(rect.rects.rectW) + int(rect.rects.rectX)*-1
                    else:w = int(rect.rects.rectW) + int(rect.rects.rectX)
                    if int(rect.rects.rectY) < 0:
                        y = int(y) + int(rect.rects.rectY)
                        h = int(rect.rects.rectH) + int(rect.rects.rectY)*-1
                    else:h = int(rect.rects.rectH) + int(rect.rects.rectY)
                    for ix in range(w):
                        for iy in range(h):
                            k = str(int(x) + ix)+''+str(int(y) + iy)
                            if not k in bad_crd:bad_crd.append(k)
        W = crd['x2'] - crd['x1'] - need.w + 2
        H = crd['y2'] - crd['y1'] - need.h + 2
        for iw in range(W):
            iw += crd['x1']
            for ih in range(H):
                ih += crd['y1']
                if (str(iw)+''+str(ih)) in bad_crd:continue
                good = 1
                add = []
                for ix in range(need.w):
                    for iy in range(need.h):
                        k = str(iw+ix)+''+str(ih+iy)
                        if k in bad_crd: #занято
                            good = 0
                            break
                        else:add.append(k)
                    if good == 0:break
                if good == 1:
                    space_crd.append(str(iw)+''+str(ih))
                    bad_crd.extend(add)
        return space_crd

    def get_coords(self, ostrov, submap=[]):
        submap = [
                u'снизу от дороги',
                u'сверху от дороги',
                #u'за забором',
                #u'на горе'
                ]
        # Map world   Домашний
        if(ostrov in ['main']): 
            map = [ str(i)+''+str(j) for i in range(48,62) for j in range(12,48)]
            add = [ str(i)+''+str(j) for i in range(54,60) for j in range(48,100)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(62,112) for j in range(30,48)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(14,62) for j in range(0,12)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(112,128) for j in range(30,112)]
            map.extend(add)
            if submap != []:        
                if not u'снизу от дороги' in submap:
                    add = [ str(i)+''+str(j) for i in range(14,54) for j in range(48,100)]
                    map.extend(add)           
                if not u'сверху от дороги' in submap:
                    add = [ str(i)+''+str(j) for i in range(60,112) for j in range(48,100)]
                    map.extend(add)  
                if not u'за забором' in submap:
                    add = [ str(i)+''+str(j) for i in range(14,48) for j in range(12,48)]
                    map.extend(add) 
                if not u'на горе' in submap:
                    add = [ str(i)+''+str(j) for i in range(62,128) for j in range(0,30)]
                    map.extend(add)                        
            return {'x1':14, 'x2':127, 'y1':0, 'y2':99}, map

        # Map isle_01   Веры, Мечты
        if(ostrov in ['isle_dream', 'isle_faith']):
            map = [ str(i)+''+str(j) for i in range(14,16) for j in range(14,16)]
            add = [ str(i)+''+str(j) for i in range(12,14) for j in range(14,64)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(12,18) for j in range(74,76)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(40,82) for j in range(74,76)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(82,84) for j in range(72,76)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(82,84) for j in range(14,22)]
            map.extend(add)
            return {'x1':12, 'x2':83, 'y1':14, 'y2':75}, map

        # Map isle_02   Альфа, Омега, Пик Админа, Ужасный, Чудовища, Майя, звёздный, гигантов
        if(ostrov in ['isle_alpha', 'isle_omega', 'isle_scarecrow', 'isle_elephant', 'isle_monster', 'isle_02', 'isle_star', 'isle_giant']):
            map = [ str(i)+''+str(j) for i in range(10,12) for j in range(10,12)]
            add = [ str(i)+''+str(j) for i in range(10,12) for j in range(42,44)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(42,44) for j in range(42,44)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(42,44) for j in range(10,12)]
            map.extend(add)
            return {'x1':10, 'x2':43, 'y1':10, 'y2':43}, map

        # Map isle_03   Любви, X, Песочный, Необитаемый
        if(ostrov in ['isle_03', 'isle_x', 'isle_sand', 'isle_desert']):
            map = []
            return {'x1':16, 'x2':65, 'y1':14, 'y2':71}, map

        # Map isle_04   Надежды, Страшный
        if(ostrov in ['isle_hope', 'isle_scary']):
            map = [ str(i)+''+str(j) for i in range(12,14) for j in range(12,14)]
            add = [ str(i)+''+str(j) for i in range(46,50) for j in range(12,14)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(48,50) for j in range(34,42)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(48,50) for j in range(72,74)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(12,20) for j in range(72,74)]
            map.extend(add)
            return {'x1':12, 'x2':49, 'y1':12, 'y2':73}, map

        # Map isle_05   Город-призрак, Секретный
        if(ostrov in ['isle_emerald', 'isle_01']):
            map = [ str(i)+''+str(j) for i in range(16,20) for j in range(12,16)]
            add = [ str(i)+''+str(j) for i in range(70,72) for j in range(30,38)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(70,72) for j in range(70,72)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(16,18) for j in range(64,72)]
            map.extend(add)
            return {'x1':16, 'x2':71, 'y1':12, 'y2':71}, map

        # Map isle_snow1   Дремучий, Мобильный, Маленькой ёлочки, Огромной ёлки
        if(ostrov in ['isle_wild', 'isle_mobile', 'isle_small', 'isle_xxl']):
            map = [ str(i)+''+str(j) for i in range(8,12) for j in range(6,8)]
            add = [ str(i)+''+str(j) for i in range(8,10) for j in range(8,10)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(42,46) for j in range(6,8)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(44,46) for j in range(8,10)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(44,46) for j in range(42,46)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(42,44) for j in range(44,46)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(8,10) for j in range(44,46)]
            map.extend(add)
            return {'x1':8, 'x2':45, 'y1':6, 'y2':45}, map

        # Map isle_snow2   Полярной ночи, НЛО, Лысая гора, Большой ёлки, Лунный, Вишнёвый
        if(ostrov in ['isle_polar', 'isle_ufo', 'isle_halloween', 'isle_large', 'isle_moon', 'isle_light']):
            map = [ str(i)+''+str(j) for i in range(8,12) for j in range(6,10)]
            add = [ str(i)+''+str(j) for i in range(8,10) for j in range(44,46)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(42,46) for j in range(44,46)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(44,46) for j in range(42,44)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(42,46) for j in range(6,8)]
            map.extend(add)
            add = [ str(i)+''+str(j) for i in range(44,46) for j in range(8,10)]
            map.extend(add)
            return {'x1':8, 'x2':45, 'y1':6, 'y2':45}, map
            
        # Map un_09 Склад Хакера
        if(ostrov in ['un_09']):
            map = [ str(i)+''+str(j) for i in range(14,38) for j in range(14,16)]     
            add = [ str(i)+''+str(j) for i in range(46,52) for j in range(14,16)]     
            map.extend(add) 
            add = [ str(i)+''+str(j) for i in range(12,14) for j in range(14,18)]     
            map.extend(add) 
            add = [ str(i)+''+str(j) for i in range(50,52) for j in range(16,28)]     
            map.extend(add) 
            add = [ str(i)+''+str(j) for i in range(50,52) for j in range(42,74)]     
            map.extend(add) 
            add = [ str(i)+''+str(j) for i in range(12,14) for j in range(64,74)]     
            map.extend(add)             
            return {'x1':12, 'x2':51, 'y1':14, 'y2':73}, map

С этим я и колдую когда приспичит
  Ответить с цитированием
Старый 19.09.2015, 21:12   #4503
 Разведчик
Аватар для GadW1n
 
GadW1n никому не известный тип
Регистрация: 24.08.2011
Сообщений: 17
Популярность: 10
Сказал(а) спасибо: 9
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ripton07Посмотреть сообщение
Какие например?

например кукольный театр (30 дней по 1 разу), рулетки на астероидах (по 50 крутилок) и прочее...
  Ответить с цитированием
Старый 20.09.2015, 13:54   #4504
 Разведчик
Аватар для Zhyyyk123
 
Zhyyyk123 никому не известный тип
Регистрация: 05.09.2015
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

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

Цитата:
например кукольный театр (30 дней по 1 разу), рулетки на астероидах (по 50 крутилок) и прочее...

http://zhyk.ru/forum/showpost.php?p=...postcount=3800



Добавлено через 7 минут
Цитата:
Сообщение от Zhyyyk123Посмотреть сообщение
поделитесь пожалуйста сажалкой какой-нибудь(можно в лс)

Что значит сажалкой? Вам модуль нужен?

Последний раз редактировалось ripton07; 20.09.2015 в 17:27. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 20.09.2015, 21:30   #4506
 Разведчик
Аватар для alser2
 
alser2 никому не известный тип
Регистрация: 03.12.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

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

Цитата:
Сообщение от alser2Посмотреть сообщение
Ребята, подскажите что изменить, решил к ВК прикрутить, на ОК все нормально работает.
[Ссылки могут видеть только зарегистрированные пользователи. ]

http://zhyk.ru/forum/showpost.php?p=...postcount=4367
  Ответить с цитированием
Старый 21.09.2015, 21:05   #4508
 Разведчик
Аватар для alser2
 
alser2 никому не известный тип
Регистрация: 03.12.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

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

Код:
html = requests.get('http://ok.ru//game/zm?st.cmd=appMain&st.refplace=52&st.appId=625920&st._aid=Apps_Catalog_PorltetMy&gwt.requested=2b50391c&gwt.previous=st.cmd%3DappsShowcase%26st._aid%3DNavMenu_User_Apps&p_sId=-4564360254829098098', cookies=self.str2dict(session_cookies)).text
  Ответить с цитированием
Старый 23.09.2015, 09:38   #4510
 Разведчик
Аватар для Bezmen
 
Bezmen никому не известный тип
Регистрация: 04.08.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 5 раз(а) в 5 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ripton07Посмотреть сообщение
html = requests.get('http://ok.ru//game/zm?st.cmd=appMain&st.refplace=52&st.appId=625920&s t._aid=Apps_Catalog_PorltetMy&gwt.requested=2b5039 1c&gwt.previous=st.cmd%3DappsShowcase%26st._aid%3D NavMenu_User_Apps&p_sId=-4564360254829098098', cookies=self.str2dict(session_cookies)).text

Да задрали уже
  Ответить с цитированием
Старый 23.09.2015, 09:45   #4511
 Разведчик
Аватар для alser2
 
alser2 никому не известный тип
Регистрация: 03.12.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

В клоне sID вообще =0 к чему бы это, не понятно.
  Ответить с цитированием
Старый 23.09.2015, 09:54   #4512
 Разведчик
Аватар для Макс124
 
Макс124 никому не известный тип
Регистрация: 02.04.2015
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Люди добрые, подскажите пожалуйста как поправить переброс коллекций с одного ака на другой? есть мнение что он у меня начинает спотыкаться на баксовых коллекциях. (( И еще если кто может подскажет как поправить сбор поваров с минуткой включенной, перестало нормально работать....( Заранее благодарен!
  Ответить с цитированием
Старый 23.09.2015, 14:05   #4513
 Разведчик
Аватар для rak777
 
rak777 никому не известный тип
Регистрация: 03.09.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Макс124Посмотреть сообщение
Люди добрые, подскажите пожалуйста как поправить переброс коллекций с одного ака на другой? есть мнение что он у меня начинает спотыкаться на баксовых коллекциях. (( И еще если кто может подскажет как поправить сбор поваров с минуткой включенной, перестало нормально работать....( Заранее благодарен!

Код:
# coding=utf-8
import logging
from game_state.game_types import GameSellItem, GameSendGift
from game_actors_and_handlers.base import BaseActor
from game_state.game_event import dict2obj, obj2dict

logger = logging.getLogger(__name__)

class SellBot(BaseActor):

    def perform_action(self):
        # Продажа
        sell_items = self._get_options()['sell_item']
        if sell_items<>None:
            #sell_items={u'S_51':20}
            #item_id=u'S_51' # Красные яблоки
            #item_save_count=20
            for item_id in sell_items.keys():
                item_save_count=sell_items[item_id]
                itm_count=self._get_game_state().count_in_storage('@'+item_id)
                item_count=itm_count-item_save_count
                if item_count>0:
                    sell_event = GameSellItem(count=long(item_count), itemId = unicode(item_id))
                    self._get_events_sender().send_game_events([sell_event])
                    self._get_game_state().remove_from_storage('@'+item_id,item_count)
                    itm_count=self._get_game_state().count_in_storage('@'+item_id)
                    logger.info(u"Продали %d '%s' осталось %d"%((item_count),self._get_item_reader().get(item_id).name,itm_count))
                    
	    CollIt=obj2dict(self._get_game_state().get_state().collectionItems)
            send_user = self._get_options()['send_user']
	    if send_user<>None:
                saveCollection=['C_42','C_29']
                for item_id in CollIt.keys():
                    send=True
                    for save in saveCollection:
                        if save in item_id:send=False
                    if not send:continue
		    if CollIt[item_id]>0:
                        send_gift={
                            "item":'@'+item_id,
                            "msg":"",
                            "count":CollIt[item_id],
                            "user":send_user
                            }
                        event=GameSendGift(gift=send_gift)
                        self._get_events_sender().send_game_events([event])
                        logger.info(u"Отправили %d '%s' пользователю %d"%(CollIt[item_id],self._get_item_reader().get(item_id).name,int(send_user)))
                        CollIt[item_id]=0
            self._get_game_state().get_state().collectionItems=dict2obj(CollIt)
  Ответить с цитированием
Старый 23.09.2015, 15:21   #4514
 Разведчик
Аватар для maroder912
 
maroder912 никому не известный тип
Регистрация: 18.11.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от alser2Посмотреть сообщение
В клоне sID вообще =0 к чему бы это, не понятно.

в мазиле такой адрес
PHP код:
http://ok.ru/game/zm?st.cmd=appMain&st.appId=625920&gwt.requested=2b50391c&p_sId=0 
а в хроме такой
PHP код:
http://ok.ru/game/zm?st.cmd=appMain&st.refplace=52&st.appId=625920&st._aid=Apps_Catalog_PorltetMy&gwt.requested=2b50391c&gwt.previous=st.cmd%3DappsShowcase%26st._aid%3DNavMenu_User_Apps&p_sId=-4564357029308551953 

Последний раз редактировалось maroder912; 23.09.2015 в 15:29.
  Ответить с цитированием
Старый 23.09.2015, 15:45   #4515
 Разведчик
Аватар для Макс124
 
Макс124 никому не известный тип
Регистрация: 02.04.2015
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

rak777, спасибо! Попробую разобраться... =)
  Ответить с цитированием
Ответ


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

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

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