Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

文件控制脚本功能 #13

Open
cndaqiang opened this issue Jun 29, 2024 · 5 comments
Open

文件控制脚本功能 #13

cndaqiang opened this issue Jun 29, 2024 · 5 comments

Comments

@cndaqiang
Copy link
Owner

请不要在此issue中提问

有问题,发布一个新的issue

或者查看历史issue

本issue用于额外控制程序的运行

  • 不用修改代码, 添加到一个txt文件即可
  • 不是脚本运行必须的,仅是针对我不同账户的自定义功能
@cndaqiang
Copy link
Owner Author

cndaqiang commented Jun 29, 2024

[养老号]+[尽可能提高每周获得的刷战令经验(从营地获取)]+[每日友情币]+[活动的对战要求]

cndaqiang@oracle:~/soft/AirTest_MobileAuto_WZRY$ cat WZRY.0.临时初始化.txt
HM=self.Tool.time_getHM()
weekday=self.Tool.time_getweek()
self.对战时间=[3.0,6.0] #
#完成江湖悬赏任务,每天组队打3场,全部触摸,避免经验过多
self.限时组队时间=HM[0]-1.1
nstep=3
if self.jinristep <  nstep: self.限时组队时间=HM[0]+1.1
if self.jinristep >= nstep: self.对战时间[1]=HM[0]-1.1
if self.jinristep >= nstep: self.Tool.timedict["领营地礼包"] = 0
if self.jinristep >= nstep: self.每日礼包_王者营地()
#不领礼包,放弃金币和战令经验。优先领营地的战令经验
self.强制领取礼包=True
if weekday < 6: self.每日任务礼包=False
self.Tool.timedict["领营地礼包"] = 0

WZRY.N.对战前插入.txt

# 每天早上前1局,标准模式
if self.组队模式 and self.jinristep == 1 : self.标准触摸对战 = True
# 组队的时候不要赢,这样获得的战令经验不到上限,可以额外从营地领经验
if self.组队模式: self.触摸对战 = True

[养老号]+[只刷星耀局熟练度(青铜熟练度已达上限)]

WZRY.N.临时初始化.txt

# 只对战星耀局人机,好多领取营地的战令经验
self.限时组队时间=6.0
self.对战时间=[4.9,11.0]
HM=self.Tool.time_getHM()
weekday=self.Tool.time_getweek()
#
if 5 <= HM[0] <= 6.1:  self.Tool.removefile(self.青铜段位FILE)
#> 只对战星耀局,提高熟练度
if not os.path.exists(self.青铜段位FILE): self.对战时间[1]=HM[0]+1.1
if os.path.exists(self.青铜段位FILE): self.对战时间[1]=HM[0]-1.1

@cndaqiang
Copy link
Owner Author

cndaqiang commented Jun 29, 2024

[全天刷][单纯就是刷友情币][或者单纯刷熟练度][站令任务:击败N名英雄]

WZRY.N.临时初始化.txt

# 全天刷
self.对战时间=[5.0,24.1]
#..........................................................
#下面为组队(友情币)专属
# 全天组队,还想自动领取礼包
# 全天组队时间设置, 对战时间比组队时间长一点,这样可以避免一个结束了,一个在barrier
self.限时组队时间=22.0
if self.Tool.存在同步文件() and not self.王者营地礼包: self.王者营地礼包 = self.每日礼包_王者营地(初始化=True)
if self.Tool.存在同步文件() and self.王者营地礼包: self.每日礼包_王者营地()
if self.组队模式 and not self.Tool.存在同步文件() and self.jinristep % 10 == 9: self.Tool.timedict = self.Tool.bcastvar(self.mynode, self.totalnode_bak, var=self.Tool.timedict, name="Tool.timedict")
if not self.Tool.存在同步文件() and self.jinristep % 10 == 9 : self.每日礼包()

[领取赛季皮肤]

如果是组队全天刷人机来领取赛季皮肤等礼包,在WZRY.N.对战前插入.txt中添加

if self.组队模式: self.触摸对战 = True

@cndaqiang
Copy link
Owner Author

站令任务[20场娱乐模式]

WZRY.N.临时初始化.txt

self.对战模式="模拟战"

@cndaqiang
Copy link
Owner Author

cndaqiang commented Jul 3, 2024

自动调整分路并选择熟练度最低的英雄

  • 利用代码的savepos功能,提前保存分路位置和熟练度最低英雄的位置

对于分辨率为960x540的设备

下载字典.分路.android.var_dict_N.zip后解压在代码目录

使用特定分路

#node为你的编号,一个账户时, node=0
echo 'self.Tool.var_dict = self.Tool.read_dict("字典.对抗.android.var_dict_N.txt")' >> WZRY.node.对战前插入.txt

自动分配字典文件, 实现刷所有位置的熟练度

填入WZRY.node.对战前插入.txt

字典位置文件=[]
字典位置文件.append("字典.中路.android.var_dict_N.txt")     
字典位置文件.append("字典.打野.android.var_dict_N.txt")
字典位置文件.append("字典.发育.android.var_dict_N.txt")     
字典位置文件.append("字典.游走.android.var_dict_N.txt")
字典位置文件.append("字典.对抗.android.var_dict_N.txt")
此步位置文件=(self.runstep+self.mynode)%len(字典位置文件)
TimeECHO(f"本步{self.runstep}使用字典文件{字典位置文件[此步位置文件]}")
self.Tool.var_dict.update(self.Tool.read_dict(字典位置文件[此步位置文件]))
#批量更新字典
#for 此步位置文件 in range(len(字典位置文件)):self.Tool.var_dict.update(self.Tool.read_dict(字典位置文件[此步位置文件]));self.Tool.save_dict(self.Tool.var_dict, 字典位置文件[此步位置文件])

制作自己的字典文件

  • 其他分辨率的设备或者添加新英雄后,需要制作自己的字典文件

以中路的英雄为例

修改 WZRY.node.重新设置英雄.txt

tmp_参战英雄线路=Template(r"tpl1689665455905.png", record_pos=(-0.066, -0.256), resolution=(960, 540)) #中路
tmp_参战英雄头像=Template(r"tpl1719475760580.png", record_pos=(-0.36, 0.131), resolution=(960, 540))
savepos=True #是否更新原始字典文件
tag="tmp"
if savepos: tag=""
if tag+"参战英雄线路" in self.Tool.var_dict.keys(): del self.Tool.var_dict[tag+"参战英雄线路"]
if tag+"参战英雄头像" in self.Tool.var_dict.keys(): del self.Tool.var_dict[tag+"参战英雄头像"]

self.Tool.existsTHENtouch(tmp_参战英雄线路,tag+"参战英雄线路",savepos=savepos)
if not self.Tool.existsTHENtouch(tmp_参战英雄头像,tag+"参战英雄头像",savepos=savepos): sleep(2)
if not self.Tool.existsTHENtouch(tmp_参战英雄头像,tag+"参战英雄头像",savepos=savepos): sleep(2)
if not self.Tool.existsTHENtouch(tmp_参战英雄头像,tag+"参战英雄头像",savepos=savepos): sleep(2)
sleep(1)

当游戏显示选择成功后,cp android.var_dict_0.txt 字典.中路.android.var_dict_N.txt

@cndaqiang
Copy link
Owner Author

cndaqiang commented Jul 18, 2024

特殊活动的对战要求

WZRY.i.临时初始化.txt

HM=self.Tool.time_getHM()
weekday=self.Tool.time_getweek()
self.对战时间=[4.9,24.0]
#完成江湖悬赏任务,每天组队打3场,全部触摸,避免经验过多
self.限时组队时间=HM[0]-1.1
if self.jinristep < 4: self.限时组队时间=HM[0]+1.1
if self.jinristep >=4 : self.对战时间[1]=HM[0]-1.1

#不领礼包,放弃金币和战令经验。优先领营地的战令经验
self.强制领取礼包=True
if weekday <= 5: self.Tool.timelimit("领游戏礼包", limit=60*60*3, init=True)
if weekday <= 5: self.强制领取礼包=False
self.Tool.timedict["领营地礼包"] = 0

触摸对战,WZRY.i.对战前插入.txt

# 每天早上前两局,标准模式
if self.组队模式 and self.jinristep < 2: self.标准触摸对战 = True
# 组队的时候不要赢,这样获得的战令经验不到上限,可以额外从营地领经验
if self.组队模式: self.触摸对战 = True

辅助账户选择特定英雄
WZRY.1.重新设置英雄.txt

tmp_参战英雄线路=Template(r"tpl1689665490071.png", record_pos=(-0.315, -0.257), resolution=(960, 540)) #对抗路
tmp_参战英雄头像=Template(r"tpl1721274597136.png",dirname="untitled.air", record_pos=(-0.082, -0.188), resolution=(960, 540))

savepos=False #是否更新原始字典文件
tag="tmp"
if savepos: tag=""
if tag+"参战英雄线路" in self.Tool.var_dict.keys(): del self.Tool.var_dict[tag+"参战英雄线路"]
if tag+"参战英雄头像" in self.Tool.var_dict.keys(): del self.Tool.var_dict[tag+"参战英雄头像"]
#
#
self.Tool.existsTHENtouch(tmp_参战英雄线路,tag+"参战英雄线路",savepos=savepos)
if not self.Tool.existsTHENtouch(tmp_参战英雄头像,tag+"参战英雄头像",savepos=savepos): sleep(2)
if not self.Tool.existsTHENtouch(tmp_参战英雄头像,tag+"参战英雄头像",savepos=savepos): sleep(2)
if not self.Tool.existsTHENtouch(tmp_参战英雄头像,tag+"参战英雄头像",savepos=savepos): sleep(2)
sleep(1)
#self.Tool.removefile(self.重新设置英雄FILE)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant