Scriptname defaultSetStageOnPlayerAcquireItem extends ObjectReference {Sets a quest stage when this item is put in the player's inventory.} Quest Property myQST auto {Quest upon which to set stage. Default is the Alias's owning quest.} int Property preReqStage = -1 auto {(Optional)Stage that must be set for this script to run. Default: NONE} int Property StageToSet auto {Set this stage when the player picks up this item.} auto State waiting Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer) if ((Game.GetForm(0x14) as Actor) == akNewContainer) ;USKP 2.0.5 - Added check to make sure quest is running if preReq is not -1. Best we can do here to reduce errors without breaking full functionality. if ( (preReqStage == -1) || ( (myQST.IsStageDone(preReqStage) == True) && myQST.IsRunning() ) ) myQST.SetCurrentStageID(stageToSet) GoToState("inactive") endif endif EndEvent EndState State inactive EndState