环境助手

环境助手

启用环境用户界面(envui)和更多功能对分层环境的编辑。

模组制作者资源和教程

环境助手

该模组旨在解决环境模组化中最令人头疼的问题之一。建议与 rmemr 制作的 envui 配合使用。
任何用过 envui 编辑环境的人都知道,每个区域只能编辑基础环境。

更新日志:

  • 1.0:初始版本发布。
  • 1.1:现在有一个不依赖 envui 的版本,专为那些只是想试用工具而不进行编辑的人准备。没有其他改动。

环境分层系统如何工作的示例:

高层环境与低层环境重叠。
例如,velen(第 2 层)与 novigrad(第 0 层)重叠,这意味着当威伦被加载时,你不会看到诺维格瑞的环境。

  • 第 4 层: 沼泽中的天气。
  • 第 3 层: 威伦或沼泽的天气。
  • 第 2 层: 额外的环境,如天气(大多数地区),威伦以及洞穴/室内。
  • 第 1 层: 过场动画定义。
  • 第 0 层: 基础环境

通常你只能使用 envui 编辑第 0 层(基础环境)。这个模组解决了这个问题。

命令:

  • envlayer_name() - 按名称在特定层中加载环境。
  • envbase_name() - 加载一个特定的环境作为通过 envui 编辑的基础。
  • env_base() - 将已加载的环境设置为基础。
  • env_list() - 显示特定层中加载了哪个环境。
  • env_restore() - 将基础环境恢复为当前区域的原始状态。

用法:

  • envlayer_name() - envlayer_name(env_skellige_brown.env, 3):加载第 3 层的史凯利格基础环境。
  • envbase_name() - envbase_name(env_skellige_brown.env):将史凯利格基础环境加载为当前区域的新基础环境。
  • env_base() - env_base(2):将第二层中的环境设置为基准。
  • env_list() - env_list(2):显示第 2 层加载了哪个环境。
  • env_restore() - 恢复基础环境。

演示:

DLC 天气:

由于本模组的工作方式,你需要在开始游戏前手动将你的 DLC 天气添加到列表中,以便脚本能够找到它,不过这操作非常快速且简单。
找到位于 Mods\modEnvHelper\content\scripts\mod 中的 EnvHelper.ws 脚本。用你喜欢的文本编辑器打开它(我用的是 Sublime Text 3)。向下滚动直到找到 function GetAllEnvPaths() : array<string>。滚动到该函数的末尾,然后写入 paths.PushBack("")

在引号内,写上您的 DLC 天气环境路径(与天气表中的路径相同)。
例如:paths.PushBack("dlc\mod\data\fog.env");

如果你发现缺少了原版环境,你也可以这样做。
就这样。你现在可以加载 DLC Weather 了。

一些背景信息:

r0x(《巫师 3:狂猎》大型 Mod《STWLM》的作者)不久前向我展示,可以通过修改 w2w 文件中的环境定义,利用 envui 编辑沼泽环境。于是我自然想到:“何不通过脚本实现,并且覆盖整个游戏?”经过一番咨询,KNG 向我推荐了他的超强泛光 Mod,该 Mod 通过脚本修改 w2w 文件中的环境参数。自此,我断断续续地为这个 Mod 开发了一个半月,直到今天取得成果。

安装:

要求:

  • EnvUI(仅限 ENV UI 版本。v1.1 不一定需要此版本)
  • 指令控制台

只需拖放即可,并不难。

信用:

  • r0x - 最初向我展示了编辑分层环境的方法。
  • 穆尔齐尼奥 - 感谢他帮我整理环境列表和搜索功能,以及其他事项。没有他,这一切都不可能实现。
  • KNG - 感谢你展示了在脚本中编辑 w2w 文件的可能性。
  • Hyadum - 感谢你编写区域检测代码,并把我从自己的愚蠢中拯救出来。
  • Rfuzzo - 可能以某种方式在途中帮助了我。