Files
bettergi-scripts-list/repo/js/CD-Aware-AutoGather/README.md
Patrick-Ze c437b65dde js: CD-Aware-AutoGather: 修复两个corner case (#2863)
Fixes #2855, Fixes #2861: 新地图无法获取坐标时改用时间差判断是否更新CD
Fixes #2860: 修复背包物品与API物品名不匹配时脚本异常终止的问题
2026-02-11 21:04:58 +08:00

181 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
在脚本仓库页面阅读此文档会比在BGI的已订阅脚本界面获得更好的渲染效果
# 功能特点
- 自动同步你订阅的地图追踪任务,无需手动复制文件夹
- 自动匹配各类材料的CD支持联机模式会识别是在谁的世界进行采集
- 可识别背包物品数量,并按设定的目标数量按需运行
- 方便的材料选择界面,并支持按地区、按类别批量选择
- 可设置一个或多个不运行的时间段
- 采集过程自动切换合适的队伍
**若脚本有问题,可[点击此处进行反馈](https://github.com/babalae/bettergi-scripts-list/issues/new?template=bug_report.yml&script-name=CD-Aware-AutoGather:2.2.0&additional-info=保留此行以便通知作者:%20@Patrick-Ze%0A%0A---%0A)**
# 使用前准备
**双击运行脚本所在目录下的`SymLink.bat`文件,以创建符号链接。**
(在BGI的`全自动——JS脚本`界面,右键点击本脚本,选择`打开目录`可快速打开脚本所在目录)
运行后,脚本下的`pathing`文件夹将指向Better GI的地图追踪文件夹`User\AutoPathing`你通过Better GI新增或删除地图追踪任务后脚本这边看到的也是修改后的。
**订阅或者更新本脚本后需要重新执行一次**
# 运行模式
必须先完成`使用前准备`里的操作
## 1. 扫描文件夹更新可选材料列表
扫描脚本`pathing`目录等价于你在Better GI里订阅的地图追踪任务目录下的`地方特产``矿物``食材与炼金`内的材料,并更新脚本可用的配置菜单。
运行后,再次打开右键的`修改JS脚本自定义配置`,将看到新增了多个配置项。
完成扫描后会自动设置下次的脚本运行模式为`采集选中的材料`
## 2. 采集选中的材料
运行此模式后将按照你勾选的条目执行相应的采集任务。每执行完一条json路线后将会计算它的下次刷新时间并写入`record`文件夹下的记录文件。下次运行脚本时,未刷新的路线将自动跳过。
采集过程中,如果所有材料均达到了你设置的目标数量,或者到达你设置的不执行时间段,会自动停止运行。
可以同时勾选多种材料,会逐个进行采集。
此模式下有这些选项可以配置:
### 基本配置
| 选项 | 说明 |
| ---- | ---- |
| 按关键词筛选材料路线 | 默认为黑名单模式。此时,文件路径中含有任意一个关键词的路线,在扫描时会被忽略。其他模式见后文 |
| 设置首选队伍名称 | 执行采集任务前切换到指定的队伍,未设置则不切换。 |
| 设置备选队伍名称 | 首选队伍缺少对应的采集角色时使用。<br>两支队伍的名称不要存在包含关系,例如不能一支叫`特产`一支叫`特产备选` |
| 不在以下时间段内运行 | 字面意思。如果脚本启动时间在设定的时间段内,会立即终止;如果运行过程中进入设定的时间段内,也会停止后续路线。支持设置多个时间段,用空格分隔即可,比如`05:20-09:28 21:28-00:20` |
| 物品采集数量目标 | 填写目标数量,留空表示不限制。也可以设置为`csv`将按csv文件的配置详细设定不同材料的目标具体见后文 |
| 使用指定的账号名保存运行记录 | 留空时将自动识别UID将其作为账号名记录材料刷新时间。你也可以主动填写账号名称不推荐会导致联机互采时例如大小号无法正确维护材料刷新时间建议仅在你遇到脚本无法稳定识别你的UID时填写 |
### 材料采集配置
这部分配置分为4个大类根据你订阅的路线可能只会出现其中的部分配置。
为了方便用户查找:
- “地区”类型的选项,是按照在游戏中开放的顺序排序的。
- 每个小类别下的选项,是按照拼音的先后顺序排序的。
**【常用采集选项】**
开发了按类别、按地区批量选择的功能,并和常用材料汇集到了一起以方便使用,如图所示。
`按大类选择``按地区选择地方特产`都是批量选择。批量选择和后面的具体项选择可以结合使用,实现灵活的采集目标设定。
比如勾选 `按大类选择`的矿物 + `按地区选择地方特产`里的蒙德 + `单独选择地方特产`下的稻妻地区的绯樱绣球。
![pic-1](https://ayaka20.ggff.net/CD-Aware-AutoGather/assets/pic-1.png)
**【单独选择地方特产】**
![pic-2](https://ayaka20.ggff.net/CD-Aware-AutoGather/assets/pic-2.png)
**【食材与炼金】**
![pic-3](https://ayaka20.ggff.net/CD-Aware-AutoGather/assets/pic-3.png)
**【对于具有多版本路线的物品,选择要使用的路线】**
如果你为某种材料订阅了多个版本的路线,可以在这里进行选择其中的一个或多个选项。
如果你没有指定路线,会默认执行第一项的路线。
![pic-4](https://ayaka20.ggff.net/CD-Aware-AutoGather/assets/pic-4.png)
### 队伍配置推荐
采集任务可能用到的元素共有`火水雷风`4种此外还有挖矿类如钟离以及纳西妲两个类型可以考虑建立两支队伍`钟纳水雷``钟纳火风`,即可满足所有采集任务的需要。
配置好两支队伍后,脚本会在执行路线前计算所需角色,如果当前队伍不满足要求,会自动切换到另一支队伍。
注意:队伍切换功能在联机模式下无法执行,因此联机采集时请先调整好队伍中的角色。
# 进阶用法
### 1. 不想每次订阅材料路线后都要在脚本设置中再勾选,怎么办?
利用好`按大类选择`选项。你可以勾选上全部三个大类或者你实际需要的类别然后只要在BGI本体里订阅路线即可。
### 2. 怎么清除运行记录(重置材料刷新时间)?
运行记录保存在脚本所在路径的`record`文件夹中以UID或者用户指定的名字作为账号文件夹。打开子文件夹后删除对应材料的txt文件即可。
### 3. `按关键词筛选材料路线`的进阶用法
如前面配置描述中所述,此选项默认以黑名单模式运行,设置的关键词即为黑名单,在扫描时会被忽略。可以在选项的开头加上`include:`,将切换为以白名单模式运行,例如`include:无草神`将只扫描含有"无草神"字样的路线。
或者更进阶的,使用`regex:`开头,将完全使用你设置的正则表达式进行筛选。如果你不了解什么是正则表达式,说明你大概率也不需要这种方式。
使用该选项设置的进阶用法时,希望你充分理解了自己的设置会产生什么样的效果。
### 4. 在`物品采集数量目标`选项中,如何为不同物品设置不同的目标?
请将该选项设置为`csv`然后执行一次材料扫描模式。扫描完成后在record下找到对应账号的子文件夹。打开这个子文件夹会找到一个`采集目标.csv`的csv文件。
你可以用Excel或者WPS等打开此csv文件打开后就是一个表格如果你了解csv文件格式也可以用任意文本编辑器打开不过不推荐。表格内容示例如下
| 物品 | 目标数量 |
| -------------- | ---- |
| 地方特产 | |
| 矿物 | |
| 食材与炼金 | |
| 地方特产\\璃月 | |
| 地方特产\\稻妻 | |
| 矿物\\萃凝晶 | |
| 矿物\\虹滴晶 | |
| 食材与炼金\\晶蝶 | |
| 食材与炼金\\松果 | |
| 地方特产\\璃月\\夜泊石 | |
| 地方特产\\璃月\\星螺 | |
| 地方特产\\稻妻\\绯樱绣球 | |
| 地方特产\\须弥\\树王圣体菇 | |
默认情况下`目标数量`这一列是空的填写具体的数字保存文件后关闭Excel或者其他你用来编辑csv的工具。然后再次运行脚本即可。
**如你所见这个csv表格也具有和脚本选项中相似的层次关系。 是的,数量是按层次继承的~** 🎉
- 如果低层次的材料没有设置目标,则会自动尝试较高层次所设定的数量
- 如果向上遍历所有层次都没有目标数量,则表示不限制数量
- 数量为`0`将不进行采集
利用好脚本设置中的批量选择功能和这个层次关系,可以轻松实现灵活的采集目标。比如:
- 希望背包材料能立即把一个角色拉到90级于是在`按大类选择`中勾选了地方特产并将地方特产类别的数量设置为168
- 但是,又觉得不会再用到树王圣体菇,所以把`地方特产\须弥\树王圣体菇`的数量设置为0
- 璃月的特产希望多采集一点,那就把`地方特产\璃月`的数量增加了一点到199
- 还想做用`红炉一点雪`填满背包,那就把对应的特产`地方特产\稻妻\绯樱绣球`设置为9999
- 想要随时能锻造武器,于是于是在`按大类选择`中勾选了矿物并将矿物类别的数量设置为50
- 不想抓晶蝶随便设个100个晶蝶吧
- 对了还有每周参量质变仪要用的薄荷要不就2倍数量吧300
- ……
选好材料和数量,配置好队伍,然后把脚本加到你的每日配置组或一条龙中,从此实现背包自由。
# 致谢
此脚本的2.0版本进行了重写基于新的API重新设计了主要逻辑以解决此前我想要处理却不能的痛点。在此
- 诚挚致敬[鸭蛋老师](https://github.com/huiyadanli)和BGI的诸位贡献者是各位使我的提瓦特之旅得以苟延残喘
- 得益于[FishmanTheMurloc](https://github.com/FishmanTheMurloc)的鼎力相助,脚本才能实现无图的批量材料扫描
- 受惠于[JamisHoo](https://github.com/JamisHoo)的配置界面优化,使得更便捷的材料选择成为可能
- 感谢[this-Fish](https://github.com/this-Fish)的改进基于坐标判断是否更新记录、将材料是否刷新的检查提前都是沿袭的TA的思路
- 参考了[吉吉喵](https://github.com/JJMdzh)的背包扫描增加了使用补充OCR的方式识别物品数量的机制
最后,要特别感谢绫华,是她陪伴了我的提瓦特之旅。在弃坑之后,唯有这份牵挂,支撑着我重新回到这里。
没有她就没有今天的这个脚本。
![in-a-league-of-her-own](https://ayaka20.ggff.net/img/ayaka.png)