Sunday, February 25, 2024

ODOS Update - Storage!

 Well this took longer than I expected, but the results are worth it! I ended up adding more features than I thought, including a dynamic visual system that was my original idea when I first started this project, over a year ago. But I abandoned it because I thought it was impossible, ha! Who's laughing now, past-Me?


Storage!






ODOS now has a fully functional and complete storage system. Like the other parts of the mod, you can make unique storage networks for your own house mods that won't interfere with other mods using ODOS.

And, just like the other parts of the mod, this storage system is built to be very simple and easy to set up. You only need to know how to place objects, parent them to other objects, and apply scripts to new objects. That's pretty much it! (and make sure to make objects permanent references, of course)

The system consists of a storage chest placed in a reference cell that acts as the main "network" of your whole house mod. That chest is then accessed by scripts that you can place on any object you want (like containers or activators), which filter and retrieve certain item types. There are 31 total filters, which will be listed in the About ODOS page, as well as the documentation. 


Auto Sorting

The way the access points work makes the whole system naturally sort itself. But there is also a Drop-Off chest you can place to easily store items into the storage network from different places in the house (or world if you want!)


Compatible with COBL!

Given the widespread use of COBL, and the amazing things it offers, I wanted to make sure that ODOS not only was compatible with COBL, but also made use of it, if installed.

If ODOS detects COBL, some of the storage access points (ingredients, food, potions and poisons, and scrolls), will be replaced by the alchemical sorter menu from COBL, which has amazing features like searching by enchantment or potion effect. 


Storage Static Displays



This update also brings in a dynamic display system that interacts with the storage system. You can now easily decorate a house that will at first look empty, but as you collect items, it will progressively begin to fill out! 

This is separate from the LOTD style collection system I've previously showcased.  

The way this system works is that items you place in your house (any item really, except armor, clothing, jewelry and quivers, see the Update3D issues I've mentioned before), those items can be parented to a special activator that will freeze them and render them "static". They won't move and hovering over them won't show you anything. That special activator will then compare each item to what is in storage and will make that item disappear or appear depending on certain conditions, mainly a quantity threshold.

If you go into the properties of items you place in the cell, you can set how many items are in that stack. That is the number that will be compared to storage.  

For example, you place a loaf of bread and parent it to the storage marker. There is only one bread in that stack and so it will appear as soon as one loaf is in storage. 

Then, you add another loaf, and set that item to be a stack of 2 breads. That item will only appear if you have 2 bread in storage. You get the idea. 

There are two types of comparisons: item count (one-on-one item comparison) and item type count. What this second one means is that for certain items like potions, where there are so many kinds, including player-made ones, it doesn't make sense to try and make perfect item matches for displays. Instead, if the item you want to display is a potion, then the system will just count how many potions total are in storage, and compare the display stack to that number. This also applies for scrolls and soulgems. 


Almost done!

I am very close to finish up the mod completely! However, before I release it, I still have a lot of testing and work to do. 

First, I think I will be making an example mod that will "ODOS-ify" a vanilla home, as a showcase of what the mod can do. That way I can also have a practical test of the mod's capabilities. 

Also, I plan on making a detailed documentation, as well as a series of video tutorials. That should cover everyone's needs. 

But I'm excited to see the final result, and what other modders will create using ODOS!

Wednesday, January 31, 2024

ODOS Update - Bookcases, Armor and Clothing Display, and a lot of polish

Tons of work has been done since last update. A few new features, and a lot of polish and fixes, which I will go through one by one.


First, the new stuff:


Bookcases


I managed to replicate the bookcase system from Skyrim. The bookcases themselves are activators using furniture models. This makes it easy to make new bookcases with custom models, as you just need to make a new activator, choose a NIF file, and slap on the script, and you are good to go! 


Once the bookcase is placed in a cell, you parent to it book markers, which will not only serves as book location, but also defines how much the bookcase can hold. These markers can be put in any position you want. If you place more books in the bookcase than there are markers parented to it, then any book that doesn't fit on the shelves will be returned to the player. You can see how it works in the video. Also, once the book are on the shelves, they can be picked up like any object, it doesn't affect the script.



These bookcases do not work with the LOTD-style collection system of my mod. Instead, these are for any extra books you have lying around, and want displayed. There is a book marker that can be filtered and works with the collection system. 


Armor and Clothing Displays

While figuring out displays for amulets and rings, I found a new way to display them that work with all clothing and armor. This means now that there are two ways to display armors and clothing, mannequins and armor stands!




This new system doesn't use the function SetModelPath, but I found out that it needs to change the Ground model of the armor, so I have to use the SetMaleGroundPath and SetFemaleGroundPath functions, and then do the trick I used to make the item "forget" it has havok. Works like a charm!


One thing of note: this type of display uses the CloneForm function, once per display, which creates a duplicate reference and baseform that is saved in the savegame. This can increase bloat on the save file, but nothing significant (think of each display counting as a player-made potion or spell in game). If planning on using them, don't go wild and make a million of them, and you will be just fine. (I wish we had access to a function to delete Cloneforms, like in Fallout 3, or better yet, a way to use string variables in the SetMaleGroundPath function. Then I wouldn't need cloneforms).


Polish

Now for the smaller stuff. There were a lot of bugs and little things I forgot to add to some of the scripts, all of them fixed now. For example, mannequins can now handle leveled items, which I forgot to do before... whoops. There was also a bug where sometimes the mannequin would stop working if you changed the gender. That is also fixed. 


Also, I made it so that mannequin can always see you, so you can't train your sneak in front of them, and cheese some levels, lol.


A nice change I've made is to the Display Ledger. Before, all it did was give the option to drop items to be displayed, and check how many displays are filled. Now, you see that number immediately, and it has a new option, which is to check what is missing!



When that option is pressed, it will open up a book that will list all displays that don't have an item yet (those that have filtered items). It is a very useful feature, that will help players figure out what they still need to get to finish a collection!



There are also a lot of minor fixes and some finishing touches, but with that, the display part of ODOS is... complete! I think.


With that done, I will turn my attention to the Storage system part of the mod. Like I said before, it should be way easier! I hope...


Saturday, January 20, 2024

ODOS Update - Mannequins and Visual Models for the Weapon Racks!

Big progress has been made since lasts update. On a smaller note, there are now activator markers for misc items of various sizes. They are for things like books, hourglasses, sigil stones, skulls, plates, etc... They function like the weapon displays, except that they can only work with a reference item as a filter (since you can't wear misc items or books lol)

 


Like I said, they come in various sizes, and if the item you want to place there is bigger, then just scale up the marker to make it aproximately the same size. Easy!

Also, each model comes with 3 variations, with the model's point of origin at the bottom, center, and top of the model. This is to accomodate certain items that have strange origin points on their models (looking at you, bust of Llathasa and fur pelts, among others...). 


 Now for a big update:



Mannequins!


Clothes and Armors now have displays! I found that the display system I developped for weapons (using Update3D) doesn't work on armors and clothing, because their models are handled differently. I had to make a different method, so here are mannequins!

Just like the weapons, it is an invisible activator you put in the game, and in game, a mannequin is placed at its position. 

They work like the Skyrim mannequins, in that they only accept armors and clothing. Objects like weapons, shields, rings, or amulets will just be returned to the player.

Just like the weapon displays, mannequins can be filtered by parenting reference items to the marker. Then, the mannequin will only accept those items. Also, when filtered, the mannequin can be connected to the LOTD style display system, and the auto display system will work and count it toward the total display count.

The mannequins can of course be simply dragged in to be used normally. You can then place clothing and armors to it and it will display them. You can also change the mannequin's gender to your liking.

See the video for a demo!


Visual models for the weapon displays


I have modeled a few plaques to be used with the weapon displays. They are static items that have no collisions, they are just for decoration. They come in 4 different colors: raw wood, red, green, and blue. There is also a square model, for shields and larger setups.

There is also a metal "hook" model, to make it look like the item isn't just floating in front of the plaque. That model is separate, and can be placed anywhere. You could even just use it on a wall, and not use the plaque, the choice is yours!

 


  

Almost there

There are still a few things I need to do, but I am very close to having the display system complete! I still need to get a solid display for amulets and rings, which are technically clothing, and my system is a bit glitchy with it, so I need to figure that out. 

And I have an idea for making Skyrim-like bookshelves, where you click on a shelf and it opens an inventory where you place books, which then gets dropped on the shelf. I think I can make it work, but no promises!

Once those two are done, I will turn my attention to the storage and sorting sytem part of the mod, which should be easier in comparison! But I'd say the mod is close to 75% done!


On a side note, if you are looking for fancier mannequins, that can accept weapons and have poses etc, check out Reznod Mannequins, which is a great mod! They won't work with my LOTD display system, but they are still great if you want more personalization on your mannequins!