EatDrink.ash: Optimize your daily diet (and see how your old diet stacks up).

Theraze

Active member
Posts 1362-1365 had conversation about helpers, and then there was a new challenge path and I got distracted. Or something like that. Of course, the forks are new since then, so we'd need to actually reconsider additional items that have been added to KoL since that list was compiled.
 

dsinc

New member
I have a question about this, everytime I run it it says that it's trying to buy a chef in the box and it can't, this is what I'm getting specifically:

http://pastebin.com/yPSkZaXM

I just want to run it without it asking me for a chef in the box or trying to buy one, how can I disable this check?
 
I have a question about this, everytime I run it it says that it's trying to buy a chef in the box and it can't, this is what I'm getting specifically:

http://pastebin.com/yPSkZaXM

I just want to run it without it asking me for a chef in the box or trying to buy one, how can I disable this check?

It uses Zlib for its variables which makes checking them pretty easy. In the CLI, type
Code:
zlib eatdrink
This will show you all the variables currently set in eatdrink.ash. The particular one you are looking for is zlib getchef, to change it to stop getting the chef type
Code:
zlib eatdrink_getChef = 0
This will prevent it from getting the chef (I have no idea why he used an int vs true/false).
 

dsinc

New member
It uses Zlib for its variables which makes checking them pretty easy. In the CLI, type
Code:
zlib eatdrink
This will show you all the variables currently set in eatdrink.ash. The particular one you are looking for is zlib getchef, to change it to stop getting the chef type
Code:
zlib eatdrink_getChef = 0
This will prevent it from getting the chef (I have no idea why he used an int vs true/false).

I can't find that, zlib eatdrink doesn't show anything, if I type zlib vars it shows all the variables I have:

http://pastebin.com/vkrZq35X

I did paste what you typed and this is what it says:

> zlib eatdrink_getChef = 0

No setting named 'eatdrink_getChef' exists.

Maybe because this script was installed when I installed farm.ash or another script? I don't remember installing this manually.
 

Magus_Prime

Well-known member
No setting named 'eatdrink_getChef' exists.

That sort of result normally means that the script in question hasn't had a chance to define and set needed variables. Normally when running a script, that leverages zlib, any necessary variables are defined the first time the script runs.

I'd suggest uninstalling the script and then reinstalling from the SVN link in the first post.
 
Last edited:

Theraze

Active member
This will prevent it from getting the chef (I have no idea why he used an int vs true/false).
Code:
// If not 0, buy/pull a *****-in-the-box if one's required and it's
// possible for under the set amount, and -1 meaning price is no object.
setvar("eatdrink_getChef", 5000);
Because some people wanted to get a chef if it cost less than X amount, but not if it cost more. Because there was a time when the chefs and bartenders got REALLY expensive. It had been a boolean before that, but when the request happened, gave people more options.
 

Theraze

Active member
Probably got an old version of EatDrink from Ascend or something similar where it had been a static script rather than the current SVN iteration. Or just really bad luck with the SVN and your repository broke. Either way. Happy that it's working for you now.
 
Why is EatDrink buying Grim Fairy Tales rather then using the Groose Grease that is in my inventory:
autoBuyPriceLimit => 3937.0
Searching for "grim fairy tale"...
Search complete.
Purchasing grim fairy tale (1 @ 3,100)...
Purchasing grim fairy tale (2 @ 3,150)...
Purchases complete.
autoBuyPriceLimit => 20000

I am not in a type69 path, I am aftercore right now.

groose grease (254)
 

lostcalpolydude

Developer
Staff member
Just did a mall search, and the cheapest (more than 5 in the store too) groose grease is 3190, which is more than the 3150 spent on a grim fairy tale. There's a setting to have the script prefer items in your inventory, ignoring opportunity cost.
 

Theraze

Active member
Actually, that just sets all inventory items value to 0. It's really dangerous, if you have anything that you actually like, because that probably also sets all your coinmaster items value to 0. Just don't set that variable if you ever want the right to complain about ED's actions.

And it used that because if you sold your GG in the mall, you could make a profit. If you're farming for maximal profit, that means selling the items that are less useful to you and worth more, and using items that are equivalent/better and cheaper. Just like the script suggested.
 
Understood, that makes sense. I generally keep all turn gen items and don't mall sell them (personal preference) and as such it seemed odd to me.

Thank you both for looking into that.
 

Theraze

Active member
I THINK that if you set the GG as a favourite item, then it will use it even though it's not fiscally sound. It's the way to have ED help you towards trophies. But yeah, if you want to make maximal profit, you should be selling your GG instead. But... some people dislike the concept of the mall. That's fair. :)
 

lostcalpolydude

Developer
Staff member
I THINK that if you set the GG as a favourite item, then it will use it even though it's not fiscally sound. It's the way to have ED help you towards trophies. But yeah, if you want to make maximal profit, you should be selling your GG instead. But... some people dislike the concept of the mall. That's fair. :)

Since the items have equal utility, there's no reason anyone should buy groose grease for that higher price. Given the small price difference between the items, and the time cost associated with selling these and checking up on it, there's a strong argument for it being optimal to just use the items on hand in this case. I don't know that the script could reasonably handle that. Maybe (yet another) setting that reduces the cost of things in inventory when comparing? Probably not worth doing though.
 

Theraze

Active member
Yeah, I'm not going to be the one adding that. Since generally, I go through both grease and grims on my various characters most days, the price between the two bounces as to which is the lower. Which means that if you put your GG in the mall when it's higher, people like me will end up auto-buying that when the cheap grims are gone, and you'll make a profit.

But like I said, if you prefer to not make extra meat, I think if you set it as a favourite then ED will use it even when it isn't the best value.
 
I am planning to do a simple script to automate the actions for when I don't have enough time to play and I just log in to leave Mafia in the background farming meat, and I need to call EatDrink 2 times (one first of all to get adventures and one at the end to overdrink) but I don't know how to do it so it wouldn't show a popup asking me for input, any help?
 

fronobulax

Developer
Staff member
I have the following as a script in an ash file.

import <EatDrink.ash>
SIM_CONSUME = false;
eatdrink(fullness_limit(), inebriety_limit(), spleen_limit(), FALSE);

It will fill me up without overdrinking and without prompting.
 
Oh ok, I only wanted to make a simple script but it looks like I will have to upgrade it into an ash one, because I don't think you can use those commands in a bog-standard txt script. Unless there is also a way to achieve what I want using simple scripting
 

Bale

Minion
I only wanted to make a simple script but it looks like I will have to upgrade it into an ash one

There are many way that you can improve control over your adventuring that you don't even know now. Upgrading to ash for a simple script is a good way to get your foot wet so that you can eventually make more interesting choices.
 

Crowther

Active member
Oh ok, I only wanted to make a simple script but it looks like I will have to upgrade it into an ash one, because I don't think you can use those commands in a bog-standard txt script. Unless there is also a way to achieve what I want using simple scripting
Bale is correct, however you can use ash in a txt script. For example like this:
Code:
ashq import <EatDrink.ash>; SIM_CONSUME=false; eatdrink(fullness_limit(), inebriety_limit(), spleen_limit(), false);
 
Top