 |
Zombot (Клиент для игры Зомби ферма) [Обсуждение] - Свободное обсуждение - Ваши идеи, вопросы и ответы на тему браузерных игр и социальных сетей |
30.10.2014, 23:23
|
#3481
|
|
|
|
Разведчик
|
 Регистрация: 25.02.2013
 Сообщений: 1
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
|
|
|
30.10.2014, 23:32
|
#3482
|
|
|
|
Разведчик
|
 Регистрация: 13.03.2013
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
xxxXANxxx, greyzza спасибо, открыл в блокноте и действительно, лишние пробелы.
|
|
|
30.10.2014, 23:33
|
#3483
|
|
|
|
Разведчик
|
 Регистрация: 30.07.2013
 Сообщений: 1
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
кстате по поводу лимита рулеток скиньте файл "рулетс" у кого работает
|
|
|
31.10.2014, 02:07
|
#3484
|
|
|
|
Разведчик
|
 Регистрация: 13.03.2013
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Ребят ещё такой вопрос, как научить бота игнорировать уже прокрученные рулетки (сыпит ошибки и перестаёт крутить другие).
Спасибо.
|
|
|
31.10.2014, 09:43
|
#3485
|
|
|
|
Разведчик
|
 Регистрация: 30.07.2013
 Сообщений: 1
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
|
|
|
31.10.2014, 11:47
|
#3486
|
|
|
|
Разведчик
|
 Регистрация: 17.02.2014
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Последний раз редактировалось GirlKris; 31.10.2014 в 11:55.
|
|
|
31.10.2014, 17:03
|
#3487
|
|
|
|
Разведчик
|
 Регистрация: 09.11.2013
 Сообщений: 2
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 9 раз(а) в 8 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Да, новая печаль с размерами. Очередной сюрприз от программиста Леши. )
Мой бот: znest.ru . Можно погонять бесплатно, если сумеете настроить. )
Так же там веб-интерфейс в исходниках на пхп, за который вполне можно попинать. ))
Могу собрать под линукс и подсказать дешевые виртуальные сервера. Бот шикарно крутится все 24 часа с активным супер-урожаем или ускоренными поварами.
|
|
|
31.10.2014, 17:23
|
#3488
|
|
|
|
Разведчик
|
 Регистрация: 09.04.2014
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Привет. Можно ссылку на последнюю рабочую версию бота (главное чтобы урожай собирал и крутил рулетки). Если не ошибаюсь, последняя рабочая была у DreamerAG. Спасибо
|
|
|
31.10.2014, 19:46
|
#3489
|
|
|
|
Разведчик
|
 Регистрация: 30.07.2013
 Сообщений: 1
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
в моем старом боте он уже прописан был только вот так: from game_state.game_event import obj2dict, dict2obj
Добавлено через 17 минут
я удалил видимо лишние
PHP код:
if hasattr(game, 'playsCount'): if game_id in Play_Count: if play_Count < game.playsCount: play_Count +=1 else:coninue count_last = game.playsCount - play_Count logger.info( u'Крутим рулетку '+ building_item.name+ u'. Осталось: '+ str(count_last)+'/'+ str(game.playsCount)) building.playsCounts.__dict__[game_id]=dict2obj(play_Count) else: logger.info( u"Крутим рулетку в '" + building_item.name + "' " + str(building.id) + u" по координатам (" + str(building.x) + u", " + str(building.y) + u")")
и все заработало тока не на чем проверить на данный момент
Добавлено через 22 минуты
все равно не понятно зачем там 2 таких ?
PHP код:
else:
logger.info(
u"Крутим рулетку в '" +
building_item.name + "' " +
str(building.id) +
u" по координатам (" +
str(building.x) + u", " + str(building.y) + u")")
Добавлено через 25 минут
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
в моем старом боте он уже прописан был только вот так: from game_state.game_event import obj2dict, dict2obj
Добавлено через 17 минут
я удалил видимо лишние
PHP код:
if hasattr(game, 'playsCount'):
if game_id in Play_Count:
if play_Count < game.playsCount: play_Count +=1
else:coninue
count_last = game.playsCount - play_Count
logger.info(
u'Крутим рулетку '+
building_item.name+
u'. Осталось: '+
str(count_last)+'/'+
str(game.playsCount))
building.playsCounts.__dict__[game_id]=dict2obj(play_Count)
else:
logger.info(
u"Крутим рулетку в '" +
building_item.name + "' " +
str(building.id) +
u" по координатам (" +
str(building.x) + u", " + str(building.y) + u")")
и все заработало тока не на чем проверить на данный момент 
Добавлено через 22 минуты
все равно не понятно зачем там 2 таких ?
PHP код:
else:
logger.info(
u"Крутим рулетку в '" +
building_item.name + "' " +
str(building.id) +
u" по координатам (" +
str(building.x) + u", " + str(building.y) + u")")
|
|
 |
|
 |
|
проверил мой старый с дублированием не хочет работать а новый заглотил как есть странно все это.
Добавлено через 30 минут
GirlKris помоги нужна задержка перед кручением рулетки примерно в минуту в гейм ендж я так понял смысла нет настраивать он там временной кантиниум не работает поставил для прикола 9999 он все равно каждые пол минуты перезапускает
Последний раз редактировалось xxxXANxxx; 31.10.2014 в 20:17.
Причина: Добавлено сообщение
|
|
|
31.10.2014, 22:21
|
#3490
|
|
|
|
Разведчик
|
 Регистрация: 25.02.2013
 Сообщений: 1
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Последний раз редактировалось greyzza; 31.10.2014 в 22:41.
Причина: Добавлено сообщение
|
|
|
31.10.2014, 22:36
|
#3491
|
|
|
|
Разведчик
|
 Регистрация: 09.04.2014
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Привет, мне сказали что здесь одни задроты сидят, прокачивают бот друг между другом и ни с кем не делятся, может среди вас найдется щедрый обладатель бота? Если не хотите палиться, киньте рабочую версию в ЛЧ или залейте сюда, спасибо)
|
|
|
31.10.2014, 22:49
|
#3492
|
|
|
|
Разведчик
|
 Регистрация: 25.02.2013
 Сообщений: 1
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
|
|
|
31.10.2014, 23:14
|
#3493
|
|
|
|
Разведчик
|
 Регистрация: 30.07.2013
 Сообщений: 1
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
PHP код:
# coding=utf-8
import logging
from game_state.game_types import GameBuilding, GamePlayGame
from game_actors_and_handlers.base import BaseActor
from game_state.game_event import dict2obj, obj2dict
logger = logging.getLogger(__name__)
class RouletteRoller(BaseActor):
def perform_action(self):
buildings = self._get_game_location().get_all_objects_by_type(GameBuilding.type)
_i = 0
for building in list(buildings):
# print obj2dict(building)
if (((building.level>0) or (building.item=='@B_YACHT')) or (building.item in ('@B_STONE_WELL','@B_PIRATE_SLOT', '@B_BARREL'))) and (building.item!='@B_TAVERNA'):
building_item = self._get_item_reader().get(building.item)
if building_item.name != u'Казино':
for game in building_item.games:
_i += 1
game_id = game.id
play_cost = None
if hasattr(game, 'playCost'):
play_cost = game.playCost
next_play = None
next_play_times = building.nextPlayTimes.__dict__
if game_id in next_play_times:
next_play = int(next_play_times[game_id])
if (play_cost is None) and ((next_play and self._get_timer().has_elapsed(next_play)) or ((not next_play) and (game.level == building.level))):
logger.info(u"Крутим рулетку в '" + building_item.name + "' " + str(building.id))
roll = GamePlayGame(building.id, game_id)
self._get_events_sender().send_game_events([roll])
if _i:
print u'>>> рулеток %d' % _i
class AistRouletteRoller(BaseActor):
def perform_action(self):
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'Дерево Любви':
cherrys = 0
all_items = self._get_game_state().get_state().storageItems
for one_item in all_items:
if one_item.item == '@S_57':
cherrys = one_item.count
if cherrys > 25:
my_item = one_item
sum_items = cherrys
break
if cherrys > 25:
for game in building_item.games:
game_id = game.id
play_cost = None
if hasattr(game, 'playCost'):
play_cost = game.playCost.item
next_play = None
next_play_times = building.nextPlayTimes.__dict__
if game_id in next_play_times:
next_play = int(next_play_times[game_id])
if (
next_play and
self._get_timer().has_elapsed(next_play) and
play_cost == '@S_57'
):
logger.info(u">>> Крутим АИСТА <<<")
roll = GamePlayGame(building.id, game_id)
self._get_events_sender().send_game_events([roll])
sum_items -= 25
self._get_game_state().get_state().storageItems.remove(one_item)
my_item.count = sum_items
self._get_game_state().get_state().storageItems.append(my_item)
class CherryRouletteRoller(BaseActor):
# "type":"fruitTreeFertilizer","id":"RED_TREE_FERTILIZER","name":"100% удобрения для деревьев","sellCoins":50
# "type":"storage","id":"R_57","name":"Вишнёвый джем"
def perform_action(self):
cherrys = 0
all_items = self._get_game_state().get_state().storageItems
for one_item in all_items:
if one_item.item == '@RED_TREE_FERTILIZER':
print u'100% udobren', one_item.count
if one_item.item == '@RED_SPEEDUPER':
print u'100% соль', one_item.count
# if one_item.item == '@S_52': # вишня (S_51 яблоки, S_53 мандарин)
# if one_item.item == '@S_52': # вишня (S_51 яблоки, S_53 мандарин)
# if one_item.item == '@R_57': #джем
# if one_item.item == '@R_56': #компот
# if one_item.item == '@S_53':
if one_item.item == '@R_59':
cherrys = one_item.count
if cherrys > 0:
my_item = one_item
self._get_game_state().get_state().storageItems.remove(one_item)
sum_items = cherrys
# print u'джем = ', cherrys
# print u'вишни = ', cherrys
print u'компот = ', cherrys
cherrys = min(cherrys, 100)
if cherrys:
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)
for game in building_item.games:
# print 'game in ', building_item.name # 'Вишнёвый автомат'
game_id = game.id
play_cost = None
if hasattr(game, 'playCost'):
play_cost = game.playCost.item
next_play = None
next_play_times = building.nextPlayTimes.__dict__
if game_id in next_play_times:
next_play = int(next_play_times[game_id])
if (
next_play and
self._get_timer().has_elapsed(next_play) and
#play_cost == '@S_51' #яблоко
# play_cost == '@R_57'
# play_cost == '@R_56' # компот
# play_cost == '@S_53'
play_cost == '@R_59'
# play_cost == '@S_52'
):
# for _ in range(cherrys/5):
for _ in range(cherrys):
logger.info(u"Крутим рулетку в '" + building_item.name + "' " + str(building.id))
roll = GamePlayGame(building.id, game_id)
self._get_events_sender().send_game_events([roll])
sum_items -= 1
# sum_items -= 5
my_item.count = sum_items
# print u'-джем = ', sum_items
# print u'-вишни = ', sum_items
print u'-компот = ', sum_items
self._get_game_state().get_state().storageItems.append(my_item)
class GameResultHandler(object):
def __init__(self, item_reader, game_location):
self.__item_reader = item_reader
self.__game_location = game_location
def handle(self, event_to_handle):
nextPlayDate = event_to_handle.nextPlayDate
extraId = event_to_handle.extraId
obj_id = event_to_handle.objId
gameObject = self.__game_location.get_object_by_id(obj_id)
if gameObject is None:
logger.critical("OMG! No such object")
gameObject.nextPlayTimes.__setattr__(extraId, nextPlayDate)
building = self.__item_reader.get(gameObject.item)
for game in building.games:
if game.id == extraId:
game_prize = None
if hasattr(event_to_handle.result, 'pos'):
prize_pos = event_to_handle.result.pos
game_prize = game.prizes[prize_pos]
elif hasattr(event_to_handle.result, 'won'):
prize_pos = event_to_handle.result.won
if prize_pos is not None:
game_prize = game.combinations[prize_pos].prize
if game_prize:
prize_item = game_prize.item
prize = self.__item_reader.get(prize_item)
count = game_prize.count
logger.info(u'Вы выиграли ' + prize.name +
u'(' + str(count) + u' шт.)')
# f = open(r'c:\prizes.txt', 'ab')
# mess_str = u'%s %s\n' % (prize.name, count)
# f.write(mess_str.encode('utf-8'))
# f.close()
# if u'-урожай' in prize.name:
# exit()
else:
logger.info('Вы ничего не выиграли.')
как то так
|
|
|
31.10.2014, 23:23
|
#3494
|
|
|
|
Разведчик
|
 Регистрация: 25.02.2013
 Сообщений: 1
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
)) скрин ошибки
и такой древний у тебя модуль
Последний раз редактировалось greyzza; 31.10.2014 в 23:25.
|
|
|
31.10.2014, 23:49
|
#3495
|
|
|
|
Разведчик
|
 Регистрация: 30.07.2013
 Сообщений: 1
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Последний раз редактировалось xxxXANxxx; 31.10.2014 в 23:52.
Причина: Добавлено сообщение
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 11:58.
|
 |