PDA

View Full Version : Way to get mall prices for all your inventory?



SinginSally
01-05-2010, 01:15 PM
I havent seen anything like this. My thought was that as a new player, I really don't have much of an idea what is worth mall-selling, and what should be auto-sold.

I have quite a bit of stuff cluttering up the inventory and wish there was some script or something that would give me a list of all my stuff and how much it is supposedly worth.

There is a greasemonkey script that comes close, but nothing Mafia related that I am aware of.


Another question: I guess mall price lookups either take too long or are not possible? How accurate are the various price lists that some scripts refer to? How are they updated?

Thanks!

mredge73
01-05-2010, 01:47 PM
Here is a good resource:
http://items.ofloathing.org/index.php?

Script writers have 3 sources for pricing info and none of which are up to the minute accurate. I use this for the daily lowest prices for items: http://items.ofloathing.org/today.txt It is updated daily for the lowest price in the mall.
Mafia only has access to the 5th lowest price in the mall. It holds a list of these and can be accessed by using the ash command historic_price(item).
Mafia can get the current 5th lowest price once a day as well using mall_price(item).
So for my purposes I average historic_price() with the item of loathing price to get a roundabout idea on how much I can get from an item.

There are many scripts out there that go through your inventory for you and clean it out by autoselling, smashing, and mallselling. Check out mine (HC Inventory Control) and Bale's OCD inventory control.

slyz
01-05-2010, 02:10 PM
If you were thinking of PriceGun, maybe the closest thing would be networth.ash (http://kolmafia.us/showthread.php?t=2628). Severall versions have been posted in that thread, the last one was Zarqon's here (http://kolmafia.us/showpost.php?p=20767postcount=47).

mredge73
01-05-2010, 03:17 PM
I thought that your question was interesting enough that I built a new tool this morning.

Included in this unofficial Item List release. You can run the script directly or use this alias:
alias PriceAnalyzer => ash import <MrEdge73's Support Script -- Item Lists (Beta).ash> PriceAnalyzer();

It will create InventoryAnalysis.html in you data folder. This script is information only so it won't destroy any items. It will list all of your items with the historic_price(), items of loathing price, average of both, autosell price, and my recommendation (autosell everything cheaper than a twinkly wad).

slyz
01-05-2010, 09:07 PM
This would be a very nice place to start using PriceAdvisor for advice on what to do with items.

slyz
01-10-2010, 05:34 PM
mredge73: I completely butchered the script you posted here to output advice from PriceAdvisor.ash...

PriceAdvisor (http://kolmafia.us/showthread.php?t=3110) (and the scripts it depends on) are needed for this to run.

It's pretty simple to use (call & forget). I added at the top a map of strings contained in 'absurd' advices you don't want appearing - one example is
box: acquire 1 wrapping paper; make 1 present; mallsell 1 present: 1.23916992E8 meat.
Please add them in as you go and share it with us, while aqualectrix hammers out the bugs.

By the way, someone please save me from those HTML color codes!

mredge73
01-11-2010, 12:31 AM
good job, I like it!
This is the first time I used price adviser, looks good.

slyz
01-11-2010, 06:40 PM
Back, with a little color-coding.

Warning: with a lots of items in your inventory, this could take a while, and search for *many* mall prices... It might also bloat your memory I guess. I try to closet everything I want to keep beforehand (it's purely informational, so nothing will happen if you don't closet).

I would recommend restarting Mafia before using it, so that you are sure that all those prices will be updated over at zachbardon.com.

I tested with and without checking if an item is tradeable before getting an advice from PriceAdvisor, and got different results (without new mall prices being checked), so I'm leaving it in. the difference was 4,887,935 vs 4,938,451... I have a big inventory.

Here is the map of absurdities I put in:



string[int] Absurdities ;
Absurdities[0] = "skewered";
Absurdities[1] = "wrapping paper";
Absurdities[2] = "pirate zombie head";
Absurdities[3] = "wriggling tentacles";
Absurdities[4] = "twitching claw";
Absurdities[5] = "dead guy's memento";
Absurdities[6] = "caustic slime nodule";
Absurdities[7] = "parasitic tentacles";
Absurdities[8] = "scary death orb";


They are mostly things that are hard to acquire but are recommended due to not having mall prices, or things that don't sell well enough that it's worth to flood the market with. I don't think buying 12 double sided tapes is the best idea to profit from my dead guy's watches =)

Fun fact: the default key for a newly-created string[string] map is "default".

aqualectrix
01-11-2010, 11:32 PM
slyz -- you'll be happy to know that the next version of PA will have an option to not generate any advice that recommends acquiring stuff that costs above your autoBuyPriceLimit. It gets rid of a bunch of the really crazy stuff. I should be releasing it sometime this week.

slyz
01-12-2010, 09:22 AM
An absurdity could also be an advice to make and sell an item you know won't sell fast, even if it's cheap, or just serve as a filter for things you want to keep.

A PA update will always be welcome, I am still very impressed with it.

aqualectrix
01-12-2010, 04:08 PM
Yeah, items that won't sell fast aren't going to be something I can fix. PA can only know about price, not volume. Alas.

lingh0e
03-25-2010, 04:25 AM
mredge73: I completely butchered the script you posted here to output advice from PriceAdvisor.ash...


Nice! Can you please advise me on how to get the quantities of PriceAdvisor Recommendation column to match the item_amount? I have 50 bottles of rum, the advice is still "mallsell 1 bottle of rum".

heeheehee
03-25-2010, 04:37 AM
There's no easy way to go about doing that, unfortunately. You can either manually replace that string with "mallsell 0 bottle of rum" or try some ridiculous string manipulation.

Winterbay
03-25-2010, 11:47 AM
Man does this script take long to run on my work laptop. It is interesting the difference between two computers. Maybe I should just try it when I get home instead...

Also: What order does the script use to go through the items? It seems to be very random...

Edit:
A question:
I had 1 floaty inverse geode in my inventory. The script gave the following recommendation:


Items: floaty inverse geode
Amount: 1
Mall Price: 650000
AutoSell Price: 0
PriceAdvisor Profit: 6462200
Total Profit: 6462200
PriceAdvisor Recomendation:
use 1 floaty inverse geode; acquire 4 floaty gravel; make 1 floaty rock;
acquire 1 wok lobster; make 1 rock lobster; mallsell 1 rock lobster;
acquire 4 floaty pebbles; make 1 floaty gravel; acquire 4 floaty gravel; make 1 floaty rock;
acquire 1 wok lobster; make 1 rock lobster; mallsell 1 rock lobster;
acquire 1 wok lobster; make 1 rock lobster; mallsell 1 rock lobster;
acquire 4 floaty sand; make 1 floaty pebbles; acquire 4 floaty pebbles; make 1 floaty gravel; acquire 4 floaty gravel; make 1 floaty rock;
acquire 1 wok lobster; make 1 rock lobster; mallsell 1 rock lobster


Where did it get the insane amount of stuff to make rock lobsters from?

aqualectrix
03-25-2010, 01:34 PM
As the author of PriceAdvisor, I'll try to answer this:

This is a consequence of PriceAdvisor's not-so-clear handling of "expected results". Checking the wiki, we see that using a floaty inverse geode gives:
7-10 sand
2-6 pebbles
0-2 gravel
0-1 rocks

What PA is trying to say is "turn whatever stuff you get into rocks (buying whatever extras you need to do so), and make rock lobsters", but it's not very good at communicating this because
a) it doesn't know how to talk about expected results very well, although it does the math correctly (i.e. it calculates profit as if you get .5 of a floaty rock, but it outputs stuff about 1 floaty rock)
b) it doesn't account for things like using the sand you get from the geode to make pebbles, which you can use to make gravel, which you can use to make a rock, so it treats each result separately.

So what it is trying to say (and utterly failing to communicate) is:

use 1 floaty inverse geode;
This, at least, is easy to understand!

acquire 4 floaty gravel; make 1 floaty rock; acquire 1 wok lobster; make 1 rock lobster; mallsell 1 rock lobster;
Get however many gravel you need to make a rock with the gravel you have. Make the rock, get a wok lobster, make a rock lobster, and sell it.

acquire 4 floaty pebbles; make 1 floaty gravel; acquire 4 floaty gravel; make 1 floaty rock;acquire 1 wok lobster; make 1 rock lobster; mallsell 1 rock lobster;
Get however many pebbles you need to make gravel with the pebbles you have. Make the gravel, and get however many gravel you need to make a rock. Make the rock, get a wok lobster, make a rock lobster, and sell it.

acquire 1 wok lobster; make 1 rock lobster; mallsell 1 rock lobster
If you got a rock from the geode, get a wok lobster. Make a rock lobster and sell it.

acquire 4 floaty sand; make 1 floaty pebbles; acquire 4 floaty pebbles; make 1 floaty gravel; acquire 4 floaty gravel; make 1 floaty rock; acquire 1 wok lobster; make 1 rock lobster; mallsell 1 rock lobster
Get however many sand you need to make pebbles with the sand you got from the geode. Make the pebbles, and get however many more you need to make gravel. Make the gravel, and get however many more you need to make a rock. Make the rock, get a wok lobster, make the rock lobster, and sell it.

I realize this is almost completely opaque, and I apologize. Better output for expected results is something I am working on, but Real Life has been pretty heavy with the time commitments lately.

Winterbay
03-25-2010, 02:18 PM
Thanks for the response. I guessed it was something in that regard. I made 1 rock lobster from my 10 floaty sand and 3 pebbles that I got (+100 floaty sand from the malls since that was the most cost efficient way to get a rock) and put that in the mall.

What I noticed while doing the calculations for this was that you can actually make around 50k from just buying 125 floaty sand and a lobster and mall selling the resulting rock lobster which is somewhat unusual for the Mall of Loathing I find.

slyz
03-25-2010, 10:12 PM
The problem is that you are putting in a lot of meat to make only 50k... eventually. PriceAdvisor's recommendations are not always to be followed blindly! I still find that it is a great tool, and I hope aqua still has some ideas for it =)

Winterbay
03-25-2010, 10:45 PM
YEs, I know. But the way I went I should make a lot more than that (hopefully) :)

slyz
09-19-2010, 08:25 AM
I'm posting a slightly modified version of PriceAnalyzer here to answer a request.

I added a checkLocation map at the top where you can specify locations. You will only get advice for the items that drop from those locations. You will need to edit the script to add locations, unfortunately.

I also added a priceAnalyzer_onlyLocationDrops zlib variable, default false. After running the new version, you can set it to true by doing zlib priceAnalyzer_onlyLocationDrops = true in the gCLI.

Jar of Jam
12-04-2010, 06:30 PM
Slyz, for whatever reason I'm getting zero suggestions from your script - the .html is generated, but no items are mentioned there. What am I doing wrong ? r8800, both PriceAdvisor and SmashLib are in place.

heeheehee
12-04-2010, 07:29 PM
If the script uses ZLib, check your verbosity setting?

slyz
12-05-2010, 02:28 AM
I looked at that script again recently, and I had to fix a few things but I don't remember what. Here is an updated version... don't forget to type "zlib priceAnalyzer_onlyLocationDrops = true" in the gCLI, and you need to edit the script to enter the locations you want to check.

Ferdawoon
12-15-2010, 08:13 PM
I have a few questions about the categories on the HTML page..
Items, Amount, Mall price and autosell value are all pretty obvious, but the rest?

PriceAdvisor profit: Is this the calculated profit if you just do what the Advisor suggest? Is this including expenses to aquire items that it need?
Example: acquire 4 handful of sand; make 1 brick of sand; acquire 19 brick of sand; make 1 sandcastle; mallsell 1 sandcastle. PriceAdvisor profit then calculate that I also spend meat to get the handfuls of sand?

Total Profit: How is this calculated? With the numbers I have, I assume the script consider that if I used all my current meat to do what it suggest, buying parts to construct the finished product and then mallsell (or whatever it suggest), that I could get such a high profit if it all sell?
Example:
Items: beige clambroth marble
Amount: 1
Mall Price: 160000
Autosell Price: 64
PriceAdvisor Profit: 49695000
Total Profit: 49695000
PriceAdvisor Recomendation: acquire 1 beige clambroth marble; make 1 steely marble; acquire 1 steely marble; make 1 beach ball marble; mallsell 1 beach ball marble

Beige clambroth marble is currently 144 000 meat in the Mall, but the difference there is not that big if you think that the price fluctuate and just might not be 100 accurate.
Beach ball marble is currently 495 594 meat (Palindrome prices ftw!).
495 594 - (2 * 144 000) = 207 594 meat profit if it sell.
Now, where did PriceAdvisor get "PriceAdvisor Profit: 49695000" and "Total Profit: 49695000" from?
Yes I know that my current mallprices are not the same as what PriceAdvisor use but: 49 695 000 / 207 594 = 239. It assume I can do this 239 times?

The same with BRICKO-bricks
Items: BRICKO eye brick
Amount: 477
Mall Price: 110
AutoSell Price: 0
PriceAdvisor Profit: 482500
Total Profit: 230152496
PriceAdvisor Recomendation: acquire 3700 BRICKO brick; make 1 BRICKO cathedral; mallsell 1 BRICKO cathedral

if I buy the BRICKO bricks from the Mall I do get roughly the right PriceAdvisor profit (I use the current mallprices and not whatever stored mallprices that the script is using) but where is this 230 152 496 meat profit coming from?

Then I should not go into what Flamingo Mallet is supposed to sell for in the Mall (987 654 321 meat according to the script, or rather the data the script use. The real price is 150 000 meat).


EDIT: I consider posting this in the thread for PriceAdvisor as this script is based pretty much on that, all the estimations and all that, so anyerror on that part should be due to PriceAdvisor and not PriceAnalyzer.

Fluxxdog
12-15-2010, 08:38 PM
PriceAdvisor Profit: 49695000
Total Profit: 49695000
PriceAdvisor Recomendation: acquire 1 beige clambroth marble; make 1 steely marble; acquire 1 steely marble; make 1 beach ball marble; mallsell 1 beach ball marble
<snip!>
Now, where did PriceAdvisor get "PriceAdvisor Profit: 49695000" and "Total Profit: 49695000" from?
> ash mall_price($item[beach ball marble])

Searching for "beach ball marble"...
Returned: 50000000mall_price always returns the 5th cheapest value for an item. In this case, the 5th cheapest is 100x more expensive that the 1st cheapest. In fact, the difference between 4th cheapest (750,000) and 5th is 49,250,000.

Everything is working exactly as it's supposed to be working.

slyz
12-15-2010, 10:23 PM
PriceAdvisor profit: Is this the calculated profit if you just do what the Advisor suggest? Is this including expenses to aquire items that it need?
The profit is the meat you will make if you already have the item in your inventory. The opportunity cost of any other ingredients used in the process (ie the value you could get with the best advice, either the mall price or more) is taken into account.