使用 Papyrus 让 NPC 说话 - Skyrim Modding

Making Npcs talk using Papyrus - Skyrim Modding

提问人:cuneyttyler 提问时间:11/14/2023 更新时间:11/14/2023 访问量:12

问:

我正在尝试使用 Papyrus Actor.Say 函数让 npcs 说话。

我为此创建了一个简单的模组。我创建了一个任务,并在其中创建了一个引用别名并将其绑定到一个 npc(Faendal 或 Lucan Valerius)。然后我在该任务中创建了一个主题并录制了我的声音,并看到 wav 文件被替换在正确的位置。最后,我创建了一个脚本,并在循环中,每 5 秒调用 .说出该 Npc 引用中的函数。

调试显示代码正在运行,并调用了 .say 函数。但是我不能让NPC说什么。

我试着和忙着搬运原木的法恩达尔在一起。所以我认为这可能是一个问题(正在播放一个包),并尝试了 Lucan Valerius。在他和妻子的最初场景结束后,我以为他会说出我的台词,但我也不能让他说话。

这是我的纸莎草纸代码:

Scriptname npcSayLineScript extends Quest

ReferenceAlias property NpcRef auto 
Topic property NpcSayLineTopic auto 

Event OnInit()
    `Debug.Trace("Initialized NpcSayLine")`
    
    `While True`
        `If NpcRef != None`
            `NpcRef.GetActorReference().Say(NpcSayLineTopic)`
            `Debug.Trace("NpcSayLine: Saying line - " + NpcRef.GetActorReference().GetDisplayName())`
            `Utility.Wait(5)`
        `EndIf`
    `EndWhile`
EndEvent

你知道这里可能有什么问题吗?脚本的属性已正确配置,并且不会引发异常。

游戏开发 纸莎草纸脚本

评论


答: 暂无答案