//this is my boa farming script as of 5/11/2019, the last time I revised it. It won't work for you, so don't run it. I'm mostly posting it as a reference for curious people. //here are most of the macros it uses. these are 3 months older than the script, so there's probably some stuff missing, but oh well. https://pastebin.com/C3NKezVN /* outfit prior to neverending party: crumpled fedora bjorn fishbone corset rope pliers pantogram brogues screege belt of loathing boa party: crumpled fedora bjorn fishbone corset rope pliers pantogram brogues screege belt of loathing */ //you probably aren't me, so commenting this out. /* if(get_property("useDevProxyServer") != "true"){ set_property("useDevProxyServer", "true"); set_property("loginServerName", "devproxy.kingdomofloathing.com"); cli_execute("login yojimboS_LAW"); } if(holiday().contains_text("Dependence Day")){ cli_execute("/use green rocket"); } if(my_id() != "1775888"){ abort("wrong account, idiot"); } */ cli_execute("gc"); boolean are_we_consuming_eggs = false; print_html("robort drinks disabled"); print_html("stooper commented out"); //wait(600); /* if(my_inebriety() > 23){ cli_execute("run mallbot.ash"); } */ //parses yesterday's session logs for pocket wish purchases and logs all such purchases. //cli_execute("run wish purchase recorder.ash"); //records total amount below 49k paid for wishes and sends out balances larger than 10k meat. //cli_execute("run payout.ash"); //wait(69420); /* if(available_amount($item[cuppa royal tea]) < 950){ cli_execute("mallbuy "+(950-available_amount($item[cuppa royal tea])).to_string()+" cuppa royal tea @ 69420"); } */ //seconds. int when_the_fuck_is_it = gametime_to_int() / 1000; if(get_property("_script_start_time") == ""){ set_property("_script_start_time", when_the_fuck_is_it); } if(get_property("bot_closeted_meat") == "yeah"){ cli_execute("closet take * meat"); set_property("bot_closeted_meat",""); } if($item[portable mayo clinic].available_amount() > 0){ cli_execute("use portable mayo clinic"); } //get_property("_dicey_mp_runs").to_int() == 0 && if( have_effect($effect[Clumsy]) > 0){ cli_execute("/shrug! clumsy"); } if(get_property("_turns_that_this_script_can_use_today") == ""){ cli_execute("/shrug timer 1"); wait(3); int min_duration = 69420; foreach i in my_effects(){ if(i.have_effect() < min_duration && i.have_effect() > 0){ min_duration = i.have_effect(); } } if(min_duration < 10){ set_property("_turns_that_this_script_can_use_today",3); } else{ set_property("_turns_that_this_script_can_use_today",4); } } if(have_effect($effect[timer 1]) < get_property("_turns_that_this_script_can_use_today").to_int()){ if(holiday().length() == 0){ cli_execute("/timer "+(get_property("_turns_that_this_script_can_use_today").to_int()+1)); } else{ cli_execute("/timer "+(get_property("_turns_that_this_script_can_use_today").to_int()+2)); } } if(get_property("currentMood") != "apathetic"){ set_property("currentMood","apathetic"); } set_property("battleAction","custom combat script"); set_auto_attack("(npzr bullshit"); cli_execute("acquire 420 chipotle wasabi cilantro aioli"); cli_execute("acquire 69 louder than bomb"); /* base combat macro for this stupid script: https://pastebin.com/qJHSN8nN things left to do maybe eventually: 2-4 goth fights? equipment checks, class checks, path checks, better tracking of deaths */ //lol cocoon nerf. void new_cocoon(){ if(my_hp()*3 < my_maxhp()*2) cli_execute("/cast "+( min( (my_maxhp() - my_hp()) / 1000 , my_mp() / 14 ) )+" cannelloni cocoon"); } void log_online_players(){ //commented out because you probably don't care how many people are online. /* //every 5 minutes. if(max(gametime_to_int() - get_property("_last_online_check").to_int(),get_property("_last_online_check").to_int() - gametime_to_int()) > 300000){ string[int] online_players; file_to_map("online players.txt",online_players); set_property("message_index",get_property("message_index").to_int()+1); online_players[get_property("message_index").to_int()] = group_string(visit_url("login.php"), "There are currently.*?(\\d+)")[0][1].to_int()+" players logged in at "+gametime_to_int()+" on "+today_to_string(); print(online_players[get_property("message_index").to_int()]); map_to_file(online_players, "online players.txt"); set_property("_last_online_check",gametime_to_int()); } */ //this logs the graffiti wall every minute, too, because why not. /* if(max(gametime_to_int() - get_property("_last_graffiti_check").to_int(),get_property("_last_graffiti_check").to_int() - gametime_to_int()) > 60000){ string stuff = visit_url("town_grafwall.php"); while( stuff.length() < 69 ){ stuff = visit_url("town_grafwall.php"); waitq(5); } string[int][int] buttles = group_string(stuff.substring(stuff.index_of("The Graffiti Wall"),stuff.index_of("href=\"graffiti.php\">")), "]+>((?:(?!).)+)"); boolean[string][string] lines; file_to_map("graffiti.txt",lines); foreach i,j in buttles{ if(j==1) lines[today_to_string()][buttles[i][j].group_string("^(?:<[bi]>)*(.*)$")[0][1]] = true; } map_to_file(lines,"graffiti.txt"); set_property("_last_graffiti_check", gametime_to_int()); } */ } void log_mmg(){ //commented out because you probably don't want a registry of MMGers. /* //every 20 seconds. if(max(gametime_to_int() - get_property("_last_mmg_check").to_int(),get_property("_last_mmg_check").to_int() - gametime_to_int()) > 20000){ string[int][int][int] idiots_and_their_bets; file_to_map("known mmgers.txt", idiots_and_their_bets); string page_of_idiots = visit_url("bet.php"); int[string] buttles; int last_bet_ID = get_property("last_bet_ID").to_int(); //sample line in table of bets: //Dare Devil (#3193713)