AV 物品运输框架(AV ISF)

AV 物品运输框架(AV ISF)

此框架取代了教程箱的召唤功能,允许模组作者轻松地向营地箱和玩家物品栏添加新物品,并向营地箱提供自动更新的教程箱。

图片


图片

**物品运输框架(简称ISF)允许模组作者直接将原版或模组物品运送至营地箱子或房主的背包中**。它提供了**优于教程箱和商人库存**的物品运输方法,**同时还提供了一个无需召唤的教程箱**,让你在加载新模组时获取新物品。


当用户首次安装此模组并加载游戏时,所有可用的营地箱子都会收到物品运输框架邮箱。这是模组作者向其用户发送物品的主要位置,不过,作者也可以选择将物品直接放入房主的背包中。



在邮箱内部,用户会找到物品运输框架工具卷轴盒,其中装有各种触发框架命令的工具卷轴。此外,还有一个教程箱,位于玩家1的邮箱中。这个“教程箱”作为旧版模组的兼容方案,适用于那些尚未更新以支持物品运输框架的模组。此外,现在当新模组向其添加物品时,它会自动补充内容!如果你的教程箱中有数千件物品,这比重新召唤它要快得多。



图片

1. 在[博德之门3模组管理器](https://github.com/LaughingLeader/BG3ModManager)中,通过点击程序左上角的“工具”选项卡并选择“下载并解压脚本扩展器”来启用脚本扩展器。或者,在BG3MM窗口获得焦点时按下CTRL+SHIFT+ALT+T; 2. [意志橱柜](https://www.nexusmods.com/baldursgate3/mods/7676)是此模组的前置要求,请确保其已安装且为最新版本。其加载顺序无关紧要; 3. 将此模组的.zip文件导入模组管理器,并将该模组从模组管理器右侧面板拖至左侧面板; 4. 将此模组拖至加载顺序底部,因为它需要放置在依赖此框架的任何模组之下; 5. 保存并导出你的加载顺序。ISF将自动识别所有使用该框架的模组。

要卸载,请使用任意邮箱内工具卷轴盒中的卷轴。当卸载通过ISF运送过物品的模组时,垃圾桶模组卸载器也可以帮助你处理任何遗留问题。



当你首次使用此模组加载存档时,ISF将自动在你的脚本扩展器文件夹中创建一个带有合理默认选项的av_item_shipment_framework_config.json文件。然而,如果你想更改其任何设置,请参阅以下说明:

你可以轻松地在Windows上通过按WIN+R并输入以下内容来导航到JSON用户配置文件:

explorer %LocalAppData%\Larian Studios\Baldur's Gate 3\Script Extender\AVItemShipmentFramework

用任何文本编辑器打开JSON文件,即使是普通的记事本也可以。以下是其中每个选项的作用说明(顺序无关紧要):

"GENERAL":

  • "enabled": 将此切换为true以激活模组,或将其设置为false以在不移除的情况下停用。默认启用。

"FEATURES":

  • "notifications": 通知设置部分。
    • "enabled": 设置为true以在收到物品时启用游戏内通知。默认启用。
    • "ping_chest": 如果设置为true,收到物品时将标记营地箱子。默认启用。
    • "vfx": 如果设置为true,营地箱子收到物品时,你的角色将发出视觉效果。默认启用。
  • "shipment":
    • "only_send_to_host": 如果设置为true,无论模组作者设定的值如何,所有ISF货物都将发送到房主的背包中。默认禁用。
  • "spawning":
    • "allow_during_tutorial": 设置为false以在教程部分期间禁用新物品或实体的生成。默认启用。
  • "refill_tutorial_chest": 设置为false以禁用教程箱的自动补充/更新。默认启用。
  • "tutorial_chest": 设置为false以禁用向邮箱添加教程箱。默认启用。

"DEBUG":

  • "level": 调整调试日志的详细程度。设置为0将禁用调试日志,1提供最小日志记录,2启用详细的日志。默认为0。

在游戏运行时保存更改后,加载一个存档以应用更改。

ISF SE控制台命令:

  • !isf_ship_all:此命令触发所有由ISF管理的物品的运送。在游戏开始(如加载存档或切换区域)时默认执行。使用!isf_ship_all true可绕过常规检查并强制运送所有物品。

  • !isf_ship_mod <MOD_UUID>:此命令专门触发由唯一模组UUID标识的模组的物品运送。在命令末尾添加true可跳过框架的常规检查并强制运送。

  • !isf_uninstall:此命令卸载ISF。在卸载过程中,除ISF物品外,由框架管理的任何物品都可能根据用户确认移至营地箱子。确认后,ISF容器将被删除。

  • !isf_refill:此命令补充邮箱中已被取走的物品。

  • !isf_tut_update:此命令更新教程箱的副本,以确保其中包含的物品是最新的。

图片

基本信息


物品运输框架是一个简单且模块化的工具,允许模组作者向其用户运送物品。在本节中,你将了解ISF、它能做什么,以及将你的模组集成到该框架中有多容易。无论你是在开发新模组还是更新已有用户群的模组,将其集成到ISF中都遵循相同的过程。对于已有用户群的模组,与ISF集成非常友好,因为它确保玩家不会收到他们已经拥有的重复物品。这得益于ISF可以执行的一系列检查。



该框架提供了一个用于模组集成的JSON配置示例文件,其中包含详细说明每个设置的注释。由于标准JSON中上述注释存在(无害的)linting错误,ISF支持JSON和JSONC两种格式,并采用相同方式解析,有无注释均可。



ISF不会强制模组与脚本扩展器构成强制性依赖。如果用户安装了ISF,配置文件将被读取,否则将保持闲置状态。因此,如果你的模组设计为无需脚本扩展器甚至无需ISF即可运行,那么与ISF集成不会改变这一点



快速入门 | 如何集成你的模组



通过这份快速入门指南,作者可以了解如何使用ISF无缝地将物品发送到营地箱子!



要让你的模组与ISF配合使用,你可以将模组的主文件夹拖放到我们定制的网络工具中,该工具将解析模组文件夹的内容,并根据模组的内容生成ISF配置文件JSON:


  1. 将你的模组文件夹拖放到我们的ISF配置JSON生成器网站 中。或者,你也可以复制并粘贴。
  2. 点击“保存ISF JSON” 以下载生成的文件。
  3. 将JSON文件放在你的模组的[font=Courier New][color=#93c47d]meta.lsx[/color][/font]文件旁边

就是这样! 使用此工具,你可以轻松为你的博德之门3模组生成必要的ISF配置。现在,请审查生成的JSON文件,并确保所有你想运送的物品都已包含在内,并且所选设置符合你模组的需求



默认设置:默认设置(也用于此生成的JSON)将:


  • 向所有四个可能的邮箱各发送一份每件物品,不直接发送到房主的背包。
  • 检查物品是否存在于玩家的队伍背包、邮箱中,并使用ModVars执行内部ISF检查。

要了解有关ISF及其运作方式的更多信息,请访问我们在GitHub上托管的Wiki!它涵盖了配置文件中可用的所有设置,并展示了一些示例模组,这些示例模组展示了多种不同的用例。



使用该框架的示例模组



以下每个模组都展示了框架的不同用例。你可以在我们的Wiki上了解更多关于它们是如何制作的信息。


图片

[Aetherpoint](https://www.nexusmods.com/users/13669385):RootTemplates、图标、物品和法术创建,英语本地化。


Bahyek:定制插画卷轴美术。



jerinski:德语本地化。



Volitio:脚本扩展器实现、ISF配置JSON生成器网站、巴西葡萄牙语和法语本地化。



图片

> “如果我能看得更远,那是因为我站在巨人的肩膀上。” 如果没有[Focus](https://www.nexusmods.com/baldursgate3/users/21094599)和[Nells](https://www.nexusmods.com/baldursgate3/users/244952?tab=user+files)/[社区库团队](https://github.com/BG3-Community-Library-Team/)的基础工作,创建这个框架将是一项艰巨的任务,我从中学习并继续发展。我将永远感激他们对博德之门3模组社区的开源贡献。当然,如果没有[Norbyte](https://github.com/Norbyte/)在脚本扩展器上的工作,这一切都不可能实现。

也感谢所有在测试期间测试ISF并提供反馈的作者!感谢BelinnjerinskiwesslenArmaruilokelaniKilayMaze以及许多其他提供支持的人!

  • Volitio

图片

如果你想直接支持Volitio,可以通过以下链接进行:


Volitio的Ko-fi