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

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

-

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

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

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

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

Подскажите пожалуйста, как отредактировать gifts.py, чтобы принимались коллекции.
  Ответить с цитированием
Старый 17.02.2014, 19:11   #1098
Заблокирован
 Разведчик
Аватар для Cheater84
 
Cheater84 неизвестен в этих краях
Регистрация: 27.08.2013
Сообщений: 2
Популярность: -54
Сказал(а) спасибо: 5
Поблагодарили 15 раз(а) в 14 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Друзья! кто - нить с ошибкой при кручении коллайдера сталкивался?...если кто решил проблему,отпишите плиз)
  Ответить с цитированием
Старый 17.02.2014, 20:59   #1099
 Разведчик
Аватар для GirlKris
 
GirlKris никому не известный тип
Регистрация: 17.02.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Cheater84Посмотреть сообщение
Друзья! кто - нить с ошибкой при кручении коллайдера сталкивался?...если кто решил проблему,отпишите плиз)

У меня нет проблем с этим
Изображения
Тип файла: jpg коллайдер.jpg (75.6 Кб, 83 просмотров)
  Ответить с цитированием
Старый 17.02.2014, 21:18   #1100
 Разведчик
Аватар для xxxXANxxx
 
xxxXANxxx никому не известный тип
Регистрация: 30.07.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

интересный у тебя бот кто подогнал ?
Цитата:
Миниатюры

  Ответить с цитированием
Старый 17.02.2014, 21:19   #1101
Заблокирован
 Разведчик
Аватар для Cheater84
 
Cheater84 неизвестен в этих краях
Регистрация: 27.08.2013
Сообщений: 2
Популярность: -54
Сказал(а) спасибо: 5
Поблагодарили 15 раз(а) в 14 сообщениях
 
Exclamation Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от GirlKrisПосмотреть сообщение
У меня нет проблем с этим

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

Цитата:
Сообщение от Cheater84Посмотреть сообщение
как справилась этой проблемой? если можно то код выложи или в личку бота я гляну что в нем....за ранее благодарю)

У меня изначально так было)))) Вот код
PHP код:
# coding=utf-8
import logging
from game_state
.game_types import GameBuildingGamePlayGameDailyBonus
from game_actors_and_handlers
.base import BaseActor
from game_state
.game_event import obj2dict

logger 
logging.getLogger(__name__)

                    
class 
FrutRouletteRoller(BaseActor):

    
def perform_action(self):
        
# '@R_56' Компот
        # '@R_57' Вишнёвый джем
        # '@R_58' Лимонный микс
        # '@R_59' Мармелад
        # 'S_52' Вишня
        
ftut_ids = ['@R_56']
        for 
fr in ftut_ids:
            
frut_count=self._get_game_state().count_in_storage(fr)
            if 
frut_count==0: break
            
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:
                    
game_id game.id
                    play_cost 
None
                    
if hasattr(game'playCost'):
                        
play_cost game.playCost.item
                    
#{"type":"roulette","id":"B_SLOT_APPLE_ROULETTE2","level":1,"delayTime":0,"title":"Бонус-Рулетка","hint":"Крути рулетку за 1 Компот, чтобы испытать удачу.","playCost":{"count":1,"image":"storage/recipe_56.png","item":"@R_56"},"prizes":[{"count":1,"item":"@EGG_01"},{"count":5,"item":"@RED_SPEEDUPER"},{"count":1,"item":"@EGG_02"},{"count":10,"item":"@RED_TREE_FERTILIZER"},{"count":5,"item":"@RED_SPEEDUPER"},{"count":1,"item":"@EGG_04"},{"count":10,"item":"@RED_TREE_FERTILIZER"}]}
                    
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 == fr
                    
):
                        
countR=0
                        
for i in range(frut_count):
                            
roll GamePlayGame(building.idgame_id)
                            
self._get_events_sender().send_game_events([roll])
                            
countR+=1
                            self
._get_game_state().remove_from_storage(fr,1)
                        
logger.info(u"Крутим рулетку %d раз в '%s' %d по координатам (%d,%d)"%(countR,building_item.name,building.id,building.x,building.y))
                        
#logger.info(u"Крутим рулетку "+str(countR)+" раз в '"+building_item.name + "' " +str(building.id)+u" по координатам (" +str(building.x) + u", " + str(building.y) + u")")

class RouletteRoller(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)
            for 
game in building_item.games:
                
#print obj2dict(building_item)
                #print obj2dict(game)
                
game_id game.id
                play_cost 
None
                
if hasattr(game'playCost'):
                    
play_cost game.playCost
                
#if building_item.games[0].delayTime==game.delayTime:
                #    next_play = True
                #else: 
                #    next_play = False
                
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 is Noneget_next_play False
                
else: get_next_play self._get_timer().has_elapsed(next_play)
                
                if 
game_id == "B_TAVERNA_ROULETTE_1":
                    
pirate_box 0
                    
for _obj in list(self._get_game_state().get_state().storageGameObjects):
                        if 
_obj.item == '@PIRATE_BOX' or '@PIRATE_BOX_2'pirate_box 1
                    
if pirate_box!=and (self._get_game_state().get_state().pirate.state != 'PIRATE'): play_cost None
                    
else: play_cost game.unconditionalPlayCost
                
                
# Крутить рулетку в аисте за 25 малины
                
item_count=self._get_game_state().count_in_storage('@S_57')
                if 
building_item.id == 'B_TREE_STORK' and game_id == 'B_TREE_STORK_ROULETTE' and item_count>=25:
                    
self._get_game_state().remove_from_storage('@S_57',25)
                    
play_cost None
                
# Конец аиста
                # Крутить рулетку в казино если фишек = 0
                
item_count=self._get_game_state().count_in_storage("@O_CHIPS")
                if (
building_item.name==u'Казино'):
                    if (
item_count==0):
                        
play_cost None
                    
else: 
                        
play_cost 'Nul'
                
# Конец казино
                # Зомби фортуна за 5 фишек
                
if (building_item.name==u'Зомби-фортуна') and (game_id == 'B_SLOT_B_ROULETTE1') and item_count>=5:
                    
self._get_game_state().remove_from_storage('@O_CHIPS',5)
                    
play_cost None
                    next_play 
False
                
# Конец зомби фортуны
                # Крутить рулетку в Адмирале за 1 глазной суп
                
item_count=self._get_game_state().count_in_storage ('@R_60')
                if 
building_item.id == 'B_SOLDIER' and game_id == 'B_SOLDIER_ROULETTE' and item_count>=1:
                    
self._get_game_state().remove_from_storage('@R_60' ,1)
                    
play_cost None
                
# Конец Адмирала
                  # Ежедневный бонус
                
dailyBonus self._get_game_state().get_state().dailyBonus
                
if int(dailyBonus.playFrom) and self._get_timer().has_elapsed(dailyBonus.playFrom):
                    
daily DailyBonus()
                    
self._get_events_sender().send_game_events([daily])
                    
next_play False
                    logger
.info(u"Крутим рулетку-Ежедневный бонус")
                
#конец ежедневной рулетке                 

                
                #print building_item.name
                #print next_play_times
                #print next_play
                #print get_next_play
                #print play_cost
                #print (play_cost is None)
                #print ((not next_play) and (game.level == building.level))
                #print ((next_play and self._get_timer().has_elapsed(next_play)) or ((not next_play) and (game.level == building.level)))
                #raw_input()
                    
                
if (
                        (
play_cost is None) and
                        ((
next_play and get_next_play) or ((not next_play) and (game.level == building.level)))
                ):
                    
logger.info(
                        
u"Крутим рулетку в '" +
                        
building_item.name "' " +
                        
str(building.id) +
                        
u" по координатам (" +
                        
str(building.x) + u", " str(building.y) + u")")
                    
roll GamePlayGame(building.idgame_id)
                    
self._get_events_sender().send_game_events([roll])


class 
GameResultHandler(object):
    
def __init__(selfitem_readergame_location,game_state):
        
self.__item_reader item_reader
        self
.__game_location game_location
        self
.__game_state_ game_state

    def handle
(selfevent_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")
            return
        else:
            
gameObject.nextPlayTimes.__setattr__(extraIdnextPlayDate)
            
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
                        
#print 'Rollets'
                        #print prize_item
                        
self.__game_state_.add_from_storage(prize_item,count)
                        
logger.info(u'Вы выиграли ' prize.name +
                                    
u'(' str(count) + u' шт.)')
                        
                        
#open('prize.txt','a').write(prize.name.encode("cp1251") + '(' + str(count) + ' шт.)'+'\n')
                    
else:
                        
logger.info('Вы ничего не выиграли.'
  Ответить с цитированием
Старый 17.02.2014, 22:52   #1103
Заблокирован
 Разведчик
Аватар для Cheater84
 
Cheater84 неизвестен в этих краях
Регистрация: 27.08.2013
Сообщений: 2
Популярность: -54
Сказал(а) спасибо: 5
Поблагодарили 15 раз(а) в 14 сообщениях
 
Unhappy Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от GirlKrisПосмотреть сообщение
У меня изначально так было)))) Вот код
PHP код:
# coding=utf-8
import logging
from game_state
.game_types import GameBuildingGamePlayGameDailyBonus
from game_actors_and_handlers
.base import BaseActor
from game_state
.game_event import obj2dict

logger 
logging.getLogger(__name__)

                    
class 
FrutRouletteRoller(BaseActor):

    
def perform_action(self):
        
# '@R_56' Компот
        # '@R_57' Вишнёвый джем
        # '@R_58' Лимонный микс
        # '@R_59' Мармелад
        # 'S_52' Вишня
        
ftut_ids = ['@R_56']
        for 
fr in ftut_ids:
            
frut_count=self._get_game_state().count_in_storage(fr)
            if 
frut_count==0: break
            
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:
                    
game_id game.id
                    play_cost 
None
                    
if hasattr(game'playCost'):
                        
play_cost game.playCost.item
                    
#{"type":"roulette","id":"B_SLOT_APPLE_ROULETTE2","level":1,"delayTime":0,"title":"Бонус-Рулетка","hint":"Крути рулетку за 1 Компот, чтобы испытать удачу.","playCost":{"count":1,"image":"storage/recipe_56.png","item":"@R_56"},"prizes":[{"count":1,"item":"@EGG_01"},{"count":5,"item":"@RED_SPEEDUPER"},{"count":1,"item":"@EGG_02"},{"count":10,"item":"@RED_TREE_FERTILIZER"},{"count":5,"item":"@RED_SPEEDUPER"},{"count":1,"item":"@EGG_04"},{"count":10,"item":"@RED_TREE_FERTILIZER"}]}
                    
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 == fr
                    
):
                        
countR=0
                        
for i in range(frut_count):
                            
roll GamePlayGame(building.idgame_id)
                            
self._get_events_sender().send_game_events([roll])
                            
countR+=1
                            self
._get_game_state().remove_from_storage(fr,1)
                        
logger.info(u"Крутим рулетку %d раз в '%s' %d по координатам (%d,%d)"%(countR,building_item.name,building.id,building.x,building.y))
                        
#logger.info(u"Крутим рулетку "+str(countR)+" раз в '"+building_item.name + "' " +str(building.id)+u" по координатам (" +str(building.x) + u", " + str(building.y) + u")")

class RouletteRoller(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)
            for 
game in building_item.games:
                
#print obj2dict(building_item)
                #print obj2dict(game)
                
game_id game.id
                play_cost 
None
                
if hasattr(game'playCost'):
                    
play_cost game.playCost
                
#if building_item.games[0].delayTime==game.delayTime:
                #    next_play = True
                #else: 
                #    next_play = False
                
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 is Noneget_next_play False
                
else: get_next_play self._get_timer().has_elapsed(next_play)
                
                if 
game_id == "B_TAVERNA_ROULETTE_1":
                    
pirate_box 0
                    
for _obj in list(self._get_game_state().get_state().storageGameObjects):
                        if 
_obj.item == '@PIRATE_BOX' or '@PIRATE_BOX_2'pirate_box 1
                    
if pirate_box!=and (self._get_game_state().get_state().pirate.state != 'PIRATE'): play_cost None
                    
else: play_cost game.unconditionalPlayCost
                
                
# Крутить рулетку в аисте за 25 малины
                
item_count=self._get_game_state().count_in_storage('@S_57')
                if 
building_item.id == 'B_TREE_STORK' and game_id == 'B_TREE_STORK_ROULETTE' and item_count>=25:
                    
self._get_game_state().remove_from_storage('@S_57',25)
                    
play_cost None
                
# Конец аиста
                # Крутить рулетку в казино если фишек = 0
                
item_count=self._get_game_state().count_in_storage("@O_CHIPS")
                if (
building_item.name==u'Казино'):
                    if (
item_count==0):
                        
play_cost None
                    
else: 
                        
play_cost 'Nul'
                
# Конец казино
                # Зомби фортуна за 5 фишек
                
if (building_item.name==u'Зомби-фортуна') and (game_id == 'B_SLOT_B_ROULETTE1') and item_count>=5:
                    
self._get_game_state().remove_from_storage('@O_CHIPS',5)
                    
play_cost None
                    next_play 
False
                
# Конец зомби фортуны
                # Крутить рулетку в Адмирале за 1 глазной суп
                
item_count=self._get_game_state().count_in_storage ('@R_60')
                if 
building_item.id == 'B_SOLDIER' and game_id == 'B_SOLDIER_ROULETTE' and item_count>=1:
                    
self._get_game_state().remove_from_storage('@R_60' ,1)
                    
play_cost None
                
# Конец Адмирала
                  # Ежедневный бонус
                
dailyBonus self._get_game_state().get_state().dailyBonus
                
if int(dailyBonus.playFrom) and self._get_timer().has_elapsed(dailyBonus.playFrom):
                    
daily DailyBonus()
                    
self._get_events_sender().send_game_events([daily])
                    
next_play False
                    logger
.info(u"Крутим рулетку-Ежедневный бонус")
                
#конец ежедневной рулетке                 

                
                #print building_item.name
                #print next_play_times
                #print next_play
                #print get_next_play
                #print play_cost
                #print (play_cost is None)
                #print ((not next_play) and (game.level == building.level))
                #print ((next_play and self._get_timer().has_elapsed(next_play)) or ((not next_play) and (game.level == building.level)))
                #raw_input()
                    
                
if (
                        (
play_cost is None) and
                        ((
next_play and get_next_play) or ((not next_play) and (game.level == building.level)))
                ):
                    
logger.info(
                        
u"Крутим рулетку в '" +
                        
building_item.name "' " +
                        
str(building.id) +
                        
u" по координатам (" +
                        
str(building.x) + u", " str(building.y) + u")")
                    
roll GamePlayGame(building.idgame_id)
                    
self._get_events_sender().send_game_events([roll])


class 
GameResultHandler(object):
    
def __init__(selfitem_readergame_location,game_state):
        
self.__item_reader item_reader
        self
.__game_location game_location
        self
.__game_state_ game_state

    def handle
(selfevent_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")
            return
        else:
            
gameObject.nextPlayTimes.__setattr__(extraIdnextPlayDate)
            
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
                        
#print 'Rollets'
                        #print prize_item
                        
self.__game_state_.add_from_storage(prize_item,count)
                        
logger.info(u'Вы выиграли ' prize.name +
                                    
u'(' str(count) + u' шт.)')
                        
                        
#open('prize.txt','a').write(prize.name.encode("cp1251") + '(' + str(count) + ' шт.)'+'\n')
                    
else:
                        
logger.info('Вы ничего не выиграли.'

не работает....
Изображения
Тип файла: jpg 897.jpg (116.8 Кб, 69 просмотров)
  Ответить с цитированием
Старый 17.02.2014, 23:29   #1104
 Разведчик
Аватар для neohomer
 
neohomer никому не известный тип
Регистрация: 28.09.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Cheater84Посмотреть сообщение
не работает....

а если коллайдер по островам потаскать и вернуть на домашний?

Добавлено через 2 минуты
Ребята, для корабля есть у кого код? чтобы хеллии не вручную клацать...

Последний раз редактировалось neohomer; 17.02.2014 в 23:31. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 18.02.2014, 11:03   #1105
 Разведчик
Аватар для Arsac
 
Arsac никому не известный тип
Регистрация: 08.11.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Привет всем :-)! Вопросик к тем кто продолжает разработку зомбота и к специалистам разобравшимся в исходниках. Подскажите пожалуйста алгоритм формирования запросов к серверу ... Пытаюсь пересадить зомбот на С++ ... ибо учить питон нет времени и смысла ... Именно интересует: в моем понимании превоначально логинимся в ВК (получаем печеньку ...), затем идем на страницу приложения (получаем viewer_id, api_id, secret, access_token, auth_key) затем из полученных viewer_id, api_id, secret, access_token, auth_key получаем сигнатуру == md5 хэш конкантенации строк ... и топаем на сервер приложения. Вопрос как генериться сигнатура на shadowlends?
  Ответить с цитированием
Старый 18.02.2014, 12:39   #1106
 Разведчик
Аватар для lokanaft
 
lokanaft никому не известный тип
Регистрация: 03.12.2010
Сообщений: 22
Популярность: 10
Сказал(а) спасибо: 3
Поблагодарили 5 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Cheater84, там же русским языком написано, что нет такого ключа. А где его нет? - нет его в items.txt
  Ответить с цитированием
Старый 18.02.2014, 14:33   #1107
 Пехотинец
Аватар для vintets
 
vintets скоро будет известенvintets скоро будет известенvintets скоро будет известен
Регистрация: 01.08.2012
Сообщений: 95
Популярность: 255
Сказал(а) спасибо: 28
Поблагодарили 54 раз(а) в 38 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Cheater84, Рулетка коллайдера ведь "B_COLLIDER_ROULETTE", а у тебя выводит какой-то "B_COLLIDER_REAL"
  Ответить с цитированием
Старый 18.02.2014, 14:51   #1108
 Разведчик
Аватар для JohnMorgan
 
JohnMorgan никому не известный тип
Регистрация: 14.02.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Собирал ли кто-нибудь модуль на копание у друзей?Было бы здорово написать цикл поиска среди друзей тех,у кого есть перрон ,например,а потом к этому другу топать,и неимоверно фармить бозон.Сам написать смогу лишь текстовую модель алгоритма,ибо сам пишу на Java,C/C++/C#/Objective C ,даже с флэшем приходилось работать,но никак не с питоном И еще,есть ли новости по собственному серверу игры?Уж очень понравилась инициатива,да и помочь с разработкой,я думаю,смогу
  Ответить с цитированием
Старый 18.02.2014, 18:16   #1109
Заблокирован
 Разведчик
Аватар для Cheater84
 
Cheater84 неизвестен в этих краях
Регистрация: 27.08.2013
Сообщений: 2
Популярность: -54
Сказал(а) спасибо: 5
Поблагодарили 15 раз(а) в 14 сообщениях
 
Exclamation Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от JohnMorganПосмотреть сообщение
Собирал ли кто-нибудь модуль на копание у друзей?Было бы здорово написать цикл поиска среди друзей тех,у кого есть перрон ,например,а потом к этому другу топать,и неимоверно фармить бозон.Сам написать смогу лишь текстовую модель алгоритма,ибо сам пишу на Java,C/C++/C#/Objective C ,даже с флэшем приходилось работать,но никак не с питоном И еще,есть ли новости по собственному серверу игры?Уж очень понравилась инициатива,да и помочь с разработкой,я думаю,смогу

примерно так...но кое что изменилось в game_engine позже постараюсь описать-модуль friends.py выглядит так:
PHP код:
# coding=utf-8
import sys
import logging
import  random  
as  random_number
from game_state
.game_types import GameWoodGraveGameWoodGraveDouble,\
    
GamePickItemGameWoodTreeGameGainItemGamePickupGameDigItem
from game_state
.game_event import dict2objobj2dict
from game_actors_and_handlers
.base import BaseActor
##############################
from ctypes import windll
import sys

stdout_handle 
windll.kernel32.GetStdHandle(-11)
SetConsoleTextAttribute windll.kernel32.SetConsoleTextAttribute
##############################
logger logging.getLogger(__name__)


class 
VisitingUsers(BaseActor):
    
def perform_action(self):
          
#logger.info(u"######### Идем к другу ###########")
          #go_to_friend = {"action":"gameState","locationId":"main","user":'201018303',"objId":None,"type":"gameState"}#{"id":8,"action":"gameState","objId":null,"locationId":"main","user":"144371056","type":"gameState"} #,"id":46667
          #friends = ['8477452','22656865','27505179','107183826','68030140','163206097']#'476111',
          
friends self._get_options()
          
#            Юдо              Чудо
          
friends = ['[BOT]friend1','[BOT]friend2'] + friends
          objtypes 
= ['woodTree','stone','decoration','building']
          
myid '6745101591662640459'
          
#self._get_game_state().fdend = 1
          
self._get_game_state().shovel 0
          
if not hasattr(self._get_game_state(),'countfnyt'):
            try:
                
self._get_game_state().countfnyt int(open('countfnyt.txt').read())
            
except:
                
self._get_game_state().countfnyt 0
                open
('countfnyt.txt''w').write('')
          if 
not hasattr(self._get_game_state(), 'countnyt'):self._get_game_state().countnyt 0
          
if not hasattr(self._get_game_state(), 'sendNewYearGift'):self._get_game_state().sendNewYearGift 0
          
          
if not hasattr(self._get_game_state(), 'gameObjects') and self._get_game_state().countfnyt len(friends):
            
user friends[self._get_game_state().countfnyt]
            
SetConsoleTextAttribute(stdout_handle0x0001 0x0008)
            print 
u"######### Идем к другу ",
            
sys.stdout.flush()
            
SetConsoleTextAttribute(stdout_handle0x0006 0x0008)
            print 
str(user)+" ",
            
sys.stdout.flush()
            
SetConsoleTextAttribute(stdout_handle0x0007 0x0008)
            print 
str(self._get_game_state().countfnyt+1)+"/"+str(len(friends)),
            
sys.stdout.flush()
            
SetConsoleTextAttribute(stdout_handle0x0001 0x0008)
            print 
" #########"
            
sys.stdout.flush()
            
SetConsoleTextAttribute(stdout_handle0x0002 0x0008)
            
self._get_events_sender().send_game_events([{"action":"gameState","locationId":"main","user":str(user),"objId":None,"type":"gameState"},{"type":"players","action":"getInfo","players":[str(user)]}])
            
self._get_game_state().countfnyt += 1
            open
('countfnyt.txt''w').write(str(self._get_game_state().countfnyt))
          
          if 
hasattr(self._get_game_state(), 'gameObjects'):# and 
            #open('objects.txt', 'a').write(str(friends[self._get_game_state().countfnyt])+"\n")
            
print "############### gameObjects #################"
            
countnyt 0
            countmyg 
0
            countpickup 
0
            objssvl 
= []
            if 
hasattr(self._get_game_state(),'alldigged'):alldigged 1
            
else: alldigged 0
            
for object in self._get_game_state().gameObjects:
                if 
self._get_game_state().countnyt countnyt 148:
                    if 
hasattr(object'type'):
                        
tf 0
                        
if object.type == 'newYearTree':
                            
tf 1
                            usrs 
len(object.users)
                            
#object.users = usrs
                            #open('newyeartree.txt', 'a').write(str(obj2dict(object))+"\n")
                        
if tf == and not hasattr(self._get_game_state(), 'nytend'): 
                            
#print (u"Ёлка !!!").encode('cp866')
                            #open('gameObjects.txt', 'a').write(str(obj2dict(object))+"\n")
                            #open('newyeartree.txt', 'a').write(object.item + " UsersGift:" + str(len(object.users)) + "\n")
                            
tf 1
                            f 
0
                            
#Ёлки разной ёмкости. указано не точно.
                            
if object.item == u'@B_SPRUCE_SMOLL' and len(object.users) < 31
                            
if object.item == u'@B_SPRUCE_MIDDLE' and len(object.users) < 61
                            
if object.item == u'@B_SPRUCE_BIG' and len(object.users) < 151
                            
#if object.item == u'@B_BASKETS_EASTER_1' and len(object.users) < 15: f = 1
                            #if object.item == u'@B_BASKETS_EASTER_2' and len(object.users) < 7: f = 1
                            #if object.item == u'@B_BASKETS_EASTER_3' and len(object.users) < 3: f = 1
                            
for user in object.users:
                                if 
user.id == myid:
                                    
countmyg+=1#print "MyGift"
                                    
0
                                    
break
                                
                            
#if not check_no_my_gift(object.users): f = 1
                            
if self._get_game_state().countnyt countnyt 151 or hasattr(self._get_game_state(),'nyna'):
                                
self._get_game_state().nytend 1
                                
print "################## END ####################"
                            
if == 1:
                                
# Ложим пряник
                                #open('newyeartree.txt', 'a').write(str(obj2dict(object)) + "\n")
                                
self._get_events_sender().send_game_events([{"itemId":"CAKE_PACK_FREE1","action":"remoteNewYear","type":"item","objId":object.id}])
                                
countnyt+=1
                                
#pass
                            #else: print "NO"
                        # Вскрываем сундук
                        
'''if tf == 0 and object.type == 'pickup':
                            #open('
sunduki.txt', 'a').write(str(obj2dict(object)) + "\n")
                            self._get_events_sender().send_game_events([{"action":"pick","type":"item","objId":object.id}])
                            countpickup+=1
                            tf = 2'''
                        
# Добавляем в список объекты для копания клада
                        
if tf == and alldigged == 0:
                            if 
object.item == '@D_BALLOONS':
                                
objssvl.append(object)
                                break
                            else:
                                for 
objtype in objtypes:
                                    
'''if self._get_game_state().shovel < 5 and object.type == objtype:
                                        self._get_events_sender().send_game_events([{"objId":object.id,"x":object.x,"action":"remoteDig","y":object.y,"type":"item"}])
                                        self._get_game_state().shovel += 1'''
                                    
if object.type == objtype:
                                        
objssvl.append(object)
                                        break
                        if 
tf == 0:
                            
pass#open('objects.txt', 'a').write(str(obj2dict(object))+"\n")
            
if hasattr(self._get_game_state(),'playersInfo'):
                
open('objects.txt''a').write('-------------------------------------' "\n")
                
open('objects.txt''a').write(str(obj2dict(self._get_game_state().playersInfo))+"\n")
                
            
open('objects.txt''a').write('-------------------------------------' "\n")
            
countlop 0
            
if len(objssvl) > 0:
                for 
i in range(7):
                    
objdig random_number.choice(objssvl)
                    
self._get_events_sender().send_game_events([{"objId":objdig.id,"x":objdig.x,"action":"remoteDig","y":objdig.y,"type":"item"}])
                    
countlop+=1
                SetConsoleTextAttribute
(stdout_handle0x0004 0x0008)
                print 
u"Использовал: ",
                
sys.stdout.flush()
                
SetConsoleTextAttribute(stdout_handle0x0007 0x0008)
                print 
str(countlop),
                
sys.stdout.flush()
                
SetConsoleTextAttribute(stdout_handle0x0006 0x0008)
                print 
u" лопат"
                
sys.stdout.flush()
                
SetConsoleTextAttribute(stdout_handle0x0002 0x0008)
            
elif alldigged == 1:
                
SetConsoleTextAttribute(stdout_handle0x0004 0x0008)
                print (
u'Всё уже выкопано!').encode('cp866')
                
sys.stdout.flush()
                
SetConsoleTextAttribute(stdout_handle0x0002 0x0008)
            else:
                
SetConsoleTextAttribute(stdout_handle0x0004 0x0008)
                print (
u'Нечего копать!').encode('cp866')
                
sys.stdout.flush()
                
SetConsoleTextAttribute(stdout_handle0x0002 0x0008)
            
SetConsoleTextAttribute(stdout_handle0x0005 0x0008)
            print 
u"Вскрыли сундуков: ",
            
sys.stdout.flush()
            
SetConsoleTextAttribute(stdout_handle0x0006 0x0008)
            print 
str(countpickup)
            
sys.stdout.flush()
            
SetConsoleTextAttribute(stdout_handle0x0002 0x0008)
            if 
hasattr(self._get_game_state(),'alldigged'): del self._get_game_state().alldigged
            del self
._get_game_state().gameObjects
            self
._get_game_state().countnyt += countnyt
            
if not hasattr(self._get_game_state(), 'nytend'):
                
SetConsoleTextAttribute(stdout_handle0x0006 0x0008)
                print 
u"поЛожил пряник(ов): ",
                
sys.stdout.flush()
                
SetConsoleTextAttribute(stdout_handle0x0007 0x0008)
                print 
str(self._get_game_state().sendNewYearGift)+":"+str(self._get_game_state().countnyt)+"/"+str(countnyt)+" dub: "+str(countmyg)
                
sys.stdout.flush()
                
SetConsoleTextAttribute(stdout_handle0x0002 0x0008)
            
self._get_game_state().shovel 0
            
#if self._get_game_state().countfnyt + 1 > len(friends):sys.exit(0)
            
if self._get_game_state().countfnyt len(friends):
                
user friends[self._get_game_state().countfnyt]
                
SetConsoleTextAttribute(stdout_handle0x0001 0x0008)
                print 
u"######### Идем к другу ",
                
sys.stdout.flush()
                
SetConsoleTextAttribute(stdout_handle0x0006 0x0008)
                print 
str(user)+" ",
                
sys.stdout.flush()
                
SetConsoleTextAttribute(stdout_handle0x0007 0x0008)
                print 
str(self._get_game_state().countfnyt+1)+"/"+str(len(friends)),
                
sys.stdout.flush()
                
SetConsoleTextAttribute(stdout_handle0x0001 0x0008)
                print 
" #########"
                
sys.stdout.flush()
                
SetConsoleTextAttribute(stdout_handle0x0002 0x0008)
                
self._get_events_sender().send_game_events([{"action":"gameState","locationId":"main","user":str(user),"objId":None,"type":"gameState"},{"type":"players","action":"getInfo","players":[str(user)]}])
                
self._get_game_state().countfnyt += 1
                open
('countfnyt.txt''w').write(str(self._get_game_state().countfnyt))
          if 
self._get_game_state().countfnyt >= len(friends):
            
#print '######## END #########'
            
if not hasattr(self._get_game_state(), 'fdend'):
                
self._get_game_state().fdend 1
                SetConsoleTextAttribute
(stdout_handle0x0004 0x0008)
                print 
u'                               Возвращаемся домой                              '
                
sys.stdout.flush()
                
SetConsoleTextAttribute(stdout_handle0x0002 0x0008)
                
self._get_events_sender().send_game_events([{"action":"gameState","locationId":"main","type":"gameState"}]) 
особые декорации. прописываются в friends.py
#favdecors = ['D_SAKURASMALL','D_REDTREE','D_CONIFER','D_GATE',' D_STATUETTE']#мыло
#favdecors = ['D_EIFFEL','B_JAPAN','B_JAPAN_LAKE']#металолом
#favdecors = ['D_SHIP','D_POOL2','B_POOL','B_WHITEHOUSE','B_BUSI NESS','D_IDOL2','D_FLOWER4_WHITE','D_FLOWER4_YELLO W','DS_SYMBOL_U_NESKL','DS_SYMBOL_I_BEL','D_OLYMPI AD_STATUE','B_FLAG_OLIMPIADA','B_VAN_ICE_CREAM','B _CUPOLA','B_CUPOLA_CASH','B_ZAPOROZHETS','B_ZAPORO ZHETS_OLD','B_HUT_CH_LEGS','B_RUSALKA','B_YACHT']#брендовая колл.(флюгер)

в game_engine.py
def handleEvent(self, event_to_handle):
добавить
elif event_to_handle.type == 'playersInfo':
self.__game_state_.playersInfo = event_to_handle.players

Последний раз редактировалось Cheater84; 18.02.2014 в 18:32. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 18.02.2014, 20:07   #1110
 Разведчик
Аватар для GirlKris
 
GirlKris никому не известный тип
Регистрация: 17.02.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Cheater84Посмотреть сообщение
примерно так...но кое что изменилось в game_engine позже постараюсь описать-модуль friends.py выглядит так:

Ух ты!!! А как сделать фейкам, чтобы на мой ID пряники клали. (150 огромных ёлок) И не копали.
  Ответить с цитированием
Ответ


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

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

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