Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Здравствуйте, подскажите пожалуйста почему не солит рецепты?
На работы выгоняет поваров но солить не хочет!
Разобрался с причиной, вот только бочки собирает только при переходе с другого острова, если например я выключаю перемещение по островам то он не собирает бочки а просто пишет:
"посолили 3 рецепта
время супер урожая
посолили 3 рецепта
время супер урожая"
Но бочки не собирает а значит солит всего 3 рецепта и все!
Кто знает в чем может быть проблема?
Последний раз редактировалось maks_maks); 17.07.2014 в 15:12.
Причина: +
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Подскажите, как правильно прописать айди, чтоб стучало в корабли только определенному игроку?
PHP код:
##### СТУЧИМ В ЛОДКИ #####
if u'pirateBoats' in action:# (или добавляем чтобы стучать определенному другу) and (fren_user == "'123456'"):# Вставляем id кому стучим
if object.type == 'pirateShip'and (Pirate =='PIRATE') :
if object.item == u'@B_PIRATE_BOAT_2' and len(object.team) < 5:
if not str(myid) in str(object.team):
self._get_events_sender().send_game_events([{"objId":object.id,"type":"item","action":"remotePirateJoinTeam"}])
self.cprint (u"2 Попросился в команду на^6_'Пиратскую Лодку'^2_!!!")
else:self.cprint (u"3 Ты уже в команде на^6_'Пиратской Лодке'")
if object.item == u'@B_PIRATE_SCHOONER_2' and len(object.team) < 5:
if not str(myid) in str(object.team):
self._get_events_sender().send_game_events([{"objId":object.id,"type":"item","action":"remotePirateJoinTeam"}])
self.cprint (u"2 Попросился в команду на^6_'Пиратскую Шхуну'^2_!!!")
else:self.cprint (u"3 Ты уже в команде на^6_'Пиратской Шхуне'")
if object.item == u'@B_PIRATE_CARAVEL_2' and len(object.team) < 7:
if not str(myid) in str(object.team):
self._get_events_sender().send_game_events([{"objId":object.id,"type":"item","action":"remotePirateJoinTeam"}])
self.cprint (u"2 Попросился в команду на^6_'Пиратскую Каравеллу'^2_!!!")
else:self.cprint (u"3 Ты уже в команде на^6_'Пиратской Каравелле'")
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от greyzza
написано же, добавь после if u'pirateBoats' in action вот это and (fren_user == "'123456'") где циферки это ид друга которому стучим
Делал так
PHP код:
##### СТУЧИМ В ЛОДКИ #####
if u'pirateBoats' in action: and (fren_user == "'123456'"):
if object.type == 'pirateShip'and (Pirate =='PIRATE') :
if object.item == u'@B_PIRATE_BOAT_2' and len(object.team) < 5:
if not str(myid) in str(object.team):
self._get_events_sender().send_game_events([{"objId":object.id,"type":"item","action":"remotePirateJoinTeam"}])
self.cprint (u"2 Попросился в команду на^6_'Пиратскую Лодку'^2_!!!")
else:self.cprint (u"3 Ты уже в команде на^6_'Пиратской Лодке'")
if object.item == u'@B_PIRATE_SCHOONER_2' and len(object.team) < 5:
if not str(myid) in str(object.team):
self._get_events_sender().send_game_events([{"objId":object.id,"type":"item","action":"remotePirateJoinTeam"}])
self.cprint (u"2 Попросился в команду на^6_'Пиратскую Шхуну'^2_!!!")
else:self.cprint (u"3 Ты уже в команде на^6_'Пиратской Шхуне'")
if object.item == u'@B_PIRATE_CARAVEL_2' and len(object.team) < 7:
if not str(myid) in str(object.team):
self._get_events_sender().send_game_events([{"objId":object.id,"type":"item","action":"remotePirateJoinTeam"}])
self.cprint (u"2 Попросился в команду на^6_'Пиратскую Каравеллу'^2_!!!")
else:self.cprint (u"3 Ты уже в команде на^6_'Пиратской Каравелле'")
Ругается
[Ссылки могут видеть только зарегистрированные пользователи. ]
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от Shurup240
Делал так
PHP код:
##### СТУЧИМ В ЛОДКИ ##### if u'pirateBoats' in action: and (fren_user == "'123456'"): if object.type == 'pirateShip'and (Pirate =='PIRATE') : if object.item == u'@B_PIRATE_BOAT_2' and len(object.team) < 5: if not str(myid) in str(object.team): self._get_events_sender().send_game_events([{"objId":object.id,"type":"item","action":"remotePirateJoinTeam"}]) self.cprint (u"2 Попросился в команду на^6_'Пиратскую Лодку'^2_!!!") else:self.cprint (u"3 Ты уже в команде на^6_'Пиратской Лодке'") if object.item == u'@B_PIRATE_SCHOONER_2' and len(object.team) < 5: if not str(myid) in str(object.team): self._get_events_sender().send_game_events([{"objId":object.id,"type":"item","action":"remotePirateJoinTeam"}]) self.cprint (u"2 Попросился в команду на^6_'Пиратскую Шхуну'^2_!!!") else:self.cprint (u"3 Ты уже в команде на^6_'Пиратской Шхуне'") if object.item == u'@B_PIRATE_CARAVEL_2' and len(object.team) < 7: if not str(myid) in str(object.team): self._get_events_sender().send_game_events([{"objId":object.id,"type":"item","action":"remotePirateJoinTeam"}]) self.cprint (u"2 Попросился в команду на^6_'Пиратскую Каравеллу'^2_!!!") else:self.cprint (u"3 Ты уже в команде на^6_'Пиратской Каравелле'")
Ругается
Убери двоеточие лишнее(первое)
PHP код:
if u'pirateBoats' in action: and (fren_user == "'123456'"):
Последний раз редактировалось GirlKris; 17.07.2014 в 19:19.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от vintets
А почему сюда?
В энжине после
PHP код:
logger.info('Остров загружен!')
Добавляем
PHP код:
try:
os.remove('friends_id.txt')
except:
pass
with open('friends_id.txt', 'a') as f:
friends = ''
for fr_id in friendsid:
friends += str(fr_id) + '\n'
f.write(friends)
СПАСИБО!!!!
Добавлено через 9 часов 7 минут
Код:
Session old. Autentification...
HTTP error
$ in response_string NoneType
NoneType redirect in response
Traceback (most recent call last):
File "main.py", line 120, in <module>
run_game()
File "main.py", line 94, in run_game
Game(site, settings, UserPrompt(gui_input), gui_input=gui_input).start(paa)
File "E:\╤шёЄхьр\Downloads\ZomBotSnow555\ZomBotSnow555\game_engine.py", line 6
01, in start
start_response,self.__friendsid,self.__uid,self.__server_time = self.__game_
initializer.start()
File "E:\╤шёЄхьр\Downloads\ZomBotSnow555\ZomBotSnow555\game_engine.py", line 1
96, in start
session_key, server_time = self.get_time()
File "E:\╤шёЄхьр\Downloads\ZomBotSnow555\ZomBotSnow555\game_engine.py", line 2
20, in get_time
response = self.__request_sender.send(command)
File "E:\╤шёЄхьр\Downloads\ZomBotSnow555\ZomBotSnow555\game_engine.py", line 9
04, in send
return dict2obj(request.send(self.__connection))
File "E:\╤шёЄхьр\Downloads\ZomBotSnow555\ZomBotSnow555\message_factory.py", li
ne 186, in send
if 'cmd' in response:
TypeError: argument of type 'NoneType' is not iterable
Для продолжения нажмите любую клавишу . . .
Ещё вот такая проблемка возникла
Последний раз редактировалось Kipari40; 18.07.2014 в 09:51.
Причина: Добавлено сообщение
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от maks_maks)
Здравствуйте, подскажите пожалуйста почему не солит рецепты?
На работы выгоняет поваров но солить не хочет!
Разобрался с причиной, вот только бочки собирает только при переходе с другого острова, если например я выключаю перемещение по островам то он не собирает бочки а просто пишет:
"посолили 3 рецепта
время супер урожая
посолили 3 рецепта
время супер урожая"
Но бочки не собирает а значит солит всего 3 рецепта и все!
Кто знает в чем может быть проблема?
Подлечил. Добавил изменение статы. И исправил имена при добавлении рецептов.
Пилим файл cook_graves.py
Класс CookSpeed теперь такой
def perform_action(self): wood_graves = self._get_game_location().get_all_objects_by_types( self.get_worker_types() ) recipe_item = [u'@RECIPE_53'] # [u'@RECIPE_28',u'@RECIPE_31'] speed_item = 'RED_SPEEDUPER' if self._get_game_state().count_in_storage('@'+speed_item)>0: for wood_grave in wood_graves: #print u'До', obj2dict(wood_grave) #{u'rotate': 0L, u'jobEndTime': u'2258993', u'speeduped': False, u'id': 3620L, u'materials': [], u'item': u'@SC_COOK_GRAVE', u'isUp': True, u'recipeNo': 360L, u'y': 35L, u'x': 21L, u'type': u'cookGrave', u'pendingRecipes': [u'@RECIPE_09', u'@RECIPE_09'], u'currentRecipe': u'@RECIPE_09'} if hasattr(wood_grave, "isUp") or wood_grave.isUp: if hasattr(wood_grave, "currentRecipe"): count_speed = 0 materials = [] names = u'' if wood_grave.currentRecipe in recipe_item: #print u'солим currentRecipe' count_speed += 1 mat = self._get_item_reader().get(wood_grave.currentRecipe) materials.append(mat.result) names += mat.name + u' ' del wood_grave.currentRecipe pend = 0 for i in wood_grave.pendingRecipes: if i in recipe_item: #print u'солим pendingRecipes' count_speed += 1 mat = self._get_item_reader().get(i) materials.append(mat.result) names += mat.name + u' ' pend += 1 else: break if pend == 2: wood_grave.pendingRecipes = [] elif pend == 1: wood_grave.pendingRecipes.pop(0) if count_speed == 0: break
logger.info(u'Посолим %d рецепта у поваров №%d'%(count_speed,wood_grave.id)) logger.info(names) for i in range(count_speed): if self._get_game_state().count_in_storage('@'+speed_item)>0: #{"objId":3494,"type":"item","action":"speedup","itemId":"RED_SPEEDUPER"} event=GameCookSpeed(objId=wood_grave.id,itemId=unicode(speed_item)) self._get_events_sender().send_game_events([event]) self._get_game_state().remove_from_storage('@'+speed_item,1) else: break
def perform_action(self):
wood_graves = self._get_game_location().get_all_objects_by_types(
self.get_worker_types()
)
recipe_item = [u'@RECIPE_53'] # [u'@RECIPE_28',u'@RECIPE_31']
speed_item = 'RED_SPEEDUPER'
if self._get_game_state().count_in_storage('@'+speed_item)>0:
for wood_grave in wood_graves:
#print u'До', obj2dict(wood_grave)
#{u'rotate': 0L, u'jobEndTime': u'2258993', u'speeduped': False, u'id': 3620L, u'materials': [], u'item': u'@SC_COOK_GRAVE', u'isUp': True, u'recipeNo': 360L, u'y': 35L, u'x': 21L, u'type': u'cookGrave', u'pendingRecipes': [u'@RECIPE_09', u'@RECIPE_09'], u'currentRecipe': u'@RECIPE_09'}
if hasattr(wood_grave, "isUp") or wood_grave.isUp:
if hasattr(wood_grave, "currentRecipe"):
count_speed = 0
materials = []
names = u''
if wood_grave.currentRecipe in recipe_item:
#print u'солим currentRecipe'
count_speed += 1
mat = self._get_item_reader().get(wood_grave.currentRecipe)
materials.append(mat.result)
names += mat.name + u' '
del wood_grave.currentRecipe
pend = 0
for i in wood_grave.pendingRecipes:
if i in recipe_item:
#print u'солим pendingRecipes'
count_speed += 1
mat = self._get_item_reader().get(i)
materials.append(mat.result)
names += mat.name + u' '
pend += 1
else: break
if pend == 2:
wood_grave.pendingRecipes = []
elif pend == 1:
wood_grave.pendingRecipes.pop(0)
if count_speed == 0: break
logger.info(u'Посолим %d рецепта у поваров №%d'%(count_speed,wood_grave.id))
logger.info(names)
for i in range(count_speed):
if self._get_game_state().count_in_storage('@'+speed_item)>0:
#{"objId":3494,"type":"item","action":"speedup","itemId":"RED_SPEEDUPER"}
event=GameCookSpeed(objId=wood_grave.id,itemId=unicode(speed_item))
self._get_events_sender().send_game_events([event])
self._get_game_state().remove_from_storage('@'+speed_item,1)
else: break