Maybe this format can help you. It uses two huds to inform the player that first, they need to find the key if they want to open the door.
The second is for when they have the key instructing the player to press enter to open the door.
The activateifused in state=1 line below will activate the next object or zone or win zone, making it available to the player.
Hope this helps.
;Artificial Intelligence Script
;Header
desc = Open door (Open 'With Key' and Close two prompts to inform player)
;Triggers
:state=0:hudreset,hudx=50,hudy=90,hudimagefine=gamecore\text\pressentertouse.png,hudname=usedoorprompt,hudhide=1,hudmake=display
:state=0:hudreset,hudx=50,hudy=90,hudimagefine=gamecore\text\lockeddoor.tga,hudname=keydoorprompt,hudhide=1,hudmake=display,state=10
:state=10,plrdistwithin=60:hudshow=keydoorprompt,hudfadeout=keydoorprompt,state=11
:state=11,plrdistwithin=60,plrhaskey=1:state=30
:state=30,plrdistwithin=60:hudshow=usedoorprompt,hudfadeout=usedoorprompt,state=31
:state=31,plrdistwithin=60,plrusingaction=1:state=1,setframe=0,sound=$0
:state=1:incframe=0
:state=1,frameatend=0:activateifused=1,state=2,coloff
:state=2,plrdistfurther=60:state=3,sound=$1,colon
:state=3:decframe=0
:state=3,frameatstart=0:setframe=0,state=100
;End of Script
Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2400 Mhz, 4 Core(s), 4 Logical Processor(s), 4gb RAM, Nvidia gtx660, Windows 7 Pro 64bit