MaaAssistantArknights icon indicating copy to clipboard operation
MaaAssistantArknights copied to clipboard

用MAA退出夜神模拟器时,模拟器退出异常

Open 9lanx1N opened this issue 2 years ago • 5 comments

在提问之前...

  • [X] 我理解 Issue 是用于反馈和解决问题的,而非吐槽评论区,且会尽可能提供更多信息帮助问题解决
  • [X] 我在提问题之前至少花费了 5 分钟来思考和准备
  • [X] 我已经阅读了文档中的常见问题、详细使用说明等,认为这大概率是一个 bug 而非设计如此
  • [X] 我已查看最新测试版本的更新内容,并未提及该 bug 已被修复的情况
  • [ ] 我上传的游戏画面截图是模拟器自带的截图工具(或通过 adb)截取的原图

问题描述

我在检查MAA运行情况时,发现我两个号原本设定的早3点、早4点和早10点的换基建/清理智没能完成。然后我手动开启了一遍MAA,发现将所有任务完成时,原本应该“退出MAA和模拟器”,然而MAA成功退出了,夜神模拟器却卡在了这个界面(见第一个截图,我两个号都是如此)。后续在这种情况下再打开MAA,MAA运行失败(见第二个截图)。

日志文件

asst.log 2022-10-29 12:43:18.003时是它退出时的log;紧接着半分钟之后,我将它开启,可以从log看出它遭受了错误

什么,你问我为什么有两个号,我只发了一个log?因为另一个号的log停留在了10月27日!根本没有10月29日的log!我不知道这是不是另一个bug。反正,我把那个号的log也上传了。我这两个号的MAA一直都是同步开启的,按理说不应该有什么区别才对。 asst.log

截图

任务完成后,夜神模拟器变成了这样(甚至于连模拟器自带的截图工具都没办法用,只能用Windows的截图工具):批注 2022-10-29 122531 然后再打开MAA时,变成了这样:批注 2022-10-29 123718 两个号都是如此。

还有别的吗?

模拟器:夜神模拟器7.0.3.7 操作系统:Windows10 家庭版 未激活 配置: 设备名称 DESKTOP-1V2V5J4 处理器 AMD Ryzen 5 5600G with Radeon Graphics 3.90 GHz 机带 RAM 16.0 GB (13.9 GB 可用) 设备 ID FD942EFE-86B7-4A5B-A5DD-16C5CE37814B 产品 ID 00326-10000-00000-AA613 系统类型 64 位操作系统, 基于 x64 的处理器 笔和触控 没有可用于此显示器的笔或触控输入

9lanx1N avatar Oct 29 '22 04:10 9lanx1N

先说结论:我阴差阳错地通过某种方式解决了上述bug所带给我的困扰(并且找到了这个bug出现的原因)。但是我同样发现了诸多MAA的不合理之处,处理它们花费了我两个多小时的时间。因此,我把我的解决历程贴于此,主要是把我遇到的这些问题表达出来(以下6条中,每一条均包含我遇到的MAA的问题),供大佬们参考。

以下为我的历程:

  1. 我为了换基建,设定了最短间隔1个小时的定时(用于凌晨4点最大限度地刷信赖值)。不过我同样用MAA刷肉鸽,我发现,MAA会继承上一次的选择,然而无论上一次的自动肉鸽是如何选择的,新开启的MAA都不会选择自动肉鸽。(不知道是bug还是大佬们故意设计的。)
  2. 那我手动点上自动肉鸽呗,就麻烦一些,也还行。然而我却发现,有时候换基建的定时已经到了,前一个任务的肉鸽还没刷完,从而开启不了新的一轮任务,这让MAA的定时系统形同虚设,从而不能在固定时间换基建。(如果能有一个选项,就是在定时的时间达到以后强行结束现有未结束的进程而开启下一轮进程,就好很多了。)
  3. 既然MAA内置的定时系统形同虚设,那我就干脆不用它,而使用Windows自带的“任务计划程序”软件定时开启MAA呗。所以,我就没有让MAA常驻后台的必要了,于是设置了“完成后退出MAA和模拟器”,然后就遇到了我正文所说的bug
  4. 其实3.的问题对我影响不大,因为我的主要矛盾是解决2.。所以为了解决它,我在3.的基础上,同时增添了“强制关闭MAA”的操作(就是taskkill),让系统到时间时先关闭MAA,再打开它。不过我在调试时发现,同一个号的MAA能够被打开两次(是的,在现有一个MAA的情况下再点击一次桌面的快捷方式,就可以再打开一个,就这么简单),然后这两个双胞胎MAA就开始互相掣肘,你操作你的,我操作我的,把基建搞得天翻地覆。(如果能再新打开一个MAA时判定,如果仍存在原先的MAA(同一路径下的,复制过的别的路径下的MAA不算)的进程,那就不要再打开了,就更好了,这样更有鲁棒性一些。)
  5. 好在4.的bug我实际几乎不会遇到,只是调试时偶然发现。于是,我就开始挂肉鸽,然后试运行了。结果,我(并不意外地)发现,当方舟处于肉鸽内界面(如战斗暂停界面或战斗结算界面等)时,MAA并没能成功返回至主页面然后开始任务,而是僵持在肉鸽原界面然后过五分钟直接显示任务已完成。(如果你们新增一个功能,就是在打开MAA时,如果方舟此时所在界面MAA并不能识别,则直接重启方舟APP(而不是僵持5分钟摆烂),就好了)
  6. (阴差阳错解决3.)那看来,我不光要重启MAA,我还要重启方舟了。不过我翻了半天代码,还是没能找到你们是怎么达成“仅退出明日方舟而不关闭模拟器”的。所以我只好用笨办法,就是“强制关闭夜神模拟器,再由MAA打开”。然而此时我才发现,夜神模拟器在任务管理器中似乎有着许多(4)个进程,包括Nox.exeNoxVMHandle.exeNoxVMSVC.exenox_adb.exe。然而在3.中,MAA却只退出了第2个和第4个进程,它显示已打开,但是其实没打开,于是就怎么都打不开了,除非把Nox.exe这一进程结束掉。我也确实是这么做的,然后就能打开了。至此,在我看来,3.的问题应该算是解决了。接下来,我就去看,如果只结束Nox.exe进程而不结束其他进程,能否重新打开夜神模拟器。结论是,能(虽然因为没全部结束而还是占着电脑内存,不过我就无所谓了,反正关闭后还会秒开)。那问题就解决了。(真诚希望你们的新UI能给使用者更多的自定义选项,比如老生常谈的基建宿舍刷信赖策略,优先选低信赖值而非目前的优先选高信赖值

至此,我通过强制关闭MAA和夜神模拟器的方式,达成无论在这之前MAA和方舟处于一个怎样的状态,我都可以强制让它重新开始新一轮的任务,以达成基建的固定时间换人。虽然暴力了些,但终归是可喜可贺。

不过,正如上面所言,我自认为还是发现了MAA许多问题和许多功能的缺失的。如果大佬们能在后续改进,那就再好不过了。谢谢各位大佬。

9lanx1N avatar Oct 29 '22 22:10 9lanx1N

  1. 所有带*的选项任务完成或重启之后都不会保存
  2. 如果定时启动时任务还在运行,会跳过这次定时任务

肉鸽不是一个日常任务,水月不管是刷投资还是刷等级如果正常运行的话两三天都足够满级满投资,傀影要挂的时间更长点,但也不用多久就不用挂了

ABA2396 avatar Oct 30 '22 04:10 ABA2396

@MistEO 我感觉肉鸽可以改成全选排除但保存上一次状态来着,毕竟上一次刷肉鸽的人这段时间内都可能要继续刷

ABA2396 avatar Oct 30 '22 04:10 ABA2396

启动关闭明日方舟都是直接通过adb命令,知道方舟的包名就行了 #键入activity启动应用(格式为包名 + activity) adb shell am start com.xxx

ABA2396 avatar Oct 30 '22 04:10 ABA2396

之前新版本刷信赖方式已经改成了从低到高排了

ABA2396 avatar Oct 30 '22 07:10 ABA2396

现在是通过控制台关模拟器了

ABA2396 avatar Jun 29 '23 05:06 ABA2396