OCD Inventory control

slyz

Developer
I finally had some time to play with this... Bale: it is a thing of beauty ;)

@oztrich: I did also open it - line 346 of OCD Inventory Control.ash
PHP:
if(act == "MALL" || act == "AUTO" || act == "DISP") batch_close();
should be:
PHP:
if(act == "MALL" || act == "AUTO" || act == "DISP" || act == "CLAN") batch_close();

I think there is a typo on line 340 too, the "165" should be "15", if I'm reading the commentary correctly.
 
Last edited:

Bale

Minion
Oh heck. And since the clan stash was done last, there was never a batch_close().

Thanks for finding my bug slyz. I'm glad you're so impressed with my script despite that.

I've released a new version of OCD Inventory Control that should fix the problem courtesy of slyz.


I think there is a typo on line 340 too, the "165" should be "15", if I'm reading the commentary correctly.

Not a bug. 11 items per transfer * 15 transfers = 165 items.
 
Last edited:

oztrich

Member
I finally had some time to play with this... Bale: it is a thing of beauty ;)

Seconded, it's fantastic! :)

@oztrich: I did also open it - line 346 of OCD Inventory Control.ash

Yes, that did the trick. After making the change to line 346 the clan stash function works perfectly, I've tested it and confirmed success. Thanks for the pointer slyz!
 

Bale

Minion
Yes, that did the trick. After making the change to line 346 the clan stash function works perfectly, I've tested it and confirmed success. Thanks for the pointer slyz!

It seems I ninja'ed you. I'm glad that fixed it.
 

apenny

New member
Hi - regarding the kbay subthread here. Personally I would plan on running this script maybe once an ascension at most (I spent most of my time in hardcore). I would suggest sending maybe only if there more than 10 per item and just leaving them in inventory otherwise? If someone uses your script they are bound to run it again! Then you could group them by type. Maybe allow the user to choose a different option that would permit random grouping if they are just desperate to get rid of the darn things. Personally I also love the option to send some to people as gifts (I know some people who collect) as well. I have been sending some gifts to sellbot but sellbot is a bit overstocked on some things. Personally I'd be happy with a very low minimum price because I want things to sell. I really love your script, keep up the great work.

apenny
 

Bale

Minion
Thank you.

I'll consider you suggestion. It certainly adds a concept that I hadn't though about. Like most ideas I come up with, I realize that the method for dealing with kBay is rather different from the way that every other item in the OCD database is dealt with.
 

EdFox

Member
Holy smokes. This is amazing. One pass through all my junk instead of after every ascension.

Requests:
1. Add the message at the top of mall multi emails as a variable editable in the relay settings script. The line "Mall Multi Dump" caused some issues with a bot. I changed it in the script but would be even better if changeable via the relay.
2. Add a way to auto use multi use items. Example: duct tape. I have all the items you can make with it and it can't be sold so the best way to use it is to multi use 4 and make a wallet, which a subsequent pass of OCD will then use and get me my meat.

Thanks. :)
 
Last edited:

Veracity

Developer
Staff member
I decided to check this out, finally, since I currently spend WAY too long manually doing this-or-that with my inventory before ascending.

Use relay_OCD_Inventory to create a map file with a list of how you want to treat ever item.
This map file can also be edited in a plain text editor if you're careful.

OK. I have never used a relay script - other than one which replaces a KoL page, and this does not seem to be one.

How, exactly, do I "use" this relay script? I tried turning on quick scripts and adding the script to it, but all it did was check my versions of zlib and the script.
 

Winterbay

Active member
I decided to check this out, finally, since I currently spend WAY too long manually doing this-or-that with my inventory before ascending.



OK. I have never used a relay script - other than one which replaces a KoL page, and this does not seem to be one.

How, exactly, do I "use" this relay script? I tried turning on quick scripts and adding the script to it, but all it did was check my versions of zlib and the script.

If you put the scirpt in your relay folder there should be a drop down at the top right corner of the game where you can choose the script from. It will thenrun and create whatever page that the scriptmaker had in mind.
Does that help?
 

Bale

Minion
1. Add the message at the top of mall multi emails as a variable editable in the relay settings script. The line "Mall Multi Dump" caused some issues with a bot. I changed it in the script but would be even better if changeable via the relay.
This is kinda edge case and I doubt many people really care what the text reads. I'd rather not do this since I don't want to clutter the configuration section. The more stuff there, the harder it is to pick out the important things. However I may be able to accommodate you. I think I'd rather just change the message in the script since I cannot imagine it would cause a problem for others.

Tell me what you think the message should read to avoid troubling bots, while being slightly informative.

2. Add a way to auto use multi use items. Example: duct tape. I have all the items you can make with it and it can't be sold so the best way to use it is to multi use 4 and make a wallet, which a subsequent pass of OCD will then use and get me my meat.

No need. This feature already exists. Just tell OCD that the action for duct tape is "craft into a..." duct tape wallet

OCD will figure out that it needs 4 duct tape to do that and only fire off if there are enough. It will then use items AFTER creating items because I already figured out that people might do this. :D So you won't have to run OCD a second time to use your wallets. :D


How, exactly, do I "use" this relay script? I tried turning on quick scripts and adding the script to it, but all it did was check my versions of zlib and the script.

Eeek. I added better directions to my first post. You've already been helped by Winterbay of course. Thanks Winterbay.
 
Last edited:

Veracity

Developer
Staff member
OK, got it. Thanks. For some reason, I thought I needed to add it to the list of "quick scripts" or whatever. That did not work.

I went and configured some basic things and saved. I then went to my list of items - all of which were "uncategorized", configured all the ones that began with capital letters, saved, and tried the script. It told me "Corrupted data file! Oops! Hope you didn't lose too much!"

I lost all the configuration I had done.

I then poked around and saw that I had the option to mark every uncategorized thing as "Keep All" I did that, saved, and then I was able to configure things to be something else.

This will be useful. Thanks.
 

Bale

Minion
I'm very happy you'll find it useful.

I went and configured some basic things and saved. I then went to my list of items - all of which were "uncategorized", configured all the ones that began with capital letters, saved, and tried the script. It told me "Corrupted data file! Oops! Hope you didn't lose too much!"

That's... disturbing. I wish you'd saved that file so I could have seen what was wrong with it.
 

Theraze

Active member
Maybe an effect of leaving items uncategorized and telling it to save? Does it default the data file to save as keep for (or have an allowed save state leaving it as) uncategorized?
 

Bale

Minion
Maybe an effect of leaving items uncategorized and telling it to save? Does it default the data file to save as keep for (or have an allowed save state leaving it as) uncategorized?

Nope I already accounted for that by removing all uncategorized items before saving. (lines 611-613)
 

Veracity

Developer
Staff member
Well, sorry! I just have high expectations of you and your scripts, so it never occurred to me that I needed to save things other than via your "save" button.

OK, I have a suggestion.

Here's how I currently tend to deal with items immediately after I free the king.

- I pull various items from my display case that I will need in aftercore.
- I pull various items from storage that I will need in aftercore.
- I pull and closet various items from storage that I specifically do NOT want to use in aftercore without special effort. For example, tempura stuff, breathtastic air, instant karma, and so on. I just don't want to see those things offered in the food/booze/spleen sections of the item manager.

With this script, I can envision a different post-prism routine:

- Immediately empty storage, so that I can immediately autosell excess Knob Goblin elite stuff, for example.
- Run a script (which I will write) to pull aftercore items from my display case
- Run the script to immediately dispose of excess stuff I accumulated in-run

After I've done aftercore for however long and am ready to ascend
- Run a script (which I will write) to put aftercore items back in my display case
- Run your script to dispose of anything I've farmed in aftercore and didn't already dispose of

The only thing I am missing is the ability to auto-closet items to keep the Item Manager from seeing them. I could do that either with a personal script - or, with your script, the first time I run it, if you add a "closet" disposition option.

This script will save me a lot of time, once I get it set up right, whether or not you do closeting for me. Thanks!
 

Bale

Minion
Well, sorry! I just have high expectations of you and your scripts, so it never occurred to me that I needed to save things other than via your "save" button.

I didn't mean that. By "save" mean mean that I mean that I wish you'd kept the original buggy file instead of over-writing it. So that you could show me the problem. I am happy that you've got high expectations for my scripts. Unfortunately I'm not always as clearly spoken as I could hope.


With this script, I can envision a different post-prism routine:

- Immediately empty storage, so that I can immediately autosell excess Knob Goblin elite stuff, for example.
- Run a script (which I will write) to pull aftercore items from my display case
- Run the script to immediately dispose of excess stuff I accumulated in-run

Actually, my script will empty storage for you. (It checks lastEmptiedStorage to see if it should.) It can also autosell stuff like excess KGE gear. You can reduce that to a two stage process:

- Run the script to empty storage and immediately dispose of excess stuff accumulated in-run, including autoselling excess Knob Goblin elite stuff, for example.
- Run a script (written by Veracity) to pull aftercore items from the display case.

The only thing I am missing is the ability to auto-closet items to keep the Item Manager from seeing them. I could do that either with a personal script - or, with your script, the first time I run it, if you add a "closet" disposition option.

This script will save me a lot of time, once I get it set up right, whether or not you do closeting for me. Thanks!

Okay, I can do that for you. Closeting is the next feature for me to add to this script.

I just want to be clear: You want to be able to choose "Closet" from the action drop-down. Then if it encounters more than X items of that type (most likely X == 0) it will stick all the extras into your closet. That's what you want, right?


The thing about needing another script to remove things to&from the display case bothers me since I also have one of those scripts! It bugs me I haven't thought of a good way to fold that into OCD Inventory. Unfortunately to do that the script would need to know if you're starting or ending an ascension... I suppose that it could remove stuff from the DC when it empties Hangk since that is only at the beginning, but I often want to run this during aftercore so I need a good way to telling it to DC that stuff when I'm done... Also, I'd need a proper UI for adding that information. Well, it's not really important and I already have my DC script written.
 
Last edited:

Veracity

Developer
Staff member
I just want to be clear: You want to be able to choose "Closet" from the action drop-down. Then if it encounters more than X items of that type (most likely X == 0) it will stick all the extras into your closet. That's what you want, right?
Exactly. Once it has emptied storage, I want it to put all (extra) particular items into the closet.

The thing about needing another script to remove things to&from the display case bothers me since I also have one of those scripts! It bugs me I haven't thought of a good way to fold that into OCD Inventory. Unfortunately to do that the script would need to know if you're starting or ending an ascension... I suppose that it could remove stuff from the DC when it empties Hangk since that is only at the beginning, but I often want to run this during aftercore so I need a good way to telling it to DC that stuff when I'm done... Also, I'd need a proper UI for adding that information. Well, it's not really important and I already have my DC script written.
Yeah. I think you should be able to run this script as often as you want during aftercore and it always does The Right Thing. I don't want to be forced to run it exactly twice - once after freeing the king and once just before ascending.
 

Bale

Minion
Veracity, for you I just uploaded a new version that should support closeting.

Please let me know if this works and works well.
 

Winterbay

Active member
Any chance of getting the option to check the (5th) mallprice of an item vs the autosell value? I think I would like to have it presented as a ratio between the 5th mallprice and the min mallprice (for easy use of just one number). If it is close to 1 I know that it is probably just as well to autosell it instead of dumping it into the mall.

I would add it myself but I suck at layout :)
 
Top