* refactor(ActivitySwitchNotice): 优化通知配置构建逻辑 - 将 configNotice 变量改为 let 声明以支持动态更新 - 新增 async 函数 buildConfigNotice 用于构建通知配置 - 在 sendNotice 函数中调用 buildConfigNotice 确保配置最新 - 在 sendText 函数中添加 buildConfigNotice 调用保证配置同步 * refactor(utils): 导出工具函数并移除全局挂载 - 将 activity.js 中的 activityMain 函数改为导出函数 - 将 campaignArea.js 中的 ocrDailyCommission、ocrWeeklyCount、campaignAreaMain、dailyCommissionMain 函数改为导出函数 - 将 mapMission.js 中的 ocrMapMission、openMap、mapMission 函数改为导出函数 - 将 tool.js 中的 findTextAndClick、getDayOfWeek 函数改为导出函数 - 将 uid.js 中的 saveOnlyNumber、ocrUID、compareUid、checkUid、check 函数改为导出函数 - 将 ws.js 中的 send、sendText 函数改为导出函数 - 移除所有 utils 文件中对 this 对象的挂载操作 - 在 main.js 中导入新的工具函数并移除重复定义的函数 * fix(ActivitySwitchNotice): 修复圣遗物空间检查功能中的显示和逻辑问题 - 修正圣遗物空间不足提醒消息中的标点符号格式 - 修复圣遗物空间阈值错误日志中的数字格式 - 移除不必要的延时操作以优化执行效率 - 调整代码结构以提高运行性能 fix(ActivitySwitchNotice): 修复圣遗物空间检查功能中的显示和逻辑问题 - 修正圣遗物空间不足提醒消息中的标点符号格式 - 修复圣遗物空间阈值错误日志中的数字格式 - 移除不必要的延时操作以优化执行效率 - 调整代码结构以提高运行性能 refactor(ActivitySwitchNotice): 优化圣遗物检查功能中的延迟配置 - 将硬编码的延迟时间替换为可配置的常量 - 统一延迟时间管理,提高代码可维护性 - 保持原有功能逻辑不变的情况下提升代码质量 feat(ActivitySwitchNotice): 更新版本并新增圣遗物空间检测提醒功能 - 将插件版本从 0.1.3 更新至 0.1.5 - 新增圣遗物剩余空间检测提醒功能 - 在版本历史中添加 0.1.5 版本记录 fix(ActivitySwitchNotice): 修复圣遗物剩余空间阈值解析错误 - 添加 try-catch 块处理 parseInt 异常情况 - 当阈值格式错误时默认使用 400 的阈值 - 添加警告日志记录格式错误的阈值设置 - 确保程序在无效配置下仍能正常运行 feat(bag): 添加圣遗物背包空间检查功能 - 新增 HolyRelics.js 工具模块实现圣遗物数量检查逻辑 - 集成 OCR 识别功能用于获取圣遗物数量信息 - 添加背包空间不足提醒功能,可自定义阈值 - 在 main.js 中集成圣遗物检查流程 - 添加新的配置选项包括打开背包按键和圣遗物阈值设置 - 扩展工具类增加 findText、findImg 和 OcrFind 等通用识别方法 - 实现自动打开背包并处理过期物品弹窗功能 * fix(HolyRelics): 修复圣遗物背包空间检测功能 - 添加了进入圣遗物背包的点击状态验证,避免无法进入时继续执行 - 增强了OCR文本解析逻辑,添加了字符串分割长度验证和数值解析校验 - 优化了阈值参数解析,在main.js中添加了更安全的数值转换和错误处理 - 修复了工具函数中资源释放问题,在isInMainUI函数中使用try-finally确保资源被正确释放 - 更新了提醒消息文本,明确标识阈值设置参数
BetterGI · 更好的原神 的脚本仓库
BetterGI 的 📜 脚本仓库
在线版脚本仓库:bgi.sh 备用地址:https://s.bettergi.com
作者Q群:764972801 (非作者请勿加入)
如何提交到本仓库?(谁都能看懂的 GitHub Pull Request 使用指南)
脚本提交说明
- 战斗脚本提交到 repo/combat 目录;
- JS 脚本提交到 repo/js 目录;
- 地图追踪脚本提交到 repo/pathing 目录;
- 七圣召唤脚本提交到 repo/tcg 目录。
脚本提交规范
为了保证脚本的规范性和可读性,方便用户清晰了解脚本的用途,制定以下脚本命名规则和脚本文件夹命名规则。
战斗策略脚本
创建战斗策略脚本请参考文档自动战斗和已有的其他战斗策略脚本
命名规则
- 脚本的名称应包含使用的角色简写
- 特别的,只能用于副本,不适用于锄地的战斗策略应当增加“-副本”的后缀
注释与署名
- 战斗策略脚本中使用“//”进行注释,必要时应当在脚本中使用注释以明确使用的条件等
- 推荐在策略中同时通过注释说明自动战斗设置中的相关部分,例如:“// 检查战斗结束的延时:设置为 0.4”
- 署名使用“//作者:你的名字”,错误的格式将导致无法识别
注意事项
- 确保你充分了解自动战斗的完整机制(如战斗结束检查的触发)和每个动作的具体内容再开始编写战斗策略
- 提交前请进行充分的实战测试与优化。若战斗策略被社区或管理员判定为低质量,其合并请求(PR)将不予通过。
地图追踪脚本
文件命名规范
确保脚本文件在同一目录下按预期顺序排列,并一目了然地传达关键信息。地图追踪脚本命名需包含以下核心信息:
编号-材料名称-区域(跨区域材料填写)-二级区域(可选)-二级子区域-数量
-
编号
- 两位数,如果单个资源脚本数量超过
100可以考虑使用三位数编号或者使用字母加数字编号,如 A01 - 编号的排序应遵循以下两种方式之一:
- 按传送点位顺序排序。相邻脚本之间优先保证传送的便捷性,这种编号方式考虑整体采集效率。
- 按材料获取效率排序。优先选择资源分布密集或容易采集的点,效率高的路径放在靠前编号,这种编号方式考虑编号靠前脚本的采集效率。
- 两位数,如果单个资源脚本数量超过
-
材料名称
- 采集物(使用游戏内官方名称命名,如
慕风蘑菇,劫波莲,不应当使用绫华突破材料等不清晰的名称命名) - 掉落物(因掉落物名称与掉落物等级有关,因此不使用掉落物本身命名,而是使用怪物名称命名)
- 采集物(使用游戏内官方名称命名,如
-
区域(指
蒙德璃月稻妻须弥枫丹纳塔至冬,仅当材料跨区域需标注) -
二级区域(如
珉林,根据实际需求标注) -
二级子区域(细分地点,如
绝云间) -
预期采集的数量
脚本名称仅限上述规定的编号、材料名称、区域、二级子区域,原则上不应包含额外的描述或标点符号。
✔ 参考示范:
01-水晶块-璃月-绝云间-6个
02-水晶块-璃月-荻花洲-8个
❌ 错误示范:
01-水晶块-璃月-快速路径-绝云间-6个
其他注意事项
-
部分采集物没有对应的二级子区域,允许名称的区域部分使用起始传送锚点右侧展示的二级区域,或这条路径的大部分采集物点位所位于的二级区域
-
相同二级子区域有多条路径时,推荐采用
编号-材料名称-二级区域-二级子区域及方位-数量进行命名。 -
脚本文件名应当和
json文件中的name字段相同。 -
说明文件应当命名为README.md以保证仓库能够正确读取。
文件夹命名规范
目的:对脚本按材料分类管理,便于版本控制与团队协作。目录结构应当遵循以下原则:
-
根据脚本种类选择恰当的一级分类,目前共有六个分类
锄地专区、地方特产、敌人与魔物、矿物、其他。 -
一级目录:以材料名称命名,须与文件命名中的材料名称一致。
-
二级子目录(可选):可根据项目或作者划分,如有必要。
-
示例目录结构如下:
repo/pathing/矿物 ├─ 水晶块 │ ├─ 01-水晶块-璃月-绝云间-6个 │ └─ 02-水晶块-璃月-荻花洲-8个 └─ 星银矿石 └─ 01-星银矿石-覆雪之路-7个如果脚本和原来的地图追踪脚本存在冲突 按照以下原则处理:
-
修复或补充:直接提交到原材料目录。
-
路线冲突:新建同名目录并添加作者标识:
- 将旧脚本目录重命名为
AA@旧作者名 - 新脚本放入
AA@你的名字 - 例:原
repo/pathing/AA重命名为AA@oldauthor新目录AA@yourname
-
示例目录结构如下:
repo/pathing/.../ └── AA ├── AA@旧作者名 └── AA@你的名字
- 将旧脚本目录重命名为
-
不同采集方式|角色|效率:新建目录添加标识及作者标识:
- 判断旧脚本目录的采集方式,将旧脚本目录重命名为
采集方式@旧作者名 - 新脚本放入
采集方式@你的名字
-
示例目录结构如下:
repo/pathing ├── 地方特产/区域 │ ├── A材料 │ │ ├── 无草神@作者广告位招租 │ │ ├── 有草神效率路线@作者广告位招租 │ │ ├── 有草神全收集@作者广告位招租 │ │ └── ... │ └── B材料 │ ├── 效率路线@作者广告位招租 │ ├── 全收集@作者广告位招租 │ └── ... ├── 矿物 │ ├── 水晶矿 │ │ ├── 大剑@作者广告位招租 │ │ ├── 钟离@作者广告位招租 │ │ ├── 诺艾尔@作者广告位招租 │ │ └── ... │ └── 萃凝晶 │ ├── 大剑效率路线@作者广告位招租 │ ├── 大剑无战斗@作者广告位招租 │ └── ... └── ...
- 判断旧脚本目录的采集方式,将旧脚本目录重命名为
其他注意事项
-
目录名仅限材料官方名称,不添加版本号或其他标识。
-
作者标识仅在冲突时追加,格式为“@作者名”,紧随原目录名。
JS脚本
创建JS脚本请参考文档创建脚本
文件夹命名规则
-
脚本的文件夹名称应体现脚本的用途,简要用途可在描述文件 manifest.json 中说明,详细用途可在
README.md(大小写敏感,要求全部大写的文件名) 中说明 -
脚本的主体文件夹名称可采用 大驼峰式命名法 等命名方式,名称中不应包含空格,如:
repo/js ├── ├── AutoLeyLineOutcrop ├── AutoXXX └── ... -
常见的脚本结构目录如下:
repo/js └── jsName ├── Assets │ ├── Pathing │ │ └── xxx.json │ └── RecognitionObject │ └── xxx.png ├── main.js ├── manifest.json ├── settings.json └── README.md -
Assets用于存放脚本使用到的资源文件,其中
其他注意事项
- 脚本使用的资源文件应在
README.md中注明实际用途
其他
因早期对脚本管理较为宽松,因此仓库有部分脚本并不符合命名规范,欢迎通过 PR 规范这些名称。
Contributors
相关源码
脚本仓库页面的源码
地图路径追踪的源码:bettergi-map