chajapa Posted October 31, 2015 Posted October 31, 2015 I'm working on an update for JUGs. In this update I have added a ReferenceAlias for the player, to which I attached a script. If I simply overwrite the previous version, a couple of undesirable things happen: #1 - The referenceAlias doesn't fill. What's really odd (for me to understand) is that the script attached to it runs. But when I SQV -the Jugs quest ID-, I can see that the alias is not filled... it says "NONE". I created the alias using the "Specific" -> Forced -> any cell/PlayerRef Declared it in my main quest script ( ReferenceAlias Property Alias_Player Auto ) and set the properties. #2 - In papyrus log I get warnings about variables in the save (from the previous version of JUGs) not being found... like this: warning: Variable theReceiver on script JugsMain loaded from save not found within the actual object. This variable will be skipped. Will those errors be persistant in every save afterward or only in the first run after this update? (assuming I can do something about #1 up there...) IF I INSTALL ON A CLEAN SAVE: The referenceAlias fills as expected and I get no warnings about the older version variables missing. Basically, everything is wonderful except... The problem with a clean save is that any NPCs that were put into JugsFaction and/or JugsMilkmaidFaction are no longer in those factions. So a clean save means running through the dialogue to put them back in those factions OR just doing it quickly in console. If someone has a lot of NPCs, scattered throughout Skyrim in those factions, then this becomes a bit inconvenient. Not the end of the world as the next time you talk to them (which is the point of JUGs.... talking...) you put them back in the factions. The factions do NOTHING except act as conditions for dialogue. Wait, I take that back.... the JUGs faction will make someone at least your ally. So... do I just tell users that because of the new features, they need to install on a clean save? (which I've done on other mods that I use) or is there a solution or method of upgrading that will make it all work out? Thanks for any insights. Right now, it works rather splendidly on a clean save except for the factions thing... and once I get past this I can get back to making dialogue which I am much better at than this scripting stuff, for which I've already received about a metric ton of help
Guest Posted October 31, 2015 Posted October 31, 2015 I am not posting here! I am NOT posting here! I am not posting here! I am NOT posting here! Damn. I posted...
chajapa Posted October 31, 2015 Author Posted October 31, 2015 I am not posting here! I am NOT posting here! I am not posting here! I am NOT posting here! Damn. I posted... BAHAHahahahaha.... yes.... yes you did. I may just say, "Has to be installed on a clean save" and be done with it.
Guest Posted October 31, 2015 Posted October 31, 2015 When you have a mod that has scripts running, and the code is altered, then you get the "warnings" in the papyrus log about the missing variables. Usually they go away after the next save. One more drastic approach is to change completely the quest and the script, by keeping the old ones inactive, and doing your stuff only on the new quest and script IDs. About the Alias not filled, you can try to force fill it on your MCM or in your main quest, by getting any of the events that are already triggered (no, OnPlayerLoadGame() will be the one that will not be working) and do a simple myPlayerAlias.forceRefTo(PlayerRef) Let me know. Just delivered mods for 2 members, and now I have time. (My to-do list being reduced in size) And, of course, I still have to complete my new mod. That will be probably tomorrow.
chajapa Posted November 1, 2015 Author Posted November 1, 2015 Just a followup to conclude this. JUGs is about dialogue (and boobs), so after a ton of reading and more than a few tons of help from CPU, I still had a ReferenceAlias not filling when you updated from the previous version of JUGs. It fills the alias just fine on a new install. Dialogue... that was my answer. I created a single dialogue topic that will ONLY show up if the player is NOT in that referenceAlias. Player: "I'm feeling a bit disconnected." NPC: "I can fix that." A little script fragment attached to that dialogue uses Alias_Player.ForceRefTo(Game.GetPlayer()) , the alias gets filled, and that dialogue will never show up again Testing this confirms that once the player is in the alias and the game is saved, the referenceAlias is persistent so that dialogue won't show up after subsequent loads. The warnings about missing variables from the previous version only happen the first time the new version is loaded. So with this, my users can update without having to do an uninstall, clean save, reinstall kind of thing.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.