Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
AnonProger, Cheater84, Очень полезная функция нужна в боте это создание проездного, к примеру поставить фургон на домашнем и как закончился проездной бот его бы создавал.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Как-то так создаем проездной. Проверить не могу пока что.
Код:
#функция создания проездного
def create_ticket (self, _obj_id):
create_ticket_event = {"type": "item",
"action": "craft",
"objId": _obj_id,
"itemId":"1"}
self._get_events_sender().send_game_events([create_ticket_event])
#получаем id фургона
buildings = self._get_game_location().get_all_objects_by_type(GameBuilding.type)
for building in list(buildings):
building_item = self._get_item_reader().get(building.item)
if building_item.name == u'Фургон': # или if building_item.id == 'B_VAN_ICE_CREAM'
obj_id = building.id
#есть ли на складе альбом и зеленая краска
gr_paint = album =0
st_items = self._get_game_state().get_state().storageItems
for _item in list(st_items):
if _item.item == ('@CR_08'): gr_paint = _item.count
if _item.item == ('@R_33'): album = _item.count
#проверяем время окончания бафа /либо его отсутствие/ и создаем проездной
l_buffs = self._get_game_state().get_state().buffs.list
l_count = 0
for l in l_buffs:
if 'BUFF_TRAVEL_TICKET_TIME' in l.item:
if l.expire.endDate > 0:
l_count +=1
if l_count == 0 and gr_paint >= 10 and album >= 1 : self.create_ticket (obj_id)
За быдлокод прошу не пинать, еще не совсем шурупаю в питоне.
PS. Списание материалов со склада нужно добавить еще.
PPS. Для жетонов (на 100 поездок) баф BUFF_TRAVEL_TICKET_COUNT, сответственно проверяем наличие 5 книг @CR_75 и 5 точилок @CR_99.
Текущее количество жетонов l.expire.count а itemId = 3
Последний раз редактировалось dark-dragon; 22.11.2013 в 04:34.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
zapilenko, можно отдельным классом запилить в какой-нибудь подходящий файл, и через game_engine.py подключить в actor_classes.
Можно и отдельным файлом, но тоже класс создавать нужно и подключать.