Trophy room problem

Post » Thu May 14, 2015 7:28 am

Some of the Thieves Guild trophies like the candlestick are not misc items but are activators and so are not takeable. How can I best fix this so I can take and display all the items?

Also the Black Books are quest items. How can I change them so they can be displayed?

User avatar
George PUluse
 
Posts: 3486
Joined: Fri Sep 28, 2007 11:20 pm

Post » Thu May 14, 2015 7:32 am

The black books are listed in aliases in the Dragonborn init quest (sorry, I don't remember its exact id, must be something like dlc2InitQst). These aliases are flagged "quest item"; un-flag them and you'll be able to drop the books.
User avatar
Rachael Williams
 
Posts: 3373
Joined: Tue Aug 01, 2006 6:43 pm

Post » Thu May 14, 2015 10:49 am

You might want to do this with a script (to remove the flag) as people might want the benefits of the Quest Flag until they are done with the quest or decide to display the item. Maybe you put an activator in that you trigger to make this happen. You might even have the game duplicate the item, but without the flag for display purposes.

Good rule with modding, don't change something that everyone uses, or it might get used against you.

User avatar
Pixie
 
Posts: 3430
Joined: Sat Oct 07, 2006 4:50 am

Post » Thu May 14, 2015 12:53 pm

Where/how do you wish to display the thieves guild trophies? If you want them to be relatively "static" trophies in your own house you can make your own display and simply make each of the "real" trophies the enable-parents of "your" trophies. This won't register edits to the original objects.

For your black books, scripted displays can forcibly remove quest objects from the player inventory. This can potentially cause strange behaviour but for stuff like the elders scrolls and the black books it should be fine once you're done needing those items. Here is a script I wrote to display my elder scrolls (it also handles some animations on my display):

Spoiler
Scriptname MDHImpButtonAnimationScript extends ObjectReference  {Our misleadingly named elder scroll dock script}Actor Property PlayerRef AutoSound Property IrisSound AutoObjectReference Property SoundSource Auto{Play the sound from the origin location of this reference}ObjectReference Property ElderScrollContainer Auto{The reference which will house our precious Elder Scrolls}ObjectReference Property ScrollTrigger Auto{This trigger facilitates scroll retrieval}Book Property ScrollToRemove Auto{The base object scroll we want to place:Vanilla: DA04ElderScrollDawnguard:}Message Property MessageWarning Auto{This will show if the player does not posses the required Elder Scroll}Message Property MessageCaution Auto{This will show the first time the player activates the dock. Warns the player that trifling with Elder Scrolls can has disasterous consequences}bool property isClosed = True Auto hiddenbool FirstTime = TrueAuto State NoScroll	Event OnActivate(ObjectReference akActionRef)		If !FirstTime					If PlayerRef.GetItemCount(ScrollToRemove) == 1				gotoState("HasScroll")				IrisSound.Play(SoundSource)				PlayAnimation("Open")					utility.wait(0.7)				PlayerRef.RemoveItem(ScrollToRemove, 1, false, ElderScrollContainer)			elseif PlayerRef.GetItemCount(ScrollToRemove) == 0				MessageWarning.Show()			endif		endif			If FirstTime && PlayerRef.GetItemCount(ScrollToRemove) == 1				MessageCaution.Show()				FirstTime = False			elseif FirstTime && PlayerRef.GetItemCount(ScrollToRemove) == 0				MessageWarning.Show()			endif	endEventEndStateState HasScroll	Event OnActivate(ObjectReference akActionRef)		If akActionRef == ScrollTrigger			IrisSound.Play(SoundSource)			PlayAnimation("Close")				utility.wait(1.0)	;wait for animation			ElderScrollContainer.RemoveItem(ScrollToRemove, 1, false, PlayerRef)				utility.wait(0.2)			gotoState("NoScroll")		endif                else		; do nothing. The player can only interact with the dock directly when it's empty. 	endEventEndState

It works by checking the player inventory for a specific item, if found it removes that item to a special chest. That chest has a script on it which enables/disables certain displays depending on its contents. The scroll that actually gets displayed in my example is really an activator that will remove your scroll from the special container when you activate it. The script on the chest then handles updating the display.

It's a bit complicated but I wrote these scripts to handle many many different objects and displays, and to be modular if/when I need them to be.

User avatar
Emilie Joseph
 
Posts: 3387
Joined: Thu Mar 15, 2007 6:28 am


Return to V - Skyrim