Scriptname defaultSetStageTRIGSpecificActor extends ObjectReference {trigger looking for a particular base actor to set a quest stage } import game import debug quest property myQuest auto { quest to call SetStage on} int property stage auto { stage to set} int property prereqStageOPT = -1 auto { OPTIONAL: stage that must be set for this trigger to fire } ActorBase property TriggerActor auto {actor that trigger is looking for} bool property disableWhenDone = true auto { disable myself after I've been triggered. Defaults to true } bool property onlyOnce = true auto { stage will be set only once. Defaults to true } auto STATE waitingForActor EVENT onTriggerEnter(objectReference triggerRef) ; check for correct actor actor actorRef = triggerRef as actor if actorRef != None && actorRef.GetActorBase() == TriggerActor if prereqStageOPT == -1 || MyQuest.IsStageDone(prereqStageOPT) == 1 myQuest.SetCurrentStageID(stage) if onlyOnce gotoState("hasBeenTriggered") endif if disableWhenDone Disable() endif ;trace(self+" triggered by "+actorRef) endif else ;trace(self+" didn't trigger for base actor " + actorRef.GetActorBase() + " <> " + TriggerActor) endif endEVENT endSTATE STATE hasBeenTriggered ; this is an empty state. endSTATE