Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
PHP код:
# coding=utf-8
import sys
import logging
import random as random_number
from game_state.game_types import GameWoodGrave, GameWoodGraveDouble,\
GamePickItem, GameWoodTree, GameGainItem, GamePickup, GameDigItem
from game_state.game_event import dict2obj, obj2dict
from game_actors_and_handlers.base import BaseActor
from game_actors_and_handlers.pickups import Pickuper, AddPickupHandler, BoxPickuper
##############################
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'korzina', #стук в корзинку
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 == None: favdecors = ['none']
if friends == None: return
if countp == None: countp = 5
else: countp = int(countp)
if shovels == None: shovels = 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 >= 2 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,username, self._get_game_state().countfnyt, len(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'korzina' in action:
for object in self._get_game_state().gameObjects:
if object.item == '@B_BASKETS_EASTER_2015':
remoteTrick = self._get_game_state().get_state().remoteThanksgiving
if len(remoteTrick)>0:
for cot in remoteTrick:
if frend_users == cot.user :
baranka = 1
break
if baranka == 0:
if self._get_game_state().countCircus < 100 and self._get_game_state().tentCircus == True :
self._get_events_sender().send_game_events([{"objId":object.id,"type":"item","itemId":"EASTER_BOX_1","action":"remoteThanksgiving"}])
self.cprint(u'8Кладем конфету в корзинку')
self._get_game_state().countCircus+=1
self._get_game_state().tentCircus = False
##### ДАРИМ БП #####
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<6 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<4 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<2 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 = 1
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+=1
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': -1, u'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>=8 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': -1, u'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(0, object)
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) < 3 and countnyt < countp :
if not str(object.id) in 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) < 6 and countnyt < countp :
if not str(object.id) in 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.id) in 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(0, object)
self.cprint(u'6 Найдены декорации ^5_%s'%fdec)
decordigger = 1
break
if len(objssvl) > 0:
decordigger = 1
if u'diggerman' in action and decordigger == 0 :
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 == 1 :
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:
eventdig1= eventdig[: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"}])
позже обновлялку выложу корзин
PHP код:
# coding=utf-8
import logging
from game_state.game_types import GameWoodGrave, GameWoodGraveDouble,\
GamePickItem, GameWoodTree, GameStone, GameGainItem, GamePickup
from game_state.game_event import dict2obj, obj2dict
from game_actors_and_handlers.base import BaseActor
logger = logging.getLogger(__name__)
class TiketReceiverBot(BaseActor):
def perform_action(self):
# билеты на хоккей
tikets = self._get_game_location().\
get_all_objects_by_type('thanksgivingTable')
tiket_count = 0
if not hasattr(self._get_game_state(), 'airplane_user'):
try:
with open('airplane_user.txt', 'r') as f:
self._get_game_state().airplane_user = eval(f.read())
except:
self._get_game_state().airplane_user = []
# if not hasattr(self._get_game_state(), 'airplaneReload'):
# self._get_game_state().airplaneReload = True
for tiket in tikets:
if tiket.item == "@B_BASKETS_EASTER_2015":
for i in tiket.users:
tiket_count += 1
self._get_game_state().airplane_user.append(i.id)
apply_tiket_event = {"objId":tiket.id,"type":"thanksgivingTable","index":0,"action":"applyThanksgivingGift"}
self._get_events_sender().send_game_events([apply_tiket_event])
self._get_game_state().add_from_storage("@CANDY_BOX1",1)
tiket.users = []
if tiket.item == "@B_BASKETS_EASTER_2015" and not tiket.users: # and self._get_game_state().airplaneReload == True:
if tiket.usedPlatesCount == 8:
self._get_events_sender().send_game_events([{"objId":tiket.id,"type":"item","action":"reload"}])
print u'Обновляю КОРЗИНОЧКУ!!!'
#self._get_game_state().airplaneReload = False
if tiket_count > 0:
print u'Собрали кафеты и *** с ним)))'
with open('airplane_user.txt', 'w') as f:
f.write(str(self._get_game_state().airplane_user))
Робят , кому нужно поменяйте принты, я свой бот разукрасил и в новых модулях пользуюсь self.cprint'ами
Последний раз редактировалось Cheater-84; 03.04.2015 в 21:47.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Друзья! помогите довести код до ума...чет я не понимаю что и как..
PHP код:
###lalalal###
for object in self._get_game_location().get_game_objects():
if object.item == '@G_EGG_RABBIT1' or object.item == '@G_EGG_RABBIT2' or object.item == '@G_EGG_RABBIT3':
name = self._get_item_reader().get(object.item).name
valentine=self._get_game_state().get_state().friendTransformExpire
object.item_count = 0
if len(valentine)>=200:continue
for trans in valentine:
if trans==str(fren_user):
break
else:
object.item_count += 1
self.cprint(u'5Найден !!!'+name.upper())
addUser={u'count':0,u'date': -1, u'user': str(fren_user)}
eventtrans={"action":"remoteFriendTransform","type":"item","objId":object.id}
self._get_events_sender().send_game_events([eventtrans])
self.cprint(u'5Раздолбали и вскрыли'+name.upper())
#print str(object.item_count+1),u'раз'
break
else: break
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от Cheater-84
Друзья! помогите довести код до ума...чет я не понимаю что и как..
PHP код:
###lalalal###
for object in self._get_game_location().get_game_objects():
if object.item == '@G_EGG_RABBIT1' or object.item == '@G_EGG_RABBIT2' or object.item == '@G_EGG_RABBIT3':
name = self._get_item_reader().get(object.item).name
valentine=self._get_game_state().get_state().friendTransformExpire
object.item_count = 0
if len(valentine)>=200:continue
for trans in valentine:
if trans==str(fren_user):
break
else:
object.item_count += 1
self.cprint(u'5Найден !!!'+name.upper())
addUser={u'count':0,u'date': -1, u'user': str(fren_user)}
eventtrans={"action":"remoteFriendTransform","type":"item","objId":object.id}
self._get_events_sender().send_game_events([eventtrans])
self.cprint(u'5Раздолбали и вскрыли'+name.upper())
#print str(object.item_count+1),u'раз'
break
else: break
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
немножко подправил код
PHP код:
# coding=utf-8
import logging
from game_state.game_types import GameWoodGrave, GameWoodGraveDouble,\
GamePickItem, GameWoodTree, GameStone, GameGainItem, GamePickup
from game_state.game_event import dict2obj, obj2dict
from game_actors_and_handlers.base import BaseActor
logger = logging.getLogger(__name__)
class TiketReceiverBot(BaseActor):
def perform_action(self):
# билеты на хоккей
tikets = self._get_game_location().\
get_all_objects_by_type('thanksgivingTable')
tiket_count = 0
if not hasattr(self._get_game_state(), 'airplane_user'):
try:
with open('airplane_user.txt', 'r') as f:
self._get_game_state().airplane_user = eval(f.read())
except:
self._get_game_state().airplane_user = []
# if not hasattr(self._get_game_state(), 'airplaneReload'):
# self._get_game_state().airplaneReload = True
for tiket in tikets:
if tiket.item == "@B_BASKETS_EASTER_2015":
for i in tiket.users:
tiket_count += 1
self._get_game_state().airplane_user.append(i.id)
apply_tiket_event = {"objId":tiket.id,"type":"thanksgivingTable","index":0,"action":"applyThanksgivingGift"}
self._get_events_sender().send_game_events([apply_tiket_event])
self._get_game_state().add_from_storage("@CANDY_BOX1",1)
tiket.users = []
if tiket.item == "@B_BASKETS_EASTER_2015" and not tiket.users: # and self._get_game_state().airplaneReload == True:
if tiket.usedPlatesCount == 8:
self._get_events_sender().send_game_events([{"objId":tiket.id,"type":"item","action":"reload"}])
self.cprint (u'5Обновляю КОРЗИНОЧКУ!!!')
#self._get_game_state().airplaneReload = False
if tiket_count > 0:
#tiket_count = count
self.cprint (u'6Собрали кафеты: '+str(tiket_count))
with open('airplane_user.txt', 'w') as f:
f.write(str(self._get_game_state().airplane_user))
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Как отключить загрузку друзей или ускорить её.
Друзей много и когда бот рубит пиратский остров и после каждой перезагрузки минуты 2-3 грузит друзей, то это слишком долго и тратится много времени.
Re: Zombot (Клиент для игры Зомби ферма) [Обсуждение]
Цитата:
Сообщение от HotBlood
Как отключить загрузку друзей или ускорить её.
Друзей много и когда бот рубит пиратский остров и после каждой перезагрузки минуты 2-3 грузит друзей, то это слишком долго и тратится много времени.
PHP код:
self.load_info_users()
В энжине. Закомментить.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).