I wanted to announce the pre release of my turn burning script. I've put a lot of work into it so far, and I'd appreciate it if you took a few minutes to read through the post. At this point, I'm mostly concerned about interest (in terms of "would you use it" and "if you're a programmer, would you be interested in doing any development towards this"). At the very least, I'm hoping that making this code public will help other programs who use tactics they find in my code.
Original Release Post
edit: arg. looks like you need permission to view my clan forums (or at least an account). I'll recopy the post here:
Some of you may know I'm a bit of an amateur bot script writer. I've been tinkering around with this one for a few years. At heart, this is a farming script. It attempts to be a lot more than you'd expect though. Most farming scripts are small variations on a similar concept: what to eat, where to farm, what buffs to run, etc. I've included a preference file that attempts to allow the same script to be configured to farm in arbitrary methods. It takes a bit to work through all the preferences now, but I think it's worth it. If it you're interested, I recommend you take a look at prefs.txt in the rar I'm linking later. I left in my preferences as an example of how it's done.
This script is still a very early alpha script. Parts are untested and may have bugs in them. Right now, the current release is "as is" with no guarantee on running properly. Any risk (such as loss of property) is responsibility of the person running it--I refund nothing at this point. If you try it, do it on a multi you don't care much about. All of the files should reside in the subfolder "ultimatefarmer" inside the "scripts" folder in the "kolmafia" folder. It is meant to be triggered from the true command line (not the gCLI). I wouldn't recommend playing with this much unless you're a savvy mafia bot writer yourself and understand what I just wrote. I will say that the script has been running successfully on my multi for quite a long time. There has only ever been one bug so far, and it didn't cost me anything.
In it's current state, it is a login->logout farming script. However, the login cli command is broken in kolmafia version 11.2 (or at least doesn't function like the older ones do). If you do run this, I recommend:
(commenting out the line in main.ash "cli_execute("login...")" )
logining on via the cli
running the script
This way, the login problems will be avoided (but you have to manually log on).
In any case, I'm getting a bit sick of working on the script. It already does more than what I need personally, so all I'm really doing is programming features for other people that will probably never get used. I'm mostly curious about the interest regarding such a script. If a final version of this were created, who would use it? Are any other programmers interested in development?
At the very least, I hope that some of the techniques I incorporated into the script help others write better code. Some of the tricks I wrote are actually quite spiffy (and things I haven't seen in other scripts).
I don't want to get anybody's hopes up either: at this point, development on this project has entirely halted. I'm kinda getting sick of this game and putting less time into it. I've already put a ton of work into this project, and I'm hoping what I have is useful to someone rather than just abandoning it.
Current features available:
*eat hi meins/chow meins/stir frys/reagent pastas with (or without) milk/munchies pills
*cook/buy the above food groups (while maintaining a slave-in-a-box)
*drink tps/superhuman/disco bandit drinks with(out) ode
*manage buffs through buffbots, self casting (via mp regen clothing or my regen items)
*manage item giving buffs (snowcones and cupcakes. also, knob goblin store items and cans of hair spray to name a few)
*use spleen items (pulvercize manager for wads or otherwise)
*mushroom farm for you (if you are the correct sign)
*smart outfit switching (for travoltan trousers, plexiglass pendant, etc when needed)
*healing manager with negative status effect remove manager.
*adventure at an arbitrary location
*loot hermit clovers
*much much more.
There are a few known issues but none of them are major (don't cost you much; won't halt the script).
The chow meins/pastamancer hi meins/tps drinks have been extensively tested by my multi. Most of the rest haven't been tested.
Be aware that this script uses several tactics to reduce server hits. Some actions may therefore seem unintuitive to the untrained eye. For instance, all purchasing occurs in bulk. Buying a lot at once means you buy fewer times overall. This reduces server accesses. (Of course, it means on day 1 you'll lose meat by running the script. The meat is converted towards supplies that will be used to farm over the next couple of days. The net expected value is +meat if used as a farming script--even if you lose meat on a particular day. Think about it--you need to buy the food for every day anyway (at some point). My script just does it a little earlier than you may expect.)
Finally, a note about ethics: Holatawul has recently taken a stand against login->logout scripts. He's actually always disliked them (I think). In any case, I agree that he has a good point: If you're not going to play the game, then don't play the game. This script is not intended to be the only thing running an account. If you run it for a month while your on vacation and then come back to your account, that's a great use. If you use it to help with the occasional trophy grind, I'm fine with that. Running a friend's account for him while he's temporarily away? Great. In all of these cases, the account is still mostly controlled by a human. That is, you're still playing the game. Please don't make a multi that only meat farms and only runs this script. That's just being a jerk.
(No, my multi jw8191 is not a meat farming jerk. My multi is a mafia script test ground. I use it to help me write this script. The wealth accumulated on that account is not something I consider a personal asset. It is generally either destroyed (by staying only on that one account forever) or given away by random bout's of philanthropy.)
I believe that abusing bot scripts is (and always will be) in the hands of the end user. In reality, my script saves maybe 15 clicks as compared to doing this from the mafia gui. Releasing a tool will not change a nonabuser into a bot abuser. I stand by releasing this code (dispite that fact that a few unscrupulous individuals may abuse it). Also, there are some hidden things in the script to attempt to thwart abuse as it stands. Just because there are a few bad eggs out there, that doesn't mean people should generally be disallowed from tools. Hammers and knives are allowed despite how much damage they can do.
Ok rant over. Please don't turn this topic into a big ethics discussion. That's a great topic to discuss--just make another thread. I want one about the development of my particular script (not a general problem that plagues all mafia scripts).
(World's longest post record?)
Download the script (version 0) Release 8/10
(Current version is open source. I only ask that, if you decide to continue developing the code, please do so publicly and work with other programmers. I'd hate to see 15 versions of the same script or 5 people reprogramming the same code.)
*Big questions
1) Are you interesting in being a user for such a script (if a final version existed)?
2) Are you a programmer wanting to continue script development?
Edit: I would also like to say that in some uses, this code is actually designed to *reduce* server accesses and be friendly. If you're going to bot, you should do it efficiently. I've spent great amounts of time trying to make this access the server efficiently. Certainly it's not perfect. But the theory states that if you do it well once, you can get rid of a lot of the poorly coded bots that waste lots of server accesses for no reason.
Original Release Post
edit: arg. looks like you need permission to view my clan forums (or at least an account). I'll recopy the post here:
Some of you may know I'm a bit of an amateur bot script writer. I've been tinkering around with this one for a few years. At heart, this is a farming script. It attempts to be a lot more than you'd expect though. Most farming scripts are small variations on a similar concept: what to eat, where to farm, what buffs to run, etc. I've included a preference file that attempts to allow the same script to be configured to farm in arbitrary methods. It takes a bit to work through all the preferences now, but I think it's worth it. If it you're interested, I recommend you take a look at prefs.txt in the rar I'm linking later. I left in my preferences as an example of how it's done.
This script is still a very early alpha script. Parts are untested and may have bugs in them. Right now, the current release is "as is" with no guarantee on running properly. Any risk (such as loss of property) is responsibility of the person running it--I refund nothing at this point. If you try it, do it on a multi you don't care much about. All of the files should reside in the subfolder "ultimatefarmer" inside the "scripts" folder in the "kolmafia" folder. It is meant to be triggered from the true command line (not the gCLI). I wouldn't recommend playing with this much unless you're a savvy mafia bot writer yourself and understand what I just wrote. I will say that the script has been running successfully on my multi for quite a long time. There has only ever been one bug so far, and it didn't cost me anything.
In it's current state, it is a login->logout farming script. However, the login cli command is broken in kolmafia version 11.2 (or at least doesn't function like the older ones do). If you do run this, I recommend:
(commenting out the line in main.ash "cli_execute("login...")" )
logining on via the cli
running the script
This way, the login problems will be avoided (but you have to manually log on).
In any case, I'm getting a bit sick of working on the script. It already does more than what I need personally, so all I'm really doing is programming features for other people that will probably never get used. I'm mostly curious about the interest regarding such a script. If a final version of this were created, who would use it? Are any other programmers interested in development?
At the very least, I hope that some of the techniques I incorporated into the script help others write better code. Some of the tricks I wrote are actually quite spiffy (and things I haven't seen in other scripts).
I don't want to get anybody's hopes up either: at this point, development on this project has entirely halted. I'm kinda getting sick of this game and putting less time into it. I've already put a ton of work into this project, and I'm hoping what I have is useful to someone rather than just abandoning it.
Current features available:
*eat hi meins/chow meins/stir frys/reagent pastas with (or without) milk/munchies pills
*cook/buy the above food groups (while maintaining a slave-in-a-box)
*drink tps/superhuman/disco bandit drinks with(out) ode
*manage buffs through buffbots, self casting (via mp regen clothing or my regen items)
*manage item giving buffs (snowcones and cupcakes. also, knob goblin store items and cans of hair spray to name a few)
*use spleen items (pulvercize manager for wads or otherwise)
*mushroom farm for you (if you are the correct sign)
*smart outfit switching (for travoltan trousers, plexiglass pendant, etc when needed)
*healing manager with negative status effect remove manager.
*adventure at an arbitrary location
*loot hermit clovers
*much much more.
There are a few known issues but none of them are major (don't cost you much; won't halt the script).
The chow meins/pastamancer hi meins/tps drinks have been extensively tested by my multi. Most of the rest haven't been tested.
Be aware that this script uses several tactics to reduce server hits. Some actions may therefore seem unintuitive to the untrained eye. For instance, all purchasing occurs in bulk. Buying a lot at once means you buy fewer times overall. This reduces server accesses. (Of course, it means on day 1 you'll lose meat by running the script. The meat is converted towards supplies that will be used to farm over the next couple of days. The net expected value is +meat if used as a farming script--even if you lose meat on a particular day. Think about it--you need to buy the food for every day anyway (at some point). My script just does it a little earlier than you may expect.)
Finally, a note about ethics: Holatawul has recently taken a stand against login->logout scripts. He's actually always disliked them (I think). In any case, I agree that he has a good point: If you're not going to play the game, then don't play the game. This script is not intended to be the only thing running an account. If you run it for a month while your on vacation and then come back to your account, that's a great use. If you use it to help with the occasional trophy grind, I'm fine with that. Running a friend's account for him while he's temporarily away? Great. In all of these cases, the account is still mostly controlled by a human. That is, you're still playing the game. Please don't make a multi that only meat farms and only runs this script. That's just being a jerk.
(No, my multi jw8191 is not a meat farming jerk. My multi is a mafia script test ground. I use it to help me write this script. The wealth accumulated on that account is not something I consider a personal asset. It is generally either destroyed (by staying only on that one account forever) or given away by random bout's of philanthropy.)
I believe that abusing bot scripts is (and always will be) in the hands of the end user. In reality, my script saves maybe 15 clicks as compared to doing this from the mafia gui. Releasing a tool will not change a nonabuser into a bot abuser. I stand by releasing this code (dispite that fact that a few unscrupulous individuals may abuse it). Also, there are some hidden things in the script to attempt to thwart abuse as it stands. Just because there are a few bad eggs out there, that doesn't mean people should generally be disallowed from tools. Hammers and knives are allowed despite how much damage they can do.
Ok rant over. Please don't turn this topic into a big ethics discussion. That's a great topic to discuss--just make another thread. I want one about the development of my particular script (not a general problem that plagues all mafia scripts).
(World's longest post record?)
Download the script (version 0) Release 8/10
(Current version is open source. I only ask that, if you decide to continue developing the code, please do so publicly and work with other programmers. I'd hate to see 15 versions of the same script or 5 people reprogramming the same code.)
*Big questions
1) Are you interesting in being a user for such a script (if a final version existed)?
2) Are you a programmer wanting to continue script development?
Edit: I would also like to say that in some uses, this code is actually designed to *reduce* server accesses and be friendly. If you're going to bot, you should do it efficiently. I've spent great amounts of time trying to make this access the server efficiently. Certainly it's not perfect. But the theory states that if you do it well once, you can get rid of a lot of the poorly coded bots that waste lots of server accesses for no reason.