rain_gamemod-BelltowerFinder icon

BelltowerFinder

PEAK 雾沼(GLOOM)钟塔光柱:自动定位雾沼段 5 座钟塔并显示黄色光柱,F10 开关,助你完成敲钟人成就。

Last updated 2 months ago
Total downloads 824
Total rating 1 
Categories Mods
Dependency string rain_gamemod-BelltowerFinder-1.0.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack_PEAK-5.4.75301 icon
BepInEx-BepInExPack_PEAK

BepInEx pack for PEAK. Preconfigured and ready to use.

Preferred version: 5.4.75301

README

BelltowerFinder(雾沼钟塔光柱)— PEAK BepInEx 插件

在 Steam 游戏 PEAK(巅峰) 的 雾沼(GLOOM) 段里,用黄色光柱标出钟塔位置, 帮你完成敲钟人成就(同一次远征敲响 5 座钟塔)。

画法、写法与你的 ClownLuggageFinder 完全一致(OnRenderObject + GL.LINES 光束 + 顶端十字),编译方式也一样(.NET Framework csc.exe)。

文件

文件 说明
BelltowerFinder.cs 插件源码(C# 5,可直接用 csc.exe 编译)
build.cmd 一键编译 + 复制到 BepInEx\plugins(双击运行)
BelltowerFinder.csproj 备选:dotnet SDK 编译用(dotnet build -p:GameDir=...)
安装说明.md 本说明

安装

  1. 用记事本打开 build.cmd,确认第一行 set GAME=D:\Steam\steamapps\common\PEAK 是你的游戏路径(你的 ClownLuggageFinder 装的路径就是)。
  2. 双击 build.cmd,看到"完成!"即可(自动把 BelltowerFinder.dll 复制到 BepInEx\plugins\BelltowerFinder\)。
  3. 启动游戏 → 进入每日远征,到达雾沼段后:
    • F10 开关黄色光柱(F6 被其他 mod 占用,已避开)
    • F11 手动重新扫描
    • Insert 开关左上角信息面板(显示已找到几座钟塔 + 坐标)
    • 按键都可在 BepInEx\config\com.dsh.belltowerfinder.cfg 里改,不用重新编译

工作原理

  • 用 MapHandler.segments[i].biome == Swamp 找到雾沼段(雾沼 = biome Swamp,官方译名雾沼), 只扫描雾沼段容器下的物体(GloomOnly=true 时)。
  • 按名字匹配 bell / tower / belfry(配置 NameFilter 可改),把邻近零件聚类成 同一座钟塔,取最高点(就是钟的位置)作为光柱锚点。
  • 补充:雾沼段里的 Peak.JesterBells(游戏里钟塔上的钟组件)也会被计入, 双保险。

找不到钟塔?按顺序排查

  1. 看左上角面板状态:
    • "未进入地图" → 先进每日远征。
    • "未找到雾沼段" → 今天的每日地图没有雾沼,等刷新。
    • "没扫到钟塔" → 钟塔预制体名字不含 bell/tower,继续下面步骤。
  2. 开 LogAll 看日志:改配置 Debug > LogAllMatches = true,重启游戏进雾沼, 打开 BepInEx\LogOutput.log,搜 [BelltowerFinder][match] 看扫描命中了哪些物体名。
  3. 用 StringScan 查预制体名字(你 peak-mod 里已有工具):
    StringScan.exe "D:\Steam\steamapps\common\PEAK\PEAK_Data\Managed\Assembly-CSharp.dll" bell
    StringScan.exe "D:\Steam\steamapps\common\PEAK\PEAK_Data\Managed\Assembly-CSharp.dll" tower
    
    把输出的关键名字(如 Belltower / BellTower_01 之类)填进配置 Scan > NameFilter。
  4. 如果钟塔是纯场景物件、代码里没有任何名字线索:把扫描范围扩大—— 关掉 GloomOnly 全图扫;或告诉我日志内容,我帮你改检测逻辑。

配置(BepInEx\config\com.dsh.belltowerfinder.cfg)

配置 默认值 说明
General > ScanInterval 2 扫描间隔(秒)
General > ToggleKey F10 开关光柱(F6 被其他 mod 占用)
General > RescanKey F11 立即重扫
General > PanelKey Insert 开关信息面板
Visual > ShowBeacons true 是否画光柱
Visual > BeaconColorHex #FFCC00FF 光柱颜色(黄)
Visual > BeaconHeight 150 光柱高度
Scan > GloomOnly true 只扫雾沼段
Scan > NameFilter bell,tower,belfry 名字匹配关键词
Scan > ClusterRadius 50 同一座钟塔归类半径
Scan > IncludeJesterBells true 雾沼段 JesterBells 也算钟
Debug > LogAllMatches false 打印每次扫描的命中物体

常见问题

  • 编译失败:看 build.cmd 提示;通常是 GAME 路径不对,或缺 BepInEx。
  • 光柱不显示但面板正常:按 F10 确认开关,或检查 Visual > ShowBeacons。
  • 按键与游戏/其他 mod 冲突:F10 / F11 / Insert 已尽量避开常用键,但如果你 的 mod 还占用它们,直接改 cfg 里 General > ToggleKey 等三项 (例如 ToggleKey = F12 或 ToggleKey = P),保存后重启游戏即可,不用重新编译。
  • 加载失败:检查 BepInEx\config\BepInEx.cfg 的 EnableAssemblyCache=false (你 README 里提过),缓存坏了删 BepInEx\cache\chainloader_typeloader.dat。

免责声明

仅用于辅助个人游戏体验与学习,请遵守 PEAK 的使用条款;是否使用由你自己决定并承担相应风险。