LukeDuke Posted January 15, 2015 Posted January 15, 2015 I'm using latest beta version (v30 beta 3) with SexLab 1.59c and I have CTD when saving game. I'm on Windows 8.1 fully up-to date with all latest VC libraries and .NET Framework installed. I should not use it with SL 1.59c?
zaira Posted January 15, 2015 Posted January 15, 2015 I have the same environment and no CTDs. By the way - I have looked into SKSE code and it seems to be possible and easy to create outfit objects from form arrays. Could you integrate an outfit loading function into JsonUtils? (Storing form array - loading outfit) class BGSOutfit : public TESForm { public: enum { kTypeID = kFormType_Outfit }; tArray<TESForm*> armorOrLeveledItemArray; // 14 };
LukeDuke Posted January 15, 2015 Posted January 15, 2015 So why this bug can happen? (I only have it with Sexlab and some SexLab mods), is there a fix or something? Or maybe ''Schlongs of Skyrim'' is the culprit? Edit: Nvm.. I reinstalled Skyrim + all my mods and deleted SoS (I'm now using SAM) and no more crashes when saving the game! So it looks like this v30beta3 is stable for me, even more than v.28. Thanks Ashal!
vpoteryaev Posted February 12, 2015 Posted February 12, 2015 I'm using latest beta version (v30 beta 3) with SexLab 1.59c and I have CTD when saving game. I'm on Windows 8.1 fully up-to date with all latest VC libraries and .NET Framework installed. I should not use it with SL 1.59c? Having same troubles too. Used beta PapyrusUtil due standard (included in SexLab 1.59c) has issue with esp/esm names if using JsonUtil for my mod. Two days are 'killed' for searching CTD's on save reason. Starting new game - after 2 hours CTD...CTD... Thought about LAL. But today start new game without any mods - just standard. Complete Unbound and on exit the Helgen's cave COCed to my own cell. Install all mods, COC to chargenexit. Tryin' to reenter the cave - CTD. Disable in MO beta PapyrusUtil - no CTD.
Ashal Posted February 13, 2015 Author Posted February 13, 2015 I'm using latest beta version (v30 beta 3) with SexLab 1.59c and I have CTD when saving game. I'm on Windows 8.1 fully up-to date with all latest VC libraries and .NET Framework installed. I should not use it with SL 1.59c? Having same troubles too. Used beta PapyrusUtil due standard (included in SexLab 1.59c) has issue with esp/esm names if using JsonUtil for my mod. Two days are 'killed' for searching CTD's on save reason. Starting new game - after 2 hours CTD...CTD... Thought about LAL. But today start new game without any mods - just standard. Complete Unbound and on exit the Helgen's cave COCed to my own cell. Install all mods, COC to chargenexit. Tryin' to reenter the cave - CTD. Disable in MO beta PapyrusUtil - no CTD. Post your PapyrusUtilDev.log from the Skyrim folder directly after a crash on save.
darkconsole Posted February 14, 2015 Posted February 14, 2015 Wanted to propose an idea to extend PapyrusUtil package overrides, not sure if it is viable or what access you have on the low level though. Problem The only way to really do packages well is via Quest Aliasing, which means hardcoding lots of things both in Papyrus and CreationKit. For example a package that just makes an NPC follow another NPC PackageFollow - Proceedure: Follow - - ReferenceAlias Leader The only way to apply this to a non-player actor would be to have a quest alias holding both leader and the npc who should follow the leader. Which is teh dumb in the long run when it comes to full dynamic world actions. Idea Here is where it gets a little hairy. Internally, if package data is unique to each actor, which I assume it must be so you can have multiple aliases doing the same thing to different targets, then this would be plausable if you have the low level access to hack in. Actor RandomNPC Actor DogNPC Package PackageFollow ;;;;;;;; ActorUtil.AddPackageOverride(DogNPC, PackageFollow, 99) ActorUtil.SetPackageOverrideValueRef(DogNPC, PackageFollow, "Leader", RandomNPC) DogNPC.EvaluatePackage() There would be other methods for the other types of data Package data values are allowed to have, which is only a small handful if I recall. Bool, Location, Reference, etc. But this would allow us to 101% dynamically create, apply, and script packages without any limitations of hard defining and hard coding around quest aliases. Think follower framework without pages of If(Alias1) ElseIf(Alias2) ... ElseIf(Alias97). And the statements "up to 5 of your followers" being made completely obsolete.
Monoman1 Posted March 7, 2015 Posted March 7, 2015 I'm having the same problem with ctds on save with the beta version. It's a pretty reproducable ctd when it happens. If you load the last save made it will generally ctd the next time you try to save. Yes, load order with my setup is 'extensive', including many merged mods so I'm not sure how useful the info will be for you. This ctd occurred literally after about 5mins of wandering around solstheim in a new game (LAL start). After this ctd I rolled back to 2.8 (MO) only, no other changes. New game, played for 1 - 2 hours, no Ctds when saving. Another time I had this problem with a save I just rolled back to the old version after which I was able to load the last save and successfully create a new save. But I think rolling back within an existing game might not be wise. Edit: It seems I fail at posting spoilers. Here are the logs uploaded instead. PapyrusUtilDev.log Papyrus.0.log
Ashal Posted March 7, 2015 Author Posted March 7, 2015 Are you using the latest update posted in this thread, or the one included with the current SexLab 1.60 alpha release? The one included with the SexLab alpha patch is newer than the beta version posted here.
Monoman1 Posted March 8, 2015 Posted March 8, 2015 Good catch. That was using the beta version posted back a page or two. Should I upgrade to Sl 1.60 or pick and choose papyrusutil files from the archive?
Ashal Posted March 8, 2015 Author Posted March 8, 2015 Good catch. That was using the beta version posted back a page or two. Should I upgrade to Sl 1.60 or pick and choose papyrusutil files from the archive? Up to you, depends on if you want to test SexLab 1.60 as well or not.
Monoman1 Posted March 8, 2015 Posted March 8, 2015 Just to follow up on this. I updated from 2.8 to the new version in the alpha with an existing game and played for a few hours with no ctds on saving. Hopefully the problem is solved. Thank you Ashal. I'm also checking out 1.6 now.
vpoteryaev Posted March 18, 2015 Posted March 18, 2015 I'm using latest beta version (v30 beta 3) with SexLab 1.59c and I have CTD when saving game. I'm on Windows 8.1 fully up-to date with all latest VC libraries and .NET Framework installed. I should not use it with SL 1.59c? Having same troubles too. Used beta PapyrusUtil due standard (included in SexLab 1.59c) has issue with esp/esm names if using JsonUtil for my mod. Two days are 'killed' for searching CTD's on save reason. Starting new game - after 2 hours CTD...CTD... Thought about LAL. But today start new game without any mods - just standard. Complete Unbound and on exit the Helgen's cave COCed to my own cell. Install all mods, COC to chargenexit. Tryin' to reenter the cave - CTD. Disable in MO beta PapyrusUtil - no CTD. Post your PapyrusUtilDev.log from the Skyrim folder directly after a crash on save. Install again and same trouble. In saves folder are created: "NewName.ess.tmp" and "NewName.skse". Logs.7z
zaira Posted March 18, 2015 Posted March 18, 2015 Are you using the latest update posted in this thread, or the one included with the current SexLab 1.60 alpha release? The one included with the SexLab alpha patch is newer than the beta version posted here. Could you release the beta separately? Creature animations are broken in SL 1.60
Ashal Posted March 18, 2015 Author Posted March 18, 2015 Are you using the latest update posted in this thread, or the one included with the current SexLab 1.60 alpha release? The one included with the SexLab alpha patch is newer than the beta version posted here.Could you release the beta separately? Creature animations are broken in SL 1.60 If you're using the latest one in the sexlab 1.60, you are already using the latest beta, releasing it seperately isn't going to change that, with the exception of a few minor tweaks I've made to it since the last 1.60 release. I do plan on releasing the latest beta version here shortly though, which will be newer than the one in 1.60, but not by much or in any major critical ways. I'm using latest beta version (v30 beta 3) with SexLab 1.59c and I have CTD when saving game. I'm on Windows 8.1 fully up-to date with all latest VC libraries and .NET Framework installed. I should not use it with SL 1.59c? Having same troubles too. Used beta PapyrusUtil due standard (included in SexLab 1.59c) has issue with esp/esm names if using JsonUtil for my mod. Two days are 'killed' for searching CTD's on save reason. Starting new game - after 2 hours CTD...CTD... Thought about LAL. But today start new game without any mods - just standard. Complete Unbound and on exit the Helgen's cave COCed to my own cell. Install all mods, COC to chargenexit. Tryin' to reenter the cave - CTD. Disable in MO beta PapyrusUtil - no CTD. Post your PapyrusUtilDev.log from the Skyrim folder directly after a crash on save. Install again and same trouble. In saves folder are created: "NewName.ess.tmp" and "NewName.skse". Logs.7z Try using the newest version of PapyrusUtil instead of the one included in 1.59c, newer versions specifically fix an issue with package overrides sometimes causing crashes, which is where 2 of your logs are ending at. As mentioned above, I'll be releasing an updated PapyrusUtil beta here shortly.
zaira Posted March 18, 2015 Posted March 18, 2015 Are you using the latest update posted in this thread, or the one included with the current SexLab 1.60 alpha release? The one included with the SexLab alpha patch is newer than the beta version posted here.Could you release the beta separately? Creature animations are broken in SL 1.60 If you're using the latest one in the sexlab 1.60, you are already using the latest beta, releasing it seperately isn't going to change that, with the exception of a few minor tweaks I've made to it since the last 1.60 release. I do plan on releasing the latest beta version here shortly though, which will be newer than the one in 1.60, but not by much or in any major critical ways. I downgraded to 1.59c because of complete lack of creature anims in 1.60...
Ashal Posted March 18, 2015 Author Posted March 18, 2015 Here is the latest beta version for PapyrusUtil 3.0, beta 4:papyrusutilv30.BETA4.zipChangelog since previous beta release: Lots of memory usage optimizations on all storage and array utility functions - may solve some crash issues for some people Cleared out a lot of the more useless PapyrusUtilDev.log spamming Fixed some crash related issues resulting from forms on altered load order or removed mods Updated some library dependencies to their latest versions Added new xxxListCountValue() functions to StorageUtil and JsonUtil for getting the number of times a specific value is, or isn't, in a given list In it's current state, PapyrusUtil 3.0 is more or less ready for release, I'm only holding it back from releasing it officially since it's not yet clear what the non-beta version of skse 1.7.2 will change and a lot of the stuff introduced in 3.0 makes use of 1.7.2's new features. ---- If you're using the latest one in the sexlab 1.60, you are already using the latest beta, releasing it seperately isn't going to change that, with the exception of a few minor tweaks I've made to it since the last 1.60 release. I do plan on releasing the latest beta version here shortly though, which will be newer than the one in 1.60, but not by much or in any major critical ways. I downgraded to 1.59c because of complete lack of creature anims in 1.60... Than post details about it in the sexlab development thread. Creature animations work perfectly fine for me in 1.60, MoreNastyCritters included. I can't fix what people don't report details on (i.e., a debug log).
vpoteryaev Posted March 19, 2015 Posted March 19, 2015 Install again and same trouble. In saves folder are created: "NewName.ess.tmp" and "NewName.skse". Logs.7z Try using the newest version of PapyrusUtil instead of the one included in 1.59c, newer versions specifically fix an issue with package overrides sometimes causing crashes, which is where 2 of your logs are ending at. As mentioned above, I'll be releasing an updated PapyrusUtil beta here shortly. I was talking not about package overrides (for example Maria Eden without beta3 kick out very quickly), but CTD when save. And I was using beta3. Will try Beta4. Updated: with beta4 as quickly tried seems works OK.
bruh... Posted April 1, 2015 Posted April 1, 2015 And just as i was about to give up hope it seems i finally may have found the reason for all my CTDs when saving. Completely forgot that i was using a wip papyrusutil version in order to get some things working in maria eden. Will try out the beta4 version tomorrow. i have high hopes.
volfin Posted April 2, 2015 Posted April 2, 2015 Heh, I just came to this thread because I realized after 3 days of trying to trace why I kept crashing on save, I was lead to StorageUtil.dll. (SKSE crash minidump indicated the invalid memory access was occurring there). I had been using Beta 3. But now after upgrading to Beta 4, all the crashing on save seems to have subsided. Yay! I was really pulling my hair out.
Guest Posted April 2, 2015 Posted April 2, 2015 Oh jeeze. Switching to Beta 4 fixed all of the problems I had been having. I was ready to go insane because of it.
Expired6978 Posted April 2, 2015 Posted April 2, 2015 Wanted to propose an idea to extend PapyrusUtil package overrides, not sure if it is viable or what access you have on the low level though. Problem The only way to really do packages well is via Quest Aliasing, which means hardcoding lots of things both in Papyrus and CreationKit. For example a package that just makes an NPC follow another NPC PackageFollow - Proceedure: Follow - - ReferenceAlias Leader The only way to apply this to a non-player actor would be to have a quest alias holding both leader and the npc who should follow the leader. Which is teh dumb in the long run when it comes to full dynamic world actions. Idea Here is where it gets a little hairy. Internally, if package data is unique to each actor, which I assume it must be so you can have multiple aliases doing the same thing to different targets, then this would be plausable if you have the low level access to hack in. Actor RandomNPC Actor DogNPC Package PackageFollow ;;;;;;;; ActorUtil.AddPackageOverride(DogNPC, PackageFollow, 99) ActorUtil.SetPackageOverrideValueRef(DogNPC, PackageFollow, "Leader", RandomNPC) DogNPC.EvaluatePackage() There would be other methods for the other types of data Package data values are allowed to have, which is only a small handful if I recall. Bool, Location, Reference, etc. But this would allow us to 101% dynamically create, apply, and script packages without any limitations of hard defining and hard coding around quest aliases. Think follower framework without pages of If(Alias1) ElseIf(Alias2) ... ElseIf(Alias97). And the statements "up to 5 of your followers" being made completely obsolete. While this is a good suggestion, you're still going to need 8 million packages. These override values wouldn't be per instance, they would be per-base form, unless you hooked the package Evaluation code and overwrote there. Though more packages is certainly easier than more Aliases with also more packages. The If/Else is a terrible idea to begin with, I've solved these major issues by having all the ReferenceAliases in an indexed array and store the index in an unused Actor Value. Looking up the follower is very fast, only insertion is slow. Even in worst case traversal of the whole list there's a tracked Maximum value so that you never need to traverse all 100, only up to the last index, which is still bad, since it's not re-sorted, you can get the case where you recruit 10 followers, and dismiss the first 9, it will still need to traverse to 10. I wouldn't really recommend altering these parameters, but then again I didn't really recommend overriding packages either since you ignore the original package stack concept. I never decoded these values though so I would either need to do this, or someone else would: // 80 class TESPackage : public TESForm { public: enum { kTypeID = kFormType_Package }; virtual bool Unk_39(UInt32 arg0, UInt32 arg1, UInt32 arg2, UInt32 arg3); virtual bool Unk_3A(UInt32 arg0, UInt32 arg1, UInt32 arg2, UInt32 arg3, UInt32 arg4); virtual bool Unk_3B(UInt32 arg0, UInt32 arg1); virtual bool Unk_3C(UInt32 arg0, UInt32 arg1); virtual bool Unk_3D(UInt32 arg0); enum { kPackageType_Find = 0, kPackageType_Follow, kPackageType_Escort, kPackageType_Eat, kPackageType_Sleep, kPackageType_Wander, kPackageType_Travel, kPackageType_Accompany, kPackageType_UseItemAt, kPackageType_Ambush, kPackageType_FleeNotCombat, kPackageType_CastMagic, kPackageType_Sandbox, kPackageType_Patrol, kPackageType_Guard, kPackageType_Dialogue, kPackageType_UseWeapon, kPackageType_Find2, kPackageType_Package, kPackageType_PackageTemplate, kPackageType_Activate, kPackageType_Alarm, kPackageType_Flee, kPackageType_Trespass, kPackageType_Spectator, kPackageType_ReactToDead, kPackageType_GetUpFromChair, kPackageType_DoNothing, kPackageType_InGameDialogue, kPackageType_Surface, kPackageType_SearchForAttacker, kPackageType_AvoidPlayer, kPackageType_ReactToDestroyedObject, kPackageType_ReactToGrenadeOrMine, kPackageType_StealWarning, kPackageType_PickPocketWarning, kPackageType_MovementBlocked, kPackageType_Unk37, kPackageType_Unk38 }; // C struct Data30 { UInt8 unk00; // 0 UInt8 unk01; // 1 UInt8 unk02; // 2 UInt8 unk03; // 3 UInt8 unk04; // 4 UInt8 pad05[3]; // 5 UInt32 unk08; // 8 }; // 10 struct Data { UInt32 unk00; // 00 UInt32 unk04; // 04 UInt32 unk08; // 08 UInt32 unk0C; // 0C }; UInt32 packageFlags; // 14 UInt8 type; // 18 - see kPackageType_ enum UInt8 unk19; // 19 UInt8 unk1A; // 1A UInt8 pad1B; // 1B UInt16 unk1C; // 1C UInt16 unk1E; // 1E UInt32 unk20; // 20 UInt32 unk24; // 24 UInt32 unk28; // 28 UInt32 unk2C; // 2C Data30 unk30; // 30 void * unk3C; // 3C - linked list UInt32 unk40; // 40 UInt32 unk44; // 44 Data unk48; // 48 Data unk58; // 58 Data unk68; // 68 UInt32 unk78; // 78 UInt32 unk7C; // 7C - incremented in dtor bool IsExtraType(); }; If I had to guess, the structure would be in that linked list, and the linked list would be structures of variant types.
h38fh2mf Posted April 3, 2015 Posted April 3, 2015 ReferenceAlias itself is not a form, although it does have an ID internally so it should be possible to find a way to fetch ReferenceAlias by ID and see its ID. That would allow to save the ID to PapyrusUtil as integer so you could save and load ReferenceAliases to PapyrusUtil instead of creating an array.
h38fh2mf Posted April 3, 2015 Posted April 3, 2015 This is how the game does it: BGSBaseAlias *__thiscall TESQuest::GetAliasById(TESQuest *this, UInt32 aliasId) { UInt32 totalCount; // esi@1 BGSBaseAlias *result; // eax@1 UInt32 index; // edx@1 BGSBaseAlias **v5; // edi@2 BGSBaseAlias **v6; // ecx@2 totalCount = this->aliases.count; result = 0; index = 0; if ( totalCount ) { v5 = (BGSBaseAlias **)this->aliases.entries; v6 = (BGSBaseAlias **)this->aliases.entries; while ( !*v6 || (*v6)->aliasId != aliasId ) { ++index; ++v6; if ( index >= totalCount ) return result; } result = v5[index]; } return result; }Address of function: 0x56B6F0
Monoman1 Posted April 3, 2015 Posted April 3, 2015 Seems like I'm the only one that has more trouble with beta 4 than with beta 3. I was having a hell of a time starting a new game with beta 4, crashes during character creation, crashes just after character creation, crashes when saving after all mods had finished showing notifications. I flipped back and forth between beta 3 and 4 (new game each time) and 3 seemed way more stable. I had a notion to delete all my old saves and try beta 4 again and this time made it passed character creation and mod set up, choose left for dead start (alternate start), got into the game world and managed to save once but seems like it's crashing when saving after that save. Logs from crash when saving: crash while saving.rar Papyrus log is as useful as ever. I had just ran the "clean" operation in sexlab in that log which finished ok and got the prompt to save. So I opened the console and typed "save reset". And i have a file: reset.ess.tmp in the save folder. Running sexlab alpha 3 btw. Edit: Maybe I'm not understanding these different versions right. I'm now just using whatever version of payrus utils comes with sexlab 1.60 alpha 3 and everything seems fine. Are the versions posted here for sexlab 1.59 or for both versions? Why do people (in other mod threads) recommend upgrading to the latest beta here?
Guest Long John Posted April 3, 2015 Posted April 3, 2015 @Ashal - Is it possible please for the final 3.0 release when available to also be posted on the Nexus? It will need to comply with the Nexus rules for the 3.0 version to be able to be uploaded.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now