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

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

-

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

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

Ответ
 
Опции темы
Старый 15.11.2013, 21:58   #331
 Разведчик
Аватар для AnonProger
 
AnonProger набедокурил в прошлом
Регистрация: 17.11.2012
Сообщений: 25
Популярность: -3
Сказал(а) спасибо: 0
Поблагодарили 6 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от vhyrixПосмотреть сообщение
Вопрос как автору бота: в чем проблема с рулеткой?

С ежедневной? Проблема в лени.

Добавлено через 10 минут
Цитата:
вот код для копки у друзей

Он не будет работать. По сути, вот это:

Цитата:
self._get_game_location().get_all_objects_by_type( self.get_object_type())

проверяет наличие объектов не на острове друга, а на твоём.

Последний раз редактировалось AnonProger; 15.11.2013 в 22:08. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 15.11.2013, 22:20   #332
 Разведчик
Аватар для vhyrix
 
vhyrix никому не известный тип
Регистрация: 09.11.2013
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 9 раз(а) в 8 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Лень, это шикарно. Я предпочитаю другую лень, когда делаешь все, что угодно, лишь бы ничего не делать.

Набросал от руки код для ежедневной рулетки. Как я его вижу, по подобию примера выше.
Кто воспользуется, не забудьте рассказать, заработало или нет.

Цитата:
Дописать в game_engine.py в class Game().

Добавить функцию:
def daily_bonus(self):
state=self._get_game_state().state;
if state.dailyBonus.PlayFrom < 0:
play_bonus={"id":"5","action":"play","type":"daily Bonus"}
self._get_events_sender().send_game_events([play_bonus])
logger.info(u"Кручу ежедневную рулетку")
state.dailyBonus.PlayFrom=0
'''

Добавить код в def start(self) после self.save_game_state(start_response):
self.daily_bonus()

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

Цитата:
Сообщение от AnonProgerПосмотреть сообщение
С ежедневной? Проблема в лени.

Добавлено через 10 минут


Он не будет работать. По сути, вот это:



проверяет наличие объектов не на острове друга, а на твоём.

Цитата:
Сообщение от AnonProgerПосмотреть сообщение
Он не будет работать. По сути, вот это:

Цитата:

self._get_game_location().get_all_objects_by_type( self.get_object_type())


проверяет наличие объектов не на острове друга, а на твоём.


Спасибо
  Ответить с цитированием
Старый 15.11.2013, 23:02   #334
 Разведчик
Аватар для AnonProger
 
AnonProger набедокурил в прошлом
Регистрация: 17.11.2012
Сообщений: 25
Популярность: -3
Сказал(а) спасибо: 0
Поблагодарили 6 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Кто воспользуется, не забудьте рассказать, заработало или нет

Мои глаза плачут всякий раз, когда я вижу в этой теме куски кода.
Есть же масса сервисов для расшаривания кода (pastebin, gist, etc): [Ссылки могут видеть только зарегистрированные пользователи. ]
Не говоря уже о том, что уважающий себя программист обязан уметь пользоваться системой контроля версий.

По существу:

Код не вписывается в дизайн бота. По задумке, новые фичи должны ложиться в папку game_actors_and_handlers.

Если уж используешь форум, используй тэг "code":
Код:
if self._get_game_state().state.dailyBonus.PlayFrom < 0:
    logger.info(u"Кручу ежедневную рулетку")
    self._get_events_sender().send_game_events([{"action":"play","type":"daily Bonus"}])
    self._get_game_state().state.dailyBonus.PlayFrom=0
Это:
Код:
if self._get_game_state().state.dailyBonus.PlayFrom < 0:
    self._get_game_state().state.dailyBonus.PlayFrom=0
в принципе будет работать, но не есть правильный способ сравнения текущего времени со временем следующего кручения ежедневной рулетки.
  Ответить с цитированием
Старый 15.11.2013, 23:26   #335
Заблокирован
 Разведчик
Аватар для Cheater84
 
Cheater84 неизвестен в этих краях
Регистрация: 27.08.2013
Сообщений: 2
Популярность: -54
Сказал(а) спасибо: 5
Поблагодарили 15 раз(а) в 14 сообщениях
 
Exclamation Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Добавляем в game_state.py
Цитата:
код

PHP код:
class DailyBonus(GameAction):
    
type 'dailyBonus'

    
def __init__(self):
    
        
self.type 'dailyBonus'
        
self.action 'play' 
потом в roulettes.py
PHP код:
# Ежедневный бонус
                
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])
                    
logger.info(u"Крутим рулетку-Ежедневный бонус")
                
#конец ежедневной рулетке 
да и нужно импортировать класс рулетки
Цитата:
# coding=utf-8
import logging
from game_state.game_types import GameBuilding, GamePlayGame, DailyBonus
from game_actors_and_handlers.base import BaseActor
from game_state.game_event import obj2dict

logger = logging.getLogger(__name__)

крутит с ошибкой так как бот пытается ее несколько раз крутануть,можно как-нибудь задержку сделать?...думаю лог не очень важен.
  Ответить с цитированием
Старый 16.11.2013, 06:08   #336
 Разведчик
Аватар для AnonProger
 
AnonProger набедокурил в прошлом
Регистрация: 17.11.2012
Сообщений: 25
Популярность: -3
Сказал(а) спасибо: 0
Поблагодарили 6 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
крутит с ошибкой так как бот пытается ее несколько раз

Это потому что не обрабатывается событие, в котором приходит время следующего кручения.
  Ответить с цитированием
Старый 16.11.2013, 06:59   #337
 Разведчик
Аватар для Anch665
 
Anch665 никому не известный тип
Регистрация: 21.12.2012
Сообщений: 29
Популярность: 10
Сказал(а) спасибо: 20
Поблагодарили 4 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от As1x89Посмотреть сообщение
да.
вначале перед строкой import socket добавь строку from game_actors_and_handlers.harvest_buff import GameBuffHarvest
и в конце, где все опции добавь GameBuffHarvest, #Приём супер урожая

Я так понял что баф применяется если закончился предыдущий, а можно ли его применить за 5 минут до окончания предыдущего? так сказать подстраховаться.
  Ответить с цитированием
Старый 16.11.2013, 09:49   #338
 Разведчик
Аватар для vhyrix
 
vhyrix никому не известный тип
Регистрация: 09.11.2013
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 9 раз(а) в 8 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Вот, стоило только начать. ) Нужно было сделать, а не пытаться вписаться в дизайн. )

Можно сделать dailyBonus.playFrom += 24*3600*1000 или обрабатывать ответ.
  Ответить с цитированием
Старый 16.11.2013, 12:56   #339
 Разведчик
Аватар для reskavenjer
 
reskavenjer никому не известный тип
Регистрация: 15.11.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

class FriendDigger(BaseActor):

def perform_action(self):
go_to_friend = {"action":"gameState","locationId":"main","user":" 1111111","type":"gameState"}#{"id":8,"action":"gam eState","objId":null,"locationId":"main","user":"2 00961723","type":"gameState"}
self._get_events_sender().send_game_events([go_to_friend])
logger.info(u"Иду к другу")
# dig = {"x":63,"action":"remoteDig","y":57,"type":"item", "objId":159}
# dig = {"x":72,"action":"remoteDig","y":92,"id":18,"type" :"item","objId":41979} # 116164569
dig = {"objId":7203,"x":69,"action":"remoteDig","y":67," type":"item"}
dig_count = 299
for _ in range(dig_count):
self._get_events_sender().send_game_events([dig])
logger.info(u"Копаю клад")
friend_ret ={"action":"gameState","locationId":"un_09","type" :"gameState"} #{"id":14,"action":"gameState","objId":null,"locat ionId":"main","user":null,"type":"gameState"}
self._get_events_sender().send_game_events([friend_ret])
logger.info(u"Возвращаюсь на домашний")




вот код по которому ходит копать, но ходит только к тому чё ID друга ты вприсал (1111111 ето ID друга),
dig = {"objId":7203,"x":69,"action":"remoteDig","y":67," type":"item"} координаты обьекта под которым будет копать..
dig_count = 299 количество лопат....

Кто-то может подправить чтоб ходил не к одному другу, а по всем, и убрать кординаты предмета, чтоб сам искал предмет и копал под ним??? есть другой код, там ходит по друзьям всем по списку, но не копает, а как совсестить..... сори я чайник сам не смогу ето сделать!!!

Последний раз редактировалось reskavenjer; 16.11.2013 в 13:00.
  Ответить с цитированием
Старый 16.11.2013, 12:58   #340
 Разведчик
Аватар для Anch665
 
Anch665 никому не известный тип
Регистрация: 21.12.2012
Сообщений: 29
Популярность: 10
Сказал(а) спасибо: 20
Поблагодарили 4 раз(а) в 3 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Сильно не пинайте, соединил два куска кода, в итоге и инфу выводит и применяет баф за 5 минут до окончания суперурожая.

harvest_buff.py
Код:
# coding=utf-8
import logging
from game_state.game_event import dict2obj
from game_actors_and_handlers.base import BaseActor


logger = logging.getLogger(__name__)


class GameBuffHarvest(BaseActor):
    
    def perform_action(self):

        max_harv_time = 0
        for l in self._get_game_state().get_state().buffs.list:
            if 'BUFF_FIX_HARVEST' in l.item:
                exp_time = float(l.expire.endDate)
                if max_harv_time < exp_time :
                    max_harv_time = exp_time

        time_harvest = (max_harv_time-self._get_timer()._get_current_client_time())/1000.0
        time_harvest=int(time_harvest)
        if time_harvest<0: time_harvest=0
        s=time_harvest-int((int(time_harvest/60.0)-(int(int(time_harvest/60.0)/60.0)*60))*60)-int((int(int(time_harvest/60.0)/60.0))*60*60)
        m=int(time_harvest/60.0)-(int(int(time_harvest/60.0)/60.0)*60)
        h=int(int(time_harvest/60.0)/60.0)
        if time_harvest<>0: logger.info(u'Осталось 5-мин урожая: %d:%d:%d' % (h,m,s))

        is_there_harvest_buff = False
        buff_list = self._get_game_state().get_state().buffs.list
        for buff in buff_list:
            if buff.item == "@BUFF_FIX_HARVEST_1":
                time_exp = buff.expire.endDate
                is_there_harvest_buff = True
        if is_there_harvest_buff == False or self._get_timer().has_elapsed(time_exp) or time_harvest<30: 
            if self._get_game_state().has_in_storage("@BS_BUFF_FIX_HARVEST_1", 1):
                event = {"x":20,"type":"item","y":7,"action":"useStorageItem","itemId":"BS_BUFF_FIX_HARVEST_1"}
                self._get_events_sender().send_game_events([event])
                logger.info(u"Применяю супер-урожай на 24 часа")
                buff_list.append(dict2obj({"item":"@BUFF_FIX_HARVEST_1", "expire": dict2obj({"type":"time", "endDate": str(int(self._get_timer()._get_current_client_time())+86400000)})}))
                self._get_game_state().remove_from_storage("@BS_BUFF_FIX_HARVEST_1", 1)
кому не сложно оптимизируйте сделайте красивый кусок кода
  Ответить с цитированием
Старый 16.11.2013, 17:01   #341
 Разведчик
Аватар для Stels25
 
Stels25 никому не известный тип
Регистрация: 13.07.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Anch665, уже выкладывали в теме код на супер урожай
  Ответить с цитированием
Старый 16.11.2013, 17:29   #342
 Разведчик
Аватар для sakunivan1
 
sakunivan1 неизвестен в этих краяхsakunivan1 неизвестен в этих краях
Регистрация: 14.05.2013
Сообщений: 6
Популярность: -173
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]



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

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


в чем проблема тут

пароль / логин проверь, не с vps запускаешь?
  Ответить с цитированием
Старый 16.11.2013, 17:34   #344
 Разведчик
Аватар для sakunivan1
 
sakunivan1 неизвестен в этих краяхsakunivan1 неизвестен в этих краях
Регистрация: 14.05.2013
Сообщений: 6
Популярность: -173
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от ichi88Посмотреть сообщение
пароль / логин проверь, не с vps запускаешь?

да нет.... именно чтото с страничкой...на другие норм заходит



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

Цитата:
Сообщение от sakunivan1Посмотреть сообщение
да нет.... именно чтото с страничкой...на другие норм заходит

а с браузера зайти можешь? там цифры ввести не можешь?
  Ответить с цитированием
Ответ


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

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

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