无图打印机

无图打印机

在无地图模式下,阅读制图台将生成一张简化地图,其显示效果与普通模式下的交互式地图类似。支持游戏手柄。支持自定义地图、迷雾纹理、以及迷雾层上下方的自定义图层。

用户界面

Nomap Printer

在 nomap 模式下,阅读制图台会生成一张简化的地图,并将其保存到玩家存档文件中,通过按常规的地图键即可显示。 此模组旨在增强无地图模式的游戏体验,让玩家可以查看当前的探索进度,而无需实时更新地图。 如果你希望在旅途中有一个地图参考,但又不想在画图程序中手动绘制地图时,这个模组会非常方便。

如果你不希望使用这张生成的地图,并且有自己的地图文件,可以在“从文件加载地图”中设置其名称,该地图将从服务器共享给所有客户端。 文件可以设置为完整路径名,或者仅文件名(不带路径)。如果使用后者,文件应放置在 dll 文件附近的任何子目录中。

主要功能:

  • 生成静态地图,其算法原始版本来源于 ASpy 的 MapPrinter 模组(所有功劳归功于他)
  • 在游戏内窗口中显示该地图,仅在无地图模式下可用(地图仅在交互制图台时更新)
  • 地图在游戏会话之间保存于存档文件中
  • 可选择将生成的地图保存到文件中
  • 地图以 4096x4096 分辨率生成,可选择生成 8192x8192 分辨率(更好的视觉效果,但存档文件更大)
  • 4 种不同的地图样式,包含等高线
  • 可配置的地图坐标点
  • 坐标点配置由服务器同步
  • 支持手柄

坐标点默认配置

  • 坐标点仅在地图已探索部分显示
  • Haldor 和 Hildir 的坐标点始终显示(对 Hildir 的任务坐标点特别方便)
  • 仅显示你自己的坐标点(不显示共享坐标点)
  • 已勾选(红色叉号)的坐标点不显示
  • 床和死亡坐标点不显示

地图可以

  • 通过地图绑定键(默认 M)打开
  • 通过相同按键或 Escape 键关闭
  • 通过左键点击并拖动来拖拽
  • 通过鼠标滚轮缩放
  • 通过鼠标右键恢复默认缩放
  • 通过鼠标中键以出生点为中心

自定义地图图层

你可以使用自己的变体图层:

  • 已探索地图层
  • 迷雾纹理
  • 迷雾下层(用于自定义标记)
  • 迷雾上层(用于自定义标记)

这些图层应放置在 \BepInEx\config\shudnal.NomapPrinter 目录中,作为 PNG 文件,并按以下方式命名:

  • "{MapType}.{WorldName}.explored.png" 用于已探索地图,不透明,分辨率必须为 4096x4096
  • "{MapType}.{WorldName}.underfog.png" 用于迷雾下层,透明,仅包含所需标记,分辨率必须为 4096x4096
  • "{MapType}.{WorldName}.overfog.png" 用于迷雾上层,透明,仅包含所需标记,分辨率必须为 4096x4096
  • "{MapType}.{WorldName}.fog.png" 用于迷雾纹理,不透明,任意分辨率,纹理将重复填充

如果你有多个同名世界,则可以使用数字世界 ID 代替世界名称。要获取世界 ID(无需使用其他模组),你可以使用此模组生成地图,然后检查 \BepInEx\cache\shudnal.NomapPrinter 目录。那里会有以世界 ID 命名的文件夹,其中一个是你的世界。

可接受的地图类型:

  • BirdsEye
  • Topographical
  • Chart
  • OldChart

文件重新打包

你可以使用游戏内控制台命令 repackpng [filename] 来使 png 文件不可读,以防止客户端打开已探索地图或标记。

该命令适用于位于 \BepInEx\config\shudnal.NomapPrinter 中的 png 文件。你可以按 TAB 键循环浏览该文件夹中可用的文件。

该命令将创建扩展名为 *.zpack 的文件,你可以将其用作任何自定义图层或迷雾 png 文件的替代品。

从服务器同步文件

如果将图层文件放置在服务器的 \BepInEx\config\shudnal.NomapPrinter 目录中,这些文件可以从服务器同步到所有客户端。该目录将在服务器上自动创建。

单个世界的文件总大小不应超过约 7-8 MB,否则最好将部分文件放入共享配置文件夹,并通过模组包或手动放入客户端配置文件夹的方式进行交换。

默认情况下,只有迷雾下层、迷雾上层和迷雾纹理会在文件更改时自动从服务器共享到客户端,因为它们通常体积较小。

自定义图层可以从服务器加载,也可以从本地配置文件夹加载。如果你为某个图层启用了“从服务器共享”选项,但服务器上没有相应的文件,则该图层不会从本地配置文件夹加载。

最安全的解决方案是将重新打包的已探索地图和迷雾纹理放入模组包的配置文件夹中,并禁用从服务器共享,仅从服务器共享标记图层。

设置自定义图层工作的示例

在本示例中,我们有一个名为 BraveNewWorld 的世界,并希望使用 Birds Eye 地图类型。 我们希望使用所有自定义图层和迷雾纹理。 已探索地图不会经常更改。标记会经常更改。迷雾不会更改。

在模组包中共享已探索地图和迷雾纹理 除了必要的文件(icon.png、manifest.json、README.md)外,在模组包归档文件中,你应该:

  • 创建 \config\shudnal.NomapPrinter 文件夹
  • BirdsEye.BraveNewWorld.explored.pngBirdsEye.BraveNewWorld.fog.png 文件放入该文件夹

当任何客户端安装/更新模组包时,这些文件将自动复制到 \BepInEx\config\ 目录。 你可以参考 RelicHeimEpicValheim 模组包中模组包配置文件夹的工作示例。

共享标记图层 将迷雾下层和迷雾上层图层文件:

  • BirdsEye.BraveNewWorld.underfog.png
  • BirdsEye.BraveNewWorld.overfog.png 放置在服务器的 \BepInEx\config\shudnal.NomapPrinter 目录中。

设置服务器配置值 在“地图自定义图层 - 迷雾纹理”配置部分禁用迷雾纹理的共享。 在“地图自定义图层 - 已探索地图”配置部分禁用已探索地图纹理的共享。 使配置如下所示:

[Map custom layers]
Explored map - Enable layer = true
Explored map - Share from server = false
Under fog - Enable layer = true
Under fog - Share from server = true
Over fog - Enable layer = true
Over fog - Share from server = true
Fog texture - Enable layer = true
Fog texture - Share from server = false

这样,两个标记图层将从服务器同步,而已探索地图和迷雾将从本地配置文件夹加载。

如何获取该模组样式的已探索地图图层 要获取完整的已探索地图,你应该:

  • 重新启动游戏
  • 使用新角色登录到该世界(以避免搞乱主角色上的地图)
  • 使用“exploremap”命令
  • 选择 Normal map 大小、Birds Eye 地图类型
  • 禁用 Show map pins 选项
  • 启用 Save to file 选项,并让 Save to file path 保持为空
  • 使用地图桌生成地图
  • 文件 BirdsEye.BraveNewWorld.png 将被放置在 %appdata%\..\LocalLow\IronGate\Valheim\screenshots\ 目录中
  • 将该文件复制到 \BepInEx\cache\shudnal.NomapPrinter 并重命名为 BirdsEye.BraveNewWorld.explored.png
  • 根据需要修改该文件,同时保持其分辨率和格式

推荐搭配使用的模组 要在无地图模式下沉浸式放置坐标点,你可以使用 AutoPinSigns 要在没有地图的情况下查看坐标点,你可以使用 Compass

兼容性:

  • 此模组与游戏代码的交互非常少,与其他模组发生冲突的可能性很低
  • 游戏内地图窗口不支持手柄
  • 我未测试过与 ServerCharacters 模组结合使用时的地图会话间保存

配置 处理配置文件的最佳方式是使用 Configuration Manager。 或者 Official BepInEx Configuration Manager

捐赠 Buy Me a Coffee

Discord Join server