OCD Inventory control

Theraze

Active member
PAtoOCD only affects uncategorized stuff. If you want it to recategorize, just set them back to uncategorized, and re-run PAtoOCD then. :)
 

charred

Member
when ocd shows the "add default information for...", and you click it, what does it do? is there a list of the common items?
right now when you click it, those items get updated and disappear. im wondering if it is possible for the category dropdowns to be changed but not submitted right away. just to make sure thats what i want to do with them
 

Bale

Minion
OOOooooooooo! Someone finally asked about my awesome new user friendly feature! I've been waiting so long for someone to care! You just made my day by asking.

First of all, that feature will only categorize items that you actually posses. That way you have a chance to look over the list and categorize anything that is important to you. If a new item appears in your inventory you won't have to worry that its fate was already decided.

Secondly, it doesn't cateogorize anything that is particularly questionable. It sticks to fairly safe answers, though it does like to mall sale anything that is reasonably useless.

Finally, yes! There IS a list of everything it will categorize. In your /data directory you'll find a file called OCDefault.txt which contains all that information. I do update that every now and then. I just updated it with some latest stuff several minutes ago. If you delete it and run relay_OCD again it will download the latest version. (Or else it will check to see if it has the latest version upon its first run of the day.)


I'm wondering if it is possible for the category dropdowns to be changed but not submitted right away. Just to make sure thats what i want to do with them

That'd be a nice feature. I have no idea how to do that.
 
Last edited:

charred

Member
it is a slick feature, and i would have loved to use it when i started using the script and categorizing everything, that was the major hurdle, deaing with a few thousand items at the beginning. ;)

i still use it every now and then when i get some items im not sure what i want to do with. ill just take peeks at that data file when i want to know ahead of time
 

Ferdawoon

Member
PAtoOCD only affects uncategorized stuff. If you want it to recategorize, just set them back to uncategorized, and re-run PAtoOCD then. :)

True, but then I still have to go through the lists and manually change the ~2200 items in the database to Uncategorized, and would still have to know which items I have manually changed so I do not change those =S
The idea was that I could Lock some items and then kinda forget about them, knowing they are safe with the settings I have given them.
Changing the list manually to Uncategorized vs making a new list and re-do the manual changes would probably make it easier to just scrap the list and build a new one I'm afraid.

It would be much easier if I could go into the datafile, add a little * in front of some lines and then run PAtoOCD which would then re-run the whole list except those marked. Sure, would be annoying if I just wanted PAtoOCD to just add a couple of new items to the list, and instead it would run through the whole list..
 
Can't find zarqon's PAtoOCD.ash anywhere in the forums for best attachment of this post, but this is one of the two threads that got found when I tried (the other was an SVN log) so I'm putting it here.

I recently got frustrated at its hardcoding to name, even if you've changed the name you'd like using the OCD relay script for shared purposes or ascension v. normal OCDness or whatever. Attached is a copy that should check your zlib variables to see what OCD file to use, so you can PA multiple bits easily if needed.

I've been looking for this for a couple days an posted on Price advisor. Winterbay said that it was over here. Thank you for posting it Theraze.
 

Theraze

Active member
Welcome. :)

Also, now that I'm finally starting to play with OCD IC, the developers are getting irregular shinies.
send gift to holatuwol: 34 stuffed cocoabo
send gift to Veracity: 7 rubber WWtNSD? bracelet
 

shoptroll

Member
it is a slick feature, and i would have loved to use it when i started using the script and categorizing everything, that was the major hurdle, deaing with a few thousand items at the beginning. ;)

I liked it as well, my only complaint is that it automatically submits the form with the defaults. I would've preferred it to update all the entries in the table first, let me review them and then submit the form, but that's a minor issue. It didn't take a lot of time to go through and change a number of the mall sales to pulverize. So not a huge deal.
 

Donavin69

Member
Any chance the feature request from Banana Lord in #634 (Minimum mall price) will make it to the next version?

To jump on the "I Love it" Bandwagon....I do love it, and use it daily!
 

Bale

Minion
Any chance the feature request from Banana Lord in #634 (Minimum mall price) will make it to the next version?

I like that suggestion so there is a chance. I'll do it if the mood strikes me. It depends on me being bored at the right time.
 

AtlanteanScion

New member
Bug report

First off, this script is extremely useful. Thanks Bale!

Lines 359-372 of OCD Inventory Control.ash v3.7:
Code:
boolean getit(int q, item it) {
	if(first) first = !vprint("Stocking up on requred items!", "blue", 3);
	return retrieve_item(q, it);
}
...
if(full_amount(it) < stock[it].q && !getit(stock[it].q - full_amount(it) - (get_property("autoSatisfyWithCloset") == "true"? closet_amount(it): 0), it)) {

I think there is a problem with the call to getit(). This is easiest to explain by example. Suppose that I want to stock 5 of an item and I currently have 3. (i.e. stock[it].q = 5 and full_amount(it) = 3) The function call will be getit(5-3-0, it) (line 372), which in turn calls retrieve_item(2, it) (line 361). Since retrieve_item() only tops up, the call does nothing because we already have at least 2 of the item.
 

Bale

Minion
Thank you! You are quite right. I hate autoSatisfyWithCloset and the way that retrieve_item() works in combination with various preferences. However retrieve_item() is invaluable because of the way it compares prices for purchase of a complete item vs purchase of its components. I wish there was a variation of retrieve_item() that gained X more of an item instead of X total. Replace that section of code with...

Code:
		boolean getit(int q, item it) {
			if(first) first = !vprint("Stocking up on requred items!", "blue", 3);
			boolean autoSatisfyWithCloset = get_property("autoSatisfyWithCloset").to_boolean();
			if(autoSatisfyWithCloset && closet_amount(it) > 0)
				set_property("autoSatisfyWithCloset", "false");
			boolean autoSatisfyWithStorage = get_property("autoSatisfyWithStorage").to_boolean();
			if(autoSatisfyWithStorage && storage_amount(it) > 0)
				set_property("autoSatisfyWithStorage", "false");
			q = q - closet_amount(it) - storage_amount(it) - equipped_amount(it);
			boolean suc = retrieve_item(q, it);
			if(autoSatisfyWithCloset && !get_property("autoSatisfyWithCloset").to_boolean())
				set_property("autoSatisfyWithCloset", "true");
			if(autoSatisfyWithStorage && !get_property("autoSatisfyWithStorage").to_boolean())
				set_property("autoSatisfyWithStorage", "true");
			return suc;
		}
		
		...
			if(full_amount(it) < stock[it].q && !getit(stock[it].q, it)) {

Right now I've got a troublesome bug in another part of my script which prevents me from updating, but I'll include this fix when I do.
 

Banana Lord

Member
Epic idea that will never happen: Somehow use PA and OCD to dynamically adjust (unflagged) items every X time period. You could have the script remember what the price of an item was when it first ran, and what the price was when it last ran. Then if the percentage difference between the newly calculated price and either of the old ones was greater than Y, the script would hold off making the adjustment and bring it the user's attention so it could be signed off. It could use this 'signed off' price to replace the original price (the price when it first ran) for future comparisons. The user could increase Y until they were happy with how annoying the script was being and profit! You could handle situations like PA wanting to move something from mallsell into pulverize by simply using the value that PA calculated for each action.
 

mellissaleo

New member
a minor bug

I shall start with a big thanks for this scrip.
I have just began to configure it, and I do think it will be a big help with my inventory.

However I do have a minor bug to report. I have been having trouble with the frigid hankyū. I want to set it to send as a gift, but after I save the settings, the frigid hankyū is still uncategorized. I do presume it is because of the special character.

It is really a minor thing, but I still thought to let you know.


Thanks again for the scripting magic!
 

Bale

Minion
Hmm? The script handles items with other special characters so I find it surprising that the hankyū has a problem. I'll have to take a look at it.

Just to be clear: You are using the relay script and choosing "Send as gift to..." for the hankyū with the name of the person in the last field. Then you click "save". Correct?
 

mellissaleo

New member
Yes. I used the relay script, set the setting to Send as gift, entered the name of the person, and clicked save.

I have actually set 5-10 different items to send as a gift to the same person in one single go. It seemed to have worked like a charm, sending a batch of presents to the designated person. Only the day after I have realised I still have the frigid hankyū in my inventory.
I have tried to set it a couple of times more, finally trying to set the setting to Keep all, just to see if it can be categorized as anything. Keep all worked. But when I tried to change it to Send as gift, it kept staying uncategorized, regardless of me clicking save.

As I said, it is really such a minor thing. Just seemed strange to me that this one item can be set to Keep all, but not to Send as gift.
 

Donavin69

Member
I have had an issue similar to this before, it turned out that I had a corruption in the datafile, manually deleting the corrupt line in the data file fixed the problem....might be worth looking for...
 

mellissaleo

New member
Huh... That seems to have fixed the issue.
I went in and manually edited the data file in notepad, tried to save the file and got informed by notepad that the default encoding selected for the data file doesn't support special characters. I changed the encoding, and now it all works.
Good advice Donavin!

So I guess the problem was on my end. My apologies Bale.
And once again, thank you kindly for the awesome script :)
 

Bale

Minion
That's a relief. I've been trying to find a potential cause to no avail. It's good to know that it is working. I'll try to remember Donavin's fix in case someone else has such a problem.
 
Top