Repository navigation
Releases: Crystalpiny/KeyTips-5.0BE
Releases · Crystalpiny/KeyTips-5.0BE
Release list
Key Tips 1.1.0 — SPT 5.0BE (IL2CPP) 移植版
Key Tips 1.1.0 ported to SPT 5.0BE (IL2CPP client). Unzip over your SPT 5.0BE folder: KeyTips.Client.dll plus its locales\ folder land in BepInEx\plugins\KeyTips\. Client only, no server part.
把 zip 直接解压到 SPT 5.0BE 根目录即可使用(dll 与 locales\ 一起落到 BepInEx\plugins\KeyTips\),纯客户端、无服务端部分。启动后 BepInEx\LogOutput.log 应出现 KeyTips 1.1.0 loaded (SPT 5.0BE):4/4 个补丁生效。
注意:locales\ 必须和 dll 同级,缺了它提示会退化成英文键名(door_locked 这种)。
Install / 安装
- Unzip over the SPT 5.0BE root (back up an existing
BepInEx\plugins\KeyTips\first); the game must be fully closed while replacing the dll. - Start the game and check
BepInEx\LogOutput.logfor the four补丁 <名字> 已启用lines and4/4 个补丁生效. - In raid: interact with a locked door you have no key for → "锁上了(需要 XXX)"; unlock one with the key → "使用了 XXX (剩余 n/m)"; the last use adds an alert.
验收步骤与判定标准详见仓库 docs/INSTALL.zh.md。
Credits / 致谢
Original Key Tips by HiddenCirno — mod page · source, MIT License. 本版本仅将该作品移植到 SPT 5.0BE 的 IL2CPP 客户端,改动只涉及编译体系与 IL2CPP 适配;「锁着的门告诉你要哪把钥匙 / 钥匙还剩几次」这个想法、四个补丁的语义、提示文案与语言包机制全部归原作者。如果 mod 帮到了你,请到 原 mod 页面 点赞致谢。🙏
What changed vs the 4.1.x original / 相对 4.1.x 原版
- Rebuilt for IL2CPP: netstandard2.1 + BepInEx 5
BaseUnityPlugin.Awake→ net10.0 + BepInEx 6BasePlugin.Load;空的生命周期方法(Start/Update/OnGUI)随 MonoBehaviour 形态一起删除。 [BepInDependency]指向 5.0BE 核心插件 id(com.sptushonka.core5.0.0,原为com.SPT.core4.1.0)。- 补丁改为逐个
CreateClassProcessor().Patch()+ 各自 try/catch 与日志(单个失败不影响其余,日志能直接看出生效几个)。 NotificationManager.DisplayMessageNotification在 5.0BE 只剩 5 参重载(尾参Color?/bool)→ 调用补default, false。LocalizationManager._instance→LocalizationManager.Instance(5.0BE 的公开入口)。- 插件自身 JSON 从游戏内 Newtonsoft 改为托管
System.Text.Json:interop 版 Newtonsoft 的[JsonProperty]不是可用特性类,也无法反射插件里的托管 POCO。 UnlockOperation多出的第三个参数WorldInteractiveObject wio不需要处理:Harmony postfix 按参数名绑定,key/player两名未变。- 删除上游死代码:
GameWorld.OnGameStarted捕获的CorrectPlayer/CorrectGameWorld/CorrectGroupId从未被任何补丁使用;未被引用的ConfigurationManagerAttributes.cs与一串没用到的 csproj 引用一并清理。 - 上游语义原样保留:提示文案、语言包格式、
i18n()语法糖、钥匙名回退到模板 Id 的逻辑,以及「普通门需__result.Error非空才提示、刷卡门不判 Error」的条件。
Full notes: docs/PORTING-NOTES.zh.md.
Status / 状态
- 静态校验:四个补丁目标在 5.0BE interop 全部命中;
Door未重写UnlockOperation,故基类 +KeycardDoor两处即覆盖全部门类;游戏 API 引用 0 缺失,0 警告 0 错误编译通过。 - 实机验收待做 —— 本次移植没有进战局跑过,请按安装清单第 2、3 步确认。
- 已知:bot 用钥匙开门同样会弹提示(上游 4.1 的原有行为,移植未擅自加过滤);Fika 联机未测试。