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

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

-

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

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

Ответ
 
Опции темы
Старый 04.03.2015, 14:33   #4126
 Разведчик
Аватар для Сергійко
 
Сергійко никому не известный тип
Регистрация: 05.01.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

[IMG][Ссылки могут видеть только зарегистрированные пользователи. ][/IMG]
В чём проблема?НЕ подскажите?
  Ответить с цитированием
Старый 04.03.2015, 15:29   #4127
Заблокирован
 Разведчик
Аватар для Cheater-84
 
Cheater-84 никому не известный тип
Регистрация: 22.03.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 6 раз(а) в 5 сообщениях
Отправить сообщение для Cheater-84 с помощью Skype™
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от СергійкоПосмотреть сообщение
[IMG][Ссылки могут видеть только зарегистрированные пользователи. ][/IMG]
В чём проблема?НЕ подскажите?

модуль в game_engine подключил? а из модуля импортировал класс?

в актерах прописал класс?

PHP код:
from game_actors_and_handlers.trade import TraderWork 
PHP код:
actor_classes = [
    ...,
    ...,
    
TraderWork,

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

Цитата:
Сообщение от СергійкоПосмотреть сообщение
Народ,Кто может помочь ?
Нужно модуль для
1.ВЫганять торгов на роботу и сразу же повторять обмен

... без всяких типов, тупо по объектам
PHP код:
# coding=utf-8
import logging
from game_state
.game_types import GameBuildingGamePlayGame
from game_actors_and_handlers
.base import BaseActor
from game_state
.game_event import obj2dict

logger 
logging.getLogger(__name__)


class 
TradeBot(BaseActor):

    
def perform_action(self):
        
loc_obj self._get_game_location().get_game_objects()
        for 
_obj in loc_obj:         
            if 
"SC_TRADER_GRAVE" in _obj.item:
                if 
_obj.started == False:
                    
trader_event = {"objId":_obj.id,
                                
"type":"item",
                                
"action":"start"}
                    
self._get_events_sender().send_game_events([trader_event])
                    print 
u'Выгоняем на работу торгаша № ',_obj.id
                    _obj
.started True

                
if _obj.countCompleted == 1:
                    
trader_event = {"objId":_obj.id,
                                
"type":"item",
                                
"action":"pick"}
                    
self._get_events_sender().send_game_events([trader_event])
                    print 
u'Забираем коробку у торгаша № ',_obj.id
                    _obj
.countCompleted 0

                
if _obj.countExchange == and _obj.countCompleted == 0:             
                    
trader_event = {"objId":_obj.id,
                                    
"type":"trader",
                                    
"want":_obj.want,
                                    
"give":_obj.give,
                                    
"action":"change",
                                    
"countExchange":1}
                    
self._get_events_sender().send_game_events([trader_event])
                    print 
u'Ставим торг у торгаша № ',_obj.id
                    _obj
.countExchange 
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 08.03.2015, 18:22   #4129
 Разведчик
Аватар для Shurup240
 
Shurup240 никому не известный тип
Регистрация: 04.02.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Доброго времени суток!
Хочу обратится к играющим на фейсбуке.

Через браузер появилась возможность ходить ко всем друзьям, играющим в ЗФ. Screenshot_21.jpg
Но в копалке отображаются соседи
Screenshot_22.jpg

Что нужно подправить в боте, чтоб все друзья отображались?

Последний раз редактировалось Shurup240; 09.03.2015 в 03:05.
  Ответить с цитированием
Старый 11.03.2015, 09:37   #4130
Заблокирован
 Разведчик
Аватар для Cheater-84
 
Cheater-84 никому не известный тип
Регистрация: 22.03.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 6 раз(а) в 5 сообщениях
Отправить сообщение для Cheater-84 с помощью Skype™
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Всем привет, недавно запустил бот и заметил что он стал спотыкаться на бесплатной любви, так как параметр у нее бесплатка, а ее уже убрали, то бот пытался ее отправить, в общем исправил я это дело так:

PHP код:
self._event = []
        for 
playerInfo in self._get_game_state().playersInfo:
            if 
playerInfo.id in GU_go: continue
            
wish = []
            for 
w in playerInfo.liteGameState.wishlist:
                if 
!= None and (w in freeGifts): wish.append(w)
                
'''Если нет хотелки или стоит Любовь, то пропускаем'''
                
if not wish or 'CR_31':  
                    continue
#wish.append('@CR_16') 
возможно кому-то понадобится)
  Ответить с цитированием
Старый 11.03.2015, 09:56   #4131
 Пехотинец
Аватар для vintets
 
vintets скоро будет известенvintets скоро будет известенvintets скоро будет известен
Регистрация: 01.08.2012
Сообщений: 95
Популярность: 255
Сказал(а) спасибо: 28
Поблагодарили 54 раз(а) в 38 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Cheater-84Посмотреть сообщение
Всем привет, недавно запустил бот и заметил что он стал спотыкаться на бесплатной любви, так как параметр у нее бесплатка, а ее уже убрали, то бот пытался ее отправить, в общем исправил я это дело так:

PHP код:
self._event = []
        for 
playerInfo in self._get_game_state().playersInfo:
            if 
playerInfo.id in GU_go: continue
            
wish = []
            for 
w in playerInfo.liteGameState.wishlist:
                if 
!= None and (w in freeGifts): wish.append(w)
                
'''Если нет хотелки или стоит Любовь, то пропускаем'''
                
if not wish or 'CR_31':  
                    continue
#wish.append('@CR_16') 
возможно кому-то понадобится)

Так это уже давно-предавно. Временно добавляемые бесплатки так себя ведут. Тоже поначалу так выключал сердца. Потом индюков, потом ещё что-то... потом задолбался и сделал правильно.
У этих временных подарков появляется новый параметр - срок годности. Вот его и нужно учитывать.
PHP код:
        freeGifts = []
        for 
i in self._get_item_reader().get("FREE_GIFTS").freeGifts:
            if 
hasattr (iu'endDate') and int(i.endDate) < long(time.time())*1000: continue
            
freeGifts.append(i.item
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 11.03.2015, 10:45   #4132
 Разведчик
Аватар для Miha88
 
Miha88 никому не известный тип
Регистрация: 09.07.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

День Добрый форумчане! не мог бы помочь отредактировать модуль ? что бы коллекции отправлялись не все и сразу, а определенная коллекция, определенное количество и для определенного человека. Да и по возможности с сообщением.
PHP код:
# coding=utf-8
import logging
from game_state
.game_types import GameSellItemGameSendGift
from game_actors_and_handlers
.base import BaseActor
from game_state
.game_event import dict2objobj2dict

logger 
logging.getLogger(__name__)

class 
SellBot(BaseActor):

    
def perform_action(self):
        
# Продажа
        
sell_items self._get_options()['sell_item']
        if 
sell_items<>None:
            
#sell_items={u'S_51':20}
            #item_id=u'S_51' # Красные яблоки
            #item_save_count=20
            
for item_id in sell_items.keys():
                
item_save_count=sell_items[item_id]
                
itm_count=self._get_game_state().count_in_storage('@'+item_id)
                
item_count=itm_count-item_save_count
                
if item_count>0:
                    
sell_event GameSellItem(count=long(item_count), itemId unicode(item_id))
                    
self._get_events_sender().send_game_events([sell_event])
                    
self._get_game_state().remove_from_storage('@'+item_id,item_count)
                    
itm_count=self._get_game_state().count_in_storage('@'+item_id)
                    
logger.info(u"Продали %d '%s' осталось %d"%((item_count),self._get_item_reader().get(item_id).name,itm_count))
                    
        
CollIt=obj2dict(self._get_game_state().get_state().collectionItems)
        
send_user self._get_options()['send_user']
        if 
send_user<>None:
            
saveCollection=['C_42','C_29']
            for 
item_id in CollIt.keys():
                
send=True
                
for save in saveCollection:
                    if 
save in item_id:send=False
                
if not send:continue
                if 
CollIt[item_id]>0:
                    
send_gift={
                        
"item":'@'+item_id,
                        
"msg":"",
                        
"count":CollIt[item_id],
                        
"user":send_user
                        
}
                    
event=GameSendGift(gift=send_gift)
                    
self._get_events_sender().send_game_events([event])
                    
logger.info(u"Отправили %d '%s' пользователю %d"%(CollIt[item_id],self._get_item_reader().get(item_id).name,int(send_user)))
                    
CollIt[item_id]=0
        self
._get_game_state().get_state().collectionItems=dict2obj(CollIt
  Ответить с цитированием
Старый 14.03.2015, 16:51   #4133
 Разведчик
Аватар для Just1cEE
 
Just1cEE никому не известный тип
Регистрация: 25.10.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

В этом модуле есть функция копки под определенными постройками ???
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 game_actors_and_handlers
.pickups import PickuperAddPickupHandlerBoxPickuper
##############################
from ctypes import windll
import sys

stdout_handle 
windll.kernel32.GetStdHandle(-11)
SetConsoleTextAttribute windll.kernel32.SetConsoleTextAttribute
##############################
import time
import os
.path
import os
logger 
logging.getLogger(__name__)


class 
VisitingUsers(BaseActor):
    
def perform_action(self):
          
action = [
                 
u'fruitTree',         # Удобрять фруктовые деревья
                 
u'pirateBoats',       # Стучим в лодки
                 
u'tocake',            # Ёлки
                 
u'monster',           # Мишка
                 
u'diggerman'          # Копатель   
                 

          
curuser self._get_options()[0][0]
          if 
curuser != 'me root':friends self._get_options()[0][2]
          else:
friends = eval(open('friendsid.txt').read())
          
#             Юдо              Чудо
          
friends = ['[BOT]friend1','[BOT]friend2']+ friends
          myid 
self._get_options()[0][1]
          
shovels self._get_options()[1][1]
          
favdecors self._get_options()[1][2]
          if 
favdecors == Nonefavdecors = ['none']
          if 
friends == None: return
          if 
shovels == Noneshovels 10  #Количество лопат которое желаем истратить
          
else: shovels int(shovels)
          
objtypes = ['woodTree','stone','decoration','building']
          if 
not hasattr(self._get_game_state(), 'mylocids'):
            
self._get_game_state().mylocids = []
            for 
glocinf in []:
                
self._get_game_state().mylocids.append(glocinf.locationId)
          if 
not os.path.isdir('.\subloc'): os.makedirs('.\subloc')
          if 
not os.path.isdir('.\counts'): os.makedirs('.\counts')
          if 
not os.path.isdir('.\counts\\'+curuser): os.makedirs('.\counts\\'+curuser)
          
cfname '.\counts\\'+curuser+'\countfnyt.txt'
          
if os.path.isfile(cfname):#это проходит проверка на устарелость вайла счетчика. новый день!!!
            
ftime time.localtime(os.path.getmtime(cfname)).tm_mday
            
if ftime != time.localtime().tm_mday:
                
os.remove(cfname)
                
fcousl '.\counts\\'+curuser+'\couisle.txt'
                
if os.path.isfile(fcousl): os.remove(fcousl)
          
self._get_game_state().shovel 0
          
if not hasattr(self._get_game_state(),'countfnyt'):
            try:
                
self._get_game_state().countfnyt int(open('.\counts\\'+curuser+'\countfnyt.txt').read())
            
except:
                
self._get_game_state().countfnyt 0
                open
('.\counts\\'+curuser+'\countfnyt.txt''w').write('')
          if 
not hasattr(self._get_game_state(), 'couisle'):
            try:
                
self._get_game_state().couisle int(open('.\counts\\'+curuser+'\couisle.txt').read())+1
            except
:
                
self._get_game_state().couisle 0
          
if not hasattr(self._get_game_state(), 'frobjstat'):self._get_game_state().frobjstat 0
          
if not hasattr(self._get_game_state(), 'countnyt'):self._get_game_state().countnyt 0
          
if not hasattr(self._get_game_state(), 'countfriend'):self._get_game_state().countfriend self._get_game_state().countfnyt
          
if not hasattr(self._get_game_state(), 'gameObjects') and self._get_game_state().countfnyt len(friends) and self._get_game_state().frobjstat == 0:
            
self._get_game_state().frobjstat 1
            user 
friends[self._get_game_state().countfnyt]
            
fren_user str(user)
            try:
isles = (open('.\subloc\\'+str(user)+'.txt').read()).split("\n")
            
except:isles = ['main']
            
            try:
                
isle isles[self._get_game_state().couisle]
            
except:isle 'main'
            
if isle == ''isle 'main'
            
if self._get_game_state().couisle >= len(isles):
                
self._get_game_state().countfnyt += 1
                open
('.\counts\\'+curuser+'\countfnyt.txt''w').write(str(self._get_game_state().countfnyt))
                
self._get_game_state().couisle 0
            
else:
                
self._get_game_state().couisle += 1
            open
('.\counts\\'+curuser+'\couisle.txt''w').write(str(self._get_game_state().couisle))
            
self._get_events_sender().send_game_events([{"action":"gameState","locationId":isle,"user":str(user),"objId":None,"type":"gameState"}])
            
self._get_events_sender().send_game_events()
            
open('.\counts\\'+curuser+'\\friends.txt','w').write(str(user))
          
self._get_events_sender().send_game_events()
          if 
hasattr(self._get_game_state(), 'gameObjects'):
            
events = []
            
countnyt 0
            countpickup 
0
            fruitt 
= []
            
objssvl = []
            
objssvl2 = []
            if 
hasattr(self._get_game_state(),'alldigged'):alldigged 1
            
else: alldigged 0
            
if hasattr(self._get_game_state(),'nyna'):nyna 1
            
else: nyna 0
            
if hasattr(self._get_game_state(),'treasfound'):treasfound 1
            
else: treasfound 0
            
if hasattr(self._get_game_state(),'treasnotries'):treasnotries 1
            
else: treasnotries 0
            
            
try: isles = (open('.\subloc\\'+str(friends[self._get_game_state().countfnyt])+'.txt').read()).split("\n")
            
exceptisles = []
            
frend_users = ('%s')%str(open('.\counts\\'+curuser+'\\friends.txt').read())
            
DiggerOk self._get_game_state().get_state().haveTreasure
            UserIsAway 
self._get_game_state().get_state().isAway
            Fruit_Tree 
self._get_game_state().get_state().remoteFertilizeFruitTree
            monstr 
self._get_game_state().get_state().remoteMonsterPit
            remoteNY 
self._get_game_state().get_state().remoteNewYear
            self
.cprint(u'22----------^7_ИДЁМ К ДРУГУ^6_%s^22---------- ^7_%d/%d'%(frend_usersself._get_game_state().countfnytlen(friends)))
            
self._get_game_state().countfriend+=1
            
if UserIsAway == True:
                print 
u' ',
                
self.cprint(u'71Друг давно не был в игре!!!')
            for 
object in self._get_game_state().gameObjects:
                
fren_user = ("'%s'")%str(open('.\counts\\'+curuser+'\\friends.txt').read())
                
#####   УДОБРЯЕМ ДЕРЕВЬЯ #####
                
if u'fruitTree' in action:  
                    if 
len(Fruit_Tree) < 20:
                        
treefruit = ['FT_APPLE','FT_CHERRY','FT_MANDARINE','FT_LEMON','FT_SKULL','FT_EYE']
                        for 
tree in treefruit:
                            if 
object.item[0-len(tree):] == tree:
                                if 
not fren_user in str(Fruit_Tree)[0:] and (object.jobFinishTime[0] != '-'):
                                    
fruitt.insert(0object)
                if 
len(fruitt) > 0:
                    
self._get_events_sender().send_game_events([{"type":"item","action":"remoteFertilizeFruitTree"}])
                    
self.cprint (u"1 Удобряем^6_'Фруктовое дерево'^1_!!!")
                    break
                
#####  ЗАКАПЫВАЕМ МИШУТУ #####
                
if u'monster' in action:
                    if 
object.type == 'monsterPit' and len(monstr) < 100:
                        if 
object.state == 'HAVE_PICKUP_BOX' self.cprint(u'2 у Мишуты ещё не убрали сундук')
                        
elif object.state == 'READY_FOR_DIG' self.cprint(u'2 Мишутка отдыхает')
                        
elif object.state == 'DIGGING' :
                            if 
not fren_user in str(monstr)[0:]:
                                
self._get_events_sender().send_game_events([{"itemId":"MONSTER_PIT_1_INSTRUMENT_PACK_DEFAULT","action":"remoteMonsterPit","type":"item","objId":object.id}])
                                print 
' ',
                                
self.cprint(u'66ЗАКАПЫВАЕМ МИШАНЮ ^4_!!!')
                            else :
self.cprint(u'2 Сегодня уже закапывали Мишаню ')
                            continue
                
#####    КЛАДЕМ ПРЯНИКИ  #####
                
if u'tocake' in action:
                    if 
object.type == 'newYearTree'and len(remoteNY)<150 and object.level == 2:
                        if 
object.item == u'@B_SPRUCE_SMOLL' and len(object.users) < 3:
                            if 
not str(object.idin str(remoteNY):
                                
self._get_events_sender().send_game_events([{"itemId":"CAKE_PACK_FREE1","action":"remoteNewYear","type":"item","objId":object.id}])
                                
self.cprint(u'3 Ложим пряник')
                                
countnyt+=1
                        
if object.item == u'@B_SPRUCE_MIDDLE' and len(object.users) < :
                            if 
not str(object.idin str(remoteNY):
                                
self._get_events_sender().send_game_events([{"itemId":"CAKE_PACK_FREE1","action":"remoteNewYear","type":"item","objId":object.id}])
                                
self.cprint(u'3 Ложим пряник')
                                
countnyt+=1
                        
if object.item == u'@B_SPRUCE_BIG' and len(object.users) < 15:
                            if 
not str(object.idin str(remoteNY):
                                
self._get_events_sender().send_game_events([{"itemId":"CAKE_PACK_FREE1","action":"remoteNewYear","type":"item","objId":object.id}])
                                
self.cprint(u'3 Ложим пряник')
                                
countnyt+=1
            self
._get_game_state().countnyt += countnyt
            
if countnyt 0:
                
self.cprint(u'3 ПОЛОЖИЛ^7_%s^3_ПРЯНИК(ов)'%str(countnyt))
            
#####   КОПАЕМ КЛАДЫ   #####                       
            
count_loop 0
            
if treasnotries == 1:
                
self.cprint(u'2 ЛОПАТЫ ЗАКОНЧИЛИСЬ ((')
            if 
DiggerOk == False and UserIsAway == False:
                
self.cprint(u'4 ВСЁ ВЫКОПАНО !!!')
            if 
u'diggerman' in action:
                if 
DiggerOk == True and treasnotries != 1:
                    
self.cprint(u'1 КОПАЕМ.....')
            if 
len(objssvl) > or len(objssvl2) > 0:
                if 
objssvl == []: objssvl objssvl2
                
for i in range(shovels):
                    
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"}])
                    
self._get_events_sender().send_game_events()
                    if 
DiggerOk == False:
                        print 
u'Все выкопал'
                        
break
                    
elif DiggerOk == True or treasfound == :
                        
count_loop+=1    
            
if count_loop 0:
                
self.cprint(u'6 ИСПОЛЬЗОВАЛ^7_%d^6_ЛОПАТ'%count_loop)
            
self
            
if hasattr(self._get_game_state(),'alldigged'): del self._get_game_state().alldigged
            
if hasattr(self._get_game_state(),'nyna'): del self._get_game_state().nyna
            del self
._get_game_state().gameObjects
            
if self._get_game_state().countfnyt len(friends):
                
user friends[self._get_game_state().countfnyt]
                try:
isles = (open('.\subloc\\'+str(user)+'.txt').read()).split("\n")
                
except:isles = []
                
#------------------------------------------------
                
try:locations self._get_game_state().locationInfos
                except
:locations None
                
if 0:#hasattr(self._get_game_state(), 'playersInfo'):
                    
playersInfo self._get_game_state().playersInfo
                    wishlist 
"[ "
                    
wishlist2 "[ "
                    
for wish in playersInfo[0].liteGameState.wishlist:
                        if 
wish != None:
                            if 
not wish in ['@CR_70''@CR_01''@CR_11''@CR_44''@CR_40''@CR_25''@CR_16''@CR_06''@CR_97']:wishlist += self._get_item_reader().get(wish).name+", "
                            
else:wishlist2 += self._get_item_reader().get(wish).name+", "
                            
wishlist += self._get_item_reader().get(wish).name+", "
                            
                    
wishlist += " ]"
                    
wishlist2 += " ]"
                    
wishlist wishlist.encode('cp1251''ignore')
                    
wishlist2 wishlist2.encode('cp1251''ignore')
                    
open('playersInfo.txt''a').write(str(playersInfo[0].id)+wishlist+"   "+wishlist2+"\n"+"\n")
                
                try:
isle isles[self._get_game_state().couisle]
                
except:isle 'main'
                
if isle == '':
                    
self._get_game_state().countfnyt += 1
                    open
('.\counts\\'+curuser+'\countfnyt.txt''w').write(str(self._get_game_state().countfnyt))
                    
self._get_game_state().couisle 0
                    isle 
'main'
                    
user friends[self._get_game_state().countfnyt]
                if 
self._get_game_state().couisle >= len(isles):
                    
self._get_game_state().countfnyt += 1
                    open
('.\counts\\'+curuser+'\countfnyt.txt''w').write(str(self._get_game_state().countfnyt))
                    
self._get_game_state().couisle 0
                
else:
                    
self._get_game_state().couisle += 1
                open
('.\counts\\'+curuser+'\couisle.txt''w').write(str(self._get_game_state().couisle))
                
self._get_events_sender().send_game_events([{"action":"gameState","locationId":isle,"user":str(user),"objId":None,"type":"gameState"}])
                
self._get_events_sender().send_game_events()
                
DiggerOk self._get_game_state().get_state().haveTreasure
                open
('.\counts\\'+curuser+'\\friends.txt','w').write(str(user))
          if 
self._get_game_state().countfriend >= len(friends):
            print 
' '
            
if not hasattr(self._get_game_state(), 'fdend'):
                
self._get_game_state().fdend 1
                self
._get_events_sender().send_game_events([{"action":"gameState","locationId":"main","type":"gameState"}]) 
  Ответить с цитированием
Старый 14.03.2015, 21:13   #4134
Заблокирован
 Разведчик
Аватар для Cheater-84
 
Cheater-84 никому не известный тип
Регистрация: 22.03.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 6 раз(а) в 5 сообщениях
Отправить сообщение для Cheater-84 с помощью Skype™
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от Just1cEEПосмотреть сообщение
В этом модуле есть функция копки под определенными постройками ???
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 game_actors_and_handlers
.pickups import PickuperAddPickupHandlerBoxPickuper
##############################
from ctypes import windll
import sys

stdout_handle 
windll.kernel32.GetStdHandle(-11)
SetConsoleTextAttribute windll.kernel32.SetConsoleTextAttribute
##############################
import time
import os
.path
import os
logger 
logging.getLogger(__name__)


class 
VisitingUsers(BaseActor):
    
def perform_action(self):
          
action = [
                 
u'fruitTree',         # Удобрять фруктовые деревья
                 
u'pirateBoats',       # Стучим в лодки
                 
u'tocake',            # Ёлки
                 
u'monster',           # Мишка
                 
u'diggerman'          # Копатель   
                 

          
curuser self._get_options()[0][0]
          if 
curuser != 'me root':friends self._get_options()[0][2]
          else:
friends = eval(open('friendsid.txt').read())
          
#             Юдо              Чудо
          
friends = ['[BOT]friend1','[BOT]friend2']+ friends
          myid 
self._get_options()[0][1]
          
shovels self._get_options()[1][1]
          
favdecors self._get_options()[1][2]
          if 
favdecors == Nonefavdecors = ['none']
          if 
friends == None: return
          if 
shovels == Noneshovels 10  #Количество лопат которое желаем истратить
          
else: shovels int(shovels)
          
objtypes = ['woodTree','stone','decoration','building']
          if 
not hasattr(self._get_game_state(), 'mylocids'):
            
self._get_game_state().mylocids = []
            for 
glocinf in []:
                
self._get_game_state().mylocids.append(glocinf.locationId)
          if 
not os.path.isdir('.\subloc'): os.makedirs('.\subloc')
          if 
not os.path.isdir('.\counts'): os.makedirs('.\counts')
          if 
not os.path.isdir('.\counts\\'+curuser): os.makedirs('.\counts\\'+curuser)
          
cfname '.\counts\\'+curuser+'\countfnyt.txt'
          
if os.path.isfile(cfname):#это проходит проверка на устарелость вайла счетчика. новый день!!!
            
ftime time.localtime(os.path.getmtime(cfname)).tm_mday
            
if ftime != time.localtime().tm_mday:
                
os.remove(cfname)
                
fcousl '.\counts\\'+curuser+'\couisle.txt'
                
if os.path.isfile(fcousl): os.remove(fcousl)
          
self._get_game_state().shovel 0
          
if not hasattr(self._get_game_state(),'countfnyt'):
            try:
                
self._get_game_state().countfnyt int(open('.\counts\\'+curuser+'\countfnyt.txt').read())
            
except:
                
self._get_game_state().countfnyt 0
                open
('.\counts\\'+curuser+'\countfnyt.txt''w').write('')
          if 
not hasattr(self._get_game_state(), 'couisle'):
            try:
                
self._get_game_state().couisle int(open('.\counts\\'+curuser+'\couisle.txt').read())+1
            except
:
                
self._get_game_state().couisle 0
          
if not hasattr(self._get_game_state(), 'frobjstat'):self._get_game_state().frobjstat 0
          
if not hasattr(self._get_game_state(), 'countnyt'):self._get_game_state().countnyt 0
          
if not hasattr(self._get_game_state(), 'countfriend'):self._get_game_state().countfriend self._get_game_state().countfnyt
          
if not hasattr(self._get_game_state(), 'gameObjects') and self._get_game_state().countfnyt len(friends) and self._get_game_state().frobjstat == 0:
            
self._get_game_state().frobjstat 1
            user 
friends[self._get_game_state().countfnyt]
            
fren_user str(user)
            try:
isles = (open('.\subloc\\'+str(user)+'.txt').read()).split("\n")
            
except:isles = ['main']
            
            try:
                
isle isles[self._get_game_state().couisle]
            
except:isle 'main'
            
if isle == ''isle 'main'
            
if self._get_game_state().couisle >= len(isles):
                
self._get_game_state().countfnyt += 1
                open
('.\counts\\'+curuser+'\countfnyt.txt''w').write(str(self._get_game_state().countfnyt))
                
self._get_game_state().couisle 0
            
else:
                
self._get_game_state().couisle += 1
            open
('.\counts\\'+curuser+'\couisle.txt''w').write(str(self._get_game_state().couisle))
            
self._get_events_sender().send_game_events([{"action":"gameState","locationId":isle,"user":str(user),"objId":None,"type":"gameState"}])
            
self._get_events_sender().send_game_events()
            
open('.\counts\\'+curuser+'\\friends.txt','w').write(str(user))
          
self._get_events_sender().send_game_events()
          if 
hasattr(self._get_game_state(), 'gameObjects'):
            
events = []
            
countnyt 0
            countpickup 
0
            fruitt 
= []
            
objssvl = []
            
objssvl2 = []
            if 
hasattr(self._get_game_state(),'alldigged'):alldigged 1
            
else: alldigged 0
            
if hasattr(self._get_game_state(),'nyna'):nyna 1
            
else: nyna 0
            
if hasattr(self._get_game_state(),'treasfound'):treasfound 1
            
else: treasfound 0
            
if hasattr(self._get_game_state(),'treasnotries'):treasnotries 1
            
else: treasnotries 0
            
            
try: isles = (open('.\subloc\\'+str(friends[self._get_game_state().countfnyt])+'.txt').read()).split("\n")
            
exceptisles = []
            
frend_users = ('%s')%str(open('.\counts\\'+curuser+'\\friends.txt').read())
            
DiggerOk self._get_game_state().get_state().haveTreasure
            UserIsAway 
self._get_game_state().get_state().isAway
            Fruit_Tree 
self._get_game_state().get_state().remoteFertilizeFruitTree
            monstr 
self._get_game_state().get_state().remoteMonsterPit
            remoteNY 
self._get_game_state().get_state().remoteNewYear
            self
.cprint(u'22----------^7_ИДЁМ К ДРУГУ^6_%s^22---------- ^7_%d/%d'%(frend_usersself._get_game_state().countfnytlen(friends)))
            
self._get_game_state().countfriend+=1
            
if UserIsAway == True:
                print 
u' ',
                
self.cprint(u'71Друг давно не был в игре!!!')
            for 
object in self._get_game_state().gameObjects:
                
fren_user = ("'%s'")%str(open('.\counts\\'+curuser+'\\friends.txt').read())
                
#####   УДОБРЯЕМ ДЕРЕВЬЯ #####
                
if u'fruitTree' in action:  
                    if 
len(Fruit_Tree) < 20:
                        
treefruit = ['FT_APPLE','FT_CHERRY','FT_MANDARINE','FT_LEMON','FT_SKULL','FT_EYE']
                        for 
tree in treefruit:
                            if 
object.item[0-len(tree):] == tree:
                                if 
not fren_user in str(Fruit_Tree)[0:] and (object.jobFinishTime[0] != '-'):
                                    
fruitt.insert(0object)
                if 
len(fruitt) > 0:
                    
self._get_events_sender().send_game_events([{"type":"item","action":"remoteFertilizeFruitTree"}])
                    
self.cprint (u"1 Удобряем^6_'Фруктовое дерево'^1_!!!")
                    break
                
#####  ЗАКАПЫВАЕМ МИШУТУ #####
                
if u'monster' in action:
                    if 
object.type == 'monsterPit' and len(monstr) < 100:
                        if 
object.state == 'HAVE_PICKUP_BOX' self.cprint(u'2 у Мишуты ещё не убрали сундук')
                        
elif object.state == 'READY_FOR_DIG' self.cprint(u'2 Мишутка отдыхает')
                        
elif object.state == 'DIGGING' :
                            if 
not fren_user in str(monstr)[0:]:
                                
self._get_events_sender().send_game_events([{"itemId":"MONSTER_PIT_1_INSTRUMENT_PACK_DEFAULT","action":"remoteMonsterPit","type":"item","objId":object.id}])
                                print 
' ',
                                
self.cprint(u'66ЗАКАПЫВАЕМ МИШАНЮ ^4_!!!')
                            else :
self.cprint(u'2 Сегодня уже закапывали Мишаню ')
                            continue
                
#####    КЛАДЕМ ПРЯНИКИ  #####
                
if u'tocake' in action:
                    if 
object.type == 'newYearTree'and len(remoteNY)<150 and object.level == 2:
                        if 
object.item == u'@B_SPRUCE_SMOLL' and len(object.users) < 3:
                            if 
not str(object.idin str(remoteNY):
                                
self._get_events_sender().send_game_events([{"itemId":"CAKE_PACK_FREE1","action":"remoteNewYear","type":"item","objId":object.id}])
                                
self.cprint(u'3 Ложим пряник')
                                
countnyt+=1
                        
if object.item == u'@B_SPRUCE_MIDDLE' and len(object.users) < :
                            if 
not str(object.idin str(remoteNY):
                                
self._get_events_sender().send_game_events([{"itemId":"CAKE_PACK_FREE1","action":"remoteNewYear","type":"item","objId":object.id}])
                                
self.cprint(u'3 Ложим пряник')
                                
countnyt+=1
                        
if object.item == u'@B_SPRUCE_BIG' and len(object.users) < 15:
                            if 
not str(object.idin str(remoteNY):
                                
self._get_events_sender().send_game_events([{"itemId":"CAKE_PACK_FREE1","action":"remoteNewYear","type":"item","objId":object.id}])
                                
self.cprint(u'3 Ложим пряник')
                                
countnyt+=1
            self
._get_game_state().countnyt += countnyt
            
if countnyt 0:
                
self.cprint(u'3 ПОЛОЖИЛ^7_%s^3_ПРЯНИК(ов)'%str(countnyt))
            
#####   КОПАЕМ КЛАДЫ   #####                       
            
count_loop 0
            
if treasnotries == 1:
                
self.cprint(u'2 ЛОПАТЫ ЗАКОНЧИЛИСЬ ((')
            if 
DiggerOk == False and UserIsAway == False:
                
self.cprint(u'4 ВСЁ ВЫКОПАНО !!!')
            if 
u'diggerman' in action:
                if 
DiggerOk == True and treasnotries != 1:
                    
self.cprint(u'1 КОПАЕМ.....')
            if 
len(objssvl) > or len(objssvl2) > 0:
                if 
objssvl == []: objssvl objssvl2
                
for i in range(shovels):
                    
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"}])
                    
self._get_events_sender().send_game_events()
                    if 
DiggerOk == False:
                        print 
u'Все выкопал'
                        
break
                    
elif DiggerOk == True or treasfound == :
                        
count_loop+=1    
            
if count_loop 0:
                
self.cprint(u'6 ИСПОЛЬЗОВАЛ^7_%d^6_ЛОПАТ'%count_loop)
            
self
            
if hasattr(self._get_game_state(),'alldigged'): del self._get_game_state().alldigged
            
if hasattr(self._get_game_state(),'nyna'): del self._get_game_state().nyna
            del self
._get_game_state().gameObjects
            
if self._get_game_state().countfnyt len(friends):
                
user friends[self._get_game_state().countfnyt]
                try:
isles = (open('.\subloc\\'+str(user)+'.txt').read()).split("\n")
                
except:isles = []
                
#------------------------------------------------
                
try:locations self._get_game_state().locationInfos
                except
:locations None
                
if 0:#hasattr(self._get_game_state(), 'playersInfo'):
                    
playersInfo self._get_game_state().playersInfo
                    wishlist 
"[ "
                    
wishlist2 "[ "
                    
for wish in playersInfo[0].liteGameState.wishlist:
                        if 
wish != None:
                            if 
not wish in ['@CR_70''@CR_01''@CR_11''@CR_44''@CR_40''@CR_25''@CR_16''@CR_06''@CR_97']:wishlist += self._get_item_reader().get(wish).name+", "
                            
else:wishlist2 += self._get_item_reader().get(wish).name+", "
                            
wishlist += self._get_item_reader().get(wish).name+", "
                            
                    
wishlist += " ]"
                    
wishlist2 += " ]"
                    
wishlist wishlist.encode('cp1251''ignore')
                    
wishlist2 wishlist2.encode('cp1251''ignore')
                    
open('playersInfo.txt''a').write(str(playersInfo[0].id)+wishlist+"   "+wishlist2+"\n"+"\n")
                
                try:
isle isles[self._get_game_state().couisle]
                
except:isle 'main'
                
if isle == '':
                    
self._get_game_state().countfnyt += 1
                    open
('.\counts\\'+curuser+'\countfnyt.txt''w').write(str(self._get_game_state().countfnyt))
                    
self._get_game_state().couisle 0
                    isle 
'main'
                    
user friends[self._get_game_state().countfnyt]
                if 
self._get_game_state().couisle >= len(isles):
                    
self._get_game_state().countfnyt += 1
                    open
('.\counts\\'+curuser+'\countfnyt.txt''w').write(str(self._get_game_state().countfnyt))
                    
self._get_game_state().couisle 0
                
else:
                    
self._get_game_state().couisle += 1
                open
('.\counts\\'+curuser+'\couisle.txt''w').write(str(self._get_game_state().couisle))
                
self._get_events_sender().send_game_events([{"action":"gameState","locationId":isle,"user":str(user),"objId":None,"type":"gameState"}])
                
self._get_events_sender().send_game_events()
                
DiggerOk self._get_game_state().get_state().haveTreasure
                open
('.\counts\\'+curuser+'\\friends.txt','w').write(str(user))
          if 
self._get_game_state().countfriend >= len(friends):
            print 
' '
            
if not hasattr(self._get_game_state(), 'fdend'):
                
self._get_game_state().fdend 1
                self
._get_events_sender().send_game_events([{"action":"gameState","locationId":"main","type":"gameState"}]) 

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 game_actors_and_handlers
.pickups import PickuperAddPickupHandlerBoxPickuper
##############################
from ctypes import windll
import sys

stdout_handle 
windll.kernel32.GetStdHandle(-11)
SetConsoleTextAttribute windll.kernel32.SetConsoleTextAttribute
##############################
import time
import os
.path
import os
logger 
logging.getLogger(__name__)


class 
VisitingUsers(BaseActor):
    
def perform_action(self):
          
action = [
                 
u'fruitTree',         # Удобрять фруктовые деревья
                 
u'pirateBoats',       # Стучим в лодки
                 
u'tocake',            # Ёлки
                 
u'monster',           # Мишка
                 #u'diggermanfdec',     # Копать только под найденным декором если нет декора не копать
                 
u'diggerman',         # Копаем рандомно под всеми обьектами
                 #u'giftFriends',       # Дарим БП
                 
u'thanksgiving',       # Стучим в постройки
                 
u'pirateBoats_1',
                 
#u'Чмоки1',
                 
]
          
'''current_loc_id = self._get_game_state().get_game_loc().get_location_id()
          storage = self._get_game_state().get_state().storageItems
          for item in storage:
                if hasattr(item, "item"):
                    if item.item == "@SHOVEL_EXTRA":
                        storage_shovel = item.count'''
          
          
local u'main'
          
curuser self._get_options()[0][0]
          if 
curuser == 'ok':friends open('zayka.txt','r').read().split("\n")
          if 
curuser == 'zayka':friends open('zayka.txt','r').read().split("\n")
          
elif curuser != 'me root':friends self._get_options()[0][2]
          else:
friends self._get_options()[0][2]#friends = eval(open('friendsid.txt').read())
          #             Юдо              Чудо
          
friends = ['[BOT]friend1','[BOT]friend2']+ friends
          myid 
self._get_options()[0][1]
          
shovels self._get_options()[1][1]
          
countp self._get_options()[1][2]   #пряники
          
favdecors self._get_options()[1][3]
          
sort_green False
          
if favdecors == Nonefavdecors = ['none']
          if 
friends == None: return
          if 
countp == Nonecountp 5
          
else: countp int(countp)
          if 
shovels == Noneshovels 10  #Количество лопат которое желаем истратить
          
else: shovels int(shovels)
          
objtypes = ['woodTree','stone','decoration','building']
          if 
not hasattr(self._get_game_state(), 'mylocids'):
            
self._get_game_state().mylocids = []
            for 
glocinf in []:
                
self._get_game_state().mylocids.append(glocinf.locationId)
          if 
not os.path.isdir('.\subloc'): os.makedirs('.\subloc')
          if 
not os.path.isdir('.\counts'): os.makedirs('.\counts')
          if 
not os.path.isdir('.\counts\\'+curuser): os.makedirs('.\counts\\'+curuser)
          
cfname '.\counts\\'+curuser+'\countfnyt.txt'
          
if os.path.isfile(cfname):#это проходит проверка на устарелость вайла счетчика. новый день!!!
            
ftime time.localtime(os.path.getmtime(cfname)).tm_mday
            hourtime 
time.localtime().tm_hour
            mintime 
time.localtime().tm_min
            sectime 
time.localtime().tm_sec
            self
.cprint(u'7_%d:%d:%d'%(hourtime,mintime,sectime))
            if 
ftime != time.localtime().tm_mday and hourtime >= and mintime >= 10:
                
os.remove(cfname)
          if 
not hasattr(self._get_game_state(),'countfnyt'):
            try:
                
self._get_game_state().countfnyt int(open('.\counts\\'+curuser+'\countfnyt.txt').read())
            
except:
                
self._get_game_state().countfnyt 0
                open
('.\counts\\'+curuser+'\countfnyt.txt''w').write('0')
          if 
not hasattr(self._get_game_state(), 'nextFriend'):self._get_game_state().nextFriend self._get_game_state().countfnyt
          
if not hasattr(self._get_game_state(), 'countnyt'):self._get_game_state().countnyt 0
          
if not hasattr(self._get_game_state(), 'countfriend'):self._get_game_state().countfriend self._get_game_state().countfnyt
          
if not hasattr(self._get_game_state(), 'gameObjects') and self._get_game_state().countfnyt len(friends):
            
user friends[self._get_game_state().countfnyt]
            
fren_user str(user)
            if 
sort_green and hasattr(self._get_game_state(), 'playersInfo'):
                
players_info self._get_game_state().playersInfo
                load 
False
                
#print 'playersInfo:', len(players_info)
                
for info in players_info:
                    if 
str(info.id) == str(user):
                        
load True
                        
break
                if 
load and not info.liteGameState.haveTreasure:
                    print 
u'У друга всё выкопано!'
                    
self._get_game_state().countfnyt += 1
                    self
._get_game_state().nextFriend += 1
                    open
('.\counts\\'+curuser+'\countfnyt.txt''w').write(str(self._get_game_state().countfnyt))
                    
open('.\counts\\'+curuser+'\\friends.txt','w').write(str(user))
                    return
            if 
str(self._get_game_state().nextFriend) == str(self._get_game_state().countfnyt):
                
self._get_events_sender().send_game_events([{"action":"gameState",'locationId':local,"user":str(user),"objId":None,"type":"gameState"}])
                
self._get_events_sender().send_game_events()
                
self._get_game_state().countfnyt += 1
            open
('.\counts\\'+curuser+'\countfnyt.txt''w').write(str(self._get_game_state().countfnyt))
            
open('.\counts\\'+curuser+'\\friends.txt','w').write(str(user))

          if 
hasattr(self._get_game_state(), 'gameObjects'):
            if 
not hasattr(self._get_game_state(), 'countCircus'):
                
self._get_game_state().countCircus len(self._get_game_state().get_state().remoteTrickTreating)
            
self._get_game_state().tentCircus True
            baranka 
0
            events 
= []
            
eventdig = []
            
countnyt 0
            fruitt 
= []
            
thanksgiv = []
            
thanksgivevent = []
            
objssvl = []
            
objssvl2 = []
            
event = []
            
decordigger 0
            digger 
0
            
if hasattr(self._get_game_state(),'treasfound'):treasfound 1
            
else: treasfound 0
            
if hasattr(self._get_game_state(),'treasnotries'):treasnotries 1
            
else: treasnotries 0
            frend_users 
= ('%s')%str(open('.\counts\\'+curuser+'\\friends.txt').read())
            if 
not hasattr(self._get_game_state(), 'countThanksgiving'):
                
self._get_game_state().countThanksgiving len(self._get_game_state().get_state().remoteThanksgiving)
            if 
not hasattr(self._get_game_state(), 'countCake'):
                
self._get_game_state().countCake len(self._get_game_state().get_state().remoteNewYear)
            if 
not hasattr(self._get_game_state(), 'countFruitTree'):
                
self._get_game_state().countFruitTree len(self._get_game_state().get_state().remoteFertilizeFruitTree)
            if 
not hasattr(self._get_game_state(), 'countMonsterPit'):
                
self._get_game_state().countMonsterPit len(self._get_game_state().get_state().remoteMonsterPit)       
            
self._get_game_state().planeAvailable True
            DiggerOk 
self._get_game_state().get_state().haveTreasure
            UserIsAway 
self._get_game_state().get_state().isAway
            Fruit_Tree 
self._get_game_state().get_state().remoteFertilizeFruitTree
            monstr 
self._get_game_state().get_state().remoteMonsterPit
            remoteNY 
self._get_game_state().get_state().remoteNewYear
            
#Pirate = self._get_game_state().get_state().pirate.state
            
if hasattr(self._get_game_state().get_state().pirate,'state'): 
                
Pirate self._get_game_state().get_state().pirate.state 
            
else:Pirate='nonPirate'  
            
#PLstata = self._get_game_state().get_state(). playerSettings.userName
            
gifteruser self._get_game_state().get_state().freeGiftUsers
            wishlistik 
self._get_game_state().get_state().wishlist
            remoteThanks 
self._get_game_state().get_state().remoteThanksgiving
            fakers 
= ['[BOT]friend1','[BOT]friend2']
            
username=u'нет ника'
            
if hasattr(self._get_game_state(),'playersInfo'):
                for 
player in self._get_game_state().playersInfo:
                  if 
player.id==frend_users:username=player.liteGameState.playerSettings.userName
                    
            self
.cprint(u'22----------^7_ИДЁМ К ДРУГУ^6_%s^4_ник:"%s"^22---------- ^7_%d/%d'%(frend_users,usernameself._get_game_state().countfnytlen(friends)))
            
#self.cprint(u'22----------^7_ИДЁМ К ДРУГУ^6_%s^22---------- ^7_%d/%d'%(frend_users, self._get_game_state().countfnyt, len(friends)))
            
self._get_game_state().countfriend+=1         
            
if UserIsAway == True:
                print 
u' ',
                
self.cprint(u'71Друг давно не был в игре!!!^2_')

            
#####   ДАРИМ БП #####
            
if u'giftFriends' in action:
                if 
not frend_users in str(gifteruser)[0:] and not frend_users in fakers :
                    
wishlst = []
                    for 
wish in wishlistik:
                        if 
wish != None :
                            if 
wish in ['@CR_70''@CR_01''@CR_11''@CR_44''@CR_40''@CR_25''@CR_16''@CR_06''@CR_97']:#это фильтр подарков
                                
wishlst.append(wish)
                    if 
len(wishlst) > 0:slctwish random_number.choice(wishlst)#тут по хотелке случайный выбор
                    
else: slctwish random_number.choice(['@CR_70''@CR_44''@CR_25''@CR_16''@CR_06'])#тут если нет хотелок случайный выбор
                    
wishname self._get_item_reader().get(slctwish).name
                    msg 
u'Всем привет !'# сюда пишем сообщение
                    #self.cprint (u"3 Дарим Бесплатный Подарок^6_'%s'^2_"%wishname)
                    
self.cprint(u'3ДаримПодарок^6_%s^2ссообщением^7%s'%(wishname,msg))
                    
#msg = u'Всем привет !'# сюда пишем сообщение
                    
event.append({"userIds":[frend_users],"msg":msg,"type":"gifts","action":"sendFreeGifts","itemId":slctwish[1:]})
                    
self._get_events_sender().send_game_events(event)


            
###Стучим в мишени#####
            
for object in self._get_game_state().gameObjects:
                if 
object.type == 'friendGamesBuilding':
                    
smoll_pule 0
                    middle_pule 
0
                    big_pule 
0
                    storage 
self._get_game_state().get_state().storageItems
                    
for item in storage:
                        if 
hasattr(item"item"):
                            if 
item.item == '@R_63':
                                
big_pule item.count
                            
if item.item == '@R_62':
                                
middle_pule item.count
                            
if item.item == '@R_61':
                                
smoll_pule item.count
                    
if object.item == '@B_PAINTBALL_TARGET3'and object.transformPlaysCount<and big_pule>0:
                        
self._get_events_sender().send_game_events([{"extraId":"PAINTBALL_TARGET3","type":"game","action":"friendPlay","objId":object.id,"itemId":"B_PAINTBALL_TARGET3"}])
                        print 
u'Стреляю в большую мишень'
                        
self._get_game_state().remove_from_storage('@R_63'1)
                        
big_pule-=1
                    
if object.item == '@B_PAINTBALL_TARGET2' and object.transformPlaysCount<and middle_pule>0:
                        
self._get_events_sender().send_game_events([{"extraId":"PAINTBALL_TARGET2","type":"game","action":"friendPlay","objId":object.id,"itemId":"B_PAINTBALL_TARGET2"}])
                        print 
u'Стреляю в среднюю мишень'
                        
self._get_game_state().remove_from_storage('@R_62'1)
                        
middle_pule-=1
                    
if object.item == '@B_PAINTBALL_TARGET1'and object.transformPlaysCount<and smoll_pule>0:
                        
self._get_events_sender().send_game_events([{"extraId":"PAINTBALL_TARGET1","type":"game","action":"friendPlay","objId":object.id,"itemId":"B_PAINTBALL_TARGET1"}])
                        print 
u'Стреляю в маленькую мишень'
                        
self._get_game_state().remove_from_storage('@R_61'1)
                        
smoll_pule-=1
                fren_user 
= ("'%s'")%str(open('.\counts\\'+curuser+'\\friends.txt').read())

                  
                

                
'''##### СТУЧИМ ДЕРЕВЬЯ ЛЮБВИ #####
                if u'
pirateBoats_1' in action:#and (fren_user == "'######'"):# Вставляем id кому стучим
                    
if object.type == 'valentineTower':#and Pirate =='CITIZEN' :
                        
event={"objId":object.id,"type":"item","action":"remoteValentineCollect"}
                        
self._get_events_sender().send_game_events([event])
                        
self.cprint (u"3 Нахуячил  в Дерево ЛЮБВИ Ебать того короля))")'''
                '''
##### СТУЧИМ ДЕРЕВЬЯ ЛЮБВИ #####
                
if u'pirateBoats_1' in action:
                    if 
object.type == 'valentineTower':
                        
remoteTrick self._get_game_state().get_state().remoteValentineCollect 
                        
if len(remoteTrick)>0:
                            for 
cot in remoteTrick:
                                if 
frend_users == cot.user :
                                    
baranka 
                                    
break 
                        if 
baranka == 1:
                            if 
self._get_game_state().countCircus 5000 and self._get_game_state().tentCircus == True 
                                
self._get_events_sender().send_game_events([{"objId":object.id,"type":"item","action":"remoteValentineCollect"}]) 
                                
self.cprint(u'8Кладем Чмок'
                                
self._get_game_state().countCircus+=
                                self
._get_game_state().tentCircus False''' 
                             

                ##### СТУЧИМ В ЛОДКИ #####
                if u'
pirateBoats' in action:#and (fren_user == "'######'"):# Вставляем id кому стучим
                    
if object.type == 'pirateBox' and Pirate =='CITIZEN' :
                        
event={"objId":object.id,"type":"item","action":"remotePirateCheckin"}
                        
self._get_events_sender().send_game_events([event])
                        
self.cprint (u"3 Застукал Пиратский сундук"
                        
'''if object.item == u'@B_PIRATE_SCHOONER_2' and len(object.team) < 5:
                            if not str(myid) in str(object.team):
                                self._get_events_sender().send_game_events([{"objId":object.id,"type":"item","action":"remotePirateJoinTeam"}])
                                self.cprint (u"2 Попросился в команду на^6_'
Пиратскую Шхуну'^2_!!!")
                            else:self.cprint (u"3 Ты уже в команде на^6_'
Пиратской Шхуне'")
                        if object.item == u'
@B_PIRATE_CARAVEL_2' and len(object.team) < 7:
                            if not str(myid) in str(object.team):
                                self._get_events_sender().send_game_events([{"objId":object.id,"type":"item","action":"remotePirateJoinTeam"}])
                                self.cprint (u"2 Попросился в команду на^6_'
Пиратскую Каравеллу'^2_!!!")
                            else:self.cprint (u"3 Ты уже в команде на^6_'
Пиратской Каравелле'")'''
                
##### Стучим в Дерево страсти #####
                
if u'Чмоки1' in action:        
                    if 
object.type=='friendTransformObject':
                        
valentine=self._get_game_state().get_state().friendTransformExpire
                        
# if object.level>=0 or object.count<=0:continue
                        
if len(valentine)>=100:continue
                        for 
trans in valentine:
                            if 
trans==str(fren_user):break
                        else:
                            print 
u' Ебошим глыбу!!!'
                            
addUser={u'count':0,u'date': -1u'user'str(fren_user)}
                            
eventtrans={"action":"remoteFriendTransform","type":"item","objId":object.id}
                            
self._get_events_sender().send_game_events([eventtrans])
                            break

                        

                
# Дерево страсти
                
if u'Чмоки' in action:
                    for 
object in self._get_game_state().gameObjects:
                        if 
object.type=='valentineTower':
                            
valentine=self._get_game_state().get_state().remoteValentineCollect
                            
if object.level>=or object.count<=0:continue
                            if 
len(valentine)>=300:continue
                            for 
valent in valentine:
                                if 
valent.user==str(fren_user):break
                            else:
                                
self.cprint(u'6Стукнул в дерево страсти!!!')
                                
addUser={u'count':0,u'date': -1u'user'str(fren_user)}
                                
eventValent={"type":"item","objId":object.id,"action":"remoteValentineCollect","id":None}
                                
self._get_events_sender().send_game_events([eventValent])
                                
self._get_game_state().get_state().remoteValentineCollect.append(dict2obj(addUser))  
                        
                
#####   УДОБРЯЕМ ДЕРЕВЬЯ #####
                
if u'fruitTree' in action and not fren_user in fakers:
                    if 
self._get_game_state().countFruitTree 20:
                        
treefruit = ['FT_APPLE','FT_CHERRY','FT_MANDARINE','FT_LEMON','FT_SKULL','FT_EYE']
                        for 
tree in treefruit:
                            if 
object.item[0-len(tree):] == tree:
                                if 
not fren_user in str(Fruit_Tree)[0:] and (object.jobFinishTime[0] != '-'):
                                    
fruitt.insert(0object)
                                    break
                
#####  ЗАКАПЫВАЕМ МИШУТУ #####
                
if u'monster' in action:
                    if 
object.type == 'monsterPit' and self._get_game_state().countMonsterPit 100:
                        if 
object.state == 'DIGGING' :
                            if 
not fren_user in str(monstr)[0:]:
                                
self._get_events_sender().send_game_events([{"itemId":"MONSTER_PIT_1_INSTRUMENT_PACK_DEFAULT","action":"remoteMonsterPit","type":"item","objId":object.id}])
                                
countuserinmonstr = (len(object.users)+1)
                                print 
' ',
                                
self.cprint(u'66ЗАКАПЫВАЕМ МИШАНЮ !!!^2_всего закопали уже на^7_%s^2_метра(ов)'%countuserinmonstr)
                                
self._get_game_state().countMonsterPit+=1
                            
else :self.cprint(u'2 Сегодня уже закапывали Мишаню ')

                
#####    КЛАДЕМ ПРЯНИКИ  #####
                
if u'tocake' in action:
                    if 
object.type == 'newYearTree'and self._get_game_state().countCake<150 and object.level == 2:
                        if 
object.item == u'@B_SPRUCE_SMOLL' and len(object.users) < and countnyt countp :
                            if 
not str(object.idin str(remoteNY):
                                
events.append({"itemId":"CAKE_PACK_FREE1","action":"remoteNewYear","type":"item","objId":object.id})
                                
self.cprint(u'3 Ложим пряник')
                                
self._get_game_state().countCake+=1
                                countnyt
+=1
                        
if object.item == u'@B_SPRUCE_MIDDLE' and len(object.users) < and countnyt countp :
                            if 
not str(object.idin str(remoteNY):
                                
events.append({"itemId":"CAKE_PACK_FREE1","action":"remoteNewYear","type":"item","objId":object.id})
                                
self.cprint(u'3 Ложим пряник')
                                
self._get_game_state().countCake+=1
                                countnyt
+=1
                        
if object.item == u'@B_SPRUCE_BIG' and len(object.users) < 15 and countnyt countp:
                            if 
not str(object.idin str(remoteNY):
                                
events.append({"itemId":"CAKE_PACK_FREE1","action":"remoteNewYear","type":"item","objId":object.id})
                                
self.cprint(u'3 Ложим пряник')
                                
self._get_game_state().countCake+=1
                                countnyt
+=1

                
# Добавляем в список объекты для копания клада
                
if u'diggermanfdec' in action:
                    if 
DiggerOk == True and UserIsAway == False:
                        
#favdecors = ['D_BALLOONS','D_SUNUMBRELLA','D_BALLOON_YELLOW1','D_BALLOON_YELLOW2']                  #Cкакалка
                        #favdecors = ['D_HAND1','D_FLAG_OLIMPIADA','D_OLYMPIAD_STATUE','D_TANK','D_SOLDIER']                 #Военная коллекция
                        #favdecors = ['D_BUSINESS','D_IDOL2','B_WHITEHOUSE','B_POOL','B_SHIP']                               #Коллекция "Брендов", Кафель
                        #favdecors = ['DS_SYMBOL_E']                                                                         #Японская коллекция
                        #favdecors = ['D_SAKURASMALL','D_REDTREE','D_CONIFER','D_GATE','D_STATUETTE']                        #Мыло
                        #favdecors = ['D_EIFFEL','B_JAPAN','B_JAPAN_LAKE']                                                   #Металлолом
                        
for fdec in favdecors:
                            if 
object.item[0-len(fdec):] == fdec:
                                
objssvl.insert(0object)
                                
self.cprint(u'6 Найдены декорации ^5_%s'%fdec)
                                
decordigger 1
                                
break
                            if 
len(objssvl) > 0:
                                
decordigger 1
                
if u'diggerman' in action and decordigger == :
                    if 
DiggerOk == True and UserIsAway == False:
                        if 
object.type in objtypes:
                            
objssvl2.append(object)
                            
digger 1
                            
break
            
self._get_game_state().countnyt += countnyt
            self
._get_events_sender().send_game_events(events)
            
self._get_events_sender().send_game_events()
            if 
countnyt>0:
                
self.cprint(u'3 ПОЛОЖИЛ^7_%s^3_ПРЯНИК(ов)'%str(countnyt))
            if 
len(fruitt) > 0:
                
self._get_events_sender().send_game_events([{"type":"item","action":"remoteFertilizeFruitTree"}])
                
self._get_events_sender().send_game_events()
                
self.cprint (u"1 Удобряем^6_'Фруктовое дерево'^1_!!!")
                
self._get_game_state().countFruitTree+=1

            
#####   КОПАЕМ КЛАДЫ   #####
            
count_loop 0
            
#print storage_shovel
            
if treasnotries == 1:
                
self.cprint(u'2 ЛОПАТЫ ЗАКОНЧИЛИСЬ ((')
            if 
DiggerOk == False and UserIsAway == False:
                
self.cprint(u'4 ВСЁ ВЫКОПАНО !!!')
            if 
decordigger == :
                if 
len(objssvl) > 0:
                    
self.cprint(u'1 КОПАЕМ под Декором.....')
                    for 
i in range(shovels):
                        
objdig random_number.choice(objssvl)
                        
eventdig.append({"objId":objdig.id,"x":objdig.x,"action":"remoteDig","y":objdig.y,"type":"item"})
                        if 
DiggerOk == False:
                            print 
u'Все выкопал'
                            
break
                        
elif DiggerOk == True:
                            
count_loop+=1
                
else:self.cprint(u'2 Нет нужных декораций')
            if 
digger == 1:
                if 
len(objssvl2) > 0:
                    
self.cprint(u'1 КОПАЕМ рандомно.....')
                    for 
i in range(shovels):
                        
objdig random_number.choice(objssvl2)
                        
eventdig.append({"objId":objdig.id,"x":objdig.x,"action":"remoteDig","y":objdig.y,"type":"item"})
                        if 
DiggerOk == False:
                            print 
u'Все выкопал'
                            
break
                        
elif DiggerOk == True:
                            
count_loop+=1
                
else:self.cprint(u'2 Не копаем')
            if 
len(eventdig) > 48:
                for 
ev in eventdig:
                    
eventdig1eventdig[:48]
                    
self._get_events_sender().send_game_events(eventdig1)
                    
self._get_events_sender().send_game_events()
                    
del eventdig[:48]
            else:
                
self._get_events_sender().send_game_events(eventdig)
                
self._get_events_sender().send_game_events()
            if 
count_loop 0:
                
self.cprint(u'6 ИСПОЛЬЗОВАЛ^7_%d^6_ЛОПАТ'%count_loop)
            if 
hasattr(self._get_game_state(),'treasnotries'):del self._get_game_state().treasnotries
            
#if hasattr(item, "item"):del item.item
            
del self._get_game_state().gameObjects

            
if self._get_game_state().countfnyt len(friends):
                
user friends[self._get_game_state().countfnyt]
                
#self._get_events_sender().send_game_events([{"action":"gameState","locationId":'main',"user":str(user),"objId":None,"type":"gameState"}])
                
self._get_events_sender().send_game_events([{"action":"gameState",'locationId':local,"user":str(user),"objId":None,"type":"gameState"}])
                
self._get_events_sender().send_game_events()
                
self._get_game_state().countfnyt  += 1
                self
._get_game_state().nextFriend +=1
                open
('.\counts\\'+curuser+'\countfnyt.txt''w').write(str(self._get_game_state().countfnyt))
                
open('.\counts\\'+curuser+'\\friends.txt','w').write(str(user))
          if 
self._get_game_state().countfriend >= len(friends):
            print 
' '
            
if not hasattr(self._get_game_state(), 'fdend'):
                
self._get_game_state().fdend 1
                self
._get_events_sender().send_game_events([{"action":"gameState","locationId":current_loc_id,"type":"gameState"}]) 
правда здесь бардак, но что то можешь взять просто из кода и сделать как надо
  Ответить с цитированием
Старый 14.03.2015, 22:38   #4135
 Разведчик
Аватар для maks_maks)
 
maks_maks) никому не известный тип
Регистрация: 27.05.2013
Сообщений: 18
Популярность: 10
Сказал(а) спасибо: 27
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
правда здесь бардак, но что то можешь взять просто из кода и сделать как надо

Попробовал твой код.Постоянно зависает(как и прошлые)на одних и тех же юзерах...
На 26,71,203 и т.д.
что можно с этим сделать?
  Ответить с цитированием
Старый 15.03.2015, 00:06   #4136
Заблокирован
 Разведчик
Аватар для Cheater-84
 
Cheater-84 никому не известный тип
Регистрация: 22.03.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 6 раз(а) в 5 сообщениях
Отправить сообщение для Cheater-84 с помощью Skype™
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
Сообщение от maks_maks)Посмотреть сообщение
Попробовал твой код.Постоянно зависает(как и прошлые)на одних и тех же юзерах...
На 26,71,203 и т.д.
что можно с этим сделать?

откоючить имена юзеров
PHP код:
            fakers = ['[BOT]friend1','[BOT]friend2'
            
'''username=u'нет ника
            if hasattr(self._get_game_state(),'
playersInfo'): 
                for player in self._get_game_state().playersInfo: 
                  if player.id==frend_users:username=player.liteGameState.playerSettings.userName''' 
                     
            
#self.cprint(u'22----------^7_ИДЁМ К ДРУГУ^6_%s^4_ник:"%s"^22---------- ^7_%d/%d'%(frend_users,username, self._get_game_state().countfnyt, len(friends))) 
            
self.cprint(u'22----------^7_ИДЁМ К ДРУГУ^6_%s^22---------- ^7_%d/%d'%(frend_usersself._get_game_state().countfnytlen(friends))) 
типа того
  Ответить с цитированием
Старый 15.03.2015, 11:15   #4137
 Разведчик
Аватар для maks_maks)
 
maks_maks) никому не известный тип
Регистрация: 27.05.2013
Сообщений: 18
Популярность: 10
Сказал(а) спасибо: 27
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Цитата:
типа того

Я пробовал уже,записал и ник и даже id в фейки...Не помогло,приходиться каждый раз менять номер в countfnyt.txt.
Вот что прописал:
Цитата:
fakers = ['[BOT]friend1','[BOT]friend2','id или ник']

Может как-то по другому надо?И в сетинг записал и в модуль,ничего...

Последний раз редактировалось maks_maks); 17.03.2015 в 17:28. Причина: +
  Ответить с цитированием
Старый 17.03.2015, 01:46   #4138
 Разведчик
Аватар для Just1cEE
 
Just1cEE никому не известный тип
Регистрация: 25.10.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

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

Цитата:
Сообщение от Just1cEEПосмотреть сообщение
Друзья подскажите как можно сортировать по уровню друзей копку коллекций от большего уровня к меньшиму? Видел только способ как по ид сортировать

PHP код:
    fr_dict = {info.id info.level for info in players_info}
    
friends_order fr_dict.items()
    
friends_order.sort(key=lambda xx[:-1], reverse=True)
    
friends = [fr[0] for fr in friends_order
players_info соответственно - твоя база друзей
friends список id отсортированный
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Последний раз редактировалось vintets; 17.03.2015 в 09:51.
  Ответить с цитированием
Старый 21.03.2015, 20:32   #4140
 Разведчик
Аватар для maroder912
 
maroder912 никому не известный тип
Регистрация: 18.11.2013
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]

Мужики скиньте плиз бота ! Спасибо!
  Ответить с цитированием
Ответ


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Программа] Zombot (Клиент для игры Зомби ферма) AnonProger Баги игр ВКонтакте 189 26.08.2014 15:50
[Статья] Небольшие секреты игры зомби ферма haussuper Баги игр ВКонтакте 11 26.01.2013 11:54
[Информация] Зомби Ферма dekirillov Баги игр ВКонтакте 40 22.10.2011 18:25

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 14:09.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net