refactor(js): AutoFriendshipFight 2.0.0 重构合入,修复 V8 弹窗报错与内存溢出 (#3207)

This commit is contained in:
火山
2026-05-11 14:40:41 +08:00
committed by GitHub
parent 489f09a488
commit ac0a23ee1d
5 changed files with 721 additions and 1528 deletions

View File

@@ -1,4 +1,7 @@
### 作者[秋云](https://github.com/physligl)
### 作者
- [秋云](https://github.com/physligl)(原作者)
- 火山
- 莫酱
> 自动化刷取角色好感度的脚本,支持盗宝团、愚人众、鳄鱼等敌人类型(蕈兽与雷萤术士为测试项)。通过自动触发和完成突发任务来获得好感度经验。
@@ -19,7 +22,7 @@
- **日限制**: 每日最多获得10次好感度奖励50次任务触发在别的地方触发过好感任务会扣减相应次数。
- **循环上限**: 单次运行最多50次循环自动检测好感任务触发不再触发时自动结束。
- **循环控制**: 运行次数由 `runTimes` 控制;若未触发任务或满足提前终止条件会自动结束。
- **平均时长**: 每次循环约1分钟效率高时可以达到40秒单次循环。
- **成功率**: 配置正确的情况下接近98%,有概率丢失第一次好感任务。
@@ -66,7 +69,7 @@
- **练度要求**: 建议较高练度,纯好感队可能无法击败敌人
- **重要设置**:
- 默认:❌ 关闭"自动检测战斗结束"
- 若勾选“禁用异步战斗(更稳定)”:✅ 需要开启并正确配置"自动检测战斗结束"
- 若勾选“禁用异步战斗(更稳定)”:✅ 需要开启并正确配置"自动检测战斗结束"(对所有敌人生效)
- **推荐队伍配置**
> 基于社区测试的高效角色推荐,其他效率高的角色欢迎通过 pull request 添加到本文档,需附带理由和演示视频。
@@ -80,15 +83,16 @@
#### **脚本设置**
> 通过调度器脚本右键-修改JS自定义配置
- 拾取模式
- 缺对应材料时,建议选用:自动拾取
- 不缺对应材料时,建议选用:不拾取
- 避免每天运行,拾取過多不能分解的掉落物,导至不能分解的掉落物逹致上限
- 敌人类型: 选择"盗宝团"或"愚人众"
- 运行次数: 10次或者50次
- 目标是好感选择10次
- 目标是锄地摩拉选择50次
- 目标是掉落物暂时不支持
- 禁用自动拾取实时任务(`disablePickup`
- 不勾选:启用自动拾取(默认)
- 勾选:禁用自动拾取
- 敌人类型: 支持"盗宝团"、"愚人众"、"鳄鱼"、"蕈兽"、"雷萤术士"
- 运行次数:
- 请输入正整数默认10次
- 刷好感通常建议 10 次以内,避免超过每日奖励上限
- 清理丘丘人超时时间(`qiuQiuRen`,秒)
- 默认 0不执行
- 仅盗宝团有效,填入大于 0 的秒数后会先执行清理阶段
- 队伍名称:
- 填入您的战斗队伍名称
- 不填默认当前队伍
@@ -101,9 +105,9 @@
- 单次战斗超时时间默认120秒
- 战斗超时会直接取消任务,因此不建议过短
- 脚本会自动检测任务结束,识别精度很高
- 禁用异步战斗(更稳定;需配置“战斗结束检测”;对所有敌人生效)
- 依赖“自动检测战斗结束”退出战斗
- 开启后包括盗宝团在内的所有敌人都走同步战斗模式
- 禁用异步战斗(更稳定;需配置“战斗结束检测”;对所有敌人生效)
- 开启后统一走同步战斗执行分支
- 关闭时走异步战斗 + OCR 判定分支
#### 一键运行
配置完成后,直接运行脚本即可开始自动刷取好感度。
@@ -227,10 +231,7 @@
| 版本 | 更新内容 |
|------|----------|
| **v1.5.8** | 稳定性与规范性优化:统一截图托管与退出清理,补强异步战斗收口;禁用异步战斗对所有敌人生效;路径统一为 `assets/`,代码风格与注释同步整理 |
| **v1.5.7** | 退出清理阶段补充释放模板匹配对象并延长宽限期,进一步降低宿主侧异步回调访问已释放对象的概率 |
| **v1.5.6** | 移除游泳统计持久化与相关配置,减少运行期写文件干扰;资源路径统一为 `assets/` |
| **v1.5.5** | 稳定性提升:退出释放资源后增加短延时,降低 ObjectDisposedException 概率;战斗任务清理逻辑优化,避免清理阶段卡住 |
| **v2.0.0** | `main.js` 重构版本:重点修复 V8 弹窗报错与内存溢出问题;统一敌人配置驱动与主循环流程;“禁用异步战斗”明确为对所有敌人生效;移除卡时间功能及相关配置入口 |
| **v1.5.3** | 稳定性提升:资源释放更完整;盗宝团游泳统计仅在盗宝团启用;“禁用异步战斗”增加超时保护避免卡死;设置说明更易懂 |
| **v1.4.2** | 新增拾取模式,能选择不拾取 |
| **v1.3** | 新增愚人众支持,优化敌人类型切换 |

View File

@@ -31,8 +31,7 @@
"y": -3450.83,
"type": "path",
"move_mode": "dash",
"action": "fight",
"action_params": ""
"action": ""
}
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 1,
"name": "战斗好感:自动好感度&卡时间",
"version": "1.5.8",
"name": "战斗好感:自动好感度",
"version": "2.0.0",
"bgi_version": "0.45.1",
"tags": [
"好感",
@@ -11,11 +11,19 @@
"鳄鱼",
"兽肉"
],
"description": "通过战斗类突发事件刷好感度,盗宝团、愚人众材料,概率掉落兽肉,小怪锄地,卡时间等,请配合战斗策略使用。盗宝团部分在 HZYgrandma & 愚溪的原始脚本上改编。当前版本可能无法以任意方式拾取掉落物,如果有拾取掉落物需求,请勿更新。",
"description": "通过战斗类突发事件自动刷好感度,支持盗宝团、愚人众、鳄鱼、蕈兽、雷萤术士等路线,请配合战斗策略使用。",
"authors": [
{
"name": "秋云",
"links": "https://github.com/physligl"
},
{
"name": "火山",
"links": "https://github.com/RRRR623"
},
{
"name": "mno",
"links": "https://github.com/Bedrockx"
}
],
"settings_ui": "settings.json",

View File

@@ -1,9 +1,8 @@
[
{
"name": "pickupMode",
"name": "disablePickup",
"type": "checkbox",
"label": "是否启用自动拾取实时任务",
"default": true
"label": "用自动拾取实时任务"
},
{
"name": "enemyType",
@@ -20,8 +19,9 @@
},
{
"name": "qiuQiuRen",
"type": "checkbox",
"label": "是否清理丘丘人\n【默认,仅对盗宝团有效,选是会清理丘丘人之后再开始任务】"
"type": "input-text",
"label": "清理丘丘人超时时间(秒)\n【默认0不执行,仅对盗宝团有效,超出时间自动结束清理】",
"default": "0"
},
{
"name": "disableAsyncFight",
@@ -52,12 +52,12 @@
"name": "ocrTimeout",
"type": "input-text",
"label": "OCR超时时间\n【选填默认为10秒如果经常提前判定未识别到任务请适当调大】",
"default": 10
"default": "10"
},
{
"name": "fightTimeout",
"type": "input-text",
"label": "战斗超时时间\n【选填默认为120秒】",
"default": 120
"default": "120"
}
]