script of eXtreme farming

I tried out eatdrink.ash, and while I would recommend it to people to help find an optimal diet (which they could then put into my script) I don't want to use it to automatically decide the diet because I didn't agree with some of it's decisions. I think maybe it wasn't taking into account that I have superhuman cocktailcrafting.

Like i said though, it is a very nice utility to help you find an optimal diet. I will probably be incorporating some of it's advice into my own diet and I recommend that anyone who uses my script use it to help find the best diet. Here's the script: http://kolmafia.us/showthread.php?t=1519
 

dj_d

Member
It definitely takes SHC in to account. You should post which "decisions" it made that you don't agree with over in the eatdrink thread - there aren't many decisions besides those that are user-configurable; it just does the math. SHC drinks rarely get recommended if you tell it to consider the value of things you own, since they are very expensive relative to their value. That is to say, you're usually better off mallselling them and buying cheaper booze, if your goal is to maximize the meat you earn in one day.
 

Tarko

Member
Nevermind, I found my answer, thanks for the great script;
It helped me a lot to understand some ASH coding.
 
Last edited:
Can a mod please remove all of these comments related to my donation mechanism now that I've changed it? (or at least move them somewhere else) I feel like people are probably coming and reading the first page of negative comments and deciding not to try my script because of that
 

Spiny

Member
Can a mod please remove all of these comments related to my donation mechanism now that I've changed it? (or at least move them somewhere else) I feel like people are probably coming and reading the first page of negative comments and deciding not to try my script because of that

While I'm not a mod, I disagree that the posts should be stricken from the record. I understand your concern as the script writer that people may not read thru everything and that your work may be tainted by association with these posts.

The bottom line is that this script is the product, whether it is free or not, you are offering to a customer, the downloader. It had some negative reviews and you made efforts to improve the script slightly so it wasn't so negative. The history of this should remain intact to future visitors, not swept under the rug. If you are looking to buy a product, you want to be presented with good and bad reviews to make your own informed, educated decision, don't you?

-Spiny
 

Grotfang

Developer
I agree with Spiny. The history should remain intact. Also, the actions you took reflect well on you, and it drives home the point that people put a lot of time into their scripts and maybe deserve some reward.

I wouldn't worry unduly about the interest. This thread has only been up a day or so and you're already on your third page. At least people know it exists! Now, if only I could get similar interest in my musician.ash :)
 

zarqon

Well-known member
I never had a problem with the donation mechanism, which I agree is more generous than the locked-zip method. I would have a problem with a script author misrepresenting their script -- not the case here. Users shouldn't be blindly running scripts either -- if someone ran the script without reading the first post (which indicated the donation behavior), and then didn't watch it and see what it was doing, and kept donating large amounts of meat to the author unawares, I would call it a fair cop. Such a user would have no grounds for complaint.

I also disagree that scripts are products and users are consumers, but that is even further off topic than all this discussion about the ethics of including donations in scripts.

So let's discuss the script, shall we? Thanks for submitting this, cow guru! I know I will be looking at this for scripting strategies to improve my Treasurer-bot's farming abilities.

PS Grotfang: what musician.ash? Perhaps a link in your sig is called for. :)
 

Grotfang

Developer
I've just been reading through the script, and can I say, very good work! It's tidily done, the README is well written and clear to understand and there's good information around all of the variables within the .ash files too. My only concern is the amount of time it's going to take me to get this thing configured, but I can't see of any good way for you to have avoided that without reducing the power of the script.

There's a few more cli_execute commands in there than I would personally use, so I changed them into more their respective ash functions, but other than that it looks perfect (and the cli_execute thing is only a personal hang up of mine, nothing that will change the functionality of the script).

All that's left now is for me to try it (something I'm seriously looking forward to)!

Thanks for making this script available, I will be definitely be leaving the donate setting to its default ;)

zargon said:
PS Grotfang: what musician.ash? Perhaps a link in your sig is called for.

:)
 
Thanks guys, it's nice to finally get some feedback on my script :)

Yeah, I know the initial configuring can be a bit crazy, that's why I wrote a rather lengthy readme to try to explain what everything does. the good thing is once you have everything set up how you want it, making small tweaks is easy. And if you're meat-farming at the castle, hopefully you can just keep a lot of my default settings.

I'm new to ash scripting, so just out of curiosity, what's the difference between calling cli_execute and the native ash function? is it more efficient or is it just a consistency/clarity thing? The reason for the cli_executes was mostly just cause i didn't know all of the ash equivalents :eek:
 

Catch-22

Active member
I'm new to ash scripting, so just out of curiosity, what's the difference between calling cli_execute and the native ash function? is it more efficient or is it just a consistency/clarity thing? The reason for the cli_executes was mostly just cause i didn't know all of the ash equivalents :eek:

Not much difference, really. Personally, I'd say you can't as easily manipulate or interpret the results of cli_execute. Speed wise, well cli_execute might work out a tiny bit faster but there would be no real world performance gains. Best to use ASH if there is an ASH function for it, cli_execute otherwise.
 

Veracity

Developer
Staff member
NSpeed wise, well cli_execute might work out a tiny bit faster but there would be no real world performance gains.
Maybe so, maybe no.

Some ASH functions simply call CLI execute.
Some ASH functions call the same internal function that CLI execute calls, but without all the argument parsing that CLI execute needs to turn user input into the binary form the internal function requires.

I agree that you will not be able to detect the performance difference, either way.

Best to use ASH if there is an ASH function for it, cli_execute otherwise.

Yes. Code clarity. And, possibly, a more usable return value.
 
Ok so it's mostly a code clarity thing. well now I know, next time I edit it I'll try to remove some of the cli_executes

And, possibly, a more usable return value.
And I'd say that one's debatable, considering that some of these functions seem to have non-intuitive return values. I'd almost rather avoid using the return vals unless i've tested them enough to feel confident that they do what I think they do...

Also, is there a more complete piece of documentation for the ash functions than the wiki? It seems like it's missing a lot of them and there's also a lot that it lists but doesn't explain at all. It would be nice if ashref had some way of displaying more detailed info about the function (Just a short description and some mention of what the return val is would be great)
 

flypapermonk

New member
Just a heads up, cow_guru, I've been working on a massive update to your script which I'm doing some final testing tomorrow. You want me to post it here?

New features include:
- using dj_d's eatdrink script for optimal diet
- creating/using sugar shields (needs a daily mafia build though)
- using putty to speed up bountyhunting
- using fortune cookies to keep track of semirares (for synergy with Bale's script)
- improved flow control in an attempt to keep the whole script from aborting when a subscript (such as bounty hunting or putty farming) fails (this is nowhere near complete)
- determining which available bounty that you are able to do will take the shortest amount of turns (previously it just did highest level bounty)
- determining which bounties will not benefit from using putty so as to save it for other things
- using putty to farm goth giants if you have nothing better to do with it
 
That sounds like a nice list of improvements. Just a couple things to consider if you haven't already:

- I would make sure that they're not using their putty for puttyfarming before you go ahead and use it for bountyhunting. I think people would be mad if it got rid of their rockmonster or something.
- I would make sure you can turn off the fortune cookie feature, since people might want to use that fullness for more adventures
- Love the idea of trying to improve the flow control. I was trying to figure out how to best do that myself and I kind of gave up. I just made the fail functions to at least set the combat script back to the default. It would be nice if mafia had exception handling, but I'm sure that would be a lot of work for the devs

And absolutely go ahead and post it. I'm glad to see people contributing to it. Thanks, it sounds like it should add a lot of nice functionality :D
 
- determining which available bounty that you are able to do will take the shortest amount of turns (previously it just did highest level bounty)

Curious to see how you implemented this - I've been thinking about trying to write something similar. Do you handle buffing +/- NC to speed up bounties like the airship, and then take that into account when figuring out the fastest bounty?
 

flypapermonk

New member
Well, I know I said I was going to post the update today but I ran into a couple bugs that took a while to hammer out (a built-in ash function did a very unexpected thing) and it's taking a lot longer to clean up for public consumption than I anticipated. It's 99% there but I do need to run the bounty hunting script one more time to make sure my fix for the odd mafia behavior is good.

Point of controversy: Since I have rewritten a great majority of the code at this point, is it unreasonable to rename the script? My working title at the moment is the Neo-Cow Farming Script (my actual KoL character is named Neo). This will also allow me to start a thread so that I can do version tracking with zlib (already coded in, I rewrote as much as I could to support zlib). Not trying to steal credit or anything, just trying to get some for myself since I have put many hours into this. Up to you, though.
 

flypapermonk

New member
Curious to see how you implemented this - I've been thinking about trying to write something similar. Do you handle buffing +/- NC to speed up bounties like the airship, and then take that into account when figuring out the fastest bounty?

I'll admit, I was very lazy about it. My todo list includes figuring out how to do the math to make this as optimal as possible, but for now I'm trusting the math that was done on the wiki (even if the sleazy back alley seems like the math was done wrong) and doing some simple checks. So, right now it checks to see if you are using putty, +10% combats, both, or neither and then giving you the estimated amount of turns for the area.
 
Point of controversy: Since I have rewritten a great majority of the code at this point, is it unreasonable to rename the script? My working title at the moment is the Neo-Cow Farming Script (my actual KoL character is named Neo). This will also allow me to start a thread so that I can do version tracking with zlib (already coded in, I rewrote as much as I could to support zlib). Not trying to steal credit or anything, just trying to get some for myself since I have put many hours into this. Up to you, though.

That sounds reasonable to me. As long as you give me credit for the original script, I don't mind if you make your own version. Especially if you put a lot of work into it. (I love the name by the way ;)) Glad to hear you added zlib support too. I wish I had known about it when I wrote the script, I would have included it myself.
 
Top