diff --git a/repo/js/FullyAutoAndSemiAutoTools/README.md b/repo/js/FullyAutoAndSemiAutoTools/README.md index 851b7a8c2..a57f9a477 100644 --- a/repo/js/FullyAutoAndSemiAutoTools/README.md +++ b/repo/js/FullyAutoAndSemiAutoTools/README.md @@ -185,29 +185,47 @@ sequenceDiagram ## 重要配置项一览(settings.json) -| 配置项 | 类型 | 主要作用 | 推荐默认/示例 | -|---------------------|-----|-------------------------------------------------------------|--------------------------------------------| -| config_uid | 复选框 | 当前配置uid:{无}(仅仅显示配置uid无其他作用) | xxx | -| key | 文本 | 脚本密钥 | xxx | -| config_run | 下拉 | 运行模式:刷新 / 加载 / 执行 | 刷新 → 首次,加载 → 日常 | -| refresh_record | 复选框 | 配置模式-刷新-清空运行记录 | | -| refresh_record_mode | 下拉 | 清空运行记录模式 全部 | UID | | -| loading_level | 文本 | 路径层级深度(≥1,实际支持更高深度) | 2 或 3 | +| 配置项 | 类型 | 主要作用 | 推荐默认/示例 | +|---------------------|-----|-------------------------------------------------|--------------------------------------------| +| config_uid | 复选框 | 当前配置uid:{无}(仅仅显示配置uid无其他作用) | xxx | +| key | 文本 | 脚本密钥 | xxx | +| config_run | 下拉 | 运行模式:刷新 / 加载 / 执行 | 刷新 → 首次,加载 → 日常 | +| refresh_record | 复选框 | 配置模式-刷新-清空运行记录 | | +| refresh_record_mode | 下拉 | 清空运行记录模式 全部 | UID | | +| high_level_filtering | 文本 | 高阶过滤 | | +| loading_level | 文本 | 路径层级深度(≥1,实际支持更高深度) | 2 或 3 | +| the_layer | 复选框 | 只加载指定层级 | | | order_rules | 文本 | 执行顺序规则(可留空)
语法:父文件夹名称->文件夹名称=顺序整数,...
示例:食材与炼金->晶蝶=1, | ""(默认按扫描顺序)或 "食材与炼金->晶蝶=1,pathing->地方特产=2" | -| config_white_list | 文本 | 白名单(逗号分隔) | 晶蝶,特产 | -| config_black_list | 文本 | 黑名单(优先级更高) | 其他,锄地专区,周本 | -| open_cd | 复选框 | 启用冷却控制 | 建议开启 | -| http_api | 文本 | Cron 解析服务地址 | http://127.0.0.1:8081/... | -| real_time_missions | 多选 | 实时辅助(对话/战斗/拾取) | 至少开「自动拾取」 | -| choose_best | 复选框 | 择优模式(优先未跑/最久未跑路径) | 推荐开启 | -| mode | 下拉 | 全自动 / 半自动 | 全自动(日常) | -| auto_semi_key_mode | 下拉 | 半自动快捷键行为(继续/跳过) | 继续运行 | -| auto_key | 文本 | 半自动干预快捷键 | F10 / F11(避免冲突) | -| team_fight | 文本 | 战斗/通用行走队伍名称 | 必须填写 | -| team_hoe_ground | 文本 | 锄地特化队伍配置(语法:父文件夹->子文件夹=队伍名,...) | 敌人与魔物->蕈兽=蕈兽队 | -| team_seven_elements | 文本 | 七元素队伍(矿物,火,水,风,雷,草,冰,岩) | 按顺序填写 | -| is_debug | 复选框 | 开发者模式(详细日志) | 调试时开启 | +| config_white_list | 文本 | 白名单(逗号分隔) | 晶蝶,特产 | +| config_black_list | 文本 | 黑名单(优先级更高) | 其他,锄地专区,周本 | +| open_cd | 复选框 | 启用冷却控制 | 建议开启 | +| http_api | 文本 | Cron 解析服务地址 | http://127.0.0.1:8081/... | +| real_time_missions | 多选 | 实时辅助(对话/战斗/拾取) | 至少开「自动拾取」 | +| choose_best | 复选框 | 择优模式(优先未跑/最久未跑路径) | 推荐开启 | +| mode | 下拉 | 全自动 / 半自动 | 全自动(日常) | +| auto_semi_key_mode | 下拉 | 半自动快捷键行为(继续/跳过) | 继续运行 | +| auto_key | 文本 | 半自动干预快捷键 | F10 / F11(避免冲突) | +| team_fight | 文本 | 战斗/通用行走队伍名称 | 必须填写 | +| team_hoe_ground | 文本 | 锄地特化队伍配置(语法:父文件夹->子文件夹=队伍名,...) | 敌人与魔物->蕈兽=蕈兽队 | +| team_seven_elements | 文本 | 七元素队伍(矿物,火,水,风,雷,草,冰,岩) | 按顺序填写 | +| is_debug | 复选框 | 开发者模式(详细日志) | 调试时开启 | + + + ## 语法说明 +- high_level_filtering 高阶过滤 +```text +语法:xxx->xxx-> ..... 无限制 + +实例:pathing\地方特产\ +语法:地方特产 +实例:pathing\地方特产\枫丹\ +语法:地方特产->枫丹 +实例:pathing\地方特产\枫丹\幽光星星\ +语法:地方特产->枫丹->幽光星星 +实例:pathing\地方特产\枫丹\幽光星星\幽光星星@jbcaaa\ +语法:地方特产->枫丹->幽光星星->幽光星星@jbcaaa +``` - 语法风格请保持一致 ,否则会导致路径会出现异常运行 如使用 地产->nam=1 同时保持 地产->nam=队伍名1 则路径会出现异常运行 - order_rules 执行顺序规则 1. `rootName` 根目录下层文件夹名称,`parentName` 父目录名称,`name` 文件夹名称 diff --git a/repo/js/FullyAutoAndSemiAutoTools/config/settings.json b/repo/js/FullyAutoAndSemiAutoTools/config/settings.json index fdd16017c..dd1d54d14 100644 --- a/repo/js/FullyAutoAndSemiAutoTools/config/settings.json +++ b/repo/js/FullyAutoAndSemiAutoTools/config/settings.json @@ -59,7 +59,7 @@ { "name": "high_level_filtering", "type": "input-text", - "label": "高阶过滤<配置模式 加载 生效>", + "label": "高阶过滤{语法看文档}<配置模式 加载 生效>", "default": "" }, { diff --git a/repo/js/FullyAutoAndSemiAutoTools/main.js b/repo/js/FullyAutoAndSemiAutoTools/main.js index b6a05c5f7..a2755b588 100644 --- a/repo/js/FullyAutoAndSemiAutoTools/main.js +++ b/repo/js/FullyAutoAndSemiAutoTools/main.js @@ -593,7 +593,37 @@ async function loadUidSettingsMap(uidSettingsMap) { templateMatchSettings[templateMatchSettings.length - 1]?.type === "separator") { templateMatchSettings.pop(); } + /** + * 限制连续的分隔符数量不超过3个 + * @param {Array} settings - 设置项数组 + * @returns {Array} 处理后的设置项数组 + */ + function limitConsecutiveSeparators(settings) { + if (!Array.isArray(settings) || settings.length === 0) { + return settings; + } + const result = []; + let consecutiveSeparatorCount = 0; + + for (const item of settings) { + if (item?.type === "separator") { + consecutiveSeparatorCount++; + + // 只有当连续分隔符数量不超过3个时才添加 + if (consecutiveSeparatorCount <= 3) { + result.push(item); + } + } else { + // 遇到非分隔符时重置计数 + consecutiveSeparatorCount = 0; + result.push(item); + } + } + + return result; + } + templateMatchSettings = limitConsecutiveSeparators(templateMatchSettings) // uidSettings.push(levelSettings) // 将更新后的设置写入配置文件 file.writeTextSync(manifest.settings_ui, JSON.stringify(templateMatchSettings)) diff --git a/repo/js/FullyAutoAndSemiAutoTools/settings.json b/repo/js/FullyAutoAndSemiAutoTools/settings.json index fdd16017c..dd1d54d14 100644 --- a/repo/js/FullyAutoAndSemiAutoTools/settings.json +++ b/repo/js/FullyAutoAndSemiAutoTools/settings.json @@ -59,7 +59,7 @@ { "name": "high_level_filtering", "type": "input-text", - "label": "高阶过滤<配置模式 加载 生效>", + "label": "高阶过滤{语法看文档}<配置模式 加载 生效>", "default": "" }, {