(在脚本仓库页面阅读此文档,会比在BGI的已订阅脚本界面获得更好的渲染效果) # 功能特点 - 自动同步你订阅的地图追踪任务,无需手动复制文件夹 - 自动匹配各类材料的CD,支持联机模式(会识别是在谁的世界进行采集) - 可识别背包物品数量,并按设定的目标数量按需运行 - 方便的材料选择界面,并支持按地区、按类别批量选择 - 可设置一个或多个不运行的时间段 - 采集过程自动切换合适的队伍 **若脚本有问题,可[点击此处进行反馈](https://github.com/babalae/bettergi-scripts-list/issues/new?template=bug_report.yml&script-name=CD-Aware-AutoGather:2.1.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`文件夹下的记录文件。下次运行脚本时,未刷新的路线将自动跳过。 采集过程中,如果所有材料均达到了你设置的目标数量,或者到达你设置的不执行时间段,会自动停止运行。 可以同时勾选多种材料,会逐个进行采集。 此模式下有这些选项可以配置: ### 基本配置 | 选项 | 说明 | | ---- | ---- | | 按关键词筛选材料路线 | 默认为黑名单模式。此时,文件路径中含有任意一个关键词的路线,在扫描时会被忽略。其他模式见后文 | | 设置首选队伍名称 | 执行采集任务前切换到指定的队伍,未设置则不切换。 | | 设置备选队伍名称 | 首选队伍缺少对应的采集角色时使用。
两支队伍的名称不要存在包含关系,例如不能一支叫`特产`一支叫`特产备选` | | 不在以下时间段内运行 | 字面意思。如果脚本启动时间在设定的时间段内,会立即终止;如果运行过程中进入设定的时间段内,也会停止后续路线。支持设置多个时间段,用空格分隔即可,比如`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)