Scriptname defaultSetStageOnPlayerAcquire extends ReferenceAlias {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) Quest qst = myQST if (qst == None) qst = GetOwningQuest() endif ;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) || ( (qst.IsStageDone(preReqStage) == True) && qst.IsRunning() ) ) qst.SetCurrentStageID(stageToSet) GoToState("inactive") endif endif EndEvent EndState State inactive EndState