Closed cndaqiang closed 3 weeks ago
WZRY.node.对战前插入.txt
中的node
替换为配置文件中的mynode
WZRY.1.对战前插入.txt
,WZRY.0.对战前插入.txt
WZRY.node.对战前插入.txt
仅对mynode
对应的虚拟机生效mynode
参数,0,1,2,3
MuMu_Instance
)127.0.0.1:16672
, 你的配置文件应该为
[client]
mynode=0
LINK_dict = {
0: "Android:///127.0.0.1:16672"}
WZRY.0.对战前插入.txt
,而不是WZRY.10.对战前插入.txt
MuMu_Instance
这个变量才是MuMu模拟器专用的变量,告诉wzry.py, 我实际控制的是哪台模拟器
[client]
mynode = 0
MuMudir = D:\Program Files\Netease\MuMu Player 12\shell
MuMu_Instance ={0: "10"}
LINK_dict = {0: "Android:///127.0.0.1:16672"}
LD_Instance
,LDdir
, 别抄MuMu的配置MuMu_Instance
建议从多开器创建快捷方式到桌面, 然后从快捷方式查看。可以,但是会被扣信誉分,不推荐
self.房主头像
对应静态图片为你的,大号小号分别创建房间后,小号在自己的房间(用AirTestIDE里的touch)截取大号房间入口(即self.房主头像
),更多解释见下面。self.房主头像 = Template(r"tpl1716782981770.png", record_pos=(0.354, -0.164), resolution=(960, 540), target_pos=9)
对应源码目录中assets/tpl1716782981770.png
文件,即
tpl1716782981770.png
放到assets目录,我的这一行和AirTestIDE直接截图的是有区别的,多了一个target_pos=9
参数,这是点击图片右下角进房,而不是默认的点击图片中心 ,你把target_pos=9
添加到AirTestIDE截图返回的代码中也可以self.房主房间 = Template(r"tpl1700284856473.png", record_pos=(0.312, -0.17), resolution=(1136, 640), target_pos=2)
这个图片同样比AirTestIDE截图的多了一个target_pos=2
, 这是图片中上的意思wzry.py
源代码中直接替换图片的代码/重命名图片是可以运行的。但是我实际使用时,是将这些要替换的代码,写在WZRY.图片更新.txt
这个文件中,图片放在.pngtmp
文件夹,这样你下载我最新的代码时,就不用重复替换了,只需要把WZRY.图片更新.txt
和.pngtmp
文件夹复制到新代码的目录即可,你可以在example/WZRY.图片更新.py
找到配置的例子组队方式是通过亲密好友自动进房不用验证实现的
config.in
中 LINK_dict
中0: "Android:///127.0.0.1:5555"
一定是大号的模拟器,该问题不属于本仓库的范围
assets
目录,把截图后生成的代码复制到wzry.py
中进行再次的修改要在配置文件中开启组队模式(即告诉程序一共有几个账户totalnode
参与组队)。例如配置文件这样写
[client]
totalnode = 2
multiprocessing = True
LINK_dict = {
0: "Android:///127.0.0.1:5555",
1: "Android:///127.0.0.1:5557"}
multiprocessing=True
可以只执行一次python wzry.py config.win.txt
就会控制两个账户multiprocessing=False
时,需要大号小号分别执行python wzry.py config.node.txt
, 多读读howto@NonFelm
说明
config.in
是用于参考的,不是你实际运行应该采用的配置文件127.0.0.1:5555
, 可以不用配置文件,直接运行python wzry.py
config.in
, 配置的方法参考howto, 运行python wzry.py config.in
config.in
复制一份进行修改,配置文件的名字可以是任意的,比如我常用python wzry.py config.win.txt
@NonFelm
cd ~/.local/lib/python3.10/site-packages/airtest/core/android/static/adb/linux
mv adb adb.bak
ln -s /usr/bin/adb .
chmod +x ~/anaconda3/lib/python3.11/site-packages/airtest/core/android/static/adb/mac/adb
windows的cmd默认开启了快速编辑模式,如果在执行过程中,有复制选中等行为,会强制让命令停住
搜索取消windows cmd快速编辑,下面是一些解决方案
不要直接复制我的配置文件,读一下example/WZRY.node.对战前插入.py
,根据你的情况进行修改
开启触摸对战的几种方法
WZRY.mynode.对战前插入.txt
中填入self.触摸对战 = True
WZRY.TOUCH.txt
文件.同上
开启标准对战的几种方法
WZRY.mynode.对战前插入.txt
中填入self.触摸对战 = True;self.标准模式 = True
在WZRY.mynode.对战前插入.txt
中填入self.青铜段位 = True
@NonFelm
python wzry.py
, 向上滚可以查看日志[control]
#将运行日志输出到文件,适合于监控windows的计划任务
logfile={
0: "result.0.txt"}
会将mynode
的模拟器日志输出到result.mynode.txt
, 提issues时,可以附上这个日志
以第一次进行青铜+标准人机+触摸对战为例,在WZRY.mynode.对战前插入.txt
中插入
self.jinristep
变量代表今天的第几次对战self.青铜段位 = False
self.标准模式 = False
self.触摸对战 = False
if self.jinristep == 1: self.青铜段位 = True
if self.jinristep == 1: self.标准模式 = True
if self.jinristep == 1: self.触摸对战 = True
模块[airtest_mobileauto]不存在, 尝试安装
Traceback (most recent call last):
File "G:\WZRY\wzry.py", line 2902, in
task_manager = TaskManager(config_file, wzry_task, 'RUN')
^^^^^^^^^^^
NameError: name 'TaskManager' is not defined
python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade
RuntimeError: module compiled against ABI version 0x1000009 but this version of numpy is 0x2000000
我的运行环境
Anaconda Powershell Prompt
python wzry.py
python -u wzry.py 配置文件
报错星耀局的组队没有意义,所以我在代码里禁止了,因为
强制开启星耀组队见 #51
WZRY.oneday.txt
WZRY.node.临时初始化.txt
中填写
#4是对战总次数
if self.jinristep >= 4: self.对战时间[0]=0.1
if self.jinristep >= 4: self.对战时间[1]=0.2
WZRY.oneday.txt
WZRY.node.临时初始化.txt
中填写
self.对战时间[0]=12
self.对战时间[1]=14
WZRY.node.对战前插入.txt
中添加self.对战模式 = "模拟战"
, 执行wzry.py
代码
XXXdir=模拟器安装路径
,XXX_Instance={0: "0"; 1, "1"}
是模拟器的内部编号。XXX_Instance
内部编号的含义,如果你是全新安装的模拟器,并且多开的虚拟机都是给本脚本使用,并且第0个模拟器对应大号,大概率可以不设置XXX_Instance
参数。XXX_Instance
。XXX_Instance
的方法简单点,就是在多开平台中创建模拟器的快捷方式到桌面,然后再查看快捷方式的属性,最后几个字就是Instance
全新版本更新,关闭旧的手册、issues、主页等内容
请不要在此issue中提问
有问题,发布一个新的issue
或者查看历史issue
本issue用于收录常见问题