Jump to content

Follower Command Hangup - Scripting Advice Needed


GrandBulwark

Recommended Posts

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 by GrandBulwark
Link to comment
Share on other sites

The problem I see is your using the load order in the Form ID

eg: 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

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

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

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...