Skyrim
0 of 0

File information

Last updated

Original upload

Created by

avarisc

Uploaded by

theorified

Virus scan

Safe to use

About this mod

A cross-savegame chest. Early experimental version.

Requirements
Permissions and credits
Metachest
A Cross-Savegame Chest

What does it do?

This mod adds a chest to the basement of Anise's Cabin whose contents are stored independently of the savegame, and are therefore consistent between different saves or characters.  This means you can add items with one character, and retrieve them with a different character.

In practice, there are a lot of exploitative opportunities here. My intentions are to create the possibility of cross-save gameplay, and this mod is a first step in that direction, by allowing different characters to interact with each other. I leave accountability for its use in the hands of the player - if you are simply after a way to dupe items, there are far easier options.

As an aside, the items are serialized into JSON format, so I suppose editing them would be simple enough, if you're a dirty cheater.


Known Limitations / Issues:

It should be common sense, as this mod is still in an experimental phase, but in case it's not: DO NOT PUT ITEMS IN THE METACHEST THAT YOU CANNOT AFFORD TO LOSE.  Or, you know, save first.

The metachest should reject and give back unsupported items.  A known exception to this at the moment is poisoned weapons.  The chest will take them, and they will work, except that the poison will be stripped off of them once the metachest is closed.

I cannot promise the mod to be issue-free, because I am only one very busy person.  I need your help, so backup your savegame, give it a shot, and should you find any problems, let me know!


How do I install it?

Requires SKSE.
Requires JContainers.

Install both of those according to their instructions. Then simply extract the contents of the zip file to your data folder (or Mod Organizer folder).

If you need to uninstall the mod, delete the following files:
Metachest.esp
Scripts/_avarisc_metachest_script.pex
Scripts/Source/_avarisc_metachest_script.psc


Changelog:

v0.2a - Slightly less experimental version -

  • No more notifications or need to wait for the chest to load/save before accessing
  • Shader effect removed
  • Now supports enchanted and smithed items
  • Still no player-made potion support, but they are reliably refused by the chest
  • Poisoned weapons are accepted, but the poison will be removed
  • Will not load items from 0.1a - strongly recommended to retrieve your items and empty the metachest before updating

v0.1a - Early experimental version -

  • Initial release
  • Only supports basic items - no enchanted or smithed items
  • No player-made potion support


How can I help?

Easy, answer any of the following questions for me so that I can better understand what I'm working with:

  • How do I create a new custom "player made" potion via script (script extender/library requirements are fine)?
    Partially answered by Grimy_Buyip from /r/skyrimmods, who suggested I look into kmxpotionutil. The script definitely looks helpful, I have yet to tackle the task of successfully creating an entirely new "player-made" potion, however.
  • Why do player-made potions have negative ids that cannot be resolved via Game.GetForm(...)?
    Answered! They don't - they have dynamic id's with a first byte of 0xFF, which the engine cannot display, so it mistakenly "wraps" them around past its minimum value.

  • How do I make [MyContainerObjectReference].DropItem(...) _not_ slap the player in the face with the dropped item?
    Partially answered by Glitchfinder, who suggests I transfer the items to another inaccessible container and drop them from it. Just have to figure out how to get an objectreference for a second container.
  • Are there any items in the game with a dynamic DisplayName aside from player-enchanted items? (I'm operating on the assumption that there are not)
  • Why do items added to a container via objectreference become unstackable, and is there any way to workaround this? At the moment if they don't have metadata, I'm processing them by raw id and quantity instead.
    Partially answered by, well, myself: I'm going to make an item comparison function, and manually stack items that match in every way.

Special thanks to silvericed for creating JContainers, which makes this much easier, as well as for pointing out a potential issue with object lifetimes, which will be addressed in the next update.

If you're more technically inclined, take a peek at the script source here, and offer any insight you want to share!

And, as always, report any bugs you encounter in the Posts or Forums tab- I'll be sure to keep up with these as much as I can.