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

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

-

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

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

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



Хелпаните с этой бедой
Изображения
Тип файла: jpg 1097005_621887364511049_ggggg.jpg (118.7 Кб, 274 просмотров)
  Ответить с цитированием
Старый 24.01.2014, 22:32   #842
 Разведчик
Аватар для kutc58
 
kutc58 никому не известный тип
Регистрация: 22.11.2010
Сообщений: 14
Популярность: 2
Сказал(а) спасибо: 7
Поблагодарили 2 раз(а) в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

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

Спасибо Vintets)))))ты меня выручил как никогда!))благодарю тебя за мэйл!!!)))))
  Ответить с цитированием
Старый 26.01.2014, 21:55   #844
 Разведчик
Аватар для mike4kz
 
mike4kz никому не известный тип
Регистрация: 23.08.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

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


Хелпаните с этой бедой

Вероятнее всего что-то происходит с GainTime пока дело доходит до обработки события. Попробуй добавить перед этой строчкой проверку hasattr(). Типа:

PHP код:
if hasattr(event_to_handle,'GainTime):
  gameObject.gainTime = event_to_handle.gainTime 
  Ответить с цитированием
Старый 27.01.2014, 21:02   #845
 Разведчик
Аватар для cepega007
 
cepega007 никому не известный тип
Регистрация: 23.09.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

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

Друзья!нужна помощь!кто-нибудь написал код для острова - ДРЕВНИЙ?если да то можно в личку,кровь из носа нужно.или может что в chop.py изменить нужно?ошибку выдает...
Изображения
Тип файла: jpg 123.jpg (190.3 Кб, 210 просмотров)
  Ответить с цитированием
Старый 28.01.2014, 06:41   #847
 Разведчик
Аватар для mike4kz
 
mike4kz никому не известный тип
Регистрация: 23.08.2013
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Ставь PDB чекпоинт перед этой строчкой, и смотри, что на тот момент хранится в obj:

print obj
print type(obj)
print dir(obj)
print obj2dict(obj)

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

Цитата:
Сообщение от cepega007Посмотреть сообщение
кто нибуть использовал модуль по покупки ракет,поставил ракету а удалить не как

Я использую постоянно.
Только в том виде какой он был у меня тоже не хотел продавать. Посмотрел, а ID каждый раз менялось. В скрипте же ID определялся при первой ракете и дальше использовался один и тот же (иногда так и есть).
Я подправил под себя.
PHP код:
# coding=utf-8
import logging
from game_state
.game_types import GameWoodGraveGameWoodGraveDouble,\
    
GamePickItemGameWoodTreeGameGainItemGamePickup
from game_state
.game_event import dict2obj
from game_actors_and_handlers
.base import BaseActor

logger 
logging.getLogger(__name__)

class 
BuildingBuyer(BaseActor):

    
def perform_action(self):
        
current_loc self._get_game_state().get_location_id()
        
location_id "main"
        
#logger.info(u"мы на острове "+str(current_loc))
        
if current_loc == location_id:
            
building_id "B_ROCKET"
            
build_cost self._get_item_reader().get(building_id).buyCoins
            
#next_id = self._get_game_state().get_state().gameObjects[-1].id + 1
            #buy_rocket = {"x":95,"action":"buy","y":5,"itemId":building_id,"type":"item","objId":next_id}
            #sell_rocket = {"action":"sell","type":"item","objId":next_id}
            
if self._get_game_state().get_state().gameMoney 1000000000:
                
num 0
                
for _ in range(501):  
                    
#if self._get_game_state().get_state().gameMoney > build_cost:
                    
if self._get_game_state().get_state().gameMoney 1000000000:
                        
#logger.info(u"Покупаем ракету № %d"%(_))
                        
next_id self._get_game_state().get_state().gameObjects[-1].id 1
                        
#print 'next_id = ', next_id
                        
buy_rocket = {"x":95,"action":"buy","y":5,"itemId":building_id,"type":"item","objId":next_id}
                        
self._get_events_sender().send_game_events([buy_rocket])
                        
#logger.info(u"Продаём ракету № %d"%(_))
                        
sell_rocket = {"action":"sell","type":"item","objId":next_id}
                        
self._get_events_sender().send_game_events([sell_rocket])
                        
num += 1
                        self
._get_game_state().get_state().gameMoney -= build_cost
                logger
.info(u"Обменяли "+str(num)+u" ракет! Опыта: "+str(num*20000)) 
Соответственно координаты твои и количество денег при котором начинать обмен.
  Ответить с цитированием
Старый 28.01.2014, 10:32   #849
 Разведчик
Аватар для lokanaft
 
lokanaft никому не известный тип
Регистрация: 03.12.2010
Сообщений: 22
Популярность: 10
Сказал(а) спасибо: 3
Поблагодарили 5 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Не проще 2 млрд накопить, чем ракеты менять?)
  Ответить с цитированием
Старый 28.01.2014, 11:35   #850
 Разведчик
Аватар для kokain301
 
kokain301 никому не известный тип
Регистрация: 18.09.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Люди кто подскажет у меня через каждый остров выскакивает time out occurred retrying in 3 sec и возвращается на главный остров ни посадить ни собрать не дает.
  Ответить с цитированием
Старый 28.01.2014, 11:45   #851
 Разведчик
Аватар для cepega007
 
cepega007 никому не известный тип
Регистрация: 23.09.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

попробуй открыть файл game_engine.py и там строка interval = поставь тут больше секунд на следующий переход
  Ответить с цитированием
Старый 28.01.2014, 14:10   #852
 Разведчик
Аватар для Stels25
 
Stels25 никому не известный тип
Регистрация: 13.07.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от kokain301Посмотреть сообщение
Люди кто подскажет у меня через каждый остров выскакивает time out occurred retrying in 3 sec и возвращается на главный остров ни посадить ни собрать не дает.

Timeout occurred, retrying in 3 seconds --возможно проблема из за интернета.
Для уменьшения колличества данной записи, нужно увеличить тайм-аут.
Файл connection.py строка 47, поставить к примеру 8
Цитата:

response = opener.open(self.__url, data, timeout=8)


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

Цитата:
Сообщение от lokanaftПосмотреть сообщение
Не проще 2 млрд накопить, чем ракеты менять?)

А смысл есть? А то я не в курсе. 1 млрд = 500 ракет = 10 млн опыта.
Вроде бы то же самое.
  Ответить с цитированием
Старый 28.01.2014, 21:50   #854
Заблокирован
 Разведчик
Аватар для Cheater84
 
Cheater84 неизвестен в этих краях
Регистрация: 27.08.2013
Сообщений: 2
Популярность: -54
Сказал(а) спасибо: 5
Поблагодарили 15 раз(а) в 14 сообщениях
 
Question Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

проблему решил просто,во всяком случае это на майле,теперь везде рубит )))в папке game_state, модуль game_event.py

PHP код:
def obj2dict(obj):
    
# handle list
    
if isinstance(obj, list):
        
= [obj2dict(x) for x in obj]
    
# handle simple types
    
elif (isinstance(objstr) or
          
isinstance(objint) or
          
isinstance(objlong) or
          
isinstance(objunicode) or
          
isinstance(objNoneType)):
        
obj
    
else:
        
# handle dict
        
= {}
        if 
not isinstance(objdict):
            
obj obj.__dict__
        
for key in obj:
            
new_dict obj2dict(obj[key])
            if 
new_dict is not None:  # skip None types
                
d[key] = new_dict
    
return 
нужно было вписать строку
PHP код:
isinstance(objfloat) or 
то есть код выглядит так:

PHP код:
def obj2dict(obj):
    
# handle list
    
if isinstance(obj, list):
        
= [obj2dict(x) for x in obj]
    
# handle simple types
    
elif (isinstance(objstr) or
          
isinstance(objbool) or
          
isinstance(objint) or
          
isinstance(objlong) or
          
isinstance(objunicode) or
          
isinstance(objfloat) or   
          
isinstance(objNoneType)):
        
obj
    
else:
        
# handle dict
        
= {}
        if 
not isinstance(objdict):
            
obj obj.__dict__
        
for key in obj:
            
new_dict obj2dict(obj[key])
            if 
new_dict is not None:  # skip None types
                
d[key] = new_dict
    
return 
вот так вот)))

Добавлено через 2 часа 14 минут
Цитата:
Сообщение от vintetsПосмотреть сообщение
Я использую постоянно.
Только в том виде какой он был у меня тоже не хотел продавать. Посмотрел, а ID каждый раз менялось. В скрипте же ID определялся при первой ракете и дальше использовался один и тот же (иногда так и есть).
Я подправил под себя.
PHP код:
# coding=utf-8
import logging
from game_state
.game_types import GameWoodGraveGameWoodGraveDouble,\
    
GamePickItemGameWoodTreeGameGainItemGamePickup
from game_state
.game_event import dict2obj
from game_actors_and_handlers
.base import BaseActor

logger 
logging.getLogger(__name__)

class 
BuildingBuyer(BaseActor):

    
def perform_action(self):
        
current_loc self._get_game_state().get_location_id()
        
location_id "main"
        
#logger.info(u"мы на острове "+str(current_loc))
        
if current_loc == location_id:
            
building_id "B_ROCKET"
            
build_cost self._get_item_reader().get(building_id).buyCoins
            
#next_id = self._get_game_state().get_state().gameObjects[-1].id + 1
            #buy_rocket = {"x":95,"action":"buy","y":5,"itemId":building_id,"type":"item","objId":next_id}
            #sell_rocket = {"action":"sell","type":"item","objId":next_id}
            
if self._get_game_state().get_state().gameMoney 1000000000:
                
num 0
                
for _ in range(501):  
                    
#if self._get_game_state().get_state().gameMoney > build_cost:
                    
if self._get_game_state().get_state().gameMoney 1000000000:
                        
#logger.info(u"Покупаем ракету № %d"%(_))
                        
next_id self._get_game_state().get_state().gameObjects[-1].id 1
                        
#print 'next_id = ', next_id
                        
buy_rocket = {"x":95,"action":"buy","y":5,"itemId":building_id,"type":"item","objId":next_id}
                        
self._get_events_sender().send_game_events([buy_rocket])
                        
#logger.info(u"Продаём ракету № %d"%(_))
                        
sell_rocket = {"action":"sell","type":"item","objId":next_id}
                        
self._get_events_sender().send_game_events([sell_rocket])
                        
num += 1
                        self
._get_game_state().get_state().gameMoney -= build_cost
                logger
.info(u"Обменяли "+str(num)+u" ракет! Опыта: "+str(num*20000)) 
Соответственно координаты твои и количество денег при котором начинать обмен.

а что если просто написать ,что бы ставил ракеты туда ,где есть свободное место?))

Последний раз редактировалось Cheater84; 29.01.2014 в 00:04. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 29.01.2014, 05:14   #855
 Пехотинец
Аватар для vintets
 
vintets скоро будет известенvintets скоро будет известенvintets скоро будет известен
Регистрация: 01.08.2012
Сообщений: 95
Популярность: 255
Сказал(а) спасибо: 28
Поблагодарили 54 раз(а) в 38 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Cheater84Посмотреть сообщение
а что если просто написать ,что бы ставил ракеты туда ,где есть свободное место?))

особой надобности нет, так проще. Да и места может не быть.
Хотя это интересная задача, заодно решится главная часть с посадкой деревьев.
Решение поиска места вижу так:
создаем матрицу координат острова. В цикле пробегаем по всем объектам на острове читая их координаты и размеры и помечаем занятые координаты. Далее уже берем дерево и пробегаясь по местам в матрице помеченных как свободные проверять соседние в радиусе этого вида дерева, если свободные - ставим и помечаем занятые места. Само собой проверяя наличие денег и добавив получение словаря через ини, формата остров:дерево.
Ракета уже частный случай.
Может есть способ проще... команда возвращающая свободное место. Но чет сомневаюсь.
  Ответить с цитированием
Ответ


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

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

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