一个即插即用的天际模组作者框架。可将任何自定义语音NPC转变为功能完整的随从,利用天际原生的随从系统。支持招募、解散、等待、跟随、交易和好感度命令,无需改动原版内容。
自定义随从主控系统
为你的自定义语音NPC赋予完整的随从行为——招募、解散、等待、交易等等——只需一个脚本即可实现。
这有什么用?此脚本可将你的自定义NPC接入《天际》内置的随从系统。配置完成后,你的NPC将表现得与游戏原版同伴完全一致——莱迪亚、乌斯盖德,无一例外。该脚本已处理全部随从逻辑,无需你自行编写。
你的NPC将能够:
- 被招募为随从
- 正确离职并返回家乡
- 原地等待,收到指令后继续跟随
- 打开他们的物品栏进行交易
- 进入偏好模式,以便玩家可以向他们下达指令
由于一切均通过天际原有的随从框架运行,像NFF、EFF和AFT这类流行的随从管理模组会像对待任何原版随从一样识别你的NPC,无需任何补丁。
这是给你的吗?这不是一份Creation Kit的新手指南。它是为那些已经在制作自定义随从、并需要脚本部分得以干净处理的模组作者所准备的工具。
要成功使用此功能,你需要先了解如何:
- 在Creation Kit中创建并配置自定义NPC
- 创建一个带主题分支的对话任务
- 为对话行添加条件,使选项在正确时机出现
- 为任务添加脚本并编辑其属性
如果其中任何内容你还不熟悉,这完全没问题——但请先掌握这些基础,然后再回来。从零开始学习这一切的最佳资源是这个YouTube系列:
如何制作一个像Lucien Flavius那样的随从Mod本指南将逐步引导你从零开始构建一个完全自定义的语音随从,包括NPC创建、对话设置、条件以及脚本片段。
如果你完整地跟完那一系列步骤,你已经完成了本教程中的每一个步骤——只是脚本不同而已。 在FollowerMasterControl中进行替换会让你感觉一目了然,因为你已经了解了所有部件是如何组合在一起的。
要求- 天际特别版或周年纪念版
- Creation Kit(通过Steam免费获取:库 > 工具 > Skyrim Creation Kit)
- FollowerMasterControl.psc ——已包含在本模组中的文件
开始之前 — 安装脚本文件创作工具包需要先找到脚本文件才能使用它。请复制
FollowerMasterControl.psc 放入您计算机上的此文件夹中:
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source
如果
源 文件夹不存在于内部
脚本, 那就自己创建一个吧。除非脚本位于这个确切位置,否则Creation Kit(创作工具包)找不到它。
文件放置完成后,
完全关闭并重新打开Creation Kit. 它只在首次启动时扫描脚本,因此在你重启之前,它不会看到新文件。
第一部分 — 设置任务与脚本脚本需要放在你模组中的一个任务(quest)里。这个任务对玩家完全不可见——它只是一个后台容器,在游戏加载期间维持随从逻辑的运行。你需要专门为此创建一个任务。
步骤 1 — 创建新任务在Creation Kit中,前往
游戏 > 任务 在顶部的菜单栏中。左侧的对象窗口里,在任务列表的任意位置右键点击,然后选择
新.
为你的任务指定一个ID。类似
我的追随者任务 运行正常 — 此名称仅供你使用,不会在游戏中出现。然后勾选标记为
开始游戏已启用. 这将使任务在游戏加载时自动开始,这正是你想要的。
第2步 — 将脚本添加到任务中在任务窗口仍打开的情况下,点击标记为
脚本 在窗口顶部附近。单击
添加 按钮。将出现一个搜索框——输入
追随者主控 并从列表中选择它,然后点击确定。
如果搜索结果中没有出现该脚本文件,那么要么是文件放错了文件夹,要么是自放置后Creation Kit尚未重启。在继续之前,请仔细检查这两项。
步骤3 — 打开脚本的属性右键单击
追随者主控 在脚本列表中选择
编辑属性。新窗口打开。在这里,你可以告诉脚本要连接天际游戏数据的哪些部分。把这些属性想象成插头——你正将脚本插入正确的插座,让它知道该与什么交互。
步骤4 — 自动填充标准属性点击
自动填入全部 属性窗口底部的按钮。它会自动查找天际的内置记录,并为你填充大部分字段。点击后,请确保这四个字段不为空:
- 对话跟随者 — 应显示任务记录
- 当前随从派系 — 应显示一个阵营记录
- 已解散的追随者阵营 — 应显示一个阵营记录
- 追随者全部声音 — 应显示一个 FormList 记录
如果自动填充后仍有空白,请双击该行并按名称搜索记录——例如,搜索
当前追随者派系 将从基础游戏数据中找到正确的记录。
第5步 —— 手动设置其余属性自动填充无法推测这些内容,因为它们专属于你的模组。请双击每一行进行设置:
- 自定义语音 — 从下拉菜单中选择你的NPC的语音类型。这是你创建NPC时所分配的语音类型,例如 女性指挥官 或 男性平和音.
- 婚姻语音列表 — 将此设置为 所有婚姻语音。这将把你的NPC注册为有效的结婚候选人。
- 集成于版本 —此处完全留空。不要在此输入任何内容。
为什么将IntegratedAtVersion留空? 当你的模组首次在存档中加载时,脚本会执行一次一次性设置,将你NPC的语音注册到天际的随从和婚姻系统中。留空此字段即可触发该设置。脚本之后会自动填充此字段,以确保设置仅运行一次。
第6步 — 保存点击“确定”关闭属性窗口,再次点击“确定”关闭任务窗口,然后按Ctrl+S保存您的插件。
第2部分——连接对话现在你把每个NPC的对话线连接到脚本上。当玩家点击类似“跟我来”的选项时,后台会触发一小段代码——这就叫作
莎草纸碎片。该片段告诉脚本要执行哪个操作。
帕皮鲁斯碎片区域在哪里?打开追随者的对话任务并前往
对话视图 选项卡。点击你正在设置的命令所对应的玩家回应行。窗口下半部分会看到一个标记为
纸莎草残片。 这是一个内置的小型脚本编辑器——你在这里输入的任何内容,都会在玩家于游戏中选择该行时立即运行。
什么是 GetOwningQuest() as FollowerMasterControl?这告诉游戏查找拥有此对话的任务,并将其视为FollowerMasterControl脚本,以便调用正确的函数。每次都要完全复制此部分 — 不要更改它。
是什么 ak扬声器?这是一个内置变量,自动指代当前正在说话的对象——在玩家对话中,它始终是你的NPC。切勿用名字替换它。
粘贴每个碎片后,点击
编译 片段框旁边的按钮。脚本在编译完成之前不会运行。
招募 — 玩家要求NPC跟随他们
(GetOwningQuest() as FollowerMasterControl).SetFollower(akSpeaker)
解散 — 玩家将随从送回家
(GetOwningQuest() as FollowerMasterControl).DismissFollower(akSpeaker)
在此等待 — 追随者原地待命
(GetOwningQuest() as FollowerMasterControl).FollowerWait(akSpeaker)
跟着我。 — 等待后,追随者恢复跟随
(GetOwningQuest() as FollowerMasterControl).FollowerFollow(akSpeaker)
交易 — 打开随从的背包
(GetOwningQuest() as FollowerMasterControl).FollowerTrade(akSpeaker)
好感度 — 将随从置于命令模式,使玩家能够指挥其与物体互动。
(GetOwningQuest() as FollowerMasterControl).FollowerFavor(akSpeaker)
经常保存。创作工具包可能会毫无预兆地崩溃。请将你的 .esp 文件备份一份到 Data 文件夹之外。第3部分 — 设置对话条件条件用于控制每句对话在何时出现。如果没有它们,你的随从对话会在与天际省中每个NPC交谈时都显示出来。这些条件告诉游戏,只在正确的时间向正确的角色显示每个选项。
将以下条件添加到每一行对话中
条件 你的话题信息窗口标签页。
每条追随者对话台词都需要此条件:这可以确保对话只在你与特定NPC交谈时出现,而不会出现在其他NPC身上。
GetIsID YourCustomNPC == 1
替换
你的自定义NPC 使用您的NPC的实际编辑器ID。
招募台词 — 仅当该NPC尚不是你的随从时显示:GetInFaction CurrentFollowerFaction == 0
解散行——仅当该NPC是你当前激活的追随者时显示:获取阵营 当前随从阵营 == 1
在此等候线 — 仅在追随者当前正在跟随(跟随中)时显示:GetInFaction CurrentFollowerFaction == 1
GetActorValue WaitingForPlayer == 0
跟随线——仅当跟随者正在等待时显示:获取阵营 当前随从阵营 == 1
获取ActorValue 等待玩家 == 1
贸易与好感度台词——仅在NPC为当前随从时显示:GetInFaction 当前随从派系 == 1
常见问题解答这会修改《天际》的原版文件吗?不,这个脚本完全在你自己的模组内运行。它与天际的随从系统通信,而不修改任何基础游戏记录。
它需要NFF、EFF或AFT的补丁吗?无需补丁。由于脚本通过框架监视和扩展所使用的同一追随者系统运作,您的NPC会被自动识别。
脚本在Creation Kit的搜索中不显示,我该怎么办?确保
FollowerMasterControl.psc 在里面
Data\Scripts\Source 并且确保你在放置该文件后,已完全关闭并重新打开了Creation Kit。
自动填充留下了一些属性空白,我该怎么办?在属性窗口中双击空白行,然后按名称搜索记录。例如,搜索
当前随从派系 将找到正确的基地游戏记录。
我可以在自己的随从模组中使用这个脚本吗?是的。您可以在自己的项目中自由修改、打包、重命名或重新分发此脚本。
制作人员名单特别感谢Bethesda制作了《天际》,也感谢Migal的Discord上的模组社区。
这段脚本的存在,是因为一位知名的随从模组作者曾随口提到,他们的自定义语音NPC与所有随从框架完全兼容——但随后却不肯透露具体方法。他们并没有给我答案,但知道这可行便已足够。这里的一切都是我自己通过深入研究原版框架的实际运作方式而摸索出来的。所以,无论你是谁,感谢你的点拨。
如果这个模组为您节省了时间,请考虑点赞支持。祝您游戏愉快。