Zombot (Клиент для игры Зомби ферма) [Обсуждение] - Свободное обсуждение - Ваши идеи, вопросы и ответы на тему браузерных игр и социальных сетей
15.11.2013, 21:58
#331
Разведчик
Регистрация: 17.11.2012
Сообщений: 25
Популярность: -3
Сказал(а) спасибо: 0
Поблагодарили 6 раз(а) в 3 сообщениях
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Последний раз редактировалось AnonProger; 15.11.2013 в 22:08 .
Причина: Добавлено сообщение
15.11.2013, 22:20
#332
Разведчик
Регистрация: 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
Разведчик
Регистрация: 27.08.2013
Сообщений: 2
Популярность: -54
Сказал(а) спасибо: 5
Поблагодарили 15 раз(а) в 14 сообщениях
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
15.11.2013, 23:02
#334
Разведчик
Регистрация: 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
Разведчик
Регистрация: 27.08.2013
Сообщений: 2
Популярность: -54
Сказал(а) спасибо: 5
Поблагодарили 15 раз(а) в 14 сообщениях
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
Разведчик
Регистрация: 17.11.2012
Сообщений: 25
Популярность: -3
Сказал(а) спасибо: 0
Поблагодарили 6 раз(а) в 3 сообщениях
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
16.11.2013, 06:59
#337
Разведчик
Регистрация: 21.12.2012
Сообщений: 29
Популярность: 10
Сказал(а) спасибо: 20
Поблагодарили 4 раз(а) в 3 сообщениях
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
16.11.2013, 09:49
#338
Разведчик
Регистрация: 09.11.2013
Сообщений: 2
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 9 раз(а) в 8 сообщениях
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Вот, стоило только начать. ) Нужно было сделать, а не пытаться вписаться в дизайн. )
Можно сделать dailyBonus.playFrom += 24*3600*1000 или обрабатывать ответ.
16.11.2013, 12:56
#339
Разведчик
Регистрация: 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
Разведчик
Регистрация: 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
Разведчик
Регистрация: 13.07.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Anch665 , уже выкладывали в теме код на супер урожай
16.11.2013, 17:29
#342
Разведчик
Регистрация: 14.05.2013
Сообщений: 6
Популярность: -173
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
в чем проблема тут
16.11.2013, 17:32
#343
Разведчик
Регистрация: 06.08.2011
Сообщений: 21
Популярность: 10
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
пароль / логин проверь, не с vps запускаешь?
16.11.2013, 17:34
#344
Разведчик
Регистрация: 14.05.2013
Сообщений: 6
Популярность: -173
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
16.11.2013, 17:34
#345
Разведчик
Регистрация: 06.08.2011
Сообщений: 21
Популярность: 10
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 08:36 .