The Neo-Cow Farming Script

Banana Lord

Member
It'll check again tomorrow though won't it? Or if the name of NeoCowFarm.ash was changed and the script run it would prompt the user to update wouldn't it? Not that there'd be any point in anyone doing that, I'm just curious.
 

Banana Lord

Member
The current version's now looking relatively bug free so I've achieved my immediate goal (with help of course :)) of a stable and useable update. For the next few months progress will be slow on version 2.0 as I have a backlog of real work to do, and plenty more on the way. I'll gradually add to the script though, and when I'm far enough along I'll post an alpha in the thread for people to take a look at and give feedback/help. Most of the features I've got planned are listed in the first post under To do. If any bugs show up, or if I think of any easy additions I'll roll an update, otherwise check back in a few months!
 

icon315

Member
Code:
import <NeoCowFarm/NCF Utilities.ash>
import <NeoCowFarm/NCF Puttyfarm.ash>
import <NeoCowFarm/NCF Bountyhunting.ash>
import <NeoCowFarm/NCF Initialize.ash>
could be changed to
Code:
import <NCF Utilities.ash>
import <NCF Puttyfarm.ash>
import <NCF Bountyhunting.ash>
import <NCF Initialize.ash>
That way it won't try to look for the specific folder.
 

icon315

Member
For the AT Buff requests, maybe you could make the script open up the chat.

Also there seems to be something wrong with the CCS Meatfarming.ash.
Code:
+while+%21pastround+25%3B+attack%3B+endwhile%3B+
Round 58: phil4011     executes a macro!
KoLmafia thinks it is round 59 but KoL thinks it is     round 1
while !pastround 25; attack; endwhile;

+while+%21pastround+25%3B+attack%3B+endwhile%3B+
Round     59: phil4011 executes a macro!
KoLmafia thinks it is round 60 but KoL     thinks it is round 1
while !pastround 25; attack; endwhile;

+while+%21pastround+25%3B+attack%3B+endwhile%3B+
Round     60: phil4011 executes a macro!
KoLmafia thinks it is round 61 but KoL     thinks it is round 1
 
Last edited:

Banana Lord

Member
About what you posted earlier: After sorting out the mess of data files attached to NCF my top priority is overhauling the buffing system (actually, those things overlap somewhat so they'll probably happen at the same time). I have absolutely no idea how to use the chat with a script.

I'm not entirely sure what the issue is that you're reporting. Could you clarify? Also, here is no "Meatfarming.ash" included with NCF. Could you be more specific about which script you think is causing the issue (I would assume you mean "NCF Combat - Meat Farming.ash")?
 

icon315

Member
Reran it.
Code:
[26622] Giant's Castle
Encounter: Alphabet Giant
Strategy:     C:\Users\Noe Canales\Desktop\Kol\ccs\ncfmeatfarm.ccs [default]
Round 0:     phil4011 wins initiative!
while !pastround 25; attack; endwhile;

+while+%21pastround+25%3B+attack%3B+endwhile%3B+
Round     1: phil4011 executes a macro!
KoLmafia thinks it is round 2 but KoL     thinks it is round 1
while !pastround 25; attack; endwhile;

+while+%21pastround+25%3B+attack%3B+endwhile%3B+
Round     2: phil4011 executes a macro!
KoLmafia thinks it is round 3 but KoL     thinks it is round 1
while !pastround 25; attack; endwhile;

+while+%21pastround+25%3B+attack%3B+endwhile%3B+
Round     3: phil4011 executes a macro!
KoLmafia thinks it is round 4 but KoL     thinks it is round 1
while !pastround 25; attack; endwhile;

+while+%21pastround+25%3B+attack%3B+endwhile%3B+
Round     4: phil4011 executes a macro!
KoLmafia thinks it is round 5 but KoL     thinks it is round 1
while !pastround 25; attack; endwhile;

+while+%21pastround+25%3B+attack%3B+endwhile%3B+
Round     5: phil4011 executes a macro!
KoLmafia thinks it is round 6 but KoL     thinks it is round 1
KoLmafia declares world peace.
You're     on your own, partner.
Click     here to continue in the relay browser.
 

Banana Lord

Member
Interesting. I've been getting those sorts of errors with perfectly valid macro commands (like the one you just posted) while testing a new feature. I have no idea what's going on I'm afraid. With luck Jason and Hola's combat revamp'll be done soon and I can write a simpler consult script that takes advantage of a feature set specifically designed for this purpose, as opposed to one held together by prayers and duct tape.

The only suggestion I can make is to quit mafia, log into and then out of vanilla KoL, open mafia again, run the script.
 

Banana Lord

Member
Actually... Wild stab in the dark, but maybe there's an issue with the !. Open NCF Combat - Meatfarm.ash and find the line beginning mac.append('while !match "climbs up and sits"; and replace the whole line with
Code:
mac.append('while \!match "climbs up and sits" && \!pastround 24; use 2678; endwhile; ');

If that actually works I'll eat my hat. I mean, it'd be fantastic, but I'll still eat my hat.
 
Last edited:

Banana Lord

Member
True true.

How could that matter? Especially considering the line breaks (terminology?). I don't think it is, I only added those to make it easier on the eye recently. Before that there was none. Can't hurt to give it a try though. I've drunk my nightcap for today so I can't test just now.
 

icon315

Member
I think the problem is with the line
Code:
	mac.append(" while !pastround 25; attack; endwhile; ");
since phil4011 does not have a hobo monkey.

HAHA! Figured it out!
It seems the space right before "while" was causing the error.
Code:
mac.append(" while !pastround 25; attack; endwhile;");
           ^^^
     The one right here
Tested and working.



EDIT:
You should also maybe make "pastround" a setting as too how long one can last in combat. Like "neocowfarm_maxrounds"
 
Last edited:

Banana Lord

Member
I've fixed the hobo monkey problem already, it's in 1.5.3.

Awesome! I'll test it myself after rollover and then roll the update.

You should also maybe make "pastround" a setting as too how long one can last in combat. Like "neocowfarm_maxrounds"
Why? What purpose would that serve? 5 rounds is plenty to fix up a combat gone wrong. I could use hppercentbelow (macro predicate) to ensure that you don't get beaten up during automation easily enough. Would that be enough?

I said that this script's greatest strength is its flexibility, but unfortunately it's also its greatest weakness as it exposes the user to a huge array of settings. I've got a hazy plan to make NCF Initialize.ash more intelligent about about configuring your settings, but even so, I don't want to add any MORE settings if I can possibly avoid it.

EDIT: Sorry, I wasn't thinking when I wrote that first line. I was referring to an oversight which meant that the script would never pickpocket unless you were using a hobo monkey.
 
Last edited:

Banana Lord

Member
I want NCF Bountyhunt.ash to NOT use putty if there's only one more bounty item to find (because it'll drop at the end of that combat), but I can't think of any way of finding out how many more of my current bounty items I need that isn't horribly complicated. I guess I could include a map in the script with info for how many items are needed for each bounty, but that'd be annoying.

Actually... The BHH tells you how many items you still need to find. Would this work as a predicate?
Code:
contains_text(visit_url("bhh.php"), "I'm still waiting for you to bring me 1")
Does he tell you in digits or words how many you need?
 
Top