Jump to content

Find an enable state parent with script


Recommended Posts

So I am at 90% of trying to disable 100% of NPCs in the world through script. Quests are not a problem, but I am left with 10% of the NPCs in the world erroring:

 

[ cannot enable an object with an enable state parent. ]

 

I have tired blind querying LinkRefs with blank or known keywords and disabling whatever returns, but that's not solving the problem. So, is there any way of programatically getting an OR's enable parent ?

Link to comment
Share on other sites

You can probably try the linkedref thing again, and search for the enable parent marker by form ID. If found in the linkedref array, you can then get its state.

 

I realize this has some inefficient things attached, especially if all 10 NPCs are not overseen by one enable parent, and if the enable parent being used is a standard xmarker and not the actual enable/disable marker.

Edited by Rasikko
Link to comment
Share on other sites

@Rasikko the issue is I don't know what the enable parent objects are or their keywords.


Example, in DC I can disable 50 of the 65 actors and find 2 more linked to an xmarker parent that i can disable. Having scanned and polled Xmarkers and XmarkerHeadings they don't find the parent locked actors. In picking apart some quest areas I have found actor enable parents extend well past traditional markers to trigger volumes, random activators, load doors and all sorts.


I'll try sticking more keywords like the generic LinkCustomXX through the actors and see if I get lucky.

Link to comment
Share on other sites

Update: hitting the reluctant NPCs with every one of the 3,214 base game keywords only returns two baseobjects: 3B and 34 for Xmarker and Xmarker heading.

 

These marker refs disable OK, but the damn NPCs still wont disable so the enable parent(s) must be something else with a non keyword findable relationship.

 

The dynamically scripted 100% NPC extinction level event will have to go on hold.

Link to comment
Share on other sites

Finally go to the bottom of this.

 

[Enable Parent] info on references are not queryable using the published GetLinkRef or chain functions.

 

I have had to dig them out by hand looking at each individual reference that is throwing the enable state error.

Link to comment
Share on other sites

Request for help if your handy at xEdit {pascal | turbo something ?} scripting is it possible to script a list of:

 

All base game placed instances of Xmarker and Xmarker heading and Activators

that have the string "Enable" or "Reset" or "Disable" in the referenceEditorID

Edited by SKK50
Link to comment
Share on other sites

I'd thought that the first(index 0) in a linkedref chain would undoubtedly be the enable parent because it only makes since to start there, but bummer that it is not the case. I was going to ask to give an example of a particular NPC in DC that is not being disabled, and I could look at it, doing my own sherlock holmes work. However I went and just checked everything in DC and came out with nothing.

Link to comment
Share on other sites

If you can find a script method to, say (for example, but not limited to) link a Diamond City Guards in DiamondCityOrigin to DmndSecurityEnableMarker in DmndSecurity01 that would be great.

 

Or raiders in Charlestown to DNPrime_EnableMarkerEncounters01 in aaaMarkers, or ... well there are a lot of them. Wandering the commonwealth running FindAllReferences* and backtracking each that has an enable state parent is too tedious.

 

EDIT: I actually have a box "walking" the commonwealth logging the failures, but the only way to get the enable state parent ID is to manually hunt down the REF to select in the console and run disable to get the parent ID in the message. The papyrus error super-handily does not report the parent id. Its always the last 5% of performance or quality that will kill ya.

Edited by SKK50
Link to comment
Share on other sites

  • Recently Browsing   0 members

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