OCD Inventory control

Bale

Minion
Bale's OCD Inventory Control 3.10
relay OCD dB Manager 1.10

I know that KoL attacts a lot of borderline OCD personalities that want to ensure that their inventory is never cluttered, so I figured I'd post this for their sake.

This is a script that will allow you to list the proper dispensation for absolutely every item that may be in your inventory. You can tell it exactly how many to keep of any given item, or tell it to keep all of them. You can tell it to put items in the mall, send items as gifts, mix keys into pies, use gift certificates, stock your display case or autosell trash items. It can either stock your own mall store, or send mall items to your mall multi.

Okay, the script is honestly a bit insane. I admit I'm somewhat nuts for listing a method of dealing with every single item I may own. I actually use this because I want to cleanse my inventory before every hardcore ascension. It takes a bit of effort to make the list of everything, but now my inventory can be malled in a flash. If anyone else wants to make the trouble of making their own list it would do the same for them.

If it's too much trouble to categorize your entire inventory because you only want to automate handling of a few items, that's fine. The script will operate on the items you specify and ignore the rest. It'll just warn you so that you know you've got uncategorized items.

To bring some sanity to the process of maintaining the OCD list, there is a relay script. This relay script will give you a quick and easy method of categorizing everything currently in your inventory. It will also allow you to edit items currently in your OCD database. Separate OCD databases are maintained for every character. Check it out and be amazed.

If you want to send mall items to a mall multi, there's an option for that in the relay scripts configuration tab. Just leave it blank to use your own mall store.

Note about stocking your mall store: When it malls an item in your store, you can choose to automatically price items or price them at maximum. On automatic pricing it will set the price to the 5th purchasable item in the mall. Hopefully that will enable it to skip a lot of 1/day limit stores.

How to use:
  1. To install this script, with a current daily build, please copy/paste the following line into KoLmafia's CLI and press enter:
    Code:
    svn checkout https://svn.code.sf.net/p/bale/ocd/code/
  2. Invoke OCD dB Manager from your relay browser's top menu. Use it to create a map file with a list of how you want to treat every item. This map file can also be edited in a plain text editor if you're careful.
  3. Run OCD Inventory Control from your script menu to make all your excess items go away.


Once you've set it up, your inventory will be disposed of, fast!

OCD02.png
 
Last edited:
I'm going to try this. I can't stand for my inventory to be junky. I wish I could mark things in my inventory different colors. Green is already used for memento's. I wish that junk and singleton items were not both gray. And I wish I could color the stuff that is sellable in the mall a different color. That would be sweet.
Anyways, I'll let you know how I like this.


Ok, I tried it and I got this message
"bad item value: fishy wand"
 

Bale

Minion
Ok, I tried it and I got this message
"bad item value: fishy wand"

You'll need to either delete that item or else download a recent build. Your build simply predates the existence of the fishy wand.

I'd like to emphasize that this script is not to be used by someone who doesn't understand it since you may find yourself with a lot of meat, but lacking some item that you really liked. My list is not likely to be the same as yours. Make sure everything you want to keep is included in the list.
 
Last edited:

zarqon

Well-known member
This is my new second favorite script name. I'm not sure if I'm OCD enough to use this script, but it looks like fun, and thanks for sharing.
 

Bale

Minion
Second favorite? What is your favorite script name?

Glad you like it since you gave me the inspiration to write it. I've got just a couple more things on my personal version, like display casing any of my hobo gear that I removed to play around with in aftercore and a few wand zaps. Now I can just set this as my ascension script and I'll never again need to remember what to before ascending. It takes obsession out of OCD.

By the way, what sort of bats do you like? batblades and bat wings? What about hot wings? (They look like bat wings...)
 

zarqon

Well-known member
My favorite script name is still this one. The font also helps.

I like anything that is a bat, is part of a bat, or has bat in the name (but not things like "battered hubcap"). My DC has at least one of pretty much all the bat-related items I enjoy. If you can think of another though I'd be excited to hear about it.
 

Bale

Minion
Lol! Okay, that's a funny script name. Particularly with that font. :D

Thanks for the info. I'll have to add you to my personal OCD script for a couple of those items.
 
Interesting... wish there were some easy way to integrate this into mafia so I could just select all the things I wanted to save/auto/mall and add them to a list, or a way to add all the new Mr. Store stuff automatically.

Anyways, great stuff, I'll have to spend a lot of time configuring it for my own use though
 

Alhifar

Member
What exactly is the point of these lines?
Code:
auto_sell [$item[vial of Gnomochloric acid]] = -1;
auto_sell [$item[flask of Gnomochloric acid]] = -1;
auto_sell [$item[jug of Gnomochloric acid]] = -1;

Unless I'm misreading something, a negative value in the auto_sell map will simply be ignored. Am I mistaken?
 

Bale

Minion
You're right. Such items won't be sold, but I wanted them to be listed anyway in case I changed my mind. Perhaps that was a weird design choice.
 
Last edited:

Alhifar

Member
For the autosell map, wouldn't you get the same effect by simply not putting them in the map? I understand the negative values in save[], but not auto_sell[].
 

Bale

Minion
Sorry. Misread your post. Realized what you'd written. Then edited my post mere moments before you posted a follow-up reply. Here's what my edited post says:

You're right. Such items won't be sold, but I wanted them to be listed anyway in case I changed my mind. Perhaps that was a weird design choice.

It would have the same effect if I hadn't put them in the map at all. I just wanted it to be easy to alter if I change my mind.
 

dj_d

Member
My favorite script name is still this one. The font also helps.

:)

one of my most useful/least used by others scripts...

Bale, I'm sorely tempted, but I've made too much meat off random crap that suddenly became valuable due to a special event or game mechanic change (100 briefcases during Crimbo, anyone?). Cool script though!
 
Seems to have worked great, except for a couple little hickups with pricing it seems...

03/28/09 20:04:46 Bubblies bought 1 (Hodgman's journal #4: View From The Big Top) for 100 Meat.
03/28/09 20:04:41 Bubblies bought 4 (Hodgman's journal #2: Entrepreneurythmics) for 400 Meat.

So I got outted about 1 mil meat, that's all I noticed. Maybe a problem with the "#" or something else in the item name?
 
Last edited:

Bale

Minion
Yes. I'm not going to add it to the script, but if you want to do it, you'd just need to add something similar to this:

cli_execute("send "+ to_string(item_amount(it)-save[it])+ " " +to_string(it) + " to wadbot");
 

Bale

Minion
Mispricing? My thought is that someone was selling some of those for a surprisingly cheap price.

When you tell a script to simply price according to current mall prices you take your luck. You could argue that is a serious design flaw and if you want to figure a way of making sure everything is priced in a way guaranteed to make you money, then go ahead and do it.

My recommendation is to manually mall anything whose price you're concerned about, or write in an exception for that item. I'm not really concerned enough to do so myself.
 
The first 5 items of both journals minpriced? Completely improbable.

I think I've found the problem, when actually searching for "hodgman's journal #4: view from the big top" It returns no results, same with "hodgman's journal #2: entrepreneurythmics"

So apparently the search just doesn't like those items, I'm guessing the colon.

Anyways, the problem is this makes the script minprice them, rather than leave it as the max price. This could be a problem for any such item that returns no results for some reason.
 

Bale

Minion
Well, I want them minpriced. If you want them maxpriced, it's a simple change. I assume you can do that?

If search doesn't like the colon, then that is a mafia bug. Please report the bug or else I'll play with it a bit once I'm out of Bad Moon and then report it myself.
 
Top