Harvest – A highly customisable farming script

Pwnacus Maximus

New member
Well, the relay script was run incorrectly... it should have been run from the relay browser, not run through the gCLI. That may have broken settings, potentially...

that's the way I ran it the first time that it gave me the error. when i run it through the relay browser, none of the buttons work and no save button appears at all. I've tried deleting the script entirely and re-installing it and i still get the same error.
 

Zen00

Member
Ah, there we go, finally got around to doing something with this. Fixed the issue I was having with the relay (just needed to add my new options to the HAR_Options.txt file) and cleaned up my code a little. Anyways, GameInform support is a go. Now I just need to put in this island support. The big thing that's taking a lot of time is figuring out how to do daily quest support. Plus the special mechanics for each area (fun-guy mansion, laboratory, etc) make programming them a pain. :(

I'm about done with the hardest parts of Edscension, so this should now be a higher priority for me to work on. Once I finish up I'll have my improvements added as official.
 

Bale

Minion
Would you like project access to Harvest? Or are you planning to publish your own script on a separate repository? This is the third time I've asked the question and I would dearly love an answer.
 

unponderable

New member
In case anyone was suddenly having the problem that I was having, where running Harvest with EatDrink was causing EatDrink to manually prompt you for fullness, drunkenness, etc, then the solution is to verify that har_gen_consume_script is "eatdrink.ash", not "EatDrink.ash".
 

Theraze

Active member
Case sensitivity is important... it should just match whatever it's called on your system. In my case, as the maintainer of ED, it's EatDrink.ash and that's the correct name. If you installed it somehow that may have changed the capitalization... match that.
 

coandco

Member
Interesting. I can corroborate that with the latest update to KoLMafia, EatDrink.ash (which is named with proper capitalization on my filesystem on the Windows box I'm running this on) starts asking for max values when called by Harvest, and that changing the har_gen_consume_script variable to "eatdrink.ash" seems to fix this problem. I'm not sure what's causing it, but it appears to be something in a recent Mafia update.
 

coandco

Member
Okay, here's what I know. As of yesterday I was running on KoLMafia v16171, and Harvest could call EatDrink as normal. Today, I loaded up Mafia, updated my SVN scripts, and canadv.ash complained about a missing adventure location when I tried to run Harvest. Having run across this sort of thing before, I proceeded to update Mafia to the latest (v16214). Once I ran Harvest with the latest Mafia, it exhibited the behavior unponderable described, and his suggested fix worked.

I suppose it's possible that a change to EatDrink.ash or one of my other scripts caused this, but Harvest.ash didn't change at any point throughout this process.
 

Veracity

Developer
Staff member
Yeah. That's a bug in Harvest which was revealed when we made strings be case sensitive.

Harvest.ash:

Code:
string CONSUME_SCRIPT = vars["har_gen_consume_script"];
...
	setvar("har_gen_consume_script", "EatDrink.ash");
and then later:

Code:
		if(CONSUME_SCRIPT == "eatdrink.ash")
Since "EatDrink.ash" is no longer == to "eatdrink.ash", that last line no longer works.
Sloppy coding!

Since case of filenames matters, depending on your OS, and the user can change the value of CONSUME_SCRIPT to whatever she wants, if Harvest wants to assume that anything that looks like "eatdrink.ash" is actually EatDrink.ash, you can fix this Harvest bug by changing that last line I cited to:

Code:
		if(CONSUME_SCRIPT.to_lower_case() == "eatdrink.ash")
 

Veracity

Developer
Staff member
By the way: I see two instances of this bug in Harvest: line 1089 and line 1857. Obviously, both need to be fixed.
 

Craggles

New member
Could I please ask that we change abort(message); to exit; or give use a boolean choice to have either? I run my harvest script from another ASH script and a hard abort stops the remainder of the script from continuing.

Code:
print(message,"red");
//abort(message);
exit;

I'm sorry if this is a bad suggestion.
 

Theraze

Active member
Might I suggest not doing that, as the only abort() is in failure(), and all of the failure() calls (except possibly for the filthy lucre) are times when you need to do something to fix things, else very negative things will happen...
 
Top