#Portable Autosorter

147 messages · Page 1 of 1 (latest)

teal dragon
#
  • Put Targets into containers.
  • Put down the Master Sorter.
  • Click Master Sorter.
  • Rejoice at an empty inventory.

Like most things in my life I did this to solve a frustration I had, which in this case was "I love this house mod but I really hate spending an hour dumping my inventory after one visit to an ancestral tomb."

I uploaded this bad boy to Nexus about eighteen months ago and now I'm finally in a state where I'm happy with it. Fixed some long-standing bugs, now requires 0.49.0 RC6 or higher for compatibility. Discuss all you like, point out more bugs/suggestions/etc.

Most importantly, enjoy!

https://www.nexusmods.com/morrowind/mods/53703

Nexus Mods :: Morrowind

A flexible method of distributing inventory items from the player into specified containers within a cell using Dwemer cubes as targets and a Dagoth Cup as a trigger.

foggy blade
#

Glad you are here, hopefully the mod will get more traction and followers. its certainly a good mod, and really helps to sort out clutter. so thanks for making this

#

again one of my top picks

#

I not seen any other bugs, and I have used this a lot,

foggy blade
#

One thing I will highlight for those that read and download this, the mod will only work on chests / containers that aren't NPC or factioned owned. best used in a players house. and to pickup the auto sorter item, you need to equip the bound ring that you can buy. otherwise, the mod works great. and it bypasses the weight and item limits of containers. So you can store a huge amount of stuff in one container if you desire. again a major thumbs up to Hobbie, and who knows maybe it will get added to a mod list one day!!!!

swift wharf
#

@foggy blade is one of a few people to whom I have recommended this mod, all of whom were very impressed and loved it.

#

I myself declare it an absolute must-have. Totally obviates all the various approaches to autosorting containers in house mods. It is instant and utterly reliable. I love it.

foggy blade
#

yeah indeed, a real must have, hopefully it will be added to a mod list at some point, especailly as it gets around the tight storage limits players encounters

teal dragon
#

Bypassing the weight limit was a happy accident tbh. There's a few things I wish I could do, such as picking up the autosorter while sneaking instead of needing a ring or having a UI prompt come up when activating it, hell, even being able to move it around while the menu is open would be nice.

teal dragon
swift wharf
#

Great to hear back from you @teal dragon , and thanks again for the datchim mod

swift wharf
# swift wharf Perfect Placement works great for this

...I mean to say, for moving the chalice around. BTW I use the mod almost always for alchemy ingredients, but I often use Corporeal Carryable Containers to stash my keepable scrolls/potions on my person, and this fine mod to siphon off the rest. I was sad to note that autosort_target_* did not work for me inside of those C.C. Containers, which have a generated:$hexcode instead of the usual item_id.

teal dragon
#

The limitation (by design) is that it works on containers in the currently loaded cell.

#

Idk if a portable container is technically "in the current cell".

swift wharf
#

In that case, I'm glad I mentioned it! ❤️

teal dragon
#

I did some digging. The list of containers is gleaned from a plain old nearby.containers function, which I assume includes the CC Containers if they're placed. Further down into the ifelse block it sends the entire container to the sort function, with the final move within the relevant sort function being item:moveInto(types.Container.inventory(data.container)).

A few things could be happening:

  • nearby.containers can't see the CC containers.
  • The types.Container.inventory(container):getAll(types.Miscellaneous) loop to check what's in the container isn't finding the relevant target.
  • The item:moveInto(types.Container.inventory(data.container)) isn't moving the item properly.

I have a hunch that the containers created by CCC are not in fact containers, which would answer the first point. The others... nfi. You've got my brain ticking on this one so I'm going download that mod tonight and see how it behaves.

swift wharf
#

I wish to invoke @quick cloak

foggy blade
#

I would also would like to see this work on CCC containers, so hopefully something will be worked out

#

please make it happen, would be great for the keyring

teal dragon
#

Looks like the containers in CCC are actually located in ToddTest. That means they fall under the first point above and aren't eligible for nearby.containers. The movable containers themselves are objects that open the containers. Happy to be corrected if wrong.

I don't think it's safe to expand the mod's scope to cover ToddTest tbh. It strays outside of the goal of "only containers in the current cell".

foggy blade
#

that is a pity

#

but understandable

teal dragon
#

The real challenge is that nearby.containers has to be local and world.getCellByName("ToddTest"):getAll(types.Container) has to be global, and I don't know how to call that global from a local object without the rest of the function off doing its thing. Probably some async nonsense.

foggy blade
#

I guess the only other person who might know how to solve this could be skyhascats? maybe they could write something in the code for the auto sorter to use?

quick cloak
#

I could add a interface to make the containers available to local scripts

#

But I’m not sure why you are doing this in a local script

foggy blade
#

I just hope something can be worked out, as these mods are great QoL mods, so would be nice if they play nicely with each other

teal dragon
#

Not something I'd actually implement, but a fun experiment. And if it does work I can post the code here so anyone who needs their own integration can use it.

foggy blade
#

that does sound interesting. I will certainly be happy to test

foggy blade
#

You know, if there was one enhancement I would like to see, is an excluder that the player can have, that excludes certain items from being taken from the player inventory. For example, I carry three axes, my 2h Daedric battle axe, a 1h Daedric war axe, and an axe called decay. (TR rebuilt unique ) plus the keyring. (I normally switch between 1H and 2 handed axes depending on enemy, and allow them to recharge. (I know, soul trap, but many enemies aren't worth soul trapping and won't give much in return (charge) it would be nice, if there was a way to exclude those items, not sure how you will manage it mind? maybe some sort of container that a player can access on the fly, that can carry those items? (with the excluder inside?) or maybe use the settings page, and select the items in a list? But it would be nice edition to an already great mod.

#

But if you can't do that, then its ok, I will continue the way I am, picking up the items after I use the auto sorter.

#

just an idea

teal dragon
#

So because I can't leave well enough alone, I gave CCC integration a try. And I think it'll work. I think. The gist of it is I moved the actual functionality of the sorter to global.lua where it could access world. Then I added a check for the CCC_Cont interface that's loaded when CCC is. If that matches, it'll search ToddTest as well as the local cell when the autosorter is run. @foggy blade give it a go.

foggy blade
#

will do

#

@teal dragon doesn't work, get this in the error console

teal dragon
#

...probably doesn't like semver. One sec.

foggy blade
#

Good news and bad, The good news it works, and it can work even if the keyring in in your inventory. however, now comes the bad, the misc target cube seems to mess this up if you have one placed. as it thinks that the keyring is a misc item. but if I put the misc target cube in my inventory, then the auto sorter will happy sort all the keys into the keyring.

#

so nice job,

#

just need to find a way to try and exclude items from being sorted if possible.

teal dragon
#

So an exclude needs to be written for the keyring. That can be done, and be made compatible. Give me a bit of time.

foggy blade
#

sure

teal dragon
#

That's about all I can do tonight. I'll revisit in about 22hrs from now if need be.

foggy blade
#

works a treat, thank you

foggy blade
#

I can also confirm that portable autosorter works with other CCC containers. I got one placed in my players house, put the Alchemist's tools target in it, auto sorter happily put the tools in that container without complaints

#

drinks on me

#

nice job

foggy blade
#

been thinking, sadly, I don't really know lua, can't really program, but would it be possible to add an excluder line for weapons and armour? (mostly weapons) so I could add a weapon to the list?, the only slight problem with this aprouch, I would have to manually edit the global.lua each time, there is an update, but I would also assume I would use the id of the object in question? it would be nice to have some weapons that I carry excluded from the auto sorter. So maybe this could be a workaround, I don't use the overflow target, so that not a big deal.

#

would that be possible?

#

but anyway, nice job, it works at last

teal dragon
teal dragon
#

@foggy blade Go to global.lua line 32, you'll see the function isExcluded(itemName).

The excludeList variable contains a comma separated list of item names that the Autosorter will never move. Right now it's just Keyring. An example of the function with some dummy data is :

    -- Exclude by ITEM NAME not record ID, separate strings by commas
    local excludeList = {
        "Keyring",
        "ReplaceMe1",
        "ReplaceMe2",
        "Decay"
    }
    for _, value in ipairs(excludeList) do
        if value == itemName then
            return true
        end
    end
    return false
end```
#

If an item has any of the names in that list, it'll never get moved to any container.

foggy blade
#

wonderful wil try it

foggy blade
#

Wonderful, you are a star

#

"Keyring",
"Daedric Battle Axe",
"Daedric War Axe",
"Decay"

#

and capitals are important, forgot the comma when I first did this, but it works a treat, got a backup of what I written, so if there is a new version, I can just copy the text.

#

this will help heaps

#

I would say at this point, the mod is pretty much feature complete. not sure what else needs doing?

#

ao great work

teal dragon
#

I can think of a few QoL improvements to make now that my Lua skills are beyond "barely functional". If I can integrate it with the mod menu that'd be even better. But nah it's good atm and once I finish triple-checks I'll probably update Nexus.

#

Thanks for being my punching bag alpha tester lol

foggy blade
#

sure, anytime, having a GUI way to add excluded items would be cool

teal dragon
#

My exact thought.

foggy blade
#

but right now, I'm happy that I can keep items from being sorted

#

easy steps

teal dragon
#

I did just spot a bug that'll stop you pickup up the autosort master, will be fixed in the Nexus release.

#

If you want to fix it now, line 209-ish of global.lua, replace the moveAutosortMaster function with

    item:moveInto(types.Actor.inventory(actor))
    actor:sendEvent("sendPickupSound")
end```
foggy blade
#

ok will do

#

done

#

this is is working really well, I have updated my exclude list to include a bow and a few arrrow types so at least now, I don't need to pick them up from the chest everytime. so this works a real treat

#

oh yes, one small amendment, -- Exclude by ITEM NAME not record ID, Names are case sensitive, separate strings by commas

#

otherwise, items continue to be sorted if, the item isn't worded correctly

#

I hold my hand up to that as well lol

foggy blade
#

Anyway thank you, this is one of my top pick QoL mods and really like it a lot

teal dragon
#

Comment has been updated.

foggy blade
#

Here is my updated exclude list

#

"Keyring",
"Daedric Battle Axe",
"Daedric War Axe",
"Decay",
"Daedric Long Bow",
"Howling Steel Arrow of Blinding",
"Taxing Iron Arrow",
"Arrow of Wasting Shard",
"Steel Arrow",
"Crate",
"Azura's Star"

#

So works a real treat

teal dragon
#

Version 2.0 uses an exclusions.txt file that's separated by lines, more info in the readme. Create it in the same location as the omwaddon and omwscripts file. Give it a go.

#

Example exclusions.txt:

-- Lua-style comments like this are ignored
Keyring
Bonebiter Bow of Sul-Senipul
Mentor's Ring
Domina Cuirass
Spoiled SlowFall Potion
foggy blade
#

You know, great minds think alike, I was thinking of mentioning an exclusions list, but wasn't sure if it was possible, but nice to know you managed it. as that would help a lot

foggy blade
#

That works a real treat, and what I call a real QoL feature, nice job.

#

plus future updates won't overwrite it

teal dragon
#

This will be the 2.0.0 release on Nexus this morning.

teal dragon
#

It's the same as that .zip above so if you already have it no need to download.

swift wharf
#

I suppose if looted armor and weapons had a use other than vendoring, I might want to sometimes autosort them. I don't envision a use case for autosorting weapons and armor in the first place. I'm not saying there shouldn't be a target for them, just wondering how it could possibly be of service to autosort armor and weapons. Probably just my lack of creativity.

teal dragon
#

I use the targets to shove them in a box to vendor later.

#

Or because I have more money than Belgium, they just stay in the box.

#

Forever.

swift wharf
#

I suppose I can understand that. I have always played on the classic RPG loop: dungeon, kill, town, sell, rinse, repeat

#

I don't really imagine ever storing things to sell later, but I am an outlier in many domains, I gather 🙂

teal dragon
#

The beauty of the mod is you can rig it up exactly how you like!

swift wharf
#

Indeed! And kudos for that!
There is no accounting for taste, but I, for one, have found mine to be superior. 😉

#

...and I'm sure you will all agree that the converse is also true

teal dragon
#

Oh I have been assured repeatedly by multiple people that I have no taste. 🤣

foggy blade
#

Its nice to store what you might not need, or store to sell later. granted, I might have store a bit too much, but this is a great mod for all hoarders everywhere!

swift wharf
#

This mod changed my life.

severe cave
#

This looks promising. How about quest items being automatically put in a state, where you can't sell or drop them, because who hasnt ruined quests like this before, haha

swift wharf
#

autosort_target_quest_items

foggy blade
#

indeed

#

its an awesome mod, especailly with the exclusion list system

#

but yeah, need a quest item sorter

#

@teal dragon can we have a quest item sorter please?

teal dragon
#

oooooooooooooooooooooooooooooooooooh

#

goddamnit you guys always come to me with the most interesting conundrums

foggy blade
#

it might be a tough one to crack,

#

so hopefully you might figure something out

#

got to say, I love this mod

teal dragon
#

Okay this may indeed be a tough nut to crack. Unlike Oblivion/Skyrim, there's no quest flag on an object itself that says "hey here's my quest" which would have made things a lot easier.

#

Theoretically, during the sort I would have to loop through every quest in the game (or precache the list of items on load) and determine what items are needed for quests and shouldn't be touched.

#

Which gets sticker when you get things like "Bring Habasi a diamond".

foggy blade
#

good point, as some are generic items

#

that could be an issue

teal dragon
#

I'll give it some thought after I get some sleep. Cinderella Time is fast approaching.

foggy blade
#

have a nice snooze

severe cave
#

the dren plantation slave key wasnt sorted to my keychain. i havent used the key yet. does it only sort used keys? or is that an "error"

teal dragon
#

That sounds like an issue with CCC.

quick cloak
#

CCC doesn’t sort items

teal dragon
#

The "to my keychain" bit made me question. Ohhhhhhh hang on I get it now.

#

It should sort all keys, probably something unique to the Dren key. I'll investigate when I'm in front of the code.

#

It isn't CCC, it's meeeeee

swift wharf
#

Nice report, @severe cave. Please be careful with your wheelchair in stadiums.

swift wharf
#

(I was polluting the channel, so I deleted most all of the forgoing commentary, although I did enjoy my exchange with @severe cave, as always.)

teal dragon
#

After what feels like fucking eons, I finally fixed the jewelry sorter.

#

Still question marks over the Dren Plantation Key that I have to identify.

calm shuttle
#

this looks really cool, does it sort the items to ccc if your carrying them? 🤯 if so, fair dues thats awesome! do you think it would function with backpack mods like Devilish Carryweight Overhaul? i was wondering about having an item in your inventory that you could 'equip' to sort from your inventory into the backpack without taking it off and putting it on the ground. 😅 not trying to make more work for you, just curious about the possibilities

teal dragon
teal dragon
#

I probably won't integrate with Devilish Carryweight Overhaul because the autosorter doesn't respect container weight limits. I'd have to do that, and also figure out how its weight system works in the first place. And find where the storage container is which I'm guessing is in the special cell that's been created in the ESP file.

calm shuttle
#

its in an invisible packrat as far as im aware 😅 yeah that makes sense, its a pretty niche mod. super cool but not really designed for compatability

swift wharf
teal dragon
swift wharf
#

Hmm, thank you for that. I'm not sure why mine isn't working, haven't tried figuring it out really

placid jacinth
#

but it works, kind of 😄

#

It was one of my earlier lua projects, so very mwscript heavy

uneven tendon