Jump to content

[LE] Removing quest items and keeping quest item flag question


Recommended Posts

I want to make an elder scroll display that the player can use to remove it from their inventory and add back to their inventory if desired. Problem is, when the scroll is removed and then added back, it loses its status as a quest item and now weighs 20lbs and can be dropped. I'm trying to make it return to being a quest item when added back to the player.

 

How do I have the display remove the elder scroll but, when added back to the player's inventory, returns to being a quest item?

Link to comment
Share on other sites

Create a container that will store the actual elder scroll instance that is flagged as a quest item. Thus when the player interacts with your display, you remove the item and place it into the container while enabling the display to look as if the scroll is placed there. When the player goes to retrieve it, remove the item from the container and give it to the player while disabling the display.

Link to comment
Share on other sites

What changes to the following script should I make to accomplish that?
Scriptname aaaQuestItemContainerSCRIPT extends ObjectReference  

Book Property QuestItem1 Auto
Book Property QuestItem2 Auto
Book Property QuestItem3 Auto
Int Property Unlocked Auto
ObjectReference Property QuestContainer Auto
String property FailMessage = "You lack the required items." auto 

Event OnActivate(ObjectReference akActionRef) 
If (Unlocked == 0) && (akActionRef.getitemcount(QuestItem1) >= 1) && (akActionRef.getitemcount(QuestItem2) >= 1) && (akActionRef.getitemcount(QuestItem3) >= 1) 
game.getplayer().removeitem(QuestItem1, 1) 
game.getplayer().removeitem(QuestItem2, 1) 
game.getplayer().removeitem(QuestItem3, 1) 
QuestContainer.additem(QuestItem1, 1) 
QuestContainer.additem(QuestItem2, 1) 
QuestContainer.additem(QuestItem3, 1) 
getlinkedref().Enable()
Unlocked == 1
Elseif Unlocked == 1
QuestContainer.Activate(akActionRef)
Else 
debug.notification(FailMessage) 
endif 
EndEvent  
The script should allow the display to enable, remove the scrolls, and allow the player to take the scrolls back from the container if desired. But I think taking them from the container still results in them being non-quest items. Thanks for your help!
edit: I think I got it, thanks to finding another one of your posts. I made the following changes and it seems to keep the specific items intact instead of removing them from the game altogether:
game.getplayer().removeitem(QuestItem1, 1, false, QuestContainer) 
game.getplayer().removeitem(QuestItem2, 1, false, QuestContainer) 
game.getplayer().removeitem(QuestItem3, 1, false, QuestContainer) 

Hopefully this helps anyone else looking to do the same.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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