Filling Aliases (dynamically outside the loaded area)

Post » Tue Mar 04, 2014 4:45 am

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:

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

Spoiler
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):

Spoiler
[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.

User avatar
RUby DIaz
 
Posts: 3383
Joined: Wed Nov 29, 2006 8:18 am

Post » Tue Mar 04, 2014 10:57 am

If you're just trying to change what happens when the player activates them (and not trying to change their appearance) then you can give a Perk to the player that replaces the Activate with your own scripted action. Check out http://www.nexusmods.com/skyrim/mods/32592 for an example. Mardoxx uses the technique to let you pick up books without reading them.
User avatar
Jack
 
Posts: 3483
Joined: Sat Oct 20, 2007 8:08 am

Post » Tue Mar 04, 2014 11:53 am

About your first method, OnCellLoad is just triggered on first enter to that cell during that game session, so if some cells were loaded and you re-enter them it wont pick it up again.

I was looking for solution for exactly the same problem I had with my mod, but havent found any reliable method yet.

OnCellAttach - not working for player

OnCellLoad - not working for 2nd load

OnLocationChange - not working for all sub-cells, just main location

I thought about requesting some real OnCellChange (player only) event in SKSE topic, but not sure... it could be registered for, like all custom skse events

User avatar
Kristina Campbell
 
Posts: 3512
Joined: Sun Oct 15, 2006 7:08 am

Post » Tue Mar 04, 2014 12:32 am

Never Mind.

Thought twice about what I intended to suggest, but wasn't sure about it in the end.
User avatar
Heather Dawson
 
Posts: 3348
Joined: Sun Oct 15, 2006 4:14 pm


Return to V - Skyrim