You are viewing a potentially older version of this package. View all versions.
HawChow-ItemMarkerProMax-1.0.2 icon

ItemMarkerProMax

独立资源与物品标记:只装 BepInEx 即可使用,并与原版 ItemMarker / ResourceHelper 的资源显示兼容。

Date uploaded 5 days ago
Version 1.0.2
Download link HawChow-ItemMarkerProMax-1.0.2.zip
Downloads 15
Dependency string HawChow-ItemMarkerProMax-1.0.2

This mod requires the following mods to function

BepInEx-BepInExPack_GTFO-3.2.3 icon
BepInEx-BepInExPack_GTFO

BepInEx pack for GTFO. Preconfigured and includes Unity Base DLLs.

Preferred version: 3.2.3

README

ItemMarkerProMax 1.0.1

基于 Hikaria 的 ItemMarker 改造的 GTFO 物品标记 MOD:移除原版运行所需的其他 MOD 前置,保留发现后的资源、消耗品、任务物品和设备标记。

公开发布版(1.0.1 已修复卡顿)。 已通过 Release 构建、自动化回归、独立游戏加载,以及与原版 ResourceHelper 3.0.1、原版 ItemMarker 1.1.0 全依赖栈(含其自身要求的 GTFO-API 0.5.1)的同机共存加载;关卡内图标/去重/检查点实测和双客户端双向共享仍在验证中。

反馈渠道:qingju.me | 开黑语音频道:小黑盒语音(详见文末)

功能

  • 只需要 BepInExPack_GTFO 3.2.3,不要求安装 TheArchive、Hikaria.Core、DropItem、GTFO-API、ItemMarker 或 ResourceHelper。
  • 显示已发现物品的原生标记,按配置显示名称、剩余使用次数和距离;消耗品可使用随包提供的自定义图标。
  • 保留终端、发电机、HSU、舱门控制器、消毒站和安全门需求提示。
  • 按游戏实际同步状态隐藏已拾取/已使用物品,支持物品重新放下与关卡中后生成物品。
  • 接入原生 Ping、箱柜打开状态以及队友位置扫描,不创建私有网络协议,不改变资源生成、容量或拾取规则。
  • 自定义图标在原生样式设置之后应用,避免样式重设覆盖图标;检查点按缓冲区分别保存发现状态。

共享与兼容范围

目标组合为 ProMax ↔ ProMax、ProMax ↔ ItemMarker 1.1.0、ProMax ↔ ResourceHelper 3.0.1。共同支持的资源类型仍受各自显示距离、遮挡、淡出和发现规则限制,不要求三端画面完全一致。

旧版 MOD 没有广播“我屏幕上新增了某个图标”的消息:它们主要根据已经同步的玩家位置、开箱与原生 Ping,在每个客户端推断发现状态。ProMax 接入了这两套入口,但仅通过代码检查不能证明全部本地发现一定双向一致。尤其旧版本地/远端扫描半径不同,边缘发现和视角差异可能导致一端可见、另一端尚未发现。原生中键 Ping 是共同入口,但 ResourceHelper 的 Ping 主要延长已有标记的显示距离,不能保证创建从未发现的资源图标。完整双向兼容仍需要联机验证;在不修改旧版的边界内,添加一个前置也不能让旧版自动发送它不存在的发现广播。

同机同时安装原版 ItemMarker 或 ResourceHelper 时,CoordinateLegacyIcons = true 会在对应旧版资源图标实际可见时暂时隐藏 ProMax 的重复图标,不修改或禁用旧版补丁。只适配这两个指定版本的注册表;检查间隔为 0.2 秒,边沿切换可能有短暂交叠。若三者同时安装,原版 ItemMarker 与 ResourceHelper 互相重复的图标不由 ProMax 删除。

原版 ItemMarker 自己的依赖必须正常安装并加载 —— 实测其 Hikaria.Core 在游戏内还要求 GTFO-API(BepInEx 插件 GUID dev.gtfomodding.gtfo-api,本机 0.5.1),而该发布包清单没有声明它。这些是原版的依赖,不是 ProMax 的前置;缺任一依赖时原版模块不会加载,与 ProMax 无关。DropItemEverywhere 也不是本版本的必需依赖;放下物品后标记读取游戏已有的放置同步状态。

安装

  1. 安装适合 GTFO 的 BepInExPack_GTFO 3.2.3,启动一次游戏生成框架文件后退出。
  2. 将本包中的 BepInEx 文件夹合并到 GTFO 游戏根目录。插件应位于 BepInEx/plugins/ItemMarkerProMax/ItemMarkerProMax.dll,同级保留 Assets、Settings。
  3. 重启游戏。在 BepInEx/LogOutput.log 中确认出现 ItemMarkerProMax 1.0.0 loaded; BepInEx-only。
  4. 接近物品、打开箱柜或使用游戏原生中键 Ping 触发发现。卸载时退出游戏,仅移除 BepInEx/plugins/ItemMarkerProMax 目录。

本次交付未向真实游戏目录自动安装插件;包管理器可使用“导入本地 MOD”选择 ZIP。

配置

  • BepInEx 配置:BepInEx/config/QingJu.ItemMarkerProMax.cfg。
  • 同机资源图标协调:[Compatibility] CoordinateLegacyIcons = true。改为 false 保留独立 ProMax 图标,重启生效。
  • 物品定义:BepInEx/plugins/ItemMarkerProMax/Settings/ItemInLevelMarkerDefinitions.json。可配置名称、颜色、图标、显示距离、透明度和 Ping 保留时间,重启生效。
  • 新的自定义关卡物品未出现在 JSON 时,按游戏物品槽位使用默认标记。不自动导入 ResourceHelper 的 ExtraResourceHelper 配置。

更新日志

1.0.0 — 2026-10-14

  • 改为独立 BepInEx IL2CPP 插件,使用不同的 GUID:QingJu.ItemMarkerProMax。
  • 移除 TheArchive/Hikaria.Core/DropItem 的运行时引用。
  • 增加旧版发现入口与原生 Ping 后置观察,保留原生网络事件处理。
  • 增加同机旧版资源图标协调、周期补建和失败初始化重试。
  • 修正实时数量、拾取隐藏、原生事件解绑、自定义图标覆盖顺序和多缓冲检查点快照。
  • 当前仍未完成关卡及双客户端兼容实测;不以无头加载通过替代这些验证。

反馈与开黑

反馈请附游戏版本、ProMax 版本、安装的旧 MOD 版本、是否房主、触发步骤与相关错误日志。不要发送账号凭据或完整私人日志。

署名与授权状态

上游:Hikaria / Mamizu1028,项目 GTFO_ItemMarker,研究源码 commit 5b147221326d48402a874e2f625c63f6ef15b871。保留了上游设备标记实现、部分物品配置及消耗品图标。ResourceHelper 的协议/行为由 Localia ResourceHelper 3.0.1 发布包核对,不包含其 DLL 或反编译源码。

截至本次检查,上游仓库及 ItemMarker 1.1.0 发布包未附明确的再分发许可证。本包仅本地研究测试交付;公开再分发上游代码和图标的授权仍待确认,没有冒认 MIT 或其他开源许可。本次未上传 Thunderstore。

CHANGELOG

更新日志

1.1.0 — 2026-10-16

  • 代码体整体换为上游 Hikaria ItemMarker 1.1.0 的忠实移植(上游提交 5b14722):17 个上游源文件一一对应,22 处补丁目标逐个对齐,除框架层外不保留任何自研逻辑。
  • 删除自研层:ResourceHelper 图标协调、旧版图标去重、容器空壳抑制、标记诊断日志、自研设置项、追赶式全场景补扫。
  • 本地化改为直读随包 JSON(内嵌于 DLL),不再依赖 TheArchive 本地化服务;日志改用 BepInEx ManualLogSource。
  • 物品标记判定回到上游同一套逻辑;上游继承行为(用剩的资源包图标不消失、标题可能显示剩余 0)一并保留。
  • 版本号与上游对齐为 1.1.0。
  • 验证:Release 构建 0 警告 0 错误;181 项自动化断言通过(依赖审计 DEP_AUDIT=PASS、补丁目标 PATCH_TARGETS=22/22 MATCH、本地化条目与上游一致、文件映射完整);隔离无头启动 0 错误行。
  • 未验证:关卡内标记行为、联机双向共享。

1.0.5 — 2026-10-15

  • 新增有上限的标记诊断日志(每次会话最多 30 行),用于定位「有图标但拿不到东西」的偶发现场。
  • 功能与 1.0.4 相同:容器内条目按游戏自身开关判定,空壳资源包不再当成资源,数量不再显示成 ×0。

1.0.4 — 2026-10-15

  • 修复「假资源」图标:容器内条目只在游戏本身允许拿取时才显示(Interact_Pickup_PickupItem.enabled)。
  • 空壳资源包(剩余量为 0)不再被当成资源标记;数量不再显示成 ×0。
  • 开箱揭示按归属与可用性筛选,容器开关状态改用游戏权威信号。

1.0.3 — 2026-10-15

  • 修复影子/假资源图标:忽略资源箱/资源柜 Ping 对邻近标记的错误归属。
  • 同步新版列表图标。

1.0.2 — 2026-10-15

  • 仅更新列表图标;功能、依赖与文件内容不变。

1.0.1 — 2026-10-14

  • 修复卡顿:移除周期性全场景补扫,改为进入关卡/检查点恢复后一次性补扫。
  • 修复卡顿:扫描器改回复用缓冲区的 SphereCastNonAlloc。
  • 修复卡顿:旧版图标探测改为缓存反射结果、按实例 ID 判定。

1.0.0 — 2026-10-14

  • 基于 Hikaria ItemMarker 改为独立 BepInEx IL2CPP 插件,名称 ItemMarkerProMax、GUID QingJu.ItemMarkerProMax。
  • 移除 TheArchive、Hikaria.Core、DropItem 等运行时依赖。