33 lines
1.1 KiB
Plaintext
33 lines
1.1 KiB
Plaintext
ScriptName DefaultInteriorDoorShutScript extends ObjectReference
|
|
|
|
bool Property SkipBehaviorDuringQuestStages Auto
|
|
{Default: false; if true, do not close and lock while quest stage is between X and Y of QuestToWatch}
|
|
|
|
Quest Property QuestToWatch Auto
|
|
{Default: None; which quest's stages to limit behavior during}
|
|
|
|
Int Property SkipBehaviorAtStage = 0 Auto
|
|
{Default: 0; which stage of QuestToWatch should we start skipping closing and locking behavior?}
|
|
|
|
int Property ResumeBehaviorAtStage = 0 Auto
|
|
{Default: 0; which stage of QuestToWatch should we resume closing and locking behavior?}
|
|
|
|
Event OnOpen(ObjectReference akActionRef)
|
|
|
|
if SkipBehaviorDuringQuestStages == True
|
|
int QuestStage = QuestToWatch.GetCurrentStageID()
|
|
if QuestStage >= SkipBehaviorAtStage && QuestStage < ResumeBehaviorAtStage
|
|
; debug.trace(self + "OnOpen() skipping closing and locking because quest stages prohibit.")
|
|
Return
|
|
EndIf
|
|
EndIf
|
|
|
|
If (akActionRef != (Game.GetForm(0x14) as Actor))
|
|
; debug.trace(self + "OnOpen() by Non-Player Actor. Waiting 3, then closing and locking.")
|
|
Utility.Wait(3)
|
|
Self.SetOpen(False)
|
|
Self.Lock()
|
|
EndIf
|
|
|
|
EndEvent
|