GrandBulwark Posted May 9, 2015 Share Posted May 9, 2015 (edited) Well, to give a brief introduction. I have been trying to work up a solution to filling a few properties via GetFormFromFile() for a follower mod framework I've been working on. The issue is, a few of the properties don't seem to fill properly. The mod is centered around an McM menu. The McM checks for DLCs via the McM's OnConfigInit() and OnGameReload events. The Actors Teldryn Sero, Garmr, CuSith and Bran all seem to have issues filling. Whereas the rest of the followers in their respective .esms work just fine. This is the check function;http://pastebin.com/bAMsv648 And this is the slider placement function;http://pastebin.com/AyzN1h0g These for followers return none and are filled with an empty option(refer to line 34 of the slider placement function). The GetFormFromFile() calls on these actors however do NOT throw errors. I have tried case sensitive, using GetFormID() on one, then converting to Hex while omitting the prefatory load order numbers. Valdimar had a similar issue and he was fixed by tweaking his formID; that said I've tried literally everything I can think of to resolve this issue on the other FormIDs. Anyone have any thoughts? Edited May 9, 2015 by GrandBulwark Link to comment Share on other sites More sharing options...
GrandBulwark Posted May 9, 2015 Author Share Posted May 9, 2015 SOLVED: Teldryn Sero, Garmr, CuSith and Bran do NOT exist on game initialize and thus return none. That must be taken into my calculations. Thanks for everyones time. Link to comment Share on other sites More sharing options...
sLoPpYdOtBiGhOlE Posted May 9, 2015 Share Posted May 9, 2015 The problem I see is your using the load order in the Form IDeg: 0x02XXXXXX When using Game.GetFormFromFile(), drop the 0x02, use 0x00XXXXXX instead.Example: Teldryn_Sero_A = Game.GetFormFromFile(0x00038565,"Dragonborn.esm") As Actor My preference would be get the Actor Base for the Actor instead of an Actor Reference from a the esm.Mainly for those that may spawn a dupe actor in their game, it's easy enough to use GetActorBase() on a dupe or non dupe on the fly as you check an actor reference against the actor base from the file.But each their own. Link to comment Share on other sites More sharing options...
GrandBulwark Posted May 9, 2015 Author Share Posted May 9, 2015 Cheers man. Solved it and yes you are right. 0x00 was correct. The actor just returned as None since the actor had not yet been placed or spawned Serana, the Dawnguard Members, Rayya, Valdimar, Gregor and Frea are all persistent. It appears that even Sceolang is persistent or at least "placed" when a new game initializes. Whereas Teldryn Sero, Cusith/Garmr and Bran are all spawned when the location loads the first time. Anyway, I appreciate your time. Link to comment Share on other sites More sharing options...
sLoPpYdOtBiGhOlE Posted May 9, 2015 Share Posted May 9, 2015 Glad you got it sorted. Getting the ActorBase gets around the non persistent probs you mentioned.Weird when I tested getting the reference from the esm on game load for those same actor refs you had problems with it worked for me.Must just be a timing issue dependent on the pc it's run on or how much script load is on papyrus maybe. As those references are persitent even when the cell isn't loaded. Link to comment Share on other sites More sharing options...
GrandBulwark Posted May 9, 2015 Author Share Posted May 9, 2015 Interesting. Perhaps it is a mod thing. But regardless. I've simply tacked http://pastebin.com/5Jp51FRv This catch on to the effected sliders and put he DLC check on Page Reload more commonly used function. This way values are always kept current. :D Link to comment Share on other sites More sharing options...
Recommended Posts