So I've been doing some tests with aliases to try and find the best approach for something I'm working on. I was hoping I could somehow detect Alchemy Labs and put them into an alias before the player gets close enough to activate them. However, I'm having trouble figuring out how to do it without polling, and was hoping some others could help shed some light on the alias system.
METHOD ONE:
First thing I tried was to fill aliases dynamically each time a new area was entered through loadscreen. The script looks like this:
Scriptname _prAlchTableDetector extends ReferenceAlias{detects new alchemy tables nearby each cell load}Quest property TableCheckQuest autoReferenceAlias property TableAlias autoEvent OnInit() TableCheck()EndEventEvent OnPlayerLoadGame() TableCheck()EndEventEvent OnCellLoad() ;will fire every time a new area is loaded through a loadscreen (besides first load, which the above catches) TableCheck()EndEventFunction TableCheck() TableCheckQuest.start() utility.wait(1.0) objectReference ref = TableAlias.getReference() ;alias that TableCheckQuest filles (set to "loaded area" and "closest") utility.wait(2.0) if ref debug.notification("Alias Filled -- " + (ref.getBaseObject().getFormID())) else debug.notification("Alias not filled.") endif TableCheckQuest.stop()EndFunction
This method works great, with the alias conditioned to
GetIsID CraftingAlchemyWorkbench == 1 ORGetIsID CraftingAlchemyWorkbenchTabletop == 1
The alias fills every time I enter a new area with an alchemy table. However, I then realized that there's some alchemy tables just out in the wilderness around Tamriel. The player will not go through a loading screen necessarily when near them, so none of my events could be able to detect them, since there is no event I know of that can catch them in the loaded area. This would be a problem that I'm not sure how to overcome. Using OnLocationChange might catch some of them, but I don't think it would suffice for all of them, would it?
METHOD TWO:
Secondly, I thought I could maybe just remove the "In Loaded Area" and "Closest" checkboxes from my alias, and duplicate it so I have, say, 200 aliases, which I could then fill through a single quest using the same conditions. In theory, I thought, this would put every Alchemy Table that exists in an alias.
To test this, I gave it a try with fifty aliases for starters, just to see what would happen. This was the new script which was supposed to start the quest that would fill them all right after game load:
Scriptname _prAlchTableDetector extends ReferenceAlias{detects new alchemy tables nearby each cell load}Quest property TableCheckQuest autoReferenceAlias[] property TableAlias autoEvent OnInit() registerforsingleupdate(8.0)EndEventEvent OnUpdate() TableCheck() debug.notification("DONE ")EndEventFunction TableCheck() debug.trace("::::::::::::::::::::::::::::::::::::::::::::::::::::: starting quest...") TableCheckQuest.start() debug.trace("::::::::::::::::::::::::::::::::::::::::::::::::::::: quest initialized.") utility.wait(1.0) int i while i < 50 debug.trace("::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[" + i + "] == " + TableAlias[i].getReference().getFormID()) i += 1 endWhileEndFunction
However, what ended up happening was that only about 25 aliases were filled, despite there being over 130 alchemy tables listed as used in Skyrim.esm alone, according to the C.K. (and I tested while loading all DLCs, so there should be even more).
Here's the debug generated by the code (ignore the errors in the first half, and you will see the second half of the array filled just fine):
[03/03/2014 - 12:17:41PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: starting quest...[03/03/2014 - 12:17:42PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: quest initialized.[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[0] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[1] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[2] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[3] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[4] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[5] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[6] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[7] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[8] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[9] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[10] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[11] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[12] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[13] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[14] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[15] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[16] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[17] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[18] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[19] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[20] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[21] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[22] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[23] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[24] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[25] == 0[03/03/2014 - 12:17:43PM] Error: Cannot call GetFormID() on a None object, aborting function callstack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] warning: Assigning None to a non-object variable named "::temp4"stack: [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.TableCheck() - "_prAlchTableDetector.psc" Line 32 [alias PlayerAlias on quest DP_AlchTableCombineQuest (080012C9)]._prAlchTableDetector.OnUpdate() - "_prAlchTableDetector.psc" Line 12[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[26] == 0[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[27] == 551546[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[28] == 67325283[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[29] == 33593577[03/03/2014 - 12:17:43PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[30] == 725502[03/03/2014 - 12:17:44PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[31] == 814591[03/03/2014 - 12:17:44PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[32] == 817362[03/03/2014 - 12:17:44PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[33] == 1038215[03/03/2014 - 12:17:44PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[34] == 387397[03/03/2014 - 12:17:44PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[35] == 33598525[03/03/2014 - 12:17:44PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[36] == 528223[03/03/2014 - 12:17:44PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[37] == 963474[03/03/2014 - 12:17:44PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[38] == 1089615[03/03/2014 - 12:17:44PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[39] == 1084876[03/03/2014 - 12:17:44PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[40] == 373136[03/03/2014 - 12:17:44PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[41] == 864497[03/03/2014 - 12:17:45PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[42] == 1004233[03/03/2014 - 12:17:45PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[43] == 668189[03/03/2014 - 12:17:45PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[44] == 1075710[03/03/2014 - 12:17:45PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[45] == 815985[03/03/2014 - 12:17:45PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[46] == 658367[03/03/2014 - 12:17:45PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[47] == 1097447[03/03/2014 - 12:17:45PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[48] == 67270592[03/03/2014 - 12:17:45PM] ::::::::::::::::::::::::::::::::::::::::::::::::::::: ref[49] == 67262954
I was standing in Falion's house in Morthal if that matters at all, not sure.
I don't know if perhaps I could overcome this problem by forcing each alias to the specific reference of every alchemy lab? (though that would be incredibly tedious to set up, of course).
Ultimately, my main question is -- is there any way to fill every Alchemy Lab into an alias before the player gets close enough to activate it, without polling (or in some other script-efficient way)? I would like to avoid attaching a script to the base objects if possible.