开发规范
WARNING
开发统一使用分辨率:720x1280 dpi320
分辨率错误可能会导致各种匹配问题!
一、Pipeline JSON 文件管理规范
目录结构
所有 Pipeline JSON 文件统一存放在 /pipeline/ 目录下,按功能类型划分子文件夹:
bash
/resource/
├── base/ # 简中资源
│ ├── pipeline/
│ │ ├── autoformation/ # 自动编队相关基础节点
│ │ ├── copilot/ # 抄作业相关基础节点
│ │ ├── daily/ # 日常
│ │ ├── dispatch/ # 派遣
│ │ ├── pandorabox/ # 百宝箱
│ │ └── sp/ # 限时活动
│ └── ...
├── zh_tw/ # 繁中资源
│ ├── pipeline/
│ └── ... # 同简中,下略文件存放规范
- daily文件夹:放置仅为完成日常而设定的任务
- 其他文件夹:放置对应板块的任务
二、图片存放规范
目录结构
所有图片资源统一存放在 /image/ 目录下,按功能模块划分子文件夹:
bash
/resource/
├── base/ # 简中资源
│ ├── image/
│ │ ├── agent/
│ │ ├── baihu/ # 白鹄行动相关图片
│ │ ├── banquet/ # (活动)华堂夜宴相关图片
│ │ ├── base/ # 据点相关图片
│ │ ├── BBQ/ # (活动)魂生一串相关图片
│ │ ├── chujianri/ # (活动)初见日出游相关图片
│ │ ├── copilot/ # 抄作业相关图片
│ │ ├── deepdungeon/ # 地宫相关图片
│ │ ├── han_ye_e_jing/ # (活动)寒夜厄境相关图片
│ │ ├── house/ # 心纸居相关图片
│ │ ├── huadenghui/ # (活动)花灯绘相关图片
│ │ ├── login/ # 登录签到相关图片
│ │ ├── mainmap/ # 主界面导航返回相关图片
│ │ ├── mijiao2026/ # (活动)咪教模拟器相关图片
│ │ ├── monopoly/ # (活动)广陵爱情故事相关图片
│ │ ├── nanyang/ # (活动)躬耕南阳相关图片
│ │ ├── stargaze/ # 观星相关图片
│ │ ├── temp/ # 限时活动相关图片
│ │ ├── wanli/ # (活动)江东万里船相关图片
│ │ ├── wqfn/ # (活动)望祈丰年相关图片
│ │ ├── yecheng/ # (活动)邺城之战相关图片
│ │ ├── ym/ # (活动)云梦巫乡相关图片
│ │ ├── yuanbao/ # 鸢报相关图片
│ │ └── zhaoge/ # (活动)朝歌之战相关图片
│ └── ...
├── zh_tw/ # 繁中资源
│ ├── image/
│ └── ... # 同简中,下略图片引用
在 JSON 文件中引用图片时,使用相对路径:
json
"通用-关闭获得奖励": {
"recognition": {
"type": "TemplateMatch",
"param": {
"template": "common_reward.png",
"green_mask": true,
"roi": [14, 23, 684, 597],
"threshold": 0.5
}
},
"action": {
"type": "Click",
"param": {
"target": [633, 22, 19, 11]
}
},
"pre_delay": 700,
"post_delay": 1000
}CAUTION
简繁体通用的任务,要注意zh_tw目录下是否有对应的图片。
在用OCR识别时,尽量选取简繁体相同的字。如果实在没有,则用replace进行替换。如:
json
"recognition": {
"type": "OCR",
"param": {
"expected": "活动",
"roi": [287, 249, 142, 98],
"replace": ["動", "动"]
}
},三、MaaYuan格式化要求
MaaYuan 使用一系列的格式化工具来保证仓库中的代码和资源文件美观统一,以便于维护和阅读
请确保在提交之前已经格式化,或是启用 Pre-commit Hooks 进行自动格式化
格式化插件列表
目前启用的格式化工具如下:
| 文件类型 | 格式化工具 |
|---|---|
| JSON/Yaml | prettier |
| Markdown | MarkdownLint |
其中,prettier使用MaaFW的格式化小工具 | prettier-plugin-maafw-sort进行格式化。
Prettier 插件,按照生命周期顺序自动排序 pipeline 字段
sh
npm i -D @nekosu/prettier-plugin-maafw-sort利用 Pre-commit Hooks 自动进行代码格式化
TIP
实际协作中,在 vscode 中开发,安装推荐的插件后,基本就可以完成自动格式化了,故该部分可跳过。
确保你的电脑上有 Python 与 Node 环境
在项目根目录下执行以下命令
bashpip install pre-commit pre-commit install
如果pip安装后依然无法运行pre-commit,请确认pip安装地址已被添加到PATH
接下来,每次提交时都将会自动运行格式化工具,来确保你的代码格式符合规范
手动触发: pre-commit run --all-files
四、各种ROI、target
放置一点通用节点的roi、target参数,方便统一使用