Just ran into a serious issue packaging mods for SW, hope I'

Post » Tue Jun 19, 2012 10:12 am

I've got this mod on Steam, Acquisitive Soul Gems:

http://steamcommunity.com/sharedfiles/filedetails/?id=10785

This changes an existing script, magicSoulTrapFXScript.

You'll notice most of the comments there are "this doesn't bloody work". It has always worked fine for me when I tested it, and no one has posted any problems for the file on the Nexus, so I just wrote it off to Steam users loading too many conflicting mods and didn't worry too much. But then the comments started to pile up and I figured there has to be something going on.

So I checked out the *.bsa in BSAopt and it turns out the CK only packaged the source to the script I changed, not the compiled *.pex file! So the mod is completely broken on Steam. Frankly I'm surprised I didn't get more negative comments than I did. It worked fine for my other mod, Perk Books, which only adds new scripts rather than changing an existing one.

So I guess if you change an existing script there is no way to package it up for SW? A workaround I guess is to have users compile it for themselves, but that's a pretty stupid thing to have to make people do. Someone tell me I'm doing it wrong, or at least that this is a known issue and will be fixed soon. In the meantime I need to take this mod off SW.
User avatar
brenden casey
 
Posts: 3400
Joined: Mon Sep 17, 2007 9:58 pm

Post » Tue Jun 19, 2012 1:41 pm

There's a list of all the data files that will be packed into the archive, to which you may manually add files. Just make sure the .pex is in it.
User avatar
Kelly Osbourne Kelly
 
Posts: 3426
Joined: Sun Nov 05, 2006 6:56 pm

Post » Tue Jun 19, 2012 5:04 am

There's a list of all the data files that will be packed into the archive, to which you may manually add files. Just make sure the .pex is in it.
Yeah, I figured it out and updated just now actually. I didn't realize you could drag files from a file system browser into the create archive window.
User avatar
Johanna Van Drunick
 
Posts: 3437
Joined: Tue Jun 20, 2006 11:40 am

Post » Tue Jun 19, 2012 8:10 am

Yeah, I figured it out and updated just now actually. I didn't realize you could drag files from a file system browser into the create archive window.

I had the same issue and did the same thing. However, it did not actually work: if I had the .pex file in my Data/Scripts folder it seemed to work fine, but if I removed it, the one in the BSA had no effect.
User avatar
bonita mathews
 
Posts: 3405
Joined: Sun Aug 06, 2006 5:04 am

Post » Tue Jun 19, 2012 4:19 am

Yes, this is due to the BSA bug. I can't find the thread at the moment, but scripts for modified vanilla stuff don't override the Skyrim master files. No mod doing so is able to be uploaded to SW. I ran into this same issue with my alt-start mod because I have to modify the MQ101 scripting.
User avatar
i grind hard
 
Posts: 3463
Joined: Sat Aug 18, 2007 2:58 am

Post » Tue Jun 19, 2012 8:35 pm

Oh wow. Thanks for the info Arthmoor. I'll go ahead and disable my mod on Steam for the time being.
User avatar
Danial Zachery
 
Posts: 3451
Joined: Fri Aug 24, 2007 5:41 am

Post » Tue Jun 19, 2012 6:16 am

Moving to CK forum
User avatar
Amber Hubbard
 
Posts: 3537
Joined: Tue Dec 05, 2006 6:59 pm

Post » Tue Jun 19, 2012 6:15 am

Yes, this is due to the BSA bug. I can't find the thread at the moment, but scripts for modified vanilla stuff don't override the Skyrim master files. No mod doing so is able to be uploaded to SW. I ran into this same issue with my alt-start mod because I have to modify the MQ101 scripting.

Are you positive scripts don't get overridden? http://www.gamesas.com/topic/1345724-important-bsas-and-you/ on BSA overriding doesn't mention them as a special case; according to it BSA overriding of vanilla resources does work, just very badly if there are multiple mods affecting the same resources due to loading in alpha order contrary to the "rule of one" load order of the mods' ESPs themselves.

If scripts are definitely an exception, this would be an instant show-stopper to the USKP going on the Workshop so it's a must-know.
User avatar
Emma-Jane Merrin
 
Posts: 3477
Joined: Fri Aug 08, 2008 1:52 am

Post » Tue Jun 19, 2012 6:30 pm

This bit...

And another issue that's come up: replacement scripts in Plugin BSAs don't actually replace the original script. If it's loaded as a Loose File or from a Registered BSA, it'll replace the script, but not from a Plugin BSA. Obviously with Steam Workshop using BSAs, that's something that we'd love to have fixed as well.
User avatar
Irmacuba
 
Posts: 3531
Joined: Sat Mar 31, 2007 2:54 am

Post » Tue Jun 19, 2012 1:16 pm

@tunaisafish: That's what I get for posting before I have my morning cappucino. I completely missed that section. :facepalm: Thanks!

Can't use Steam Workshop until that's fixed then. Of 30 scripts in the USKP so far only 1 is new.

Edit: because this (possible) issue is so important to me, I tried it, and it worked fine. I made a BSA with a modified vanilla script in it, and a nothing plugin to cause the BSA to load and it did take effect and override the vanilla one.
I will report this in Lojack's thread.
User avatar
Trista Jim
 
Posts: 3308
Joined: Sat Aug 25, 2007 10:39 pm

Post » Tue Jun 19, 2012 11:48 am

@tunaisafish: That's what I get for posting before I have my morning cappucino. I completely missed that section. :facepalm: Thanks!

Can't use Steam Workshop until that's fixed then. Of 30 scripts in the USKP so far only 1 is new.

Edit: because this (possible) issue is so important to me, I tried it, and it worked fine. I made a BSA with a modified vanilla script in it, and a nothing plugin to cause the BSA to load and it did take effect and override the vanilla one.
I will report this in Lojack's thread.

Did you try uploading and then downloading the file from the workshop ?? -- Could be something that the SW is doing to the files during upload\download that then makes it not work properly.
User avatar
Shannon Marie Jones
 
Posts: 3391
Joined: Sun Nov 12, 2006 3:19 pm

Post » Tue Jun 19, 2012 4:33 am

Nope, as I think it would be stretching credulity that Valve's code looks into Bethesda's BSA archives and twiddles with PEX files and no others. :wink:

I may try this later, but I have the CK open in the midst of edits and Steam is offline mode (as always if I'm not initiating an update.)

I'm much more inclined to believe that whoever reported it as a bug hit the same issue that bluedanieru did where only the PSCs were autoadded to the BSA so it appeared that they didn't work as the PEX files weren't actually there. Manually making a BSA and packing the PEXs in will alleviate this.
User avatar
joseluis perez
 
Posts: 3507
Joined: Thu Nov 22, 2007 7:51 am

Post » Tue Jun 19, 2012 8:07 am

I'm much more inclined to believe that whoever reported it as a bug hit the same issue that bluedanieru did where only the PSCs were autoadded to the BSA so it appeared that they didn't work as the PEX files weren't actually there. Manually making a BSA and packing the PEXs in will alleviate this.

I guess I was one of the people who reported it as a bug. I'd love to know why it worked for you and not me. I was helping David Brasher with his cart mod and we couldn't get around the issue. His mod changes the main cart system script, and adds a bunch of Papyrus fragments for new cart destination topics. The Papyrus fragments automatically get added to the BSA, but CarriageSystemScript does not. I could manually add CarriagteSystemScript.pex by dragging it into the BSA, but even though I verified that it was present in the BSA file, the game ignored it and kept using the vanilla version of the script. The only way we could change a vanilla script was to keep the modified pex file in the Data/Scripts folder. We wound up just packaging the pex directly in the zip file, which works but obviously prevents the mod being loaded to Steam.

Probably a stupid question, but when you did this test, did you make sure to remove the pex file from your Scripts folder?

Edit: nm, saw your reply in Lojack's thread. I guess I will have to try this again, I did everything you did, even using the same script, and no success.
User avatar
Shelby Huffman
 
Posts: 3454
Joined: Wed Aug 08, 2007 11:06 am

Post » Tue Jun 19, 2012 10:58 am

Nope, tried it again, no joy. I even tried renaming the mod and BSA to "Test Cart in Each Big Town" instead of just "Cart in Each Big Town" thinking maybe it was the same stupid lexical issue that we run into with the texture replacers. Nope.

I give up. Half the folks trying this report it's broken for them, the other half report it works fine, and Bethesda obviously doesn't care. Not worth pulling hair out for free, I fix enough bugs for a living.
User avatar
Krystal Wilson
 
Posts: 3450
Joined: Wed Jan 17, 2007 9:40 am

Post » Tue Jun 19, 2012 7:42 am

Try making your BSA manually by simply launching Archive.exe from the main Skyrim folder and dragging files into it rather than from the upload interface, then upload that to Steamworks (I believe it auto-picks if it matches the ESP name but it's easy enough to verify.)
Edit: I guess you already did that.

I really hope they undo this schema for the next ES title and make the script files embedded with the source in the ESP/ESM again as they always were. It adds nothing but confusion and complexity and it worked perfectly before this.
User avatar
Captian Caveman
 
Posts: 3410
Joined: Thu Sep 20, 2007 5:36 am

Post » Tue Jun 19, 2012 4:34 am

What I do instead is dupilcate everything I touch in the CK and rename it. That way it's #1 Easy for me to find and #2 Automatically packs all scripts and other objects used that I have edited in my mod.
User avatar
Peter P Canning
 
Posts: 3531
Joined: Tue May 22, 2007 2:44 am

Post » Tue Jun 19, 2012 10:57 am

When I first packaged up Live Another Life, I had every intention of it going up on the Workshop. So i used the CK to pack the archive. Knowing it wasn't grabbing the updated .pex file, I manually dragged it in. Double checked it had done so, then uploaded it. Immediately got back word that it didn't work. You got stuck at the opening menu after starting a new game.

I racked my brain on this because that wasn't happening for me, until I realized I needed to test it by moving the loose file aside. Sure enough, I got stuck at the main menu too. After repackaging it for upload as loose files, it worked fine.

This isn't something that can be duplicated and renamed either, so I can't go that route, and neither can anyone else who modifies vanilla scripts.
User avatar
noa zarfati
 
Posts: 3410
Joined: Sun Apr 15, 2007 5:54 am

Post » Tue Jun 19, 2012 10:57 am

I do what Draeka says - additional benefit that you are not modifying the source files which you may need clean versions of for another mod.
User avatar
Kelvin
 
Posts: 3405
Joined: Sat Nov 17, 2007 10:22 am

Post » Tue Jun 19, 2012 8:25 pm

This isn't something that can be duplicated and renamed either, so I can't go that route, and neither can anyone else who modifies vanilla scripts
But it is! I've even left a comment on your Nexus page.
My Quickstart mod modifies FOUR vanilla scripts - they way to go is to use the "Rename Script" button that appears on Quest Stages -> "Advanced" tab near the fragment script.
That does precisely that - duplicates the script, renames it, and switches the entire quest to use it (preserving all properties, aliases, etc.)
User avatar
Katie Samuel
 
Posts: 3384
Joined: Tue Oct 10, 2006 5:20 am

Post » Tue Jun 19, 2012 8:14 pm

Hmm. For an alt-start mod that just might work.

I'd be VERY leery of trying that on any other post-start quest because the track record of this engine with swapping scripts on a quest isn't very good. There's a vampire mod that had this exact problem. Changed the script a quest pointed to, blew all the index values and stuff out of whack. Corrupted the vampire quest permanently once that happened. I have no idea what sort of indexing may go on with Papyrus.
User avatar
Nuno Castro
 
Posts: 3414
Joined: Sat Oct 13, 2007 1:40 am

Post » Tue Jun 19, 2012 9:19 am

When I first packaged up Live Another Life, I had every intention of it going up on the Workshop. So i used the CK to pack the archive. Knowing it wasn't grabbing the updated .pex file, I manually dragged it in. Double checked it had done so, then uploaded it. Immediately got back word that it didn't work. You got stuck at the opening menu after starting a new game.

I racked my brain on this because that wasn't happening for me, until I realized I needed to test it by moving the loose file aside. Sure enough, I got stuck at the main menu too. After repackaging it for upload as loose files, it worked fine.

This isn't something that can be duplicated and renamed either, so I can't go that route, and neither can anyone else who modifies vanilla scripts.

Well I duplicate scripts as well. That's why I warn that my mod is an overhaul not a replacement. That's just me though.
User avatar
Da Missz
 
Posts: 3438
Joined: Fri Mar 30, 2007 4:42 pm

Post » Tue Jun 19, 2012 7:59 am

Actually the thing that bothers me is that the game saves which scripts WERE running, and doesn't hot swap them if you activate a mod.

So, while this whole duplicating script works well for new games, once you start a game, only the quest settings you can change in the ESP seem to take effect - changing the script does nothing ...
Specifically, overwriting the script with a loose file will work, but changing the object to use a DIFFERENT script won't, because the object is saved as using the old one. Likewise, deactivating a mod will break it, because the object is now recorded in the saved game as using your script, which no longer exists.

This wasn't an issue in the old system where scripts part of the esp, because you could easily overwrite vanilla scripts.
User avatar
kat no x
 
Posts: 3247
Joined: Mon Apr 16, 2007 5:39 pm

Post » Tue Jun 19, 2012 7:20 am

Actually the thing that bothers me is that the game saves which scripts WERE running, and doesn't hot swap them if you activate a mod.

So, while this whole duplicating script works well for new games, once you start a game, only the quest settings you can change in the ESP seem to take effect - changing the script does nothing ...
Specifically, overwriting the script with a loose file will work, but changing the object to use a DIFFERENT script won't, because the object is saved as using the old one. Likewise, deactivating a mod will break it, because the object is now recorded in the saved game as using your script, which no longer exists.

This wasn't an issue in the old system where scripts part of the esp, because you could easily overwrite vanilla scripts.

Yeah I found this out the hard way when I first started modding. It's why my mod got some downvotes. One thing I've been forced to do with my vampire mod is have it so that once you Feed in game it removes all the old abilities and scripts currently running on your savegame. So basically it cleans out vanilla scripting and abilties from the character and sets you straight with my mod.

It wasn't fun adding that feature though. Kind of pisses me off Bethesda didn't think of this being a problem.
User avatar
Noraima Vega
 
Posts: 3467
Joined: Wed Jun 06, 2007 7:28 am

Post » Tue Jun 19, 2012 2:46 pm

Specifically, overwriting the script with a loose file will work, but changing the object to use a DIFFERENT script won't, because the object is saved as using the old one. Likewise, deactivating a mod will break it, because the object is now recorded in the saved game as using your script, which no longer exists.

This happened in Oblivion too. It was just much more insidious in it's manifestation. If you edited a quest and changed the script that quest used to a new one, the game would silently make the change. The problem was, variable indexes would nearly always be thrown off because many of Bethesda's scripts had gone through development changes and were no longer indexed in sequence. Your new script starts fresh, therefore gets assigned a new index order. You could end up with what you think are floats pointing to refs and stuff like that. The game would not complain about this. You'd just end up with mystery bugs. Even worse if your new script didn't use anything in common with the old. Total variable corruption.

So it's never been safe to reassign a quest to a new script. Papyrus has just given us the ability to spot this error in the open through the debug logs. The fact that the script is sticking to the save only makes this implementation that much worse than what we had before because you end up detaching the entire script and leaving the save permanently corrupted rather than in a state that could eventually be corrected if you simply stuck it out long enough.
User avatar
Stephani Silva
 
Posts: 3372
Joined: Wed Jan 17, 2007 10:11 pm

Post » Tue Jun 19, 2012 12:08 pm

Is there a third party program that will help Skyrim do a refresh on all loaded mods and scrips they use as a save is loading. Or JUST before a save loads. ?


Also you're right Arthmoor. What I ended up doing is creating a whole new quest and just linking everything to the new quest and then designed a function of the quest to remove all vanilla originals of it. Though I doubt that would be useful in a project as ambitious as yours.
User avatar
Tasha Clifford
 
Posts: 3295
Joined: Fri Jul 21, 2006 7:08 am

Next

Return to V - Skyrim

cron