优化说明 (#2140)

* Add files via upload

优化说明

* Add files via upload
This commit is contained in:
吉吉喵
2025-10-14 18:57:41 +08:00
committed by GitHub
parent ee950f3c6c
commit 812f308c97
2 changed files with 84 additions and 33 deletions

View File

@@ -1,6 +1,36 @@
# 背包材料统计 v2.5
# 背包材料统计 v2.52
作者:吉吉喵
<!-- 新增:全局图片样式,控制连续图片同行显示 -->
<style>
/* 1. 同行图片容器解决Flex拉伸问题 */
.img-row-container {
display: flex;
flex-wrap: wrap; /* 宽度不足时自动换行,避免挤压 */
gap: 15px; /* 图片间距,避免紧贴 */
justify-content: center; /* 整体居中,优化排版 */
align-items: flex-start; /* 关键!禁止垂直拉伸,图片按自身高度排列 */
margin: 15px 0;
max-width: 100%; /* 避免容器超宽,适配编辑器宽度 */
}
/* 2. 图片核心样式满足「X200px不缩放+等比例」 */
.auto-scale-img {
/* 小图保护宽度200px时保持原始尺寸不被拉伸 */
width: auto; /* 禁止强制宽度,优先用原始宽度 */
max-width: 100%; /* 小图200px宽度=原始宽度 */
/* 大图缩放宽度≥200px时最大缩至600px可自定义 */
min-width: auto; /* 排除最小宽度限制 */
max-width: 600px; /* 大图最大宽度,超过则等比例缩小 */
/* 比例锁定:无论何种布局,都保持原始宽高比 */
height: auto !important; /* 强制高度自动适配,覆盖所有拉伸样式 */
object-fit: contain; /* 极端情况(如容器强制固定高度)下,确保图片完整且比例不变 */
display: block; /* 避免图片下方多余空白 */
}
</style>
## 一、简介
可统计背包内养成道具、部分食物、素材的数量并根据「设定目标数量」「材料刷新CD」自动执行挖矿、采集、刷怪等路径。
@@ -10,6 +40,7 @@
2. **灵活路径管理**:支持自定义添加路径,自动排除低效/无效路径;
3. **独立名单识别**不与路边NPC、神像交互可自定义识别名单操作见「四、问题解答」
4. **实时弹窗保护**:内置弹窗模块(覆盖路边信件、过期物品、月卡、调查等场景),运行时全程保护路径不被弹窗干扰。
5. **自动黑名单**:内置拾取模块,联动材料统计,可识别爆满的路径材料,自动屏蔽。
## 二、用前须知
@@ -21,10 +52,12 @@
### 3.1 基础教程(路径配置)
#### 步骤1订阅路径文件
在仓库中订阅所需的路径文件,参考以下截图操作:
- 截图1![](assets/Pic/Pic06.png)
- 截图2![](assets/Pic/Pic09.png)
- 截图3![](assets/Pic/Pic11.png)
- 截图4![](assets/Pic/Pic04.png)
<div class="img-row-container">
<img src="assets/Pic/Pic06.png" alt="订阅路径文件操作截图1" class="img-row-item">
<img src="assets/Pic/Pic09.png" alt="订阅路径文件操作截图2" class="img-row-item">
<img src="assets/Pic/Pic11.png" alt="订阅路径文件操作截图3" class="img-row-item">
<img src="assets/Pic/Pic04.png" alt="订阅路径文件操作截图4" class="img-row-item">
</div>
#### 步骤2复制路径到目标文件夹
1. 打开**路径源文件夹**(存放订阅的路径文件):
@@ -42,7 +75,10 @@
```
#### 步骤2关键注意点
- 手动删除重复路径(例如“萃凝晶”可能存在多个重复路径,需手动清理),参考截图:![](assets/Pic/Pic01.png)
- 手动删除重复路径(例如“萃凝晶”可能存在多个重复路径,需手动清理),参考截图:
<div class="img-row-container">
<img src="assets/Pic/Pic01.png" alt="删除重复路径参考截图" class="img-row-item">
</div>
- `pathing` 文件夹仅支持**3层子文件夹**若超过3层需手动削减否则无法读取
- 推荐优先配置「枫丹水下」路径:无队伍要求,但需提前开启水下锚点。
@@ -52,16 +88,22 @@
| 分组名称 | 适配队伍组合 | 适用场景 | 特殊说明 |
|------------------------|-----------------------------------|---------------------------|-----------------------------------|
| 背包统计采集组(生存队) | 迪希雅 + 芭芭拉 + 瑶瑶 + 草神 | 常规材料采集 | 无草神时需批量搜索路径中“nahida_collect”并排除 |
| 背包统计刷怪组 | 火神 + 奶奶 + 钟离 + 万叶 | 挂机刷怪(获取怪物材料) | 确保队伍输出足够,能高效清理怪物 |
| 背包统计附魔材料组 | 钟离 + 芭芭拉 + 久岐忍 + 砂糖/班尼特 | 附魔类采集(需特定附魔) | 适配需附魔才能获取的材料路径 |
| 背包统计刷怪组 | 火神 + 奶奶 + 钟离 + 万叶 | 挂机刷怪(获取怪物材料、含战斗的采集 | 确保队伍输出足够,能高效清理怪物 |
| 背包统计附魔材料组 | 钟离 + 芭芭拉 + 久岐忍 + 砂糖/班尼特 | 附魔类采集(需特定附魔) | 根据材料路径需求选择附魔角色,有战斗则增加输出角色 |
分组示例参考截图:![](assets/Pic/Pic03.png)
无草神时排除路径操作参考截图:![](assets/Pic/Pic05.png)
分组示例与无草神排除路径操作截图:
<div class="img-row-container">
<img src="assets/Pic/Pic03.png" alt="队伍分组管理路径示例截图" class="img-row-item">
<img src="assets/Pic/Pic05.png" alt="无草神时排除路径操作截图" class="img-row-item">
</div>
#### 步骤4打开脚本自定义设置
1. 找到「背包材料统计.js」文件
2. 右键点击该文件选择「JS 修改脚本自定义设置」;
3. 操作参考截图:![](assets/Pic/Pic02.png)
1. 找到配置组内已添加的「背包材料统计」JS
2. 右键点击该文件,选择「修改JS 脚本自定义设置」;
3. 操作参考截图:
<div class="img-row-container">
<img src="assets/Pic/Pic02.png" alt="打开脚本自定义设置操作截图" class="img-row-item">
</div>
### 3.2 JS 自定义设置(核心配置项)
@@ -71,7 +113,7 @@
| 2. 优先级材料 | 无视“目标数量”限制,直接纳入执行序列顶层(最高优先级) | 填写当前急需材料(例:“虹滴晶”“巡陆艇”) |
| 3. 时间成本 | 当一个路径有3-5次运行记录后自动计算“单材料获取时间”超过30秒则跳过该路径 | 保持默认30秒即可无需频繁修改可过滤低效路径 |
| 4. 发送通知 | ① 每类材料跑完通知一次;② 全部材料跑完汇总通知一次需开启BGI通知 | 建议开启,方便实时了解进度(接收端如企业微信需自行配置) |
| 5. 取消扫描 | 取消“每个路径执行后”的背包扫描,仅保留“全部执行前/后”2次扫描 | 路径记录足够多时开启,可节约运行时间 |
| 5. 取消扫描 | 取消“每个路径执行后”的背包扫描,仅保留“全部执行前/后”2次扫描 | 有效路径记录达3条以上时可以开启,可节约运行时间 |
| 6. 仅 pathing 材料 | 仅扫描 `pathing` 文件夹内的材料,跳过其他分类,大幅缩短扫描时间 | 路径配置完成后开启,提升脚本运行效率 |
| 7. 弹窗名 | 不填则默认循环执行 `assets\imageClick` 文件夹下所有弹窗;填写则仅执行指定弹窗 | 推荐默认,需单独适配某类弹窗时填写(例:仅处理月卡弹窗则填:月卡) |
| 8. 采用的 CD 分类 | 仅执行 `materialsCD` 文件夹内配置的材料路径支持新增CD分类txt | 新增材料时需在该文件夹同步配置CD规则操作见「四、问题解答4」 |
@@ -79,51 +121,59 @@
## 四、注意事项
1. **禁止联机请求**联机请求会遮挡背包菜单导致材料识别失败。建议在本脚本前添加「AutoPermission」权限设置JS仓库可查自动禁止联机;
1. **禁止联机请求**联机请求会遮挡背包菜单导致材料识别失败。建议在本脚本前添加「AutoPermission」权限设置JS仓库可查默认禁止联机;
2. **文件夹层级限制**`pathing` 文件夹仅支持3层子文件夹超过需手动削减否则路径无法读取
3. **食物识别强制要求**:背包食物界面**第一行必须包含8种食物**(苹果、日落果、星蕈、活化的星蕈、枯焦的星蕈、泡泡桔、烛伞蘑菇、美味的宝石闪闪),缺少则这些食物无法识别;
4. **关键文件备份**:定期备份 `pathing` 文件夹(路径文件)和 `pathing_record` 文件夹(路径运行记录),丢失后需重新配置/统计
4. **关键文件备份**建议不定期备份 `pathing` 文件夹(路径文件)和 `pathing_record` 文件夹(路径运行记录),便于丢失后或记录被污染后恢复如初
## 五、问题解答
### Q1如何排除不想要的路径
A1. 打开 `pathing` 文件夹(脚本路径:`BetterGI\User\JsScript\背包材料统计\pathing`
2. 直接删除/移走目标材料/怪物的路径文件夹;
3. **注意**:不要将路径文件放入 `targetText` 或 `materialsCD` 文件夹(这两个文件夹默认全部读取,会被更新覆盖)。
3. **注意**:不要将路径文件放入 `targetText` 或 `materialsCD` 文件夹(这两个文件夹默认全部读取,增加负担;② 也不安全,会被更新覆盖)。
### Q2如何增减识别名单?
### Q2如何自定义识别名单?
A1. 打开 `targetText` 文件夹(脚本路径:`BetterGI\User\JsScript\背包材料统计\targetText`
2. 新建/编辑txt文件按格式填写`自定义名称:目标1,目标2`(英文冒号+英文逗号,例:“新材料:霜盏花,便携轴承”);
2. 新建/编辑txt文件按格式填写`自定义名称:目标1,目标2`(英文冒号+英文逗号,例:“新材料:霜盏花,便携轴承,”);
3. 若需排除怪物掉落材料:找到“掉落.txt”删除对应材料名即可
4. 操作参考截图:
- 截图1![](assets/Pic/Pic12.png)
- 截图2![](assets/Pic/Pic10.png)
<div class="img-row-container">
<img src="assets/Pic/Pic12.png" alt="自定义识别名单操作截图1" class="img-row-item">
<img src="assets/Pic/Pic10.png" alt="自定义识别名单操作截图2" class="img-row-item">
</div>
### Q3如何识别不规范命名的路径文件夹如“纳塔食材一条龙”“果园.json”
A将不规范的文件夹/文件,放入**适配的材料文件夹**中即可路径CD由“所在材料文件夹”决定
例:“果园.json”放入“苹果”文件夹将按“苹果”的CD规则执行。
### Q4如何识别自带CD文件中没有的材料如新材料、新木头
### Q4如何添加新材料
A1. 打开 `materialsCD` 文件夹(脚本路径:`BetterGI\User\JsScript\背包材料统计\materialsCD`
2. 新建/编辑txt文件按格式填写`CD规则材料1材料2`(中文冒号+中文逗号CD规则参考自带文件“1次0点月落银宿影花”
3. **关键要求**路径文件夹名、材料图片名必须与“材料1/2”完全一致多层文件夹默认读取最外层名文件夹);
2. 新建/编辑txt文件按格式填写`CD规则材料1材料2`(中文冒号+中文逗号CD规则参考自带文件“1次0点月落银宿影花”)`材料1`或`材料2`将会作为标准名
3. **关键要求**路径文件夹名、材料图片名必须与“材料12”完全一致多层文件夹默认读取最外层标准名文件夹);
4. 操作参考截图:
- 截图1![](assets/Pic/Pic07.png)
- 截图2![](assets/Pic/Pic08.png)
<div class="img-row-container">
<img src="assets/Pic/Pic07.png" alt="添加新材料操作截图1" class="img-row-item">
<img src="assets/Pic/Pic08.png" alt="添加新材料操作截图2" class="img-row-item">
</div>
### Q5如何避免每次路径执行后扫描背包?
A在「JS自定义设置」中勾选“取消扫描”保留“全部材料执行始/末”的2次扫描,节约时间)。
### Q5如何取消路径执行后扫描背包?
A在「JS自定义设置」中勾选“取消扫描”依旧会保留“全部材料执行始/末”的2次扫描
### Q6扫描背包少一行、拖动距离异常怎么办
A在「JS自定义设置」中调整“拖动距离”直到“一次划页仅显示≤4行材料”拖动点建议选第5行材料附近
A在「JS自定义设置」中调整“拖动距离”推荐“一次划页稍小于4行材料的距离拖动点建议选第5行材料附近
### Q7本地记录保存在哪里
A记录文件夹位于 `BetterGI\User\JsScript\背包材料统计\` 下,各文件功能如下:
- `overwrite_record`:所有历史记录(按材料分类储存);
- `history_record`:勾选“材料分类”后的专属记录;
- `latest_record.txt`:最近几种材料的记录(有上限,仅存最新数据);
- `pathing_record`:单个路径的完整记录(含运行时间、收获量,需重点备份);
操作参考截图:![](assets/Pic/Pic13.png)
- `pathing_record`:单个路径的完整记录(含运行时间、收获量,需重点备份),材料收集汇总.txt始末差值记录标准名-0.txt0收获记录
操作参考截图:
<div class="img-row-container">
<img src="assets/Pic/Pic13.png" alt="本地记录存放位置参考截图" class="img-row-item">
</div>
## 六、后言
@@ -157,4 +207,4 @@ A记录文件夹位于 `BetterGI\User\JsScript\背包材料统计\` 下,各
| v2.41 | 修复“勾选分类的本地记录”bug新增“仅背包统计”选项补充记录损坏处理说明 |
| v2.42 | 新增“无路径间扫描”“noRecord模式”适合成熟路径新增怪物材料CD文件 |
| v2.50 | 新增独立名单拾取、弹窗模块;支持怪物名识别 |
| v2.51 | 自定义设置新增“拖动距离/拖动点”新增月卡弹窗识别路径材料9999自动黑名单修复怪物0收获记录 |
| v2.51 | 自定义设置新增“拖动距离/拖动点”;新增月卡弹窗识别;路径材料9999自动黑名单修复怪物0收获记录 |

View File

@@ -192,7 +192,7 @@ async function alignAndInteractTarget(targetTexts, fDialogueRo, textxRange, text
for (let targetText of targetTexts) {
let targetResult = ocrResults.find(res => res.text.includes(targetText));
if (targetResult) {
log.info(`找到目标文本: ${targetText}`);
// log.info(`找到目标文本: ${targetText}`);
// 生成唯一标识并更新识别计数(文本+Y坐标
const materialId = `${targetText}-${targetResult.y}`;
@@ -204,6 +204,7 @@ async function alignAndInteractTarget(targetTexts, fDialogueRo, textxRange, text
if (recognitionCount.get(materialId) >= 1) {
keyPress("F"); // 执行交互操作
// log.info(`F键执行成功识别计数: ${recognitionCount.get(materialId)}`);
log.info(`交互或拾取: ${targetText}`);
// F键后清除计数确保单次交互
recognitionCount.delete(materialId);