SteelPhoenix78 Posted May 20, 2018 Share Posted May 20, 2018 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 More sharing options...
TheWormpie Posted May 20, 2018 Share Posted May 20, 2018 (edited) 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 May 20, 2018 by wormple12 Link to comment Share on other sites More sharing options...
SteelPhoenix78 Posted May 20, 2018 Author Share Posted May 20, 2018 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 More sharing options...
SteelPhoenix78 Posted May 29, 2018 Author Share Posted May 29, 2018 (edited) How would I do this if I didn't want to edit the vanilla quest? Edited May 29, 2018 by SteelPhoenix78 Link to comment Share on other sites More sharing options...
SteelPhoenix78 Posted May 29, 2018 Author Share Posted May 29, 2018 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 More sharing options...
TheWormpie Posted May 29, 2018 Share Posted May 29, 2018 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 More sharing options...
foamyesque Posted May 29, 2018 Share Posted May 29, 2018 (edited) 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 May 29, 2018 by foamyesque Link to comment Share on other sites More sharing options...
Recommended Posts