Sherkey 666b0076d1 feat: 增加识别坍缩范式的插件,增加萨米肉鸽刷隐藏坍缩范式模式 (#9172)
### 更新功能

1. 增加`RoguelikeMode::CLP_PDS = 5`作为萨米肉鸽刷隐藏坍缩范式的模式,可且仅可用于萨米肉鸽。

在此模式下,将在每次回到关卡选择界面时检查坍缩状态,同时会优先使用带有`_collapse`后缀的战斗部署方案,也会使用特有的不期而遇和购物设置。

2. 肉鸽任务新增以下参数:
- `check_collapsal_paradigms`:是否检查坍缩范式,若`mode = 5`则默认为`true`,否则为`false`。
- `double_check_collapsal_paradigms`:是否增加对坍缩范式的检查频率,若`mode =
5`则默认为`true`,否则为`false`。
- `expected_collapsal_paradigms`:需要刷的坍缩范式,若`mode = 5`则默认为两组隐藏坍缩范式。
- `use_foldartal`:是否使用密文板,若`mode = 5`则默认为`false`,否则为`true`。

### 机制介绍

本插件将以两种不同的手段检查坍缩范式:

- 在选关界面点击屏幕中上方展开坍缩状态栏(以下称`Panel Check`);
- 观察屏幕右侧是否有坍缩范式通知(以下称`Banner Check`)。

获取坍缩值的方法多种多样,本插件考虑到了以下情况:

1. 战斗后因非完美战斗而使坍缩值增加,进行`Banner Check`。
2. 战斗后因获得收藏品而使坍缩值变动,进行`Banner Check`。
3. 在不期而遇等(MAA中失与得等节点也会触发不期而遇插件)节点中使坍缩值变动,进行`Banner Check`。
4. 再诡异行商节点中因购买收藏品而使坍缩值变动,进行`Banner Check`。
5. 因使用密文版而使坍缩值减少,进行`Banner Check`。
6. 因进入新的一层而使坍缩值增加,进行`Panel Check`。
7. 若进行`Banner
Check`时发现坍缩范式消退,因不知道会不会一次性消退两层(即便会也概率极低),会在下一次回到选关洁面的时候额外触发一次`Panel
Check`。
8. 在`double_check_collapsal_paradigms =
true`的情况下,每次回到选关界面的时候都会额外触发一次`Panel
Check`以验证是否之前有漏、多记录坍缩范式,并以回调信息的形式传回Debug信息。

**注意事项**

1.
为了防止错过坍缩范式通知,会适当sleep,若检测到屏幕下方有`正在提交反馈至神经`的提示的话会额外sleep。所以开启检查坍缩范式的功能后整体流程会变得拖沓一些(目前在我本人可接受范围内)。
2.
在`RoguelikeMode::CLP_PDS`模式下,获得不需要的坍缩范式会直接重开,遇到需要的坍缩范式则会停止任务。理论上可能在不期而遇事件中获得了不需要的坍缩范式,但因为右上角没有退出按钮而没有及时重开。但我目前没有观察到这样的情形,故没有做处理。不放心的话请设置`double_check_collapsal_paradigms
= true`,等回到选关界面后再检查一遍已获得的坍缩范式。
3.
无论如何,强烈推荐开启`double_check_collapsal_paradigms`。慢点就慢点,求稳才是关键。在我本人测试的过程中,遇到过一两次遗漏`Banner
Check`的情况(截图错过了右上角通知),幸好在额外触发的`Panel
Check`中补上了。怀疑是系统卡顿或网络延迟所致(我在澳大利亚用着MBP2017开着MUMU+MAA刷官服,时间长了后模拟器本身就偶尔会卡住)。

### 回调信息

当`check_collapsal_paradigms == true`时会输出类似于下方的回调信息:
```C++
callback(AsstMsg::SubTaskExtraInfo, json::object { 
    { "what", "RoguelikeCollapsalParadigms" },
    { "details", json::object {
        { "cur", "目空一些" },
        { "deepen_or_weaken", 1 },
        { "prev", "睁眼瞎" }
    } }
});
```
其中`deepen_or_weaken = 1`代表坍缩范式从`prev`加深至`cur`,若`deepen_or_weaken =
-1`则代表坍缩范式消退。
偶尔也会有测试信息以`deepen_or_weaken = 0`被传回,主要用于我自己测试用。

### 任务设置范例

以下是我的测试用任务设置:
```Python
asst.append_task('Roguelike', {
    'theme': 'Sami',
    'mode': 5,
    'investment_enabled': False,
    'squad': '远程战术分队',
    'roles': '稳扎稳打',
    'core_char': '维什戴尔',
    # 'expected_collapsal_paradigms': ['趋同性消耗'],
    # 'check_collapsal_paradigms': True, # 在mode = 5时默认为True
    double_check_collapsal_paradigms': True, # 建议打开,以防万一错过了什么
    # 'use_foldartal': False # 在mode = 5时默认为False
})
```
建议在难度10刷隐藏坍缩,我只做了第一层的漏怪作业且以`维什戴尔`为战斗核心。

### To-Do(s)

- [ ] 补充相关文档 (要不就把上述文字作为文档吧?)

### Need Help

- [ ] 外服适配
- [ ] UI适配

---

小孩子不懂事乱写的代码,请各位多指教。
2024-07-07 20:56:14 +08:00
2024-05-12 23:27:46 +08:00
2024-03-09 15:06:15 +08:00
2024-01-06 14:28:12 +08:00
2024-05-03 22:05:37 +08:00
2024-07-07 17:40:32 +08:00
2024-05-26 06:02:12 +08:00
2024-05-26 06:02:12 +08:00
2024-02-01 11:44:29 +08:00
2024-05-10 10:17:21 +08:00
2023-11-15 15:10:30 +08:00

LOGO

MaaAssistantArknights


C++
platform
license commit
stars GitHub all releases

简体中文 | 繁體中文 | English | 日本語 | 한국어

MAA 的意思是 MAA Assistant Arknights

一款明日方舟游戏小助手

基于图像识别技术,一键完成全部日常任务!

绝赞更新中 ✿✿ヽ(°▽°)ノ✿

亮点功能

  • 刷理智,掉落识别及上传 企鹅物流一图流
  • 智能基建换班,自动计算干员效率,单设施内最优解;同时也支持 自定义排班
  • 自动公招,可选使用加急许可,一次全部刷完!公招数据自动上传 企鹅物流一图流
  • 支持手动识别公招界面,方便对高星公招做出选择 (你的这个高姿回费出的是推王呢还是推王呢)
  • 支持识别干员列表,统计已有和未有干员及潜能,并在公招识别显示;
  • 支持识别养成材料,并导出至 企鹅物流刷图规划明日方舟工具箱ARK-NIGHTS 干员培养表
  • 访问好友、收取信用及购物、领取日常奖励等,一键全日常自动长草;
  • 肉鸽全自动刷源石锭和等级,自动烧水和凹直升,智能识别干员及练度;
  • 选择作业 JSON 文件,自动抄作业, 视频演示
  • 支持 C, Python, Java, Rust, Golang, Java HTTP, Rust HTTP 等多种接口,方便集成调用,自定义你的 MAA

话不多说,看图!

zh1 zh2 zh3 zh4

下载地址

使用说明

基本说明

请参阅 新手上路详细介绍

常见问题

  • 软件一打开就闪退;
  • 连接错误、不知道 adb 路径怎么填写;
  • 连接成功了,但没反应;
  • 如何连接自定义端口;
  • 下载速度慢,且镜像站无法打开网页;
  • 下载到一半提示“登陆”/“鉴权”;
  • 连接正常,任务开始了,但是没反应。

请参阅 常见问题

外服支持

目前国际服(美服)、日服、韩服、繁中服的绝大部分功能均已支持。但由于外服用户较少及项目人手不足,很多功能并没有进行全面的测试,所以请自行体验。
若您遇到了 Bug或对某个功能有强需求欢迎在 Issues讨论区 催更;或加入我们一起建设 MAA请参阅 外服适配教程

CLI支持

MAA 支持命令行界面CLI操作支持 LinuxmacOS 和 Windows可用于自动化脚本或在无图形界面的服务器上使用。请参阅 CLI 使用指南

加入我们

主要关联项目

目前项目组非常缺前端大佬,若您有相关经验,欢迎加入我们!

多语言 (i18n)

MAA 支持多国语言,并使用 Weblate 进行本地化管理。如果您通晓多门语言,欢迎前往 MAA Weblate 帮助我们进行翻译。

MAA 以中文(简体)为第一语言,翻译词条均以中文(简体)为准。

Weblate

Windows

  1. 下载预构建的第三方库

    python maadeps-download.py
    
  2. 使用 Visual Studio 2022 打开 MAA.sln,右键 MaaWpfGui,设为启动项目

  3. VS 上方配置选择 RelWithDebInfo x64 (如果编译 Release 包 或 ARM 平台,请忽略这步)

  4. 右键 MaaWpfGui - 属性 - 调试 - 启用本地调试(这样就能把断点挂到 C++ Core 那边了)

  5. (可选)若准备提交 PR建议启用 clang-format 支持

Linux | macOS

请参阅 Linux 编译教程

API

外服适配

请参阅 外服适配教程,对于国服已支持的功能,绝大部分的外服适配工作仅需要截图 + 简单的 JSON 修改即可。

想参与开发,但不太会用 GitHub?

GitHub Pull Request 流程简述

Issue bot

请参阅 Issue bot 使用方法

致谢

开源库

数据源

贡献/参与者

感谢所有参与到开发/测试中的朋友们,是大家的帮助让 MAA 越来越好! (*´▽`)

Contributors

声明

  • 本软件使用 GNU Affero General Public License v3.0 only 开源。
  • 本软件 logo 并非使用 AGPL 3.0 协议开源,耗毛、vie 两位画师及软件全体开发者保留所有权利。不得以 AGPL 3.0 协议已授权为由在未经授权的情况下使用本软件 logo不得在未经授权的情况下将本软件 logo 用于任何用途。
  • 本软件开源、免费,仅供学习交流使用。若您遇到商家使用本软件进行代练并收费,可能由于设备或时间等原因,产生的任何问题及后果与本软件无关。

广告

用户交流 QQ 群:MAA 使用 & 粥游交流 QQ 群
用户交流 TG 群:Telegram 群
自动战斗 JSON 作业分享:prts.plus抄作业.com
Bilibili 直播间:直播间 每晚直播敲代码,近期很长一段时间应该都是在写本软件~

技术群(舟无关、禁水):内卷地狱!(QQ 群)
开发者群:QQ 群

如果觉得软件对你有帮助,帮忙点个 Star 吧!~(网页最上方右上角的小星星),这就是对我们最大的支持了!

Description
MAA镜像
Readme AGPL-3.0 Cite this repository 1.2 GiB
Languages
C++ 46.2%
C# 39.2%
Python 5.5%
C 5%
CMake 0.8%
Other 3.2%