Jump to content

Dragon priest busts: How do they work?


edhelsereg

Recommended Posts

I am trying to write a simple script whereby activating the Konahrik bust not only adds the ultra mask but also adds some other items. To limit the number of times the additional items can be acquired, I am applying a script to a quest alias of the bust activator. This way, once the quest completes, further activation of the bust adds and removes the mask, but doesn't add extra items anymore. It might be helpful to understand how the bust works, but I don't see any scripts attached to the center bust. This is what I have so far, as of now it is not working...

Quote

Scriptname KonahrikAcSCRIPT extends ReferenceAlias

 

Quest Property myQST Auto

 

Int Property SetToStage Auto

 

Armor Property Mask Auto

 

Armor Property robes Auto

 

Armor Property Gloves Auto

 

Armor Property boots Auto

 

Event OnActivate(ObjectReference akActionRef)

Debug.Trace("Activated by " + akActionRef)

if (Game.GetPlayer().GetItemCount(mask) == 0)

myQST.setstage(SetToStage)

Game.GetPlayer().AddItem(robes, 1, true)

Game.GetPlayer().AddItem(Gloves, 1, true)

Game.GetPlayer().AddItem(boots, 1, true)

endIf

endEvent

The OnActivate Event is connected to the DragonPriestMaskUltra01 Activator Alias. The stage is supposed to set to 100 and complete the [undocumented] quest so that you can only collect the extra items once. Edited by edhelsereg
Link to comment
Share on other sites

The script is on the TriggerMaster in the sanctuary:

 

 

Scriptname dunLabyrinthianUltraMaskBustSCRIPT extends ObjectReference  
{Acts as control script for mask altar}

bool property Mask01placed auto
bool property Mask02placed auto
bool property Mask03placed auto
bool property Mask04placed auto
bool property Mask05placed auto
bool property Mask06placed auto
bool property Mask07placed auto
bool property Mask08placed auto

bool property placed auto
bool property hasBeenUnlocked auto

objectReference property myBustActivator auto

message property defaultLackTheItemMSG auto
armor property ArmorDragonPriestMaskUltraHelmet auto

EVENT onActivate(objectReference actronaut)
    if placed == FALSE
        if actronaut.getItemCount(ArmorDragonPriestMaskUltraHelmet) >= 1
            blockActivation()
            actronaut.removeItem(ArmorDragonPriestMaskUltraHelmet, 1)
            placed = TRUE
            myBustActivator.playAnimationandWait("on","TransOn")
            blockActivation(FALSE)
        else
            defaultLackTheItemMSG.show()
        endif
    elseif placed == TRUE
        blockActivation()
        actronaut.addItem(ArmorDragonPriestMaskUltraHelmet, 1)
        placed = FALSE
        myBustActivator.playAnimationAndWait("off","TransOff")
        blockActivation(FALSE)
    endif
    
endEVENT

 

I'm afraid scripting is not my thing, so I can't really help you figure out how to get it working, but hopefully that may help you figure out how that particular event works.

Link to comment
Share on other sites

New plan. I tried making a chest that requires a key and unlocks when you have konahrik in your inventory, but this script doesn't work either.

 

 

Scriptname KonahrikGearCheckSCRIPT extends ObjectReference
{unlocks chest if the ultra mask is in the player's inventory}
Armor Property Mask Auto
Event OnActivate(ObjectReference akActionRef)
if (Game.GetPlayer().GetItemCount(Mask) == 1)
endIf
akActionRef.Lock(0)
endEvent

Any help would be greatly appreciated.

Edited by edhelsereg
Link to comment
Share on other sites

With your script you are trying to unlock the player. Try this one:

 

 

Scriptname KonahrikGearCheckSCRIPT extends ObjectReference  
{unlocks chest if the ultra mask is in the player's inventory}
 
Armor Property Mask  Auto  
 
Event OnActivate(ObjectReference akActionRef)
		if akActionRef == Game.GetPlayer() && akActionRef.GetItemCount(Mask) > 0
			Lock(false)
		endIf
endEvent

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...