Quick Question regarding updating plugins

Post » Sat Nov 17, 2012 3:26 pm

So I'm about to upload my first mod, however, I'm intending to update it with additional features down the road, specifically a quest chain, that I intend to release episodically.

My question is, when a user updates the plugin, would they have to start over again each time?

I figured I'd just future-proof it a little bit and at the end of each update I'd have a dummy quest that would trigger the next quest in the next update, am I right thinking this would be enough?

To be clear, my mod only adds new content, nothing vanilla is modified, would I have to ESM the mod to get it working as desired?

Thanks for any help!
User avatar
teeny
 
Posts: 3423
Joined: Sun Feb 25, 2007 1:51 am

Post » Sat Nov 17, 2012 6:41 am

You need to be very careful about what gets Saved (in a saved game) when you go to update. There have been lots of issues when a dirty-save has prevented updates (functionality, or chain-quests etc) from working.

It's very difficult to give you a list of stuff, because so much stuff could be effected, depending on how you built it (and what/how you want to update).

For example: Marking a Quest as completed, then trying to revive it in a later "edition", might well give you problems. And there's a raft of similar things.


(I can't help with the ESM theory ... but one of the ESMers here should be able to tell you whether that avoids some of the pitfalls).
User avatar
Elina
 
Posts: 3411
Joined: Wed Jun 21, 2006 10:09 pm

Post » Sat Nov 17, 2012 6:17 am

Why not finish all that you have planned for the mod before uploading it?
User avatar
Phillip Hamilton
 
Posts: 3457
Joined: Wed Oct 10, 2007 3:07 pm

Post » Sat Nov 17, 2012 6:20 am

As h4vent says, the issue is that things will be stored in your users' save files - and those 'things' include any running scripts, as well as variable data, and that will stop your updated scripts from running. So if there is any chance you'll want to update a script you need to try to avoid it being saved while it's running (in a while loop, waiting for an OnUpdate, etc), and maybe put a version check in your code to stop the script running if it's changed.
User avatar
Danielle Brown
 
Posts: 3380
Joined: Wed Sep 27, 2006 6:03 am

Post » Sat Nov 17, 2012 7:34 am

Yes as others have said there are issues. I understand your idea because I'm working on a mod and have had to figure a way round the same problem.

Basically if your user has started or finished a quest, if you then change it in any way (for example start another quest or enable an object when complete) the change won't appear for the user.

My workaround is this:

Make your mod and quests. Then in your update have the new quest started through a new dialogue branch (seperate from the original quest script). Have the condition set to GetQuestCompleted for the quest you want to have finished. So the dialogue won't show up until the quest you ended on has completed.

With that, your users can either have started the previous quest or not. Either way it won't cause any problems when updating :)
User avatar
Umpyre Records
 
Posts: 3436
Joined: Tue Nov 13, 2007 4:19 pm

Post » Sat Nov 17, 2012 8:19 pm

Thanks for all the help guys, given the new quests would be affecting scripts that would be present in current savegames I think I'll just play it safe, take hunting's advice and finish it off before I unleash it.
At least, that is, if I can get my quest chain rolling and not make it svck. I'm not good with story-writing. :-P

Thanks as always!
User avatar
Benji
 
Posts: 3447
Joined: Tue May 15, 2007 11:58 pm


Return to V - Skyrim