Lord_Volar

[RESOLVED] Reverse engineering the pitcher door from Dawnguard

Posted (edited)

I'm trying to use the puzzle door from the temple of Auriel in the Dawnguard DLC (the one you use the pitcher to open) in a custom home of mine, without requiring any items to open and close it. The idea is that you would just activate the pedestal that goes with the door (lay your hand on it, for immersion purposes) and it would either open or close the door depending on it's current state. I've duplicated the door and pedestal activators, removed the scripts already attached to them and then tried copy-pasting the actual script used in the DLC minus the parts that mention having and using the pitcher but absolutely nothing happens when I activate the pedestal in-game. Below I'll post the script I'm using, and if anyone can help make this project of mine come together, I'll be eternally grateful.

**Edit: I have finally succeeded in getting things working the way I want. The script below has been updated with the one I'm using to make it all work, I'll be leaving it here in case anyone else has need of it. At the end of the day it's just the vanilla script with a few lines deleted and a single value changed, but it might be useful to someone.

 

Scriptname SecretSnowElfDoorScript extends ObjectReference  
{Script used to open/close the secret door by activating a controller.}

import game
import utility
import debug

miscObject property pitcher auto
objectReference property myDust auto

bool bInserted = false
objectReference myLink

;************************************

auto State waiting
	Event OnActivate(ObjectReference akActionRef)
		if(akActionRef == game.GetPlayer())
			gotoState("busy")
			myLink = getLinkedRef()
			if(!bInserted)
				if(game.getPlayer().getItemCount(pitcher) >= 0)
					bInserted = true
					myDust.activate(self)
					ShakeCamera(self, 0.3, 2)
					ShakeController(0.7, 0.7, 2)
					myLink.playAnimationAndWait("Open", "done")
				endif
			else
				bInserted = false
				myDust.activate(self)
				ShakeCamera(self, 0.3, 2)
				ShakeController(0.7, 0.7, 2)
				myLink.playAnimationAndWait("Close", "done")
			endif
			gotoState("waiting")
		endif
	endEvent
endState

;************************************

State busy
	Event onActivate(ObjectReference akActionRef)
		;busy animating

	endEvent
endState
;************************************

 

 

Edited by Lord_Volar
Progress update.
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now