Autoprice items in mall?

ABandit

New member
I don't know anything about KoL Mafia, except that when I asked if there was a way to write a script to price your items 1 lower than anyone else's, I was told that the mafia might be able to do it. Is there any way to have items in the mall instantly adjust their prices to be 1 meat lower than the lowest competitor?
 

Darzil

Developer
Mafia is specifically designed in order to make it hard to use it as a mallbot, by not doing stuff like that.
 

fronobulax

Developer
Staff member
Not really. To prevent KoLmafia from being used as a mall bot the "mall price" reported to scripts is actually the "fifth lowest price". Any attempt to circumvent that would not be supported by the current Dev Team or most posters and scripters at KoLmafia.us.

Assume, for the moment, that the goal was to automatically reprice items in the shop so that they were priced at one meat less than the "fifth lowest price". That will still be difficult because KoL will not monitor prices and tell KoLmafia when they change. So KoLmafia would have to periodically ask KoL for price data and then compare and change prices as needed. That results in server hits and a design goal of KoLmafia was to reduce server hits, compare to playing without it. So, while it is possible to write scripts that periodically poll KoL for information and then act, at high frequencies that polling could be considered abuse.

I've been playing the game for over a decade and have seen a lot of people who think the way to make meat is by mall sales, specifically sales at one meat less. Those folks never seem to make as much meat as they expect. There is a certain amount of outrage directed at one meat undercutters and the response is usually to ignore the store or buy the next higher priced item. Then there is the downward spiral in prices when two undercutters are competing on the same item, which often ends up with undercutters making much less than they could have otherwise. And then there is statement from Jick hisself that "The Mall is NOT the Game". So it might be appropriate to step back and consider what you really want to accomplish and then see if there are better ways than Mall Manipulation to do so.
 

heeheehee

Developer
Staff member
Uh, isn't this exactly the point of
Code:
> help reprice

reprice [min] - price all max-priced items at or below current Mall minimum price. [List items even if the current lowest price is mall minimum.]
shop put [using storage] item [@ price [limit num]] [, another] | reprice item @ price [limit num] [, another] | take [all|num] item [, another] - sell, reprice or remove from Mall.
?
 

heeheehee

Developer
Staff member
Some other points:

Mafia doesn't care about 1-meat undercutters. Many people buy items through Mafia.

Item farming tends to be more lucrative than meat farming but takes more effort (e.g. understanding mall trends, willingness to sit on items until they spike in price, e.g. at the start of a new pvp season) and is generally much more variable. However, given that meat farming can consistently yield 4m+ / day with practically zero maintenance effort, provided you have the right (large set of) IotMs, I personally don't find item farming worth the effort.

Honestly, though, if you want to make meat on a large scale, you're going to make investments.

Finally, as far as I'm aware, Jick's opinion is that everyone who plays KoL should be playing it to read the funny jokes (not to strive for faster ascensions, or build huge collections, or amass a hoard of wealth, or mny other reasons individuals continue to play regularly past the 2-month mark), so I tend to take his opinions on that front with a grain of salt.
 

fronobulax

Developer
Staff member
OK. I stand corrected. It is possible to get a lot closer to the original request than I remembered. The ash and cli functions exist to replace a button that was once in the GUI. Thus any implication by me that the request violated the spirit of KoLmafia should be toned down or just not made.

There is some ambiguity in the documentation. Some places suggest the item is only repriced if it is currently at the Mall Maximum price (999,999,999). Other places don't mention that condition. The phrase "Mall Minimum" is also overloaded. Sometimes it clearly means the absolute minimum price something can be sold for, i.e. twice the auto sell price. Other times it means the lowest price that item is listed for in the mall and other times it means the lowest price mafia will tell you about in a scripting context, which is the "fifth lowest price".

I poked a little bit in the code but did not go deep enough to resolve these questions.

I'd look at the following if I were going to try it with the understanding that the amount of undercut is not under my control.

http://kolmafia.us/showthread.php?2...eItemsAtLowestPrice(false)&highlight=undercut

http://wiki.kolmafia.us/index.php?title=Get_shop

http://wiki.kolmafia.us/index.php?title=KoLmafia_Guide:_Useful_Commands

http://wiki.kolmafia.us/index.php?title=KoLmafia_Guide:_Automatic_Mall_Selling

I'd then consider the frequency and whether making the character a chatbot was the way to go.
 

Darzil

Developer
If I were making a selling script (which I'm not), I'd aim to leverage Coldfront to get volumes and prices from the last 24 hours, and then price at the Nth item price in the mall, where N = 24 hours sales volume divided by two. I'd run it as a logout script, probably.

You'd be likely to sell most things, but you wouldn't be undercutting anyone, so would be making far more money than undercutting.
 

fronobulax

Developer
Staff member
I'd aim to leverage Coldfront to get volumes and prices from the last 24 hours

CFStat

http://kolmafia.us/showthread.php?9947-ManageStore-and-CFStat-Weed-out-your-store&highlight=CFStat

timespan=2 is hardwired in the calls to Coldfront. Coldfront is unresponsive for me at the moment so I don't know what interval that specifies but if it is not 24 someone could edit a local copy or ask me to parameterize it.

ManageStore uses that to weed things out that will probably never sell and autosells them.

Edit: Looks like timespan=7 is 7 days and timespan=1 is 24 hours so the svn version is a 7 day interval.
 
Last edited:

asturia

Minion
However, given that meat farming can consistently yield 4m+ / day with practically zero maintenance effort, provided you have the right (large set of) IotMs, I personally don't find item farming worth the effort.

How exactly is that possible?
 

Darzil

Developer

Nice one, and does a good job of scraping coldfront.

I wouldn't advise using the Coldfront average price for anything, though, as it's an average for the last 30 minutes in which any sold. So for example, 2740 clovers were sold in the last 24 hours, at an average of 969 meat. However, 2 sold at 201 in the last 30 minutes, so average given is 201 !
 
Last edited:

Crowther

Active member
Nice one, and does a good job of scraping coldfront.

I wouldn't advise using the Coldfront average price for anything, though, as it's an average for the last 30 minutes in which any sold. So for example, 2740 clovers were sold in the last 24 hours, at an average of 969 meat. However, 2 sold at 201 in the last 30 minutes, so average given is 201 !
Spot prices!
 

Crowther

Active member
So, while were are talking about markets. I've been frustrated by certain scripts that find the "most expensive" item, grab that, then put it in the mall only to have it never sell, because without knowing demand, it is hard to say what something is really worth. So for these items, I've started undercutting the mafia price (5th thing) by 5%. Yes, I'll even undercut myself if my own items aren't selling. This seems wasteful, but it isn't, because I'll drive any not selling item down until it sells or is cheaper than something else that sells. I'm a market marker. lol
 
Top