From 8adfeea5ce48fbe96e18f82b0b9f5b9fa5ad8aa7 Mon Sep 17 00:00:00 2001 From: JJMdzh Date: Tue, 20 May 2025 01:28:01 +0800 Subject: [PATCH] =?UTF-8?q?js=EF=BC=8C=E8=83=8C=E5=8C=85=E6=9D=90=E6=96=99?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E4=BF=AE=E5=A4=8Dbug=20(#875)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add files via upload * Delete repo/js/背包材料统计/pathing directory * Add files via upload --- repo/js/背包材料统计/README.md | 71 +++++++++++++++++++ repo/js/背包材料统计/main.js | 19 ++--- repo/js/背包材料统计/manifest.json | 6 +- .../{该目录放置路径 => 该目录放置路径文件夹} | 0 repo/js/背包材料统计/settings.json | 2 +- 5 files changed, 85 insertions(+), 13 deletions(-) create mode 100644 repo/js/背包材料统计/README.md rename repo/js/背包材料统计/pathing/{该目录放置路径 => 该目录放置路径文件夹} (100%) diff --git a/repo/js/背包材料统计/README.md b/repo/js/背包材料统计/README.md new file mode 100644 index 00000000..9a21b425 --- /dev/null +++ b/repo/js/背包材料统计/README.md @@ -0,0 +1,71 @@ +// ==UserScript== +// @name 背包材料统计 +// @version 2.24 +// @description 识别路径文件,根据材料数量,自动执行路线,或者主动选择材料类别,统计材料数量 +// @author 吉吉喵 +// @match 原神版本:5.6;BGI 版本:0.44.8 +// ==/UserScript== + +/** + * === 重要免责声明 === + * 1. 使用风险 + * - 本脚本为开源学习项目,禁止用于商业用途或违反游戏条款的行为。 + * - 滥用可能导致游戏账号封禁,开发者不承担任何直接或间接责任。 + * + * 2. 责任限制 + * - 本脚本按“现状”提供,不承诺兼容性、安全性或功能完整性。 + * - 因使用本脚本导致的账号、数据、设备损失,开发者概不负责。 + * + * 3. 禁止条款 + * - 严禁逆向工程、恶意篡改或用于外挂等非法用途。 + * - 如游戏运营商提出要求,开发者保留随时停止维护的权利。 + * + * 使用即表示您已阅读并同意上述条款。 + * + * Last Updated: 2025-05-19 + */ +# 背包材料统计 + +## 简介: +背包材料统计,可统计背包养成道具、部分食物、素材的数量,并保存本地;还可根据设定数量,自动根据CD执行采集路径。 + +## 文件结构 + +./📁BetterGI/📁User/📁JsScript/ +📁背包材料统计/ + 📁pathing/ + 📁 薄荷/ + 📄 薄荷1.json + 📁 薄荷效率/ + 📄 薄荷-吉吉喵.json + 📁 苹果/ + 📄 旅行者的果园.json + 📁history_record/ 背包统计 自动生成,每类的历史记录(每类中旧纪录上限为365个) + 📁overwrite_record/ 背包统计 自动生成,每类的最新一次记录 + 📁pathing_record/ 自动生成,路径运行时间记录 + 📁materialsCD/ 路径CD管理 自带的CD文件 + 📄 latest_record.txt 背包统计 自动生成,最新一次统计 + 📁assets 图包 + +## 使用方法 +1. 将脚本添加至调度器。 +2. 右键点击脚本以修改JS自定义配置。 +3. 执行路径功能,需要📁pathing有路径文件夹 +## 后言 +本脚本目前处于测试阶段,欢迎反馈问题至 QQ频道号: bettergiv1。 + +## 更新日志 ++ v0.1 OCR名单 输出图片名和材料名 ++ v1.0图包(素材) ++ v1.1 图包(素材+养成道具) ++ v1.2 识图分类 ++ v1.3 加速寻找(前位材料识别) ++ v1.31本地保存调整 ++ v1.32 新增后位材料识别 ++ v2.0 多组材料多个分类 开发版 - 前、后位材料识别 ++ v2.1 CD管理版 ++ v2.2 路径顺序 材料数量优化 ++ v2.21 储存路径修改 ++ v2.22 精简log ++ v2.23 优化部分函数 ++ v2.24 修复不能空路径使用背包统计功能等bug diff --git a/repo/js/背包材料统计/main.js b/repo/js/背包材料统计/main.js index d7017be3..133f07e4 100644 --- a/repo/js/背包材料统计/main.js +++ b/repo/js/背包材料统计/main.js @@ -1019,28 +1019,29 @@ function matchImageAndGetCategory(resourceName, imagesDir) { // 从路径文件中提取材料名 const resourceNames = pathEntries - .map(entry => entry.resourceName) - .filter(name => name); + ?.map(entry => entry.resourceName) + .filter(name => name) || []; // 确保 resourceNames 是一个数组 // 生成材料与分类的映射对象 const materialCategoryMap = resourceNames.reduce((acc, resourceName) => { const category = matchImageAndGetCategory(resourceName, imagesDir); // 获取材料的分类 if (category) { - // 初始化分类键(如果不存在) + // 初始化分类键(如果不存在) if (!acc[category]) acc[category] = []; // 将材料名加入对应分类数组(避免重复) if (!acc[category].includes(resourceName)) { acc[category].push(resourceName); } } - // 检查是否需要初始化选中的分类 - selected_materials_array.forEach(selectedCategory => { - if (!acc[selectedCategory]) { - acc[selectedCategory] = []; - } - }); return acc; }, {}); + + // 确保 selected_materials_array 中的分类被初始化为空数组 + selected_materials_array.forEach(selectedCategory => { + if (!materialCategoryMap[selectedCategory]) { + materialCategoryMap[selectedCategory] = []; + } + }); // log.info(JSON.stringify(materialCategoryMap, null, 2)); // 调用背包材料统计 diff --git a/repo/js/背包材料统计/manifest.json b/repo/js/背包材料统计/manifest.json index e9a84818..7230ba28 100644 --- a/repo/js/背包材料统计/manifest.json +++ b/repo/js/背包材料统计/manifest.json @@ -1,9 +1,9 @@ { "manifest_version": 1, - "name": "背包材料统计 ", - "version": "2.23", + "name": "背包材料统计", + "version": "2.24", "bgi_version": "0.44.8", - "description": "默认四行为一页;模板匹配材料,OCR识别数量。\n数字太小可能无法识别,用?代替。\n目前支持采集路线。\n材料种类数量或导入js本地\n图包文件夹images放入assets下\n链接:https://share.weiyun.com/DVBGMPzU 密码:sg7avi", + "description": "默认四行为一页;模板匹配材料,OCR识别数量。\n数字太小可能无法识别,用?代替。\n目前支持采集路线。\n材料种类数量或导入js本地\n图包文件夹images放入assets下\nv2.24修复不能空路径使用背包统计功能等bug", "authors": [ { "name": "吉吉喵" diff --git a/repo/js/背包材料统计/pathing/该目录放置路径 b/repo/js/背包材料统计/pathing/该目录放置路径文件夹 similarity index 100% rename from repo/js/背包材料统计/pathing/该目录放置路径 rename to repo/js/背包材料统计/pathing/该目录放置路径文件夹 diff --git a/repo/js/背包材料统计/settings.json b/repo/js/背包材料统计/settings.json index 43f0b020..2329318a 100644 --- a/repo/js/背包材料统计/settings.json +++ b/repo/js/背包材料统计/settings.json @@ -12,7 +12,7 @@ { "name": "unselected", "type": "checkbox", - "label": "=============\n反选材料分类" + "label": "上2项可不填\n=============\n反选材料分类" }, { "name": "Smithing",