Jump to content
  • 0

How to add new NPCs to existing vanilla scenes?


Martimius

Question

I'm trying to add follower commentary from Serana to a vanilla scene (the beginning Morthal scene, DialogueMorthalInitScene). I've already set up my alias for Serana (MorthalSceneRNPCAlias, External Alias Ref, DLC1NPCMentalModel Alias ------> ResponsiveNPC), and added her alias to the vanilla scene script as an "auto" property:

 

 

;BEGIN ALIAS PROPERTY MorthalSceneRNPCAlias

;ALIAS PROPERTY TYPE ReferenceAlias

ReferenceAlias Property Alias_MorthalSceneRNPCAlias Auto

 

 

After the last vanilla phase ( Phase 8 ) when JorgenAlias says his last line, I added a new Phase (9) where Serana would comment to the player. There is one requirement for that Phase to fire, (GetVMQuestVariable on DLC1NPCMentalModel, ::isFollowing_var) just to check if she's currently following the player. However, even when the requirements have been met, this Phase doesn't fire in-game.

 

 

Looking at the vanilla scene in itself, there are four actors (Aslfur, Thonnir, Benor, and Jorgen) each with a UniqueActor FillType for their respective aliases. The quest scene is a Start Game Enabled one, immediately at Stage 0 moving the four characters into their respective scene markers. 

 

 

"Alias_AslfurAlias.GetReference().MoveTo(AslfurMarker)

Alias_ThonnirAlias.GetReference().MoveTo(ThonnirMarker)

Alias_BenorAlias.GetReference().MoveTo(BenorMarker)

Alias_JorgenAlias.GetReference().MoveTo(JorgenMarker)"

 

 

The scene properly starts for the player to experience once the player is less than 1000 units away from Aslfur's alias. It then continues on as normal until the last phase, where it ends. 

 

 

Nothing else from the base vanilla scene was tweaked or changed, both in script fragments and quest entry. I think it may have to be something related to Serana's alias not properly filling, since the quest starts and goes on as it normally would in the vanilla game. 

 

 

 

Any help would be much appreciated. 

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

I don't think what you're wanting to do is going to work. At least, not in the way you're wanting to do it because you are attempting to add your follower into a dialogue scene where your follow may or may not be at their marker for their part of the scene to play out. I can't think of any references in the vanilla game to point you to where your follower comments within NPC scenes (that aren't forced dialogue). In my option, a better way to do accomplish this would be to add it separately as something Serana would say if specific conditions are met, much like they comment at certain locations and points of interest.

Link to comment
Share on other sites

  • 0

I don't think what you're wanting to do is going to work. At least, not in the way you're wanting to do it because you are attempting to add your follower into a dialogue scene where your follow may or may not be at their marker for their part of the scene to play out. I can't think of any references in the vanilla game to point you to where your follower comments within NPC scenes (that aren't forced dialogue). In my option, a better way to do accomplish this would be to add it separately as something Serana would say if specific conditions are met, much like they comment at certain locations and points of interest.

Do NPCs have to be at their specific markers for their phase in scripted scenes to occur? If possible, I'm trying to have Serana directly interact or comment on the NPCs actions as the scene is happening, not a comment on certain locations and points of interest.

Edited by Martimius
Link to comment
Share on other sites

  • 0

Do NPCs have to be at their specific markers for their phase in scripted scenes to occur? If possible, I'm trying to have Serana directly interact or comment on the NPCs actions as the scene is happening, not a comment on certain locations and points of interest.

Well, these NPCs are locked in place during these types of scenes or if they move their paths are pre-determined. If you're just wanting her to comment on the NPCs actions and not actually have her a part of back and forth dialogue with the NPCs, then you should be able to design her interaction very much like a comment from locations. Code your scripts or set your conditions to only happen if you're within a certain distance from the scene itself and check to make sure the scene is running.

Link to comment
Share on other sites

  • 0

Oh, alright. I was thinking I could do something like an “EVENT ON Cell Load†from a completely independent custom quest which observes the Morthal scene as a quest property. If it hasn’t happened then my quest is still valid, and if it has happened in the save and the conditions weren’t met (DLC1Serana, DLC1NPCMentalModel::isFollowing, GetDistance xxx (or whatever distance units is near) then I shut everything down.

 

Then that would serve as a conditional trigger for the dialogue.

 

Question though, if I wanted to make an independent scripted scene from the vanilla scene, to start right after the vanilla scene has ended, in that case would I have to set up proper markers for the NPCs to travel to? I ask because while these NPCs definitely are locked in place during the scenes, some ones, like those triggered as Actor Dialogue Events don’t seem to have packages in them in the CK, only dialogue.

Link to comment
Share on other sites

  • 0

Yeah, it probably is. I haven’t seen scenes like that done in the CK before at least by Bethesda’s standards. Was just thinking about the possibility of it theoretically.

Edited by Martimius
Link to comment
Share on other sites

  • 0

On another note, is there a way (either by papyrus script function or condition function) to currently check if the player has finished talking with an NPC in a specific conversation? For example in the Soul Cairn, could the game recognize when the player finished talking with Morven Shroud (the Soul Cairn merchant) for the first time?

Link to comment
Share on other sites

  • 0

On another note, is there a way (either by papyrus script function or condition function) to currently check if the player has finished talking with an NPC in a specific conversation? For example in the Soul Cairn, could the game recognize when the player finished talking with Morven Shroud (the Soul Cairn merchant) for the first time?

It's any part of the dialogue is part of a quest, then absolutely yes. You'd just need to check whether the quest or stage of a quest is complete. This can be done in both conditions and full scripting. If not, that I'm not sure. The list of conditions available to check against is here: https://www.creationkit.com/index.php?title=Category:Condition_Functions

Link to comment
Share on other sites

  • 0

Thanks. I'm aware of the GetStageDone condition. Unfortunately from the CK Condition Functions on the wiki there doesn't seem to be something that indicates dialogue not tied to a specific quest stage. I do know however that the game somewhat realizes this already, despite absence of a CK condition. Because when finishing a dialogue option with an NPC (if its not Say Once or on cooldown) it gets greyed out.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.