ash while (my_adventures() > 0) { visit_url("adventure.php?snarfblat=247"); run_combat(); }
I, for one, suck at scripting. I would love to be able to automate Crimbo. Instead of sitting and manually clicking for an hour, I'd be done in minutes. That's better for the kingdom as a whole, getting people on and off faster, right? Alas, I can't get either of the scripts posted here to work for me. I hope Jick tells Veracity to go for it. My husband and son would prefer me not to be glued to my laptop clicking all night long. (I've already done it for quite some time today.) XD
This is, actually, worth noting.Also, it's worth noting that Eleron's kolproxy scripts Crimbo.
I have a cleaner one if you like. Many less server hits and emulates exactly how I am fighting with 2 clicks:You hit once to check for the HQ, once to get your boredom level, then 2 per adventure (once to start the fight and once again to send the macro). Your boredom level is returned from the fight results page rather than reloading the charpane each time. I wouldn't recommend using this with a lanyard, but this'll let you stasis if you're going for anything else, like getting drops from Crowned familiars.PHP:void Crimbo2010(){ Print("Crimbo 2010, Wasting Adventures the Easy Way","blue"); if( !contains_text( visit_url( "mountains.php" ) , "crimbcohq.gif" ) ){ print( "I'm sorry, Crimbo2010 is currently closed!","red" ); return;} int start_boredom_level(){ matcher Boredom=create_matcher("Boredom:</td><td><b><font color=blue>(\\d+)%", visit_url("charpane.php")); if(Boredom.find()) return to_int(Boredom.group(1)); return 0;} int total_boredom_level=start_boredom_level(); while( total_boredom_level < 50 && my_adventures()>0 ){ bbsaction(); string page_text = visit_url( "adventure.php?snarfblat=247" ); if( contains_text( page_text , "Combat" ) ){ buffer finale=visit_url("fight.php?action=macro¯otext=use facsimile dictionary; repeat !pastround 9; attack; repeat"); matcher boredom_test=create_matcher("<td valign=center><b>Boredom \\+(\\d+)%", finale); if(boredom_test.find()){ total_boredom_level+=to_int(boredom_test.group(1));} print("Boredom level:"+total_boredom_level);} else if( contains_text( page_text , "choice.php" ) ) abort("Unknown Choice");} print("Done!");}
Right now, combat scripts can fail because monsters aren't in the system yet. SS makes mafia freak because it's asking for a "bad monster value".
A couple things to note. First, I set the adventures to 50 because I'm hitting tea to keep my boredom down (designated faxer). Second, the "bbsaction()" is from an imported script. Use your own or delete it as needed.
buffer finale=visit_url("fight.php?action=macro¯otext=use facsimile dictionary; repeat !pastround 9; attack;
buffer finale=visit_url("fight.php?action=macro¯otext=attack;
This is, actually, worth noting.
Eleron was in my clan today, chatting. Somebody had already come up with and was distributing the adventures.txt and zonelist.txt overrides necessary for KoLmafia to automate the cubicles. Eleron made a point of telling us that kolproxy didn't require an update in order to automate the zone.
Eleron is on the dev team.
I asked him if Jick had commented on whether he cared about automating the zone. Eleron said "Jick has said nothing about it."
I'm going to submit it. If Jick responds to my note and asks me to disable it, I will comply, but I just might ask him about his opinion on kolproxy automation, if so.
Partly. I also have a Crown of Thrones and am trying to get goodies to drop as well.This line:
Code:buffer finale=visit_url("fight.php?action=macro¯otext=use facsimile dictionary; repeat !pastround 9; attack;
is due to stasising with a stocking mimic to gain meat, correct?
Actually, it should be more like:If I want it to instead attack immediately (due to using a Squamous Gibberer to generate more turns instead) I would I use
Code:buffer finale=visit_url("fight.php?action=macro¯otext=attack;
Correct?
buffer finale=visit_url("fight.php?action=macro¯otext=attack; repeat;
Partly. I also have a Crown of Thrones and am trying to get goodies to drop as well.Actually, it should be more like:This way, it'll attack more than once, in case of fumble or you're not strong enough to take it out in one blow.Code:buffer finale=visit_url("fight.php?action=macro¯otext=attack; repeat;
On a side note, this may be posted like this because the last repeat got snipped, but hope that helps you understand my madness ^^
void Crimbo2010(){
Print("Crimbo 2010, Wasting Adventures the Easy Way","blue");
if( !contains_text( visit_url( "mountains.php" ) , "crimbcohq.gif" ) ){
print( "I'm sorry, Crimbo2010 is currently closed!","red" );
return;}
int start_boredom_level(){
matcher Boredom=create_matcher("Boredom:</td><td><b><font color=blue>(\\d+)%", visit_url("charpane.php"));
if(Boredom.find()) return to_int(Boredom.group(1));
return 0;}
int total_boredom_level=start_boredom_level();
while( total_boredom_level < 50 && my_adventures()>0 ){
adventure(1, $location[CRIMBCO cubicles]);
total_boredom_level=start_boredom_level();
print("Boredom level: "+total_boredom_level);}
print("Done!");}
This is called "attitude". This whole thread has oozed attitude. I was not happy when it appeared, have not been impressed with your "counting", and am now completely pissed off that you persist in it.I am not interested in fighting or arguing, but I want to keep counting so I will do so.
void BuyGift(item i, int num)
{
visit_url("crimbo10.php?pwd=&action=buygift&whichitem="+to_int(i)+"&howmany="+num);
}
void BuySSGift(item i, int num)
{
visit_url("crimbo10.php?pwd=&action=buyssgift&whichitem="+to_int(i)+"&howmany="+num);
}
// Full
matcher Boredom=create_matcher("Boredom:</td><td><b><font color=blue>(\\d+)%", visit_url("charpane.php"));
// Compact
matcher Boredom=create_matcher("Bored:</td><td aligh=left><b><font color=blue>(\\d+)%", visit_url("charpane.php"));
Ya think? My biggest gripe is where I was counted. I should have been undecided. But that's not important.Counting is irrelevant at this point... maybe we stop rubbing people's faces in it?
The reason I checked the fight page to add to boredom was so it wouldn't keep hitting charpane.php over and over again. This adds an extra hit similar to the original.Since the goal at this point is to make the automation as efficient for the servers as possible, here's what I'm currently using.PHP:adventure(1, $location[CRIMBCO cubicles]); total_boredom_level=start_boredom_level();