Can scripts not run while an NPC's inventory is open?

Post » Mon Dec 10, 2012 12:38 am

Continuing from another thread:

So I've got a simple single-stage quest set up to make pickpocketing an item add exp to the lockpicking skill (the pickpocket skill tree is being re-purposed). Using an SM Event Node (Player Add Item with one condition checking to make sure it was added via pickpocketing) to start a quest which runs the following script:

Scriptname AAAThieveryExpFromPickpocket extends Quest

Quest Property ThisQuest Auto

Event OnStoryAddToPlayer(ObjectReference akOwner, ObjectReference akContainer, Location akLocation, Form akItemBase, int aiAcquireType)
if aiAcquireType == 3
Game.AdvanceSkill("Lockpicking", akItemBase.GetGoldValue())
Debug.Notification("You got " + akItemBase.GetGoldValue() + " exp towards Thievery")
ThisQuest.Reset()
endIf
EndEvent

I've used "ThisQuest.Stop()" as well, but the results are identical.

The problem is, it appears NONE of the script actually runs until the pickpocket window is exited, including the exp grant, the debug notice, and (I surmise) the reset/stop.

Any idea why the script won't run with the NPC's inventory open? Is there anything I can do to fix this, or will I have to come up with a messy workaround (ie, making multiple identical quests so if one is running the next will be triggered instead)?
User avatar
Jodie Bardgett
 
Posts: 3491
Joined: Sat Jul 29, 2006 9:38 pm

Return to V - Skyrim