用餐过场动画期间保持装备

创作者: lxchhh3
已更新:2026-05-10 16:15:45
4KB

关于此 MOD

《怪物猎人:荒野》的一个小型REFramework Lua模组,可在就餐/村民过场动画中保留猎人身着铠甲的显示效果,原本这些动画会强制将外观替换为内衬服装。
# 用餐过场动画期间保持盔甲着装

一个适用于《怪物猎人:荒野》的REFramework Lua小模组,可在用餐或村民过场动画期间保持猎人的胸甲可见,原本这些过场动画会将装备替换为内衬服装。

## 功能说明

营地/村民的用餐过场动画通常会强制将猎人的全套铠甲(胸部、手臂、腰部、投射器)替换为固定内装,使所有角色在过场中呈现相同外观。本模组阻止了此替换,使您的铠甲保持可见。

- **胸部、手臂、腰部、投掷器**:可见(已装备的护甲保持不变)
- 其他栏位(头盔、护腿、披风):与原版一致
过场动画其他一切正常——动画、对话、镜头、NPC均无异常。

## 需求

怪物猎人:荒野
- **REFramework**([推荐使用每夜版](https://github.com/praydog/REFramework-nightly/releases))

就这样。没有其他依赖项了。

## 安装

### 选项1 — 手动

将zip文件解压至你的游戏文件夹。

这是系统消息,我能处理任何语言的文本。请直接发送待翻译的内容。
<游戏安装目录>/MonsterHunterWilds/
└── reframework/ └── reframework/
    看起来你提供的文本路径似乎不完整,或者可能是粘贴时遗漏了实际需要翻译的游戏文本内容。当前只显示了“└── autorun/”这一部分,这看起来像是一个文件目录或路径名称。 如果“autorun/”是游戏中的UI文本(例如按钮、标签或系统提示),我可以将其翻译为: **自动运行/** 或者,如果它是一个文件夹名称或路径标识,通常保留原样或根据上下文翻译为: **自动执行/** 但为了更准确地符合游戏语境,请提供完整且需要翻译的文本内容。我会根据你给出的实际文本,进行专业的游戏本地化翻译。
        └── keep_armor_on.lua
好的,请提供需要翻译的文本。

`reframework/autorun/` 文件夹由 REFramework 在首次运行时自动创建;若该文件夹不存在,请先安装 REFramework 并启动一次游戏。

### 选项2 — Fluffy Mod管理器

将 `.zip` 文件拖入 Fluffy Mod Manager 的《荒野》模组列表,点击启用。

### 选项3 — 旋涡 / 通用

将模组管理器指向该 `.zip` 文件。压缩包内的路径 (`reframework/autorun/...`) 为标准 REFramework Lua 模组结构。

## 用法

无需任何设置——安装即生效。下次触发用餐过场动画时,你的护甲将保持可见。

在不卸载的情况下关闭此功能:打开 REFramework 菜单(默认按 `Insert` 键)→ **脚本生成 UI** → 展开“Keep Armor On (Meal Cutscene) v1.0” → 取消勾选“阻止就餐过场时切换为内衬”复选框。

## 兼容性与注意事项

- **已在穿着自定义防具的女性猎手身上完成测试。** 该模组的匹配模式(内衬预制体路径中的`/002/100/`)不区分性别,理论上也适用于男性猎手——但尚未经男性猎手实际验证。
- **其他模组**:不修改任何游戏文件,不与护甲/技能/效果类模组冲突。可与骨骼系统、护甲变体管理器等模组同时使用。
- **游戏更新**:该模组按名称查找 `app.mcPlayerPartsBuilder.createPartsGameObject`,并通过稳定路径子串匹配内衣套装。只要卡普空不重命名该方法或移动内衣套装ID,后续版本更新应不会导致模组失效。
- **其他过场动画**:若其他过场动画也使用了 `Female/002/100/`(或 `Male/002/100/`)的内衣套装,本模组同样会将其屏蔽。正常游玩中,仅用餐过场动画会用到此套装。(已在CG画廊中验证)
**在线游玩**:本模组为纯客户端视觉修改,不会改动任何存档数据或游戏文件。理论上可在联机模式下安全使用,但无法保证卡普空未来反篡改机制更新后的兼容性。

## 卸载

从你的游戏文件夹中删除 `reframework/autorun/keep_armor_on.lua`。(或通过你的模组管理器取消勾选/移除。)

## 运作机制(技术说明)

过场动画每次切换时,会调用 5 次 `app.mcPlayerPartsBuilder.createPartsGameObject(...)`。第 4 个参数是一个 `via.Prefab`,其 `get_Path()` 用于标识加载内容:

- 普通护甲:`GameDesign/Equip/_Prefab/Armor/<性别>/<护甲ID>/<变体>/<槽位>/<...>.pfb`
- 过场动画内衬:`GameDesign/Equip/_Prefab/Armor/<gender>/002/100/<slot>/ch03_002_*.pfb`

模组前置钩子检测到预制体路径包含`/002/100/`时返回`SKIP_ORIGINAL`。引擎不会实例化内层衣物部件,因此已加载的护甲部件保持可见状态。过场动画结束时,引擎会尝试重新生成护甲部件(路径不匹配内层样式 → 系统正常通过处理),由于护甲部件从未被销毁,该操作实际不会产生重复效果。

不使用原生钩子,不依赖MinHook,也不涉及二进制地址。直接通过REFramework的`sdk.hook`,基于纯IL2CPP方法名称进行挂钩。

## 制作人员

发现+实施:**lxchhh3**

使用 [REFramework](https://github.com/praydog/REFramework) 模组工具构建。

## 更新日志

**v1.0(2026年5月10日)** — 初始版本发布。
**v1.1(2026年5月11日)** - 现已支持全部四种内衣款式

使用 Xmod 解锁 怪物猎人:荒野 的全部潜力 — 今天就探索这些顶级 MOD!