yan de41ac53ea refactor(FullyAutoAndSemiAutoTools): 优化记录合并逻辑并清理废弃代码
- 实现同一天数据合并功能,将重复记录的paths和groupPaths进行合并
- 移除已注释的无用代码块,包括pathRunMap相关逻辑
- 清理废弃的pathing.json配置文件内容
- 修复字符串拼接格式问题,确保正确的换行符处理
- 删除未使用的变量声明和调试代码
- 优化记录列表的数据处理流程

feat(pathing): 添加路径层级父子关系支持并优化显示结构

- 在PATHING_ALL数组对象中添加parent_name字段以支持父子关系
- 修改addUniquePath函数调用以包含parent_name参数
- 添加getChildFolderNameFromRoot函数获取父级文件夹名称
- 在路径排序逻辑中增加parent_name比较条件
- 重构路径显示逻辑添加父级名称分组显示格式
- 更新main函数中的执行流程控制逻辑

feat(auto-tools): 添加UID识别功能支持

- 在Record对象中新增uid字段用于存储用户ID
- 集成uid工具模块,实现OCR识别UID功能
- 添加uid.js工具文件,包含UID识别、验证和比较功能
- 实现在主界面检测和返回主界面的功能
- 集成UID配置验证和错误处理机制

refactor(FullyAutoAndSemiAutoTools): 重构路径执行记录管理

- 将原有的 hasRunning Set 替换为功能更完整的 Record 对象
- 添加路径、错误路径和分组路径的独立记录集合
- 更新路径执行状态检查逻辑以使用新的 Record 结构
- 在路径执行失败时记录错误路径信息
- 为任务分组添加路径记录功能
- 移除手动按键继续执行的交互流程
- 直接执行需要运行的地图任务

feat(auto-tools): 优化自动化脚本执行逻辑

- 添加hasRunning集合避免重复执行相同路径的脚本
- 修复半自动模式判断条件的逻辑错误
- 为runPath、runList、runMap函数添加详细的JSDoc注释
- 优化runPath函数确保执行完成后添加到运行记录
- 统一日志输出中的模式显示使用settings.mode替代硬编码值
- 实现路径去重检查机制防止同一路径被多次执行
- 重构任务执行流程支持Map结构的任务批量处理

refactor(FullyAutoAndSemiAutoTools): 重构路径配置逻辑并优化层级处理

- 修改了路径名称格式,将 levelName 的显示格式从 levelName_level 改为 levelName_level_level
- 移除了对同名路径的过滤判断逻辑
- 注释掉了原有的设置项更新逻辑,改用新的分组方式处理
- 添加了按层级分组的工具函数 groupByLevel
- 实现了基于层级分组的新设置项生成逻辑
- 新增了用于调试的 pathingALLSize 数组(注释状态)
- 重写了多级路径的遍历和配置生成方式

feat(auto-tools): 添加开发者调试模式功能

- 新增 debug 和 isDebug 全局变量用于调试控制
- 实现了 debugKey 函数支持开发者模式下的断点调试
- 添加了 keyMousePress 函数用于检测按键按下和释放事件
- 在 settings.json 中增加 isDebug 复选框和 debug 输入框配置
- 更新自动暂停快捷键标签提醒避免 BGI 快捷键冲突
- 修改 dispatcher.addTimer 为 dispatcher.addTrigger
- 在树形结构生成过程中添加调试日志输出功能

refactor(FullyAutoAndSemiAutoTools): 优化路径选择逻辑和标签显示

- 修改错误提示信息中的字符串格式,添加适当的空格
- 重构路径读取逻辑,将 treePathList 的赋值移到条件判断之后
- 添加 level 变量用于动态控制路径层级显示
- 更新设置选项标签,从静态文本改为动态显示当前路径级别
- 移动 level++ 操作到正确的位置以确保层级计算准确

refactor(FullyAutoAndSemiAutoTools): 优化路径配置和按键监听实现

- 将 pathing.json 的读取逻辑简化为 forEach 方式
- 移除多余的 log.warn 调试信息
- 修复 settings 配置的 JSON 解析问题
- 改进路径同步列表的处理方式
- 添加实时自动拾取任务配置
- 实现新的鼠标键盘按键监听函数 keyMousePress
- 使用新的按键监听函数替换原有 keyPress 实现
- 优化路径执行时的用户交互提示信息

refactor(FullyAutoAndSemiAutoTools): 重构路径处理逻辑并添加父级目录获取功能

- 添加getParentFolderName函数用于获取指定层级的上级文件夹名称
- 使用新的getParentFolderName函数替换原有的路径处理逻辑
- 在treeList中增加parentName字段用于存储父级目录名称
- 修复路径分隔符处理和层级计算问题
- 临时注释掉主执行循环以进行调试

feat(FullyAutoAndSemiAutoTools): 添加路径执行设置配置功能

- 遍历pathRunMap创建多选框设置项
- 为每个路径生成对应的JSON配置对象
- 将路径名称映射到设置项的name字段
- 将路径执行类型数组作为选项值
- 将生成的设置项添加到settingsList数组
- 将设置列表写入manifest.settings_ui文件

feat(auto-tools): 添加半自动工具配置和路径处理功能

- 新增 needRunMap 存储需要运行的任务映射
- 修改 init 函数返回设置配置并解析为 JSON 格式
- 添加 parentJson 配置选项用于选择执行路径
- 重构路径处理逻辑,支持 @ 符号和特殊路径识别
- 注释掉旧的路径处理代码保持兼容性
- 实现主函数中遍历 needRunMap 执行任务列表

feat(FullyAutoAndSemiAutoTools): 添加全自动半自动工具箱功能

- 实现了自动和半自动路径执行功能
- 添加了配置文件初始化和验证机制
- 实现了路径文件的递归读取和树形结构构建
- 添加了路径映射和执行控制逻辑
- 集成了按键暂停和继续执行功能
- 实现了路径列表转换和执行流程管理
- 添加了 manifest.json、settings.json 和 pathing.json 配置文件支持
2026-01-16 23:07:22 +08:00
2026-01-12 21:14:25 +08:00
2025-11-02 17:06:24 +08:00
2025-10-13 00:45:40 +08:00
2026-01-15 13:07:35 +00:00

BetterGI · 更好的原神 的脚本仓库

BetterGI📜 脚本仓库

在线版脚本仓库:bgi.sh 备用地址:https://s.bettergi.com

作者Q群764972801 (非作者请勿加入)

如何提交到本仓库?(谁都能看懂的 GitHub Pull Request 使用指南)

脚本提交说明

脚本提交规范

为了保证脚本的规范性和可读性,方便用户清晰了解脚本的用途,制定以下脚本命名规则和脚本文件夹命名规则。

地图追踪脚本

文件命名规范

确保脚本文件在同一目录下按预期顺序排列,并一目了然地传达关键信息。地图追踪脚本命名需包含以下核心信息:

编号-材料名称-区域(跨区域材料填写)-二级区域(可选)-二级子区域-数量
  • 编号

    • 两位数,如果单个资源脚本数量超过 100 可以考虑使用三位数编号或者使用字母加数字编号,如 A01
    • 编号的排序应遵循以下两种方式之一:
      • 按传送点位顺序排序。相邻脚本之间优先保证传送的便捷性,这种编号方式考虑整体采集效率。
      • 按材料获取效率排序。优先选择资源分布密集或容易采集的点,效率高的路径放在靠前编号,这种编号方式考虑编号靠前脚本的采集效率。
  • 材料名称

    • 采集物(使用游戏内官方名称命名,如 慕风蘑菇劫波莲,不应当使用 绫华突破材料等不清晰的名称命名)
    • 掉落物(因掉落物名称与掉落物等级有关,因此不使用掉落物本身命名,而是使用怪物名称命名)
  • 区域(指 蒙德 璃月 稻妻 须弥 枫丹 纳塔 至冬仅当材料跨区域需标注

  • 二级区域(如 珉林,根据实际需求标注)

  • 二级子区域(细分地点,如 绝云间

  • 预期采集的数量

脚本名称仅限上述规定的编号、材料名称、区域、二级子区域,原则上不应包含额外的描述或标点符号。

✔ 参考示范:
01-水晶块-璃月-绝云间-6个
02-水晶块-璃月-荻花洲-8个

❌ 错误示范:
01-水晶块-璃月-快速路径-绝云间-6个

其他注意事项

  • 部分采集物没有对应的二级子区域,允许名称的区域部分使用起始传送锚点右侧展示的二级区域,或这条路径的大部分采集物点位所位于的二级区域

  • 相同二级子区域有多条路径时,推荐采用 编号-材料名称-二级区域-二级子区域及方位-数量 进行命名。

  • 脚本文件名应当和 json 文件中的 name 字段相同。

  • 说明文件应当命名为README.md以保证仓库能够正确读取。

文件夹命名规范

目的:对脚本按材料分类管理,便于版本控制与团队协作。目录结构应当遵循以下原则:

  • 根据脚本种类选择恰当的一级分类,目前共有六个分类 锄地专区地方特产敌人与魔物矿物其他

  • 一级目录:以材料名称命名,须与文件命名中的材料名称一致。

  • 二级子目录(可选):可根据项目或作者划分,如有必要。

  • 示例目录结构如下:

    repo/pathing/矿物
    ├─ 水晶块
    │   ├─ 01-水晶块-璃月-绝云间-6个
    │   └─ 02-水晶块-璃月-荻花洲-8个
    └─ 星银矿石
        └─ 01-星银矿石-覆雪之路-7个
    

    如果脚本和原来的地图追踪脚本存在冲突 按照以下原则处理:

  • 修复或补充:直接提交到原材料目录。

  • 路线冲突:新建同名目录并添加作者标识:

    1. 将旧脚本目录重命名为 AA@旧作者名
    2. 新脚本放入 AA@你的名字
    3. 例:原 repo/pathing/AA 重命名为 AA@oldauthor 新目录 AA@yourname
    • 示例目录结构如下:

      repo/pathing/.../
      └── AA
          ├── AA@旧作者名
          └── AA@你的名字
      
  • 不同采集方式|角色|效率:新建目录添加标识及作者标识:

    1. 判断旧脚本目录的采集方式,将旧脚本目录重命名为 采集方式@旧作者名
    2. 新脚本放入 采集方式@你的名字
    • 示例目录结构如下:

      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

Active Contributors of babalae/bettergi-scripts-list - Last 28 days

相关源码

脚本仓库页面的源码

地图路径追踪的源码:bettergi-map

Languages
JavaScript 87.4%
HTML 10.2%
Python 2.2%
C 0.2%