Scriptname defaultSetStageTRIGSpecificFaction 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 } Faction property TriggerFaction auto {faction 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.IsInFaction(TriggerFaction) 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 actor " + actorRef) endif endEVENT endSTATE STATE hasBeenTriggered ; this is an empty state. endSTATE