In the case of a bedroll, this would be the rolled up Misc Item, which the player would drop. This would spawn a "packed" (in this case, rolled up) Bedroll activator. when the player is happy with where it is, he activates it to spawn an "unpacked" (unrolled) activator. He can activate that to pick it back up, and it should be returned as the Misc Item again.
I have the following script attached to the Misc Item:
Scriptname _DE_Bedroll_MISC_Script extends ObjectReference{Swaps the dropped Bedroll for the Activator variant.}Activator property _DE_CampBedroll_Packed_ACT auto{Reference to the packed Activator Bedroll.}Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer) if akOldContainer && !akNewContainer Debug.notification("We have been dropped!") Game.GetPlayer().PlaceAtMe(_DE_CampBedroll_Packed_ACT) self.Disable(false) elseif !akOldContainer && akNewContainer debug.notification("We were just picked up!") endIfendEventStraight forward enough. When the player drops the item, it converts to an Activator properly (by PlaceAtMe and Disable, as above). When I activate it and select "Pick Up", it does exactly what it's supposed to, adds the Misc Item to my inventory.
The problem comes when I try to drop it again. When I do so, it drops and stays as a Misc Item, never firing the Event to swap with an activator.
Anyone know why this would be? It doesn't make sense to me. Surely items added via scripting have their associated scripts still attached to them?

I will see about posting this on the wiki. Note that the items in question are stacking in my inventory; I assume that has something to do with it, and the game not having a unique reference ID for the individual items in my inventory.