Jump to content

[LE] Adding a custom NPC to Sovngarde after Alduin's defeat


Recommended Posts

Hi, folks...I've seen basic tutorials on how to create an NPC, so I don't really need help there, but I had wanted to create an NPC that would appear in Sovngarde after Alduin is defeated, and walk up to you after Tsun has finished talking to you. Can anyone point me in the direction of a tutorial that would cover something like that? Thanks!

Link to comment
Share on other sites

Before venturing into modding, remember to check out the wiki tutorials. Happy reading :smile:

 

...and then to the actual answer :wink: If you're okay with editing the vanilla quest (making your mod incompatible with other mods editing the same quest) then this is more or less what you should do:

 

1. Be sure you have a custom quest (or several) where you keep all your dialogue and quest progress.

 

2. Add an empty "Specific Reference" alias with Optional marked. Add a custom force greet package to the alias. Google "creation kit force greet", there should be plenty of tutorials on this subject out there, I think. Otherwise ask.

 

3. Add a quest stage to your quest with a few lines of code:

actor myNPCRef = TsunRef.PlaceAtMe(myNPCBase) ; places an instance of your NPC at Tsun's location
Alias_myNPC.ForceRefTo(myNPCRef) ; fills your alias with the newly created NPC reference
myNPCRef.EvaluatePackage() ; makes the force-greet package kick in

Replace TsunRef with whatever world reference you want your NPC to spawn at. Remember to fill the properties.

 

4. Find the specific quest stage that is set when Tsun has finished talking to you. Add a line of code that sets the quest stage we created above for your custom quest.

myQuest.SetStage(myStage)
Edited by wormple12
Link to comment
Share on other sites

 

Before venturing into modding, remember to check out the wiki tutorials. Happy reading :smile:

 

...and then to the actual answer :wink: If you're okay with editing the vanilla quest (making your mod incompatible with other mods editing the same quest) then this is more or less what you should do:

 

1. Be sure you have a custom quest (or several) where you keep all your dialogue and quest progress.

 

2. Add an empty "Specific Reference" alias with Optional marked. Add a custom force greet package to the alias. Google "creation kit force greet", there should be plenty of tutorials on this subject out there, I think. Otherwise ask.

 

3. Add a quest stage to your quest with a few lines of code:

actor myNPCRef = TsunRef.PlaceAtMe(myNPCBase) ; places an instance of your NPC at Tsun's location
Alias_myNPC.ForceRefTo(myNPCRef) ; fills your alias with the newly created NPC reference
myNPCRef.EvaluatePackage() ; makes the force-greet package kick in

Replace TsunRef with whatever world reference you want your NPC to spawn at. Remember to fill the properties.

 

4. Find the specific quest stage that is set when Tsun has finished talking to you. Add a line of code that sets the quest stage we created above for your custom quest.

myQuest.SetStage(myStage)

Thanks!

Link to comment
Share on other sites

  • 2 weeks later...

 

Before venturing into modding, remember to check out the wiki tutorials. Happy reading :smile:

Â

...and then to the actual answer :wink: If you're okay with editing the vanilla quest (making your mod incompatible with other mods editing the same quest) then this is more or less what you should do:

Â

1. Be sure you have a custom quest (or several) where you keep all your dialogue and quest progress.

Â

2. Add an empty "Specific Reference" alias with Optional marked. Add a custom force greet package to the alias. Google "creation kit force greet", there should be plenty of tutorials on this subject out there, I think. Otherwise ask.

Â

3. Add a quest stage to your quest with a few lines of code:

actor myNPCRef = TsunRef.PlaceAtMe(myNPCBase)Â ; places an instance of your NPC at Tsun's location
Alias_myNPC.ForceRefTo(myNPCRef) ; fills your alias with the newly created NPC reference
myNPCRef.EvaluatePackage() ; makes the force-greet package kick in
Replace TsunRef with whatever world reference you want your NPC to spawn at. Remember to fill the properties.

Â

4. Find the specific quest stage that is set when Tsun has finished talking to you. Add a line of code that sets the quest stage we created above for your custom quest.

myQuest.SetStage(myStage)

How would I do this if I didn't want to edit the vanilla quest?

Link to comment
Share on other sites

That is not as simple but can be done.

 

You'd need to run very frequent RegisterForSingleUpdate checks and run your custom quest stage only if GetStageDone returns true on the Tsun quest stage.

 

You might also be able to only run the updates after having entered Sovengarde to avoid overloading the script engine. This can be done through the Story Manager using a Change Location Event, for instance.

Link to comment
Share on other sites

 

Before venturing into modding, remember to check out the wiki tutorials. Happy reading :smile:

Â

...and then to the actual answer :wink: If you're okay with editing the vanilla quest (making your mod incompatible with other mods editing the same quest) then this is more or less what you should do:

Â

1. Be sure you have a custom quest (or several) where you keep all your dialogue and quest progress.

Â

2. Add an empty "Specific Reference" alias with Optional marked. Add a custom force greet package to the alias. Google "creation kit force greet", there should be plenty of tutorials on this subject out there, I think. Otherwise ask.

Â

3. Add a quest stage to your quest with a few lines of code:

actor myNPCRef = TsunRef.PlaceAtMe(myNPCBase)Â ; places an instance of your NPC at Tsun's location
Alias_myNPC.ForceRefTo(myNPCRef) ; fills your alias with the newly created NPC reference
myNPCRef.EvaluatePackage() ; makes the force-greet package kick in
Replace TsunRef with whatever world reference you want your NPC to spawn at. Remember to fill the properties.

Â

4. Find the specific quest stage that is set when Tsun has finished talking to you. Add a line of code that sets the quest stage we created above for your custom quest.

myQuest.SetStage(myStage)

How would I do this if I didn't want to edit the vanilla quest?

 

 

I believe you can rig a quest to start on a story event of Alduin dying, which on starting can straight up create the NPC at a specific marker. I don't think that will require scripts, even.

Edited by foamyesque
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...