itsfreerealestate Posted April 25, 2019 Share Posted April 25, 2019 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 More sharing options...
IsharaMeradin Posted April 25, 2019 Share Posted April 25, 2019 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 More sharing options...
itsfreerealestate Posted April 25, 2019 Author Share Posted April 25, 2019 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 More sharing options...
Recommended Posts