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

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

-

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

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

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

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

Цитата:
Сообщение от 0легПосмотреть сообщение
Доброго времени суток) Помогите с файлом на рубку зимнего острова, пожалуйста)

Пользуйся. Расширение смени на *.py chop.txt

Последний раз редактировалось Shurup240; 09.05.2014 в 22:42.
  Ответить с цитированием
Старый 09.05.2014, 23:16   #2208
 Разведчик
Аватар для GirlKris
 
GirlKris никому не известный тип
Регистрация: 17.02.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Новый подход к активации супер-поиск, супер-урожай и минутки.
Сначала активируется на 3 дня, если такого нет на складе, то на 2 дня, далее на 1 день...
Файл назвала "buffs.py"
Код:
# coding=utf-8
import logging
from game_state.game_event import dict2obj
from game_actors_and_handlers.base import BaseActor


logger = logging.getLogger(__name__)


class GameBuffFixHarvest(BaseActor):
    
    def perform_action(self):
        
        day_count = 10        # Предупреждает, что через "day_count" дней закончится супер-урожай на складе 
        time_activation = 30  # Активировать за "time_activation" секунд до окончания
        
        day_1 = day_2 = day_3 = exp_time = 0
        for materials in self._get_game_state().get_state().storageItems:
            if hasattr(materials, 'item'): 
                if "BUFF_FIX_HARVEST_1" in materials.item:
                    day_1 = materials.count
                if "BUFF_FIX_HARVEST_2" in materials.item:
                    day_2 = materials.count    
                if "BUFF_FIX_HARVEST_3" in materials.item:
                    day_3 = materials.count
        day = day_1 + day_2*2 + day_3*3
        if int(str(day)[-1:]) == 0 or 9 < int(str(day)[-2:]) < 21 or 4 < int(str(day)[-1:]) < 10:
            days = u'дней'
        elif 1 < int(str(day)[-1:]) < 5:
            days = u'дня'
        else:
            days = u'день' 
        if day < day_count: 
            logger.info(u'Внимание!!! Супер-урожая на складе осталось на %d %s' % (day, days))        
        
        buff_list = self._get_game_state().get_state().buffs.list            
        for l in buff_list:
            if "BUFF_FIX_HARVEST" in l.item:
                exp_time = int((float(l.expire.endDate)-self._get_timer()._get_current_client_time())/1000)
                if exp_time < 0:
                    exp_time = 0
                d = exp_time/86400
                h = (exp_time - 86400*d)/3600
                m = (exp_time - 86400*d - 3600*h)/60
                s = exp_time - 86400*d  - 3600*h - 60*m
                if d == 0:
                    logger.info(u'Осталось супер-урожай: %d:%d:%d' % (h,m,s))
                elif d == 1:
                    logger.info(u'Осталось супер-урожай: 1 день %d:%d:%d' % (h,m,s))
                elif d == 2:
                    logger.info(u'Осталось супер-урожай: 2 дня %d:%d:%d' % (h,m,s))
                                                    
        if exp_time < time_activation:         
            if day_3 > 0:
                event = {"x":20,"type":"item","y":7,"action":"useStorageItem","itemId":"BS_BUFF_FIX_HARVEST_3"}
                self._get_events_sender().send_game_events([event])
                self._get_game_state().remove_from_storage("@BS_BUFF_FIX_HARVEST_3", 1)
                buff_list.append(dict2obj({"item":"@BS_BUFF_FIX_HARVEST_3", "expire": dict2obj({"type":"time", "endDate": str(int(self._get_timer()._get_current_client_time())+259200000)})}))       
                logger.info(u'Активирован супер-урожай на 3 дня')
            elif day_2 > 0:
                event = {"x":20,"type":"item","y":7,"action":"useStorageItem","itemId":"BS_BUFF_FIX_HARVEST_2"}
                self._get_events_sender().send_game_events([event])
                self._get_game_state().remove_from_storage("@BS_BUFF_FIX_HARVEST_2", 1)
                buff_list.append(dict2obj({"item":"@BS_BUFF_FIX_HARVEST_2", "expire": dict2obj({"type":"time", "endDate": str(int(self._get_timer()._get_current_client_time())+172800000)})}))       
                logger.info(u'Активирован супер-урожай на 2 дня')    
            elif day_1 > 0:
                event = {"x":20,"type":"item","y":7,"action":"useStorageItem","itemId":"BS_BUFF_FIX_HARVEST_1"}
                self._get_events_sender().send_game_events([event])
                self._get_game_state().remove_from_storage("@BS_BUFF_FIX_HARVEST_1", 1)
                buff_list.append(dict2obj({"item":"@BS_BUFF_FIX_HARVEST_1", "expire": dict2obj({"type":"time", "endDate": str(int(self._get_timer()._get_current_client_time())+86400000)})}))       
                logger.info(u'Активирован супер-урожай на 1 день')
            else:
                logger.info(u'На складе нет супер-урожая!!!')               
        
        
                
class GameBuffDigger(BaseActor):
    
    def perform_action(self):
        
        day_count = 10        # Предупреждает, что через "day_count" дней закончится супер-поиск на складе 
        time_activation = 30  # Активировать за "time_activation" секунд до окончания
        
        day_1 = day_2 = day_3 = exp_time = 0
        for materials in self._get_game_state().get_state().storageItems:
            if hasattr(materials, 'item'): 
                if "BUFF_FIX_DIGGER1" in materials.item:
                    day_1 = materials.count
                if "BUFF_FIX_DIGGER2" in materials.item:
                    day_2 = materials.count    
                if "BUFF_FIX_DIGGER3" in materials.item:
                    day_3 = materials.count
        day = day_1 + day_2*2 + day_3*3
        if int(str(day)[-1:]) == 0 or 9 < int(str(day)[-2:]) < 21 or 4 < int(str(day)[-1:]) < 10:
            days = u'дней'
        elif 1 < int(str(day)[-1:]) < 5:
            days = u'дня'
        else:
            days = u'день' 
        if day < day_count: 
            logger.info(u'Внимание!!! Супер-поиск на складе осталось на %d %s' % (day, days))        
        
        buff_list = self._get_game_state().get_state().buffs.list            
        for l in buff_list:
            if "BUFF_FIX_DIGGER" in l.item:
                exp_time = int((float(l.expire.endDate)-self._get_timer()._get_current_client_time())/1000)
                if exp_time < 0:
                    exp_time = 0
                d = exp_time/86400
                h = (exp_time - 86400*d)/3600
                m = (exp_time - 86400*d - 3600*h)/60
                s = exp_time - 86400*d  - 3600*h - 60*m
                if d == 0:
                    logger.info(u'Осталось супер-поиск: %d:%d:%d' % (h,m,s))
                elif d == 1:
                    logger.info(u'Осталось супер-поиск: 1 день %d:%d:%d' % (h,m,s))
                elif d == 2:
                    logger.info(u'Осталось супер-поиск: 2 дня %d:%d:%d' % (h,m,s))
                                                    
        if exp_time < time_activation:         
            if day_3 > 0:
                event = {"x":20,"type":"item","y":7,"action":"useStorageItem","itemId":"BS_BUFF_FIX_DIGGER3"}
                self._get_events_sender().send_game_events([event])
                self._get_game_state().remove_from_storage("@BS_BUFF_FIX_DIGGER3", 1)
                buff_list.append(dict2obj({"item":"@BS_BUFF_FIX_DIGGER3", "expire": dict2obj({"type":"time", "endDate": str(int(self._get_timer()._get_current_client_time())+259200000)})}))       
                logger.info(u'Активирован супер-поиск на 3 дня')
            elif day_2 > 0:
                event = {"x":20,"type":"item","y":7,"action":"useStorageItem","itemId":"BS_BUFF_FIX_DIGGER2"}
                self._get_events_sender().send_game_events([event])
                self._get_game_state().remove_from_storage("@BS_BUFF_FIX_DIGGER2", 1)
                buff_list.append(dict2obj({"item":"@BS_BUFF_FIX_DIGGER2", "expire": dict2obj({"type":"time", "endDate": str(int(self._get_timer()._get_current_client_time())+172800000)})}))       
                logger.info(u'Активирован супер-поиск на 2 дня')    
            elif day_1 > 0:
                event = {"x":20,"type":"item","y":7,"action":"useStorageItem","itemId":"BS_BUFF_FIX_DIGGER1"}
                self._get_events_sender().send_game_events([event])
                self._get_game_state().remove_from_storage("@BS_BUFF_FIX_DIGGER1", 1)
                buff_list.append(dict2obj({"item":"@BS_BUFF_FIX_DIGGER1", "expire": dict2obj({"type":"time", "endDate": str(int(self._get_timer()._get_current_client_time())+86400000)})}))       
                logger.info(u'Активирован супер-поиск на 1 день')
            else:
                logger.info(u'На складе нет супер-поиск!!!')               



class GameBuffFixCook(BaseActor):
    
    def perform_action(self):

        day_count = 10        # Предупреждает, что через "day_count" дней закончится минутка на складе 
        time_activation = 30  # Активировать за "time_activation" секунд до окончания
        
        day_1 = day_2 = day_3 = exp_time = 0
        for materials in self._get_game_state().get_state().storageItems:
            if hasattr(materials, 'item'): 
                if "BUFF_FIX_COOK_1" in materials.item:
                    day_1 = materials.count
                if "BUFF_FIX_COOK_2" in materials.item:
                    day_2 = materials.count    
                if "BUFF_FIX_COOK_3" in materials.item:
                    day_3 = materials.count
        day = day_1 + day_2*2 + day_3*3
        if int(str(day)[-1:]) == 0 or 9 < int(str(day)[-2:]) < 21 or 4 < int(str(day)[-1:]) < 10:
            days = u'дней'
        elif 1 < int(str(day)[-1:]) < 5:
            days = u'дня'
        else:
            days = u'день' 
        if day < day_count: 
            logger.info(u'Внимание!!! Минутки на складе осталось на %d %s' % (day, days))        
        
        buff_list = self._get_game_state().get_state().buffs.list            
        for l in buff_list:
            if "BUFF_FIX_COOK" in l.item:
                exp_time = int((float(l.expire.endDate)-self._get_timer()._get_current_client_time())/1000)
                if exp_time < 0:
                    exp_time = 0
                d = exp_time/86400
                h = (exp_time - 86400*d)/3600
                m = (exp_time - 86400*d - 3600*h)/60
                s = exp_time - 86400*d  - 3600*h - 60*m
                if d == 0:
                    logger.info(u'Осталось минутки: %d:%d:%d' % (h,m,s))
                elif d == 1:
                    logger.info(u'Осталось минутки: 1 день %d:%d:%d' % (h,m,s))
                elif d == 2:
                    logger.info(u'Осталось минутки: 2 дня %d:%d:%d' % (h,m,s))
                                                    
        if exp_time < time_activation:         
            if day_3 > 0:
                event = {"x":20,"type":"item","y":7,"action":"useStorageItem","itemId":"BS_BUFF_FIX_COOK_3"}
                self._get_events_sender().send_game_events([event])
                self._get_game_state().remove_from_storage("@BS_BUFF_FIX_COOK_3", 1)
                buff_list.append(dict2obj({"item":"@BS_BUFF_FIX_COOK_3", "expire": dict2obj({"type":"time", "endDate": str(int(self._get_timer()._get_current_client_time())+259200000)})}))       
                logger.info(u'Активирована минутка на 3 дня')
            elif day_2 > 0:
                event = {"x":20,"type":"item","y":7,"action":"useStorageItem","itemId":"BS_BUFF_FIX_COOK_2"}
                self._get_events_sender().send_game_events([event])
                self._get_game_state().remove_from_storage("@BS_BUFF_FIX_COOK_2", 1)
                buff_list.append(dict2obj({"item":"@BS_BUFF_FIX_COOK_2", "expire": dict2obj({"type":"time", "endDate": str(int(self._get_timer()._get_current_client_time())+172800000)})}))       
                logger.info(u'Активирована минутка на 2 дня')    
            elif day_1 > 0:
                event = {"x":20,"type":"item","y":7,"action":"useStorageItem","itemId":"BS_BUFF_FIX_COOK_1"}
                self._get_events_sender().send_game_events([event])
                self._get_game_state().remove_from_storage("@BS_BUFF_FIX_COOK_1", 1)
                buff_list.append(dict2obj({"item":"@BS_BUFF_FIX_COOK_1", "expire": dict2obj({"type":"time", "endDate": str(int(self._get_timer()._get_current_client_time())+86400000)})}))       
                logger.info(u'Активирована минутка на 1 день')
            else:
                logger.info(u'На складе нет минутки!!!')
Подключение в game_engine:
Код:
from game_actors_and_handlers.buffs import GameBuffFixHarvest, GameBuffDigger, GameBuffFixCook
        actor_classes = [
            GameBuffFixHarvest,         # Активировать супер-урожай
            GameBuffDigger,             # Активировать супер-поиск
            GameBuffFixCook,            # Активировать повара-минутки
            ]
  Ответить с цитированием
Старый 09.05.2014, 23:20   #2209
 Разведчик
Аватар для 0лег
 
0лег никому не известный тип
Регистрация: 16.03.2010
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

большое спасибо)

Добавлено через 2 минуты
Цитата:
Сообщение от Shurup240Посмотреть сообщение
Пользуйся. Расширение смени на *.py Вложение 55834

Большрое Спасибо)

Последний раз редактировалось 0лег; 09.05.2014 в 23:22. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 10.05.2014, 11:30   #2210
 Разведчик
Аватар для darkdespot
 
darkdespot неизвестен в этих краяхdarkdespot неизвестен в этих краях
Регистрация: 27.06.2009
Сообщений: 18
Популярность: -107
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

всем привет!долгое время не пользовался ботом,недавно решил возобновить так сказать,но вот беда,выдает ошибку,подскажите как исправить?!

проблема решилась,в пароле присутствовали русские буквы
Изображения
Тип файла: jpg 45632.jpg (134.9 Кб, 26 просмотров)

Последний раз редактировалось darkdespot; 10.05.2014 в 15:46.
  Ответить с цитированием
Старый 10.05.2014, 12:57   #2211
 Разведчик
Аватар для Saintinel
 
Saintinel никому не известный тип
Регистрация: 20.04.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Ходилка со стучанием в самолеты. С учетом замечания greyzza и учетом лимита стуков в день.

ВСЕХ ПОЗДРАВЛЯЮ С ДНЕМ ПОБЕДЫ!!!!




friends.zip
  Ответить с цитированием
Старый 10.05.2014, 13:03   #2212
 Разведчик
Аватар для GirlKris
 
GirlKris никому не известный тип
Регистрация: 17.02.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Сажаем деревья за секунду.
Процедуру:
Код:
        num = 0
        if space_crd:
        ...
           ...
              ...
                    self._get_game_state().get_state().gameObjects.append(dict2obj({u'rotate': u'0L', u'fruitingCount': u'25L', u'fertilized': False, u'item': u'@'+need.id, u'jobFinishTime': u'79200000', u'jobStartTime': u'0', u'y': str(y), u'x': str(x), u'type': u'fruitTree', u'id': next_id}))
                    next_id += 1
Меняем на:
Код:
        num = 0
        buy = []        
        if space_crd:
            for k in space_crd:
                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':
                    if current_loc != u'main' and (k[0] == '8' or k[0] == '9'): 
                        x = int(k[:1])
                        y = int(k[1:])
                    else:
                        x = int(k[:2])
                        y = int(k[2:])
                    
                if self._get_game_state().get_state().gameMoney > min_money:
                    num += 1                
                    buy_event = {"x":x,"y":y,"action":"buy","itemId":need.id,"type":"item","objId":next_id}                    
                    buy.append(buy_event)
                    #self._get_events_sender().send_game_events([buy])
                    self._get_game_state().get_state().gameMoney -= build_cost
                    #logger.info(u''+str(num)+u" Сажаем "+need.id+u" на X: "+str(x)+u", Y: "+str(y))
                    self._get_game_state().get_state().gameObjects.append(dict2obj({u'rotate': u'0L', u'fruitingCount': u'25L', u'fertilized': False, u'item': u'@'+need.id, u'jobFinishTime': u'79200000', u'jobStartTime': u'0', u'y': str(y), u'x': str(x), u'type': u'fruitTree', u'id': next_id}))
                    next_id += 1                     
        if num > 0: 
            self._get_events_sender().send_game_events(buy)
            logger.info(u'Посадили %d %s' %(num,need.id))
  Ответить с цитированием
Старый 10.05.2014, 13:25   #2213
 Разведчик
Аватар для greyzza
 
greyzza никому не известный тип
Регистрация: 25.02.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сажаем деревья за секунду.

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

если еще кому то актуально вот сбор билетов и обновление самолета,
подключаем в энжине:
PHP код:
from game_actors_and_handlers.airplane_sell import TiketReceiverBot 
и соответственно:
PHP код:
TiketReceiverBot,   # Собираем билеты, обновляем самолет 
Вложения
Тип файла: rar airplane_sell.rar (812 байт, 56 просмотров)
  Ответить с цитированием
Пользователь сказал cпасибо:
vintets (10.05.2014)
Старый 10.05.2014, 21:42   #2215
 Разведчик
Аватар для Shurup240
 
Shurup240 никому не известный тип
Регистрация: 04.02.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от greyzzaПосмотреть сообщение
если еще кому то актуально вот сбор билетов и обновление самолета

Спасибо
  Ответить с цитированием
Старый 10.05.2014, 23:03   #2216
 Пехотинец
Аватар для vintets
 
vintets скоро будет известенvintets скоро будет известенvintets скоро будет известен
Регистрация: 01.08.2012
Сообщений: 95
Популярность: 255
Сказал(а) спасибо: 28
Поблагодарили 54 раз(а) в 38 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от greyzzaПосмотреть сообщение
если еще кому то актуально вот сбор билетов и обновление самолета,
подключаем в энжине:
PHP код:
from game_actors_and_handlers.airplane_sell import TiketReceiverBot 
и соответственно:
PHP код:
TiketReceiverBot,   # Собираем билеты, обновляем самолет 

Валится при наличии других туковых остатков. Нужно проверять на самолёт (в этом не уверен, проскакивала ошибка, решил что это).
И, кстати, написано для 1 самолёта иначе остальные не обновляет.
Не плохо бы реализовать стук в ответ. Хотя бы выгрузкой в файл для начала, потом подберём.
________________

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

Последний раз редактировалось vintets; 11.05.2014 в 06:12.
  Ответить с цитированием
Старый 10.05.2014, 23:04   #2217
 Разведчик
Аватар для Kipari40
 
Kipari40 никому не известный тип
Регистрация: 25.05.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Отправить сообщение для Kipari40 с помощью Skype™
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

РЕБЯТ!!
Скиньте ссылку на целый бот для копания)
у меня он есть ,но похоже не той версии
ОШИБКИ вылетают
  Ответить с цитированием
Старый 11.05.2014, 07:25   #2218
 Разведчик
Аватар для greyzza
 
greyzza никому не известный тип
Регистрация: 25.02.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от vintetsПосмотреть сообщение
написано для 1 самолёта

вынеси за цикл или в конец модуля
PHP код:
self._get_game_state().airplaneReload False 
все самолеты обновит
вернее лучше будет вот так:
PHP код:
удалил потому что ниже положил подправленный код 
а по поводу выгрузки в файл, я чет не заморачивался т.к. билеты все равно раскладываю при походе в гости раз в сутки, хотя кому надо - проблемы то нет выгрузить во внешний файл

Последний раз редактировалось greyzza; 11.05.2014 в 14:43.
  Ответить с цитированием
Старый 11.05.2014, 09:09   #2219
Заблокирован
 Разведчик
Аватар для trollolo5
 
trollolo5 никому не известный тип
Регистрация: 18.03.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
если еще кому то актуально вот сбор билетов и обновление самолета,
подключаем в энжине:



валиться бот...при этом самолетик потом не обновляется в браузере, пришлось удалить
вставил новую правку, теперь бот вообще не видеть самолетики
возможно не туда скопировать, желательно выставить полный модуль

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

Цитата:
Сообщение от trollolo5Посмотреть сообщение
желательно выставить полный модуль

PHP код:
# coding=utf-8
import logging
from game_state
.game_types import GameWoodGraveGameWoodGraveDouble,\
    
GamePickItemGameWoodTreeGameStoneGameGainItemGamePickup
from game_state
.game_event import dict2obj
from game_actors_and_handlers
.base import BaseActor

logger 
logging.getLogger(__name__)


class 
TiketReceiverBot(BaseActor):
    
def perform_action(self):
        
# билеты на хоккей
        
tikets self._get_game_location().get_all_objects_by_type('thanksgivingTable')
        
tiket_count 0
        
if not hasattr(self._get_game_state(), 'airplaneReload'):self._get_game_state().airplaneReload True
        countitem 
0
        
for tiket in tikets:
            if 
tiket.item == "@B_HOCKEY_AIRPLANE" and not tiket.users and self._get_game_state().airplaneReload == True:
                if 
tiket.usedPlatesCount == :
                    
self._get_events_sender().send_game_events([{"objId":tiket.id,"type":"item","action":"reload"}])
                    
logger.info(u'Обновляю САМОЛЕТ!!!')
                    
countitem +=1
        
            
for i in tiket.users:
                
tiket_count += 1
                apply_tiket_event 
= {"objId":tiket.id,"type":"thanksgivingTable","index":0,"action":"applyThanksgivingGift"}
                
self._get_events_sender().send_game_events([apply_tiket_event])
                
self._get_game_state().add_from_storage("@CR_TICKET",1)
            
tiket.users = []
        if 
tiket_count 0:
            
logger.info(u'Собрали %d билетов'tiket_count)
        if 
countitem >0:
            
self._get_game_state().airplaneReload False 
  Ответить с цитированием
Ответ


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

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

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