The Unofficial Ascend.ash support thread.

(the script being sold won't even run without modification?)
Are the modifications you are talking about due to updates to Mafia? If so, that is mainly what Fronobulax is addressing.

If you are talking about configuring the script before running it, then I agree that something is "not working" alright, although I don't think it's the script.

If you are talking about other modifications/errors, please share them with the rest of us.
 
@Hippo - It's all good. We can be civil and all is forgiven. You said it didn't work for your friend. Could you elaborate? It is not especially clear since I fail to update the first page of my thread and can't update the Ascend page, but to get things to work you have to have the original file, my latest changes in a protected zip file and, I believe, a version of EatDrink that has been posted separately. There should be a post a few pages back with links to everything I mentioned. Anything that is not the versions I mentioned will fail in some way. It would be helpful to know whether your friend's problem is that they were not aware of the updates or whether the updates fail in some way.

My altruism is somewhat irrational. Suffice it to say that I once was a professional writer of software and my career and salary progressed to the point that bean counters figured they could hire two or three recent college graduates for my salary and they could produce 90% of the code I did. So I look for projects where I can have fun and still feel like I am writing code. This is one of them.

Most of the changes have been mechanical ones because KoL or KoLmafia or zlib or Wossname or MacGuffin or Universal Recovery changed. Ascend would work as well, or as poorly, as it ever did without modifications if people ran the older versions of those things.
 
I just reached the point were i needed to use the buycrap script and im getting this as a message after it buys some of the stuff i need

Searching for "linoleum ore"...
Purchasing linoleum ore (3 @ 1,350)...
You acquire linoleum ore (3)
Purchases complete.
Searching for "milk of magnesium"...
Purchasing milk of magnesium (8 @ 915)...
You acquire milk of magnesium (8)
Purchases complete.
ERROR - one of the items in your purchase list is misspelled. To find out which one, run this script with SIM = true, and look at the items that occur in proximity to this error.
[none] has no matches.

can someone advise me on how to fix this and thanks ahead of time
 
well i appreciate it but i still need to find a fix the buycrap script is stopping in the middle and there is more than just ore that needs to be bought but i do appreciate the script reference i might use it to collect the ore
 
ERROR - one of the items in your purchase list is misspelled. To find out which one, run this script with SIM = true, and look at the items that occur in proximity to this error.
Just a wild wild guess here: try typing call BuyCrap.ash true in the gCLI. Then look at the items that occur in proximity of this error. Maybe one of the items in your purchase list is misspelled?

This is what I get when do this with the default Crap.txt bundled with Ascend:
Code:
> call buycrap.ash true

acquire 1 Boris's key lime pie
acquire 12 Hell ramen
acquire 1 Jarlsberg's key lime pie
acquire 18 Knob lo mein
acquire 1 Sneaky Pete's key lime pie
acquire 3 asbestos ore
acquire 18 bat wing stir-fry
acquire 3 chrome ore
acquire 1 clown wig
acquire 6 filthy poultice
acquire 1 grave robbing shovel
acquire 1 insanely spicy enchanted bean burrito
acquire 3 large box
acquire 8 line
acquire 3 linoleum ore
acquire 8 milk of magnesium
acquire 0 not-a-pipe
acquire 1 polka-dot bow tie
acquire 24 roll in the hay
acquire 0 single-serving herbal stuffing
acquire 12 star
acquire 2 star chart
acquire 60 twinkly wad
acquire 30 white pixel
acquire 0 17-ball
acquire 2 Mr. Accessory
acquire 0 Travoltan trousers
acquire 1 glow-in-the-dark wristwatch
acquire 0 haiku katana
acquire 0 little box of fireworks
acquire 1 palm-frond toupee
acquire 1 bubblewrap bottlecap turtleban
acquire 1 sword behind inappropriate prepositions
acquire 1 General Sage's Lonely Diamonds Club Jacket
acquire 1 Meat maid
acquire 1 bartender-in-the-box
acquire 1 chef-in-the-box
acquire 1 dope wheels
acquire 1 filthy corduroys
acquire 1 filthy knitted dread sack
acquire 1 meat engine
acquire 1 ring of conflict
acquire 4 sonar-in-a-biscuit
acquire 1 Knob Goblin harem pants
acquire 1 Knob Goblin harem veil
acquire 2 Knob Goblin perfume
acquire 1 7-Foot Dwarven mattock
acquire 5 disassembled clover
acquire 1 miner's helmet
acquire 1 miner's pants
acquire 1 pool cue
acquire 1 dingy planks
acquire 1 dungeoneer's dungarees
acquire 6 goat cheese
acquire 1 30669 scroll
acquire 1 64067 scroll
acquire 1 668 scroll
acquire 1 The Big Book of Pirate Insults
acquire 1 eyepatch
acquire 1 stuffed shoulder parrot
acquire 1 swashbuckling pants
acquire 1 dusty bottle of Marsala
acquire 1 dusty bottle of Merlot
acquire 1 dusty bottle of Muscat
acquire 1 dusty bottle of Pinot Noir
acquire 1 dusty bottle of Port
acquire 1 dusty bottle of Zinfandel
acquire 1 bird rib
acquire 1 drum machine
acquire 1 ketchup hound
acquire 1 lion oil
acquire 1 stunt nuts
acquire 0 tomb ratchet
acquire 1 E-Z Cook Oven™
acquire 1 cocktailcrafting kit
Done!
 
I have not encountered BuyCrap problems so I will eventually investigate.

New version of EatDrink. I hosed my minimal configuration management so I'm not quite sure what the changes are. The posted version works mechanically, has known "looping" bugs fixed, fixes the inadvertent fork and thus has special processing for key lime pies, and now understands about negative modifiers when selecting food and drink. It also will ignore the fancy chocolate type items unless you can shop.

It still tries to update prices from nixietube. That is deliberate since nixietube is the backup in case prices are unavailable from kolmafia.us
 

Attachments

I am getting
Code:
Function 'eatdrink( int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, int, float, boolean, int, boolean, int, int, int, boolean, int, int, boolean, int )' undefined. This script may require a more recent version of KoLmafia and/or its supporting scripts. (Ascend.ash, line 62)
when I run ascend.ash with the new version of EatDriink.ash

I am using 8554 version of mafia.
 
I am getting
Code:
Function 'eatdrink( int, int, int, boolean, boolean, boolean, boolean, boolean, boolean, boolean, int, float, boolean, int, boolean, int, int, int, boolean, int, int, boolean, int )' undefined. This script may require a more recent version of KoLmafia and/or its supporting scripts. (Ascend.ash, line 62)
when I run ascend.ash with the new version of EatDriink.ash

I am using 8554 version of mafia.

Works for me. There is only one float parameter. My version of Ascend calls ...float, boolean, int, int, int, int, boolean... EatDrink's signature is the same. Your version is calling ...float, boolean, int, boolean, int,...

My knee jerk reaction is that we are not running the same version of Ascend. Since I did not deliberately change any of the calls to EatDrink, perhaps there is some local modification that you made and forgot about?

My Ascend line 62 looks like
Code:
      eatdrink (fullness_limit(), 0, 0, false, 
		true, true, true, false, true,
		true, 10000, 1.25, true, 1800, 600, 10, 1, 
		false, 999999999, 999999999, false, 0);
My guess is the error you are getting is in close proximity to the "600".

I will verify all this tomorrow when I have characters who have both turns and room to eat and drink.
 
Its possible I accidentally changed something in ascend.ash when I was poking around how to get eatdrink to work in my castle farming script, but it was working until I put in the new version of EatDrink. I'll double check.
My line 62 looks exactly like yours.
Code:
//NOTE: can be richer, if you want the best you can get while you're 
      //low level
      eatdrink (fullness_limit(), 0, 0, false, 
		true, true, true, false, true,
		true, 10000, 1.25, true, 1800, false, 600, 10, 1, 
		false, 999999999, 999999999, false, 0);
      foodabort = true;
      return true;
    }
    if (!spleenabort && (my_spleen_use() < spleen_limit())) //then spleen
    {
      eatdrink (fullness_limit(), 0, spleen_limit(), false,
		true, true, true, false, true,
		true, 10000, 1.25, true, 1800, false, 600, 10, 1, 
		false, 999999999, 999999999, false, 0);
      spleenabort = true;
      return true;
    }
    if (!drinkabort && (my_inebriety() < inebriety_limit())) //then drink
    {
      eatdrink (fullness_limit(), inebriety_limit(), spleen_limit(), false, 
		true, true, true, false, true,
		true, 10000, 1.25, true, 1800, false, 600, 10, 1, 
		false, 999999999, 999999999, false, 0);
      drinkabort = true;
      return true;
    }
    if ((my_inebriety()) == inebriety_limit()) //then overdrink
    {
      eatdrink (fullness_limit(), inebriety_limit(), spleen_limit(), true,
		true, true, true, false, true,
		true, 10000, 1.25, true, 1800, false, 600, 10, 1, 
		false, 999999999, 999999999, false, 0);
      if (!can_interact())
      {
	print("Using up pulls.");
	pullcrap();
      }
      boolean temp = cli_execute("maximize Adventures");      
      if (exit_when_done)
	cli_execute("exit");
      abort("Finished dinner.  Goodnight!");

Just added the whole chunk of what I have to verify that is as it should be.

Also, I know there are editors that show line numbers. Could someone suggest one for a windows XP machine. thanks.
 
From the looks of things, the problem is with Xenthes' EatDrink.ash file, not with the Ascend.ash file... the issue is that the definition of the EatDrink function is returning improperly, not the call itself. Maybe grab fronobulax's latest EatDrink and make sure that it's the same as your current one?
 
I think I got it --
Code:
      eatdrink (fullness_limit(), 0, 0, false, 
		true, true, true, false, true,
		true, 10000, 1.25, true, 1800, false, 600, 10, 1, 
		false, 999999999, 999999999, false, 0);
isn't the same as
Code:
      eatdrink (fullness_limit(), 0, 0, false, 
		true, true, true, false, true,
		true, 10000, 1.25, true, 1800, 600, 10, 1, 
		false, 999999999, 999999999, false, 0);
(You see that "1800, false, 600"? Remove the "false" and it should work nicely. All three times, I suppose.)
 
Thanks heeheehee. That is what I was trying to describe.

I use vim as my text editor for Windows, and it has line numbers, but that is mostly because I have deep roots in *nix systems and using vim is easier than retraining.
 
Thanks heeheehee. I changed it now. No idea how that would have been changed in the first place. Especially on all three lines and why it took until the newest fronobulax version of eatdrink to make it error out. I'll try it after rollover and see if that fixed it.

Yeap, taking out that extra false did it. I also found two more places where that occured, Lines 108 and 123
 
Last edited:
Thanks heeheehee. I changed it now. No idea how that would have been changed in the first place. Especially on all three lines and why it took until the newest fronobulax version of eatdrink to make it error out. I'll try it after rollover and see if that fixed it.

Yeap, taking out that extra false did it. I also found two more places where that occured, Lines 108 and 123

You may have once made a "search and replace" for something and replaced some too many of that thing I guess, or replaced it with the wrong thing. I've done that a couple of times :)
 
Excuse me if this is an entirely ridiculous question... I've had this package for about 6 months now, and have been frustrated with it for about 6 months. Is there a package with the modified scripts that will work mostly out of the box? I know I have to configure preferences, etc. But I just want to be able to use it! At the very least I want to be able to use the farm.ash script...
 
Up until yesterday, I was running farm.ash to run my farming turns without any difficulty. However, after about 2pm server time yesterday, every time I ran the script (and I've tried it on multiple characters and computers), it breaks because it tries to adventure belowdecks without wearing the pirate fledges. Is there a way to fix this?
 
Back
Top