View Full Version : Pre-Hobo Boss Item Buffs (Alpha)
Kli1195
02-15-2010, 09:33 PM
Pre-Hobo Boss Item Buffs 0.996
Release works! (Still in Beta)
Extremely Important!!
You must have zlib.ash in your script folder, a download can be found here. (http://kolmafia.us/showthread.php?2072-ZLib-Zarqon-s-useful-function-library)
You must have mallItemsData.ash in your script folder, the download can be found below.
You must have putItemGear.ash in your script folder, the download can be found below (thank slyz for it!)
The script will ask you if you want to kill all the bosses. Only say 'true' if all the bosses are up! Also, do not say true if you don't have funkslinging. You'll lose your buffs when you face Ol' Scratch.
You must have enough meat on hand! I suggest having at least 100k, but if you're also going to have the script auto-fight the bosses for you I'd suggest having up to 200k.
The script assumes your Jack-in-the-Box has no charge.
If you're going to get Thingfinder and Chorale from this script, you MUST have song slots available!
In order to have the script work, you need to have the noncombats set up like below:
http://i39.tinypic.com/51bs6s.jpg
Yes, this ultimately defeats the purpose of a portion of the script, but it's all I can do now.
About:
Alright, so every time I prepare to kill a hobopolis boss, I find it extremely time consuming to get every single buff.
I don't know if one exists yet, but I made one that automates things for you.
Obviously, this is way far from done, but I just thought that I'd put this out there for suggestions and such.
Steps:
1. It automatically acquires a blue milk club card from Seaside Megapolis.
2. It then uses a llama lama gong to get the Bureaucratized effect (thanks to palpitations for providing the base of the script) while charging your Jack-in-the-Box at the same time (if you have one).
3. Then it uses another gong and gets the Extra-Sensory Perception effect.
4. Goes back to Seaside, automatically using another Agua de Vida if the first ran out, and gets the Dance Interpreter effect.
5. It then checks to see if you have the Bag o' Tricks on, and adventures once in the Farm if you do (since the farm is the only area with only combats) getting the buff.****
6. Gets the VIP pool table buffs.
7.a And then gets the rest of the no-adv buffs, checks if you want to use a black snowcone instead of a blue one, if you want to consume the bounty hunter food/drink, if you want to consume a Tempura Broccoli and Honey-Dew, and if you want to use the Thingfinder and Chorale recordings from the mall. It checks your spleen and uses mojo filters accordingly.
7.b An important reminder! The script automatically thinks you want to use adventures, you don't want to use a black snowcone, you don't want to consume the BHH food and drink, you do want to consume Tempura Broccoli and Honey-Dew, and you do want to use recordings of Thingfinder and Chorale. To change these values (ie Maybe you don't want to eat Tempura Broccoli) you have to change 'true' to false and vise versa. You find these values near the top of the script.
8. Checks to see if you have the Moveable Feast. If so, it'll switch to your most optimal +item familiar and use the Moveable Feast buff on it. It'll check to see if you have the Bubblewarp turban, if so it will get the +item buff from the Tea Party.
9. Optimizes your outfit, taking into consideration Hodgman's outfit.
10. This is an optional step that it will ask for in the beginning, whether you want to kill all the bosses or not. It'll check to see if you have a Jack-in-the-Box, if you do it will charge the Jack using BRICKO ooze in between the Hobo Bosses. If you don't, it will switch to a Hound Dog if you have one, or a Baby Gravy Fairy if you don't. It'll buy and use cheap muscle buffs along with scrolls of drastic healing (for in between fights), piddles + Colon Annihilation Hot Sauce + Possessed tomato (for Frosty), pufferfish spine (for Hodgman), gobs of wet hair and love songs of vague ambiguity (for various bosses). It'll then fight the bosses using funkslinging, and ta-da! Now you have bunches of phat loot!
****Be aware! If you DO have the bag o' tricks, you'll have to change the script!
I set it to use entangling noodles and lasagna bandages.
If you don't have these skills, the script will screw up.
Change the skills manually (near the top of the script) to any myst based spells you do have, if you don't have any, delete the entire void bagT() section.
Notes:
Doesn't get you Phat Loot. You'll have to get that from someone since it can only be cast upon.
I recommend kingdomofbuffing.com for free buffs.
Doesn't use powdered toad horn (since it's so ridiculously expensive)
Doesn't give Phairly Pheromonal buff, since it's negligible and requires adventures.
Autochecks to see if you have the Jack-in-the-box. If you do, it'll use Icy Revenge Love Songs, if not, it'll use Disturbing Obsession Love Songs.
I might separately add in another script that detects what equipment you have and auto-changes your equipment accordingly.
If your clan doesn't have a Pool Table, you'll have to get the effects from a clan that does. Same goes with Jukebox, except this script doesn't do the Jukebox.
Issues:
Doesn't get the buff from the Tea Party.
Doesn't detect if you can buy buffs from the clan (Bootyliciousness)
Doesn't detect the right DoD potion, so it skips that. (You can easily manually add that in if you do know the right potion)
Revisions, improvements, and comments are much appreciated!
There may still be errors in the script, but for the most part, it works.
Yay! That only took ~19 hours of work =)
Changelog:
v 0.996 - Bag o Tricks debugged.
v 0.995 - Debugged errors. Now it should really work this time!
v 0.994 - It should now get you the Mad Tea Party buff if you have the Bubblewrap bottlecap turtleban.
v 0.993 - It should now ask you questions in a much more friendly manner, and remember those answers if you choose that option.
v 0.992 - It now optimizes your +item outfit too (this takes into account Hodgman Gear), fixed some bugs, and cleaned up redundancies. Thanks slyz for the Item Gear script!
v 0.991 - Cut down on redundancies and added in Moveable Feast capabilities.
v 0.99 - Thanks to Thagorn's smexiness, the script should run more efficiently. Also added in the option of killing all the bosses at once (Obviously this only works out if all 6 bosses are up at the same time). If you have the Jack, it'll use BRICKO ooze to charge it up after each boss fight.
v 0.98 - It now charges the Jack-in-the-Box in the molehill. Note that this script thinks your Jack has no charge. I also added in more comments!
v 0.97 - Added in The Legendary Beat.
v 0.96 - Deleted a line that was causing problems for some people.
v 0.95 - Fixed the pool table bug, I accidentally switched the buffs with each other. Also, if you do choose to eat a food item, it will automatically get Got Milk of you don't have it. Also added in the option of whether to spend adventures or not.
v 0.9 - Added in a detector that detects if you have the Jack-in-the-Box. If you do, it will use Icy Revenge Love Songs, if not, it'll use Disturbing Obsession Love Songs. Fixed small bug.
v 0.8 - Added in a small thing that asks if you are going to kill Zombo or Ol' Scratch. If so, it detects if you have funkslinging, and if you don't it will exit for Ol' Scratch.
v 0.7 - Changed script so it buys the item if you don't have it. Also fixed a small bug.
v 0.6 - Fixed the Arena buffs, it should now do it for you. Also added in the option to purchase Thingfinder and Chorale from the mall.
v 0.51 - Kind of a step backwards, the arena script doesn't work, so it screws up the whole script. I'll try to work on this, but for the time being you'll have the get it manually.
v 0.5 - Changed the Bag o' Tricks script and cleaned up script some more.
v 0.4 - Slight script cleaning up.
v 0.3 - MAJOR debugging. There may still be a couple of errors, but for the most part, it works.
v 0.2 - Added in Bag o' Tricks, Arena, and Pool Table buffs as well as a spleen checker. Debugged some errors.
v 0.1 - Only basic scripts. Supports llama gong and agua de vida, and all potions (except for DoD).
mallItemsData and PutItemGear must be put in your scripts folder if you're going to be using the script.
icon315
02-15-2010, 09:36 PM
Great...it's very useful, so it's like a a Mood, but more complex right?
Kli1195
02-15-2010, 09:38 PM
Mood...
...oh yeah...
Shoot, why didn't I just mood my buffs?
But yeah, this is much more complex. And does the llama/agua buffs for you.
heeheehee
02-15-2010, 10:07 PM
Erm, I totally screwed up in my advice-giving earlier. <import zlib.ash> should be import <zlib.ash>.
Line 201 should have the double equals sign.
Some of these things are easier to just pass to the CLI via cli_execute. For instance, instead of setting all those options for roachform, you could just use cli_execute("gong roach mole");
And wow, that's a lot of main functions. As it stands, it skips all of them except for the last one.
You should use just one -- they can take more than one parameter. (e.g. void main(boolean use_black_snowcone, boolean use_Oreille_Divisée_brandy)).
Anything that isn't inside a function will be executed before the main function. This'll be a problem, as cyclops eyedrops will run out when you're getting your agua buff.
Other than that, nice job.
Does not detect how much spleen user already used, so it doesn't work if spleen is full (also doesn't auto use mojo filters).
if(spleen_limit() > my_spleen_use())
Doesn't do arena buffs, so you'll have to do those manually. If you know how to code this, please tell me :D
(This also applies to the VIP pool table)
get_property("sideDefeated")
get_property("warProgress")
get_property("sidequestArenaCompleted")
visit_url(postwarisland.php?action=concert&option=2&pwd")
pool mus, myst, moxie
Doesn't give the Weasels Underfoot buff since it doesn't detect if you have the BoT on.
if(have_equipped($item[Bag o' Tricks]))
Kli1195
02-16-2010, 12:22 AM
So heeheehee, would it look something like this? (the void mains)
void main( boolean use_black_snowcone, use_Oreille_Divisée_brandy, use_bowl_of_Bounty_Os, use_Honey_dew, use_tempura_broccoli )
{
if (my_adventures() == 0)
{
print("Out of adventures.");
exit;
}
else if((have_effect($effect[Bureaucratized]) > 0))
{
exit;
}
else
{
while (my_adventures() > 0)
checkuse();
}
if( use_black_snowcone )
{
use( 1 , $item[black snowcone] );
}
else
{
use( 1 , $item[blue snowcone] );
}
if( use_Oreille_Divisée_brandy )
{
use( 1 , $item[Oreille Divisée brandy] );
}
if( use_bowl_of_Bounty_Os )
{
use( 1 , $item[bowl of Bounty-Os] );
}
if( use_Honey_dew )
{
use( 1 , $item[Honey-dew] );
}
if( use_tempura_broccoli )
{
use( 1 , $item[tempura broccoli] );
}
}
Also, could you elaborate on the cli_execute("gong roach mole")
heeheehee
02-16-2010, 12:39 AM
You'd have to declare boolean for each of the parameters. So void main( boolean use_black_snowcone, boolean use_Oreille_Divisée_brandy, boolean use_bowl_of_Bounty_Os, boolean use_Honey_dew, boolean use_tempura_broccoli ).
cli_execute("gong roach mole") was me being retarded again. cli_execute("gong roach item") gets the item drop buff from the gong regardless of your settings. cli_execute("gong mole") gets you into moleform. Both work only if you have a gong, though.
Kli1195
02-16-2010, 01:22 AM
pool mus, myst, moxie
Could you elaborate?
Also, I updated my script guys, check it out.
Hopefully I added in the changes right.
You can get three different buffs from the pool table
pool muscle
pool myst
pool moxie
heeheehee
02-16-2010, 03:09 AM
void mainvoid main should probably just be void main (line 185).
Also, parameters don't need to be related to the function they're in. So potions(), raven(), and egg() can all be tacked on to the end of main() without declaring additional functions. Basically, as a general rule of thumb, don't declare functions other than the main function unless you are going to call them. (Haven't tested it myself, but I don't think they'll even execute if you don't call them.)
Re: >pool mus. This is actually a CLI command to get the pool buff for playing aggressively. >pool myst gets the mysticality buff, and >pool mox gets the moxie buff. You'd execute these with cli_execute() (e.g. cli_execute("pool mus")).
I might separately add in another script that detects what equipment you have and auto-changes your equipment accordingly.
That can be taken care of with a simple cli_execute("maximize item drop, switch jack-in-the-box");, although I guess the maximizer doesn't take into account the the Hodg outfit's dancing hobo underling.
I can write you the code to check if the Hodg outfit is better when taking that into account (if the maximizer doesn't already make you use it of course, and if you actually summon the hobo in boss fights).
Kli1195
02-16-2010, 11:46 AM
Re: void mainvoid main
Ah that probably was copy/paste error, fixed.
Re: pool table
Fixed, sorry for the confusion.
Thanks slyz, that makes things so much more easier!
If you have time, it would be nice to have the code.
Also, can someone check my code?
I named my test file Junk_1.ash, it's in the first post.
For some reason, when it does main() it tries to do the boolean first before going to useagua()
And then when it does go to useagua(), I can't get it to get to seaside(), gCLI keeps saying "Function 'seaside( )' undefined (Junk_1.ash, line 24)"
Help?
Here you go.
You can add import "PutItemGear.ash"; at the top of your script, and you just have to call PutItemGear();.
It will:
maximize your +item% and switch to the Jack
if the Maximizer hasn't equipped the Hodg outfit, it will check if you have the outfit and a hamster/metal detector (and the sock), and equip them if they are worth it when considering the +100% item from the hobo underling.
it will check if you sticker sword has 3 unicorn stickers on it, if not equip them if they are worth using (it's just in case they fell off or you have other stickers equipped, since the maximizer won't tell you to change the stickers).
It's verified, but I haven't actually tested it (I'm in BM). The worst it can do is buy unicorn stickers and change your equipment, so it's pretty safe to test out.
It was fun to code, but I think it's pretty niche. When you have the outfit and a detector/hamster, does the Maximizer really tell you to use something else? If so, +100% item from the hobo underling might make the Hodg outfit worth it.
EDIT: fixed a 16 month old typo :D
Kli1195
02-16-2010, 04:52 PM
Thanks slyz!
That's an awesome script you made.
It will be awsome once it's tested and turns out to be actually usefull =)
Kli1195
02-16-2010, 05:25 PM
Oh found something:
cli_execute("maximize item drop, switch jack-in-the-box");
should be
cli_execute("maximize item drop; familiar jack-in-the-box");
Also, could you help me out with my buff script?
EDIT: I was looking at Junk_1.ash
Also, can someone check my code?
I named my test file Junk_1.ash, it's in the first post.
For some reason, when it does main() it tries to do the boolean first before going to useagua()
And then when it does go to useagua(), I can't get it to get to seaside(), gCLI keeps saying "Function 'seaside( )' undefined (Junk_1.ash, line 24)"
Help?
You need to define a function before calling it, you just need to move seaside() before useagua().
while (my_adventures() > 0)
useagua();
The script will only go out of that loop once you have 0 adventures left, this doesn't sound right.
if (adventure(my_adventures(), $location[Seaside Megalopolis]))
{
adventure(my_adventures(), $location[Seaside Megalopolis]);
run_combat();
}
I don't really understand the logic here. Why the if? and if the if, why adventure again? And adventure() should take care of the combat.
I'm not sure this will work though... it will adventure for my_adventures() adventures (as long as you have empty agua bottles). Once it's done, it will go to the next iteration of the while loop and check if you got a blue milk club card. That sounds like a recipee for disaster! The check should be done between each adventure.
Next: you call seaside() from useagua() if you already had an empty agua de vida bottle, and then again inconditionnally from the main loop. If you got a blue milk club card the first time, the second call should result in nothing, but it's still poor logic.
In seaside2(), you adventure until your blue milk club card is consumed, and *then* you set the choiceAdventure?
int BoT = my_adventures();
This line will be executed before the main(), since it's outside any function. BoT will be equal to the number of advs you had before using aguas and gongs. You should put that line inside bagT().
while(BoT == my_adventures())
If you just set BoT equal to my_adventures(), this will always be true until you spend one adventure, it doesn't seem like a very usefull condition.
Oh, and like above, I think adventure() will run the combat for you, the use_skill() and run_combat() after it won't do anything.
Looks like you have some work to do =)
Go through it step by step, "what is my goal?" "what prerequisit is there?" "how do I get my goal?" "how do I check I reached my goal?"
Kli1195
02-16-2010, 06:25 PM
You need to define a function before calling it, you just need to move seaside() before useagua().
Ah that makes sense.
while (my_adventures() > 0)
useagua();
The script will only go out of that loop once you have 0 adventures left, this doesn't sound right.
Yeah fixed that, I don't know what I was thinking...
if (adventure(my_adventures(), $location[Seaside Megalopolis]))
{
adventure(my_adventures(), $location[Seaside Megalopolis]);
run_combat();
}
I don't really understand the logic here. Why the if? and if the if, why adventure again? And adventure() should take care of the combat.
I'm not sure this will work though... it will adventure for my_adventures() adventures (as long as you have empty agua bottles). Once it's done, it will go to the next iteration of the while loop and check if you got a blue milk club card. That sounds like a recipee for disaster! The check should be done between each adventure.
Well, how would I go about without the if?
I put it in there to see if the player can actually adventure in Seaside, if they can't, then it would use another agua.
And I fixed the adventure error.
Next: you call seaside() from useagua() if you already had an empty agua de vida bottle, and then again inconditionnally from the main loop. If you got a blue milk club card the first time, the second call should result in nothing, but it's still poor logic.
So does this fix it?
while((item_amount($item[blue milk club card]) < 1))
{
if (adventure($location[Seaside Megalopolis]))
{
adventure($location[Seaside Megalopolis]);
}
else
{
use(1, $item[agua de vida]);
}
}
In seaside2(), you adventure until your blue milk club card is consumed, and *then* you set the choiceAdventure?
Does this fix it:
if (adventure(my_adventures(), $location[Seaside Megalopolis]))
{
set_property("choiceAdventure358","2");
adventure(my_adventures(), $location[Seaside Megalopolis]);
}
int BoT = my_adventures();
This line will be executed before the main(), since it's outside any function. BoT will be equal to the number of advs you had before using aguas and gongs. You should put that line inside bagT().
Fixed
while(BoT == my_adventures())
If you just set BoT equal to my_adventures(), this will always be true until you spend one adventure, it doesn't seem like a very usefull condition.
Oh, and like above, I think adventure() will run the combat for you, the use_skill() and run_combat() after it won't do anything.
I'm not entirely sure how to go about this. How do I set it so it does use the spells in combat?
Also, I'm a bit confused. As soon as you use up 1 adventure, wouldn't the while condition be false and then end it?
Looks like you have some work to do =)
Go through it step by step, "what is my goal?" "what prerequisit is there?" "how do I get my goal?" "how do I check I reached my goal?"
Is there some 'beginner's guide to coding kolmafia scripts' that I could look at?
if (adventure(my_adventures(), $location[Seaside Megalopolis]))
I think you don't realize that writing this will cause mafia to adventure for my_adventures() adventures in Megalopolis. Let's look at this:
boolean consumeSpleen(item it, int spleenhit) {
int spleenleft = spleen_limit() - my_spleen_use();
int mojoAvailable = 3 - get_property("currentMojoFilters").to_int();
if ( spleenleft + mojoAvailable >= spleenhit ) {
if ( item_amount(it) == 0 ) buy(1, it);
if ( spleenleft < spleenhit ) {
int numMojoToUse = spleenhit - spleenleft;
int numMojoInventory = item_amount($item[mojo filter]);
if ( numMojoInventory < numMojoToUse )
buy(numMojoToUse-numMojoInventory, $item[mojo filter]);
use(numMojoToUse, $item[mojo filter]);
}
return use(1, it);
}
return false;
}
while( item_amount($item[blue milk club card]) == 0)
{
if ( my_adventures == 0 ) abort("Out of adventures");
if ( item_amount($item[empty agua de vida bottle]) > 0 || consumeSpleen($item[agua de vida], 4) ) {
adventure(1,$location[Seaside Megalopolis]);
}
else abort("Not enough spleen left to get another empty agua");
}
boolean consumeSpleen(item it, int spleenhit) returns true if item it is consumed (it should be since everything is checked beforehand), and false if not. You can put it at the beginning of the script and use it for consuming other spleen items. I made you pass in the amount of spleen the item uses because I was too lazy to import spleenhit.txt, but it's possible to have mafia find out by itself.
Now look at this line:
if( item_amount($item[empty agua de vida bottle]) > 0 || consumeSpleen($item[agua de vida], 4) )
To check if this is true, Mafia will first check if you have an empty agua bottle. If you do, it will go on and adventure without bothering to check the rest of the condition (it's a double 'or' ||, not a simple one |).
If you don't have a bottle, it will evaluate consumeSpleen($item[agua de vida], 4), which returns a boolean (using an agua bottle in the process, so you know you now have an empty bottle). If it's true, it goes ahead and adventures. If not, then you probably don't have enough spleen (or enough meat to buy an agua/mojo filter): it goes to the else and aborts.
In this while loop, it will: check if you have blue milk club card then adventure once, and will keep doing it until you have one.
I learned ASH programming mainly by looking at other scripts. With a basic grasp of how to use control structures, variables etc, I got along fine: just keep at it =)
EDIT: the wiki is a nice place to learn: http://wiki.kolmafia.us/index.php?title=Main_Page
Kli1195
02-16-2010, 07:28 PM
I think you don't realize that writing this will cause mafia to adventure for my_adventures() adventures in Megalopolis. Let's look at this:
Gah! Sorry, it's just me being an idiot again. I know what you're talking about. I just forgot to change it. would:
if (adventure(1, $location[Seaside Megalopolis]))
work?
stuff
Alright, thanks. I did a LOT of testing with adventures today, and it should run smoothly now. I'll upload soon.
EDIT: Uploaded it. Though there may be errors in the script, when I ran it, it worked fine. Yay, successful script =D
Kli1195
02-17-2010, 08:48 PM
I have:
void bagT(){
int BoT = my_adventures();
while((item_amount($item[Bag o' Tricks]) > 0)){
while(BoT == my_adventures()){
equip($item[Bag o' Tricks]);
adventure(my_adventures(), $location[McMillicancuddy's Farm]);
use_skill($skill[Entangling Noodles]);
use_skill($skill[Lasagna Bandages]);
use_skill($skill[Open the Bag o' Tricks]);
}
}
}
But I'm having some trouble.
How can I make it so that it automatically checks to see if you have any mysticality-based skills and uses them twice in combat?
And if the player has none, how to make it so that it aborts?
I have:
void bagT(){
int BoT = my_adventures();
while((item_amount($item[Bag o' Tricks]) > 0)){
while(BoT == my_adventures()){
equip($item[Bag o' Tricks]);
adventure(my_adventures(), $location[McMillicancuddy's Farm]);
use_skill($skill[Entangling Noodles]);
use_skill($skill[Lasagna Bandages]);
use_skill($skill[Open the Bag o' Tricks]);
}
}
}
Instead of adventure(my_adventures(), $location[McMillicancuddy's Farm]); (which will use ALL of your adventures at the Farm - thankfully you would loose 15 at most), you could adventure there ONCE, with the right CCS.
Or you can do this:
void bagT(){
while( equip($item[Bag o' Tricks]) && have_effect($effect[Weasels Underfoot]) == 0 ) {
string page_text = visit_url( to_url($location[McMillicancuddy's Farm]) );
page_text = use_skill($skill[Entangling Noodles]);
while ( !contains_text(page_text, "begins to wriggle around in your hand") ) {
page_text = use_skill($skill[Lasagna Bandages]);
if ( contains_text(page_text, "begins squirming around more urgently") )
break;
}
page_text = use_skill($skill[Open the Bag o' Tricks]);
// You probably want to use one last skill for the kill here.
}
}
This is untested, but from what I gather about the Bag'o'Tricks on the wiki, it should work.
Kli1195
02-17-2010, 10:48 PM
Instead of adventure(my_adventures(), $location[McMillicancuddy's Farm]); (which will use ALL of your adventures at the Farm - thankfully you would loose 15 at most), you could adventure there ONCE, with the right CCS.
Shoot, keep forgetting that.
/slap
Kli1195
02-18-2010, 12:53 AM
get_property("sideDefeated");
get_property("warProgress");
get_property("sidequestArenaCompleted");
visit_url("postwarisland.php?action=concert&option=2&pwd");
The above is in the script.
get_property("sideDefeated");
get_property("warProgress");
get_property("sidequestArenaCompleted");
Works, but...
visit_url("postwarisland.php?action=concert&option=2&pwd");
...returns a blank page.
It also wouldn't work for anyone who defeated both sides or those who killed the other side.
How would you go around this?
For cryin' out! I wasn't giving you a script, I was giving you the tools to make a script.
If sideDefeated is the the opposite of sidequestArenaCompleted and warProgress is finished, only then can the arena be used. Think about it.
heeheehee
02-18-2010, 04:52 AM
Wait. If, say, you fight for the Frats, wouldn't sideDefeated give you the hippies? So sideDefeated would have to be different from sidequestArenaCompleted. warProgress would still have to be finished.
If it doesn't work that way (the logical way), then the way Bale suggested would be right.
No, you're right Heeheehee. I accidentally reversed that. I'll correct my post to prevent Kli1195 from getting even more confused.
Kli1195
02-18-2010, 10:27 AM
if((Frat_sideDefeated) && (sidequestArenaCompleted))
visit_url("postwarisland.php?action=concert&option=2&pwd")
Is this the right pseudo code? I'm almost certain it's not.
boolean FratSideDefeated = ( get_property("sideDefeated") == "Frat");
boolean ArenaDone = get_property("sidequestArenaCompleted").to_boolean();
if( FratSideDefeated && ArenaDone )
visit_url("postwarisland.php?action=concert&option=2&pwd")
heeheehee
02-20-2010, 01:29 AM
There's a missing semi-colon at the end of line 179.
Food like honey-dew must be eaten, not used. If you want to use a universal consume(boolean) function, here it is:
boolean consume(int qty,item it) {
if(item_type(it)=="food") eat(qty,it);
else if(item_type(it)=="booze") drink(qty,it);
else use(qty,it);
}
(I found it much more useful when iterating over keys in a map... that is, in my slime-buffing script.)
I'd also suggest only getting effects if you don't already have them active.
Edit: I'm also not really sure why you're calling seaside() in your main function, when useagua() already calls it.
You might want to check you drunkness before drinking though.
heeheehee
02-20-2010, 01:40 PM
Erm, yeah. I totally had that in my universal consume function at some point.
// The following snippet was lifted (then modified) from EatDrink.ash. Mostly because I am too lazy to write this from scratch.
record fullness_file_entry // holds the map found in fullness.txt
{
int drunk;
int level;
string adv;
string muscle;
string mysticality;
string moxie;
};
fullness_file_entry [item] it_stats;
file_to_map("inebriety.txt", it_stats)
fullness_file_entry [item] it_stats;
file_to_map("inebriety.txt", it_stats);
// We didn't need to check spleen/fullness use, as you can't go over those limits. We could, but it's just not as necessary right away.
// And here's the new and improved universal consume function!
boolean consume(int qty,item it) {
if(item_type(it)=="food") eat(qty,it);
else if(item_type(it)=="booze") {
if(inebriety_limit() - (my_inebriety() + it_stats[it].drunk)) drink(qty,it);
else return false;
}
else use(qty,it);
}
Also, isn't love song of icy revenge worse than love song of disturbing obsession when maxing out item drops?
Kli1195
02-20-2010, 11:16 PM
Not if you have the Jack-in-the-Box.
10 lbs = Anywhere from 25%-50% depending on it's weight.
heeheehee
02-20-2010, 11:32 PM
Ohhh, right. Forgot about that.
Bazaaretw
02-24-2010, 06:28 AM
Not sure if this has been brought up, I got stuck in a loop. No idea why.
[6270] Mt. Molehill
Encounter: digital underground dweller
Round 0: bazaaretw wins initiative!
Round 1: bazaaretw attacks!
You gain 125 Meat
You gain 14 Muscleboundness
You gain 37 Mysteriousness
You gain 10 Chutzpah
[6271] Mt. Molehill
Encounter: spelunking astronaut
Round 0: bazaaretw wins initiative!
Round 1: bazaaretw attacks!
You gain 115 Meat
You gain 19 Strengthliness
You gain 32 Enchantedness
You gain 9 Cheek
[6272] Mt. Molehill
Encounter: Here She Come Now Singin' Molé Molé
You acquire an item: mole molé
[6273] Mt. Molehill
Encounter: spelunking astronaut
Round 0: bazaaretw wins initiative!
[6273] Mt. Molehill
Encounter: spelunking astronaut
Round 0: bazaaretw loses initiative!
Bazaaretw
02-24-2010, 06:30 AM
Not sure if this has been brought up, I got stuck in a loop. No idea why.
[6270] Mt. Molehill
Encounter: digital underground dweller
Round 0: bazaaretw wins initiative!
Round 1: bazaaretw attacks!
You gain 125 Meat
You gain 14 Muscleboundness
You gain 37 Mysteriousness
You gain 10 Chutzpah
[6271] Mt. Molehill
Encounter: spelunking astronaut
Round 0: bazaaretw wins initiative!
Round 1: bazaaretw attacks!
You gain 115 Meat
You gain 19 Strengthliness
You gain 32 Enchantedness
You gain 9 Cheek
[6272] Mt. Molehill
Encounter: Here She Come Now Singin' Molé Molé
You acquire an item: mole molé
[6273] Mt. Molehill
Encounter: spelunking astronaut
Round 0: bazaaretw wins initiative!
[6273] Mt. Molehill
Encounter: spelunking astronaut
Round 0: bazaaretw loses initiative!
Searching for "llama lama gong"...
Purchasing llama lama gong (1 @ 3,995)...
You acquire an item: llama lama gong
Purchases complete.
Gong path: mole
Using 1 llama lama gong...
You're still under a gong effect.
Any it should probably have something to allow it to restart where it left off in mid gong.
Kli1195
02-24-2010, 10:24 AM
Oh that's weird.
I'll try to test and fix that today.
Were you already under gong effect?
EDIT: I tested this on a multi and my main, and both work, are you sure you didn't already have a gong effect/dance interpreter?
heeheehee
02-24-2010, 11:43 PM
I checked out the script again -- for future reference, once Mafia has ID'd the ! potions, you can call the potion that gives Object Detection with $item[potion of detection], as Mafia appends "of detection" to the item name for your character.
Edit: Also, your documentation has a small error -- the second gong should get Extra-sensory Perception, not Perceptive Pressure. Heh.
Bazaaretw
02-26-2010, 06:25 PM
Oh that's weird.
I'll try to test and fix that today.
Were you already under gong effect?
EDIT: I tested this on a multi and my main, and both work, are you sure you didn't already have a gong effect/dance interpreter?
My first post, it was looping infinitely when it already had enough skill uses to get the buff on mole form.
The second post was because I was under gong effect and stopped the script because it was looping, and trying to restart it gave me that.
Kli1195
03-02-2010, 11:47 PM
I'm trying to make it so that it asks if you are killing Zombo (eventually adding in Scratch) and if you have funkslinging, and if you do, then if you know that Zombos drops aren't profitable.
Unfortunately kolmafia isn't exactly like regular java, and so I have no idea how to do this.
An attempt I made that didn't work:
void main( boolean killing_Zombo )
{
if( killing_Zombo ){
print( "Do you have Ambidextrious Funkslinging skill?" );
boolean funk;
if( funk ){
print( "Awesome! And you do know that Zombo's drops are not profitable, right?" );
boolean profit;
if( profit )
print( "Great! Continuing script..." );
else
print( "Oh noes! Aborting script! Error 404! Division by Zero!" );
}
else
print( "Then you do realize that your shirt, hat, and pants will be rendered ineffective, right?" );
}
}
heeheehee
03-03-2010, 02:02 AM
Protip: have_skill($skill[ambidextrous funkslinging]) will return true if the player has Funkslinging.
Kli1195
03-03-2010, 07:28 PM
Thanks, also, which line is my documentation error in? I can't find it.
heeheehee
03-03-2010, 11:41 PM
The documentation error isn't in the code itself; it's in the first post of this thread ("3. Then it uses another gong and gets the Perceptive Pressure effect.").
Functions that might come in handy when improving functionality and checking:
have_skill($skill[Entangling Noodles]) returns false if you don't have the skill.
have_effect($effect[Shape of...Mole!]) returns how many turns of Moleform you have remaining (0 if it is not currently active).
have_familiar( $familiar[Jack-in-the-Box] ) will return false if you don't have a Jack.
Of course, these can also take other skills/effects/familiars. And never forget -- ashref is your friend!
Bazaaretw
03-09-2010, 07:14 PM
So I'm still getting this error when it attempts to get the moleform buff, once it has the correct number of tunnels, it goes into an infinite loop when it comes to the next monster,
I have a feeling that if no one else is getting this error it may be because of my 2 other CCS scripts.
Also if the choice to eat food is True it should buff with Milk of Mag, instead of having mafia prompt me that I'm about to eat without it.
> call scripts\Hobo_Buffs_v0.9.ash
Sending kmail to Kli1195...
Searching for "llama lama gong"...
Purchasing llama lama gong (1 @ 3,000)...
You acquire an item: llama lama gong
Purchases complete.
Gong path: mole
Using 1 llama lama gong...
You acquire an effect: Shape of...Mole! (duration: 12 Adventures)
Finished using 1 llama lama gong.
[10858] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw wins initiative!
Round 1: bazaaretw casts TUNNEL UPWARDS!
You lose 10 hit points
Round 2: bazaaretw attacks!
You gain 122 Meat
You gain 14 Beefiness
You gain 25 Mysteriousness
You gain 11 Roguishness
[10859] Mt. Molehill
Encounter: digital underground dweller
Round 0: bazaaretw wins initiative!
Round 1: bazaaretw casts TUNNEL UPWARDS!
Round 2: bazaaretw attacks!
You gain 112 Meat
You gain 12 Fortitude
You gain 28 Mysteriousness
You gain 13 Chutzpah
[10860] Mt. Molehill
Encounter: spelunking astronaut
Round 0: bazaaretw wins initiative!
Round 1: bazaaretw casts TUNNEL UPWARDS!
You lose 10 hit points
Round 2: bazaaretw attacks!
You gain 98 Meat
You gain 6 Fortitude
You gain 27 Enchantedness
You gain 19 Chutzpah
[10861] Mt. Molehill
Encounter: A Fairly Large Fairy
You gain 896 hit points
[10862] Mt. Molehill
Encounter: dwarvish gnome
Round 0: bazaaretw wins initiative!
Round 1: bazaaretw casts TUNNEL UPWARDS!
Round 2: bazaaretw attacks!
You gain 14 Strongness
You gain 26 Enchantedness
You gain 13 Cheek
[10863] Mt. Molehill
Encounter: spelunking astronaut
Round 0: bazaaretw wins initiative!
Checking for updates (running First Things First ver. 3.6)...
_version_FTF => 3.6
You have a current version of First Things First.
Checking for updates (running SmartStasis ver. 2.3)...
_version_SS => 2.3
You have a current version of SmartStasis.
Round 1: bazaaretw attacks!
You gain 111 Meat
You gain 14 Fortitude
You gain 26 Wizardliness
You gain 10 Chutzpah
[10864] Mt. Molehill
Encounter: velvet underground dweller
Round 0: bazaaretw wins initiative!
Round 1: bazaaretw attacks!
You gain 127 Meat
You gain 7 Strengthliness
You gain 28 Magicalness
You gain 15 Sarcasm
[10865] Mt. Molehill
Encounter: Here She Come Now Singin' Molé Molé
You acquire an item: mole molé
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw wins initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
[10866] Mt. Molehill
Encounter: weather underground dweller
Round 0: bazaaretw loses initiative!
KoLmafia declares world peace.
KoLmafia declares world peace.
KoLmafia declares world peace.
icon315
03-10-2010, 04:36 AM
Maybe you should add the Update checker...almost used V0.7
EDIT: Also you should fix it so that the script does not stop when this choice adv. happens
[24357] Seaside Megalopolis
Encounter: Bad Reception Down Here
Manual control requested for choice #353
EDIT: Also you should either make the Adv. using effects a True/False option, or make it so that the script check for the active effects
Kli1195
03-10-2010, 10:26 AM
How to add an Update checker?
Also, I tried to make it so it would overide the manual request the first time it goes to seaside:
set_property("choiceAdventure352","2");
set_property("choiceAdventure356","1");
And the second time:
set_property("choiceAdventure358","2");
but for some reason, it still doesn't work. I'm not sure if this is just a problem with mafia or something.
Also, yeah, good point, I'll make it so that it gives you the option of whether or not you want the script to use any adventures.
heeheehee
03-10-2010, 11:01 PM
The easiest way is to just use ZLib (http://kolmafia.us/showthread.php?t=2072)'s check_version(). Also, are you doing the set_property() calls at the beginning of the script, or where...?
Kli1195
03-14-2010, 06:38 PM
Sorry haven't been on in a while.
@heeheehee
This is my code:
void seaside(){
if (my_adventures() == 0){
print("Out of adventures.");
exit;
}else{
set_property("choiceAdventure352","2");
set_property("choiceAdventure356","1");
while((item_amount($item[blue milk club card]) < 1)){
if (adventure(1, $location[Seaside Megalopolis])){
adventure(1, $location[Seaside Megalopolis]);
}else{
use(1, $item[agua de vida]);
}
}
}
}
And the second time:
void seaside2(){
if (my_adventures() == 0){
print("Out of adventures.");
exit;}
else{
set_property("choiceAdventure358","2");
while((item_amount($item[blue milk club card]) > 0)){
if (adventure(1, $location[Seaside Megalopolis])){
set_property("choiceAdventure358","2");
adventure(1, $location[Seaside Megalopolis]);}
else
use(1, $item[agua de vida]);
}
}
}
It may work now, I haven't tested it yet and I'm out of turns. Is there a better way to set the property?
Also, thanks for the update help
@icon315
Good idea, I'll add that in asap.
@ Bazaaretw
I'll add in the Milk thingy, and I'm not entirely sure about your mole problem, is there anything else you can specify?
I don't use CCS so it may be a possibility that that's the problem.
if (adventure(1, $location[Seaside Megalopolis])){
adventure(1, $location[Seaside Megalopolis]);
}
I have already pointed this out, but do you realize this will spend 2 advs in megalopolis?
Kli1195
03-15-2010, 05:18 PM
Does it?
When I tested the script, it just used how many adventures it needed until it got the Club Card. (Talking about the first Seaside)
icon315
03-17-2010, 01:32 AM
Almost every time i use the script it always gets stuck here
[24488] Mt. Molehill
Encounter: dwarvish gnome
Round 0: icon315 wins initiative!
Round 1: icon315 tries to steal an item!
[24488] Mt. Molehill
Encounter: dwarvish gnome
Round 0: icon315 loses initiative!
[24488] Mt. Molehill
Encounter: dwarvish gnome
Round 0: icon315 loses initiative!
[24488] Mt. Molehill
Encounter: dwarvish gnome
Round 0: icon315 loses initiative!
[24488] Mt. Molehill
Encounter: dwarvish gnome
Round 0: icon315 loses initiative!
[24488] Mt. Molehill
Encounter: dwarvish gnome
Round 0: icon315 loses initiative!
[24488] Mt. Molehill
Encounter: dwarvish gnome
Round 0: icon315 loses initiative!
[24488] Mt. Molehill
Encounter: dwarvish gnome
Round 0: icon315 loses initiative!
[24488] Mt. Molehill
Encounter: dwarvish gnome
Round 0: icon315 loses initiative!
[24488] Mt. Molehill
Encounter: dwarvish gnome
Round 0: icon315 loses initiative!
[24488] Mt. Molehill
Encounter: dwarvish gnome
Round 0: icon315 loses initiative!
Kli1195
03-18-2010, 05:14 PM
Oh I see. The script screws up if you lose initiative.
I'll try to work on this, but there are some cheap things that greatly boost your initiative:
Panty raider camouflage (100% init) goes for 700 meat currently.
upsy daisy (50% init) goes for 200 meat.
I don't see how initiative could have something to do with Icon's problem. Icon: how many turns of Mole do you have left when this happens ? I think this might be the problem. Also, how is Mafia setup to handle combats? You're not using free runaways, are you? If so, try setting mafia to simply attack.
If that wasn't the issue, try replacing molehill() with this :
void molehill(){
if (my_adventures() == 0){
print("Out of adventures.");
exit;
}else{
while( have_effect($effect[Shape of...Mole!]) > 0 ) {
visit_url("adventure.php?snarfblat=177") ;
switch( have_effect($effect[Shape of...Mole!]) ) {
case 12:
case 11:
case 10:
case 8:
case 7:
case 6:
use_skill($skill[tunnel upwards]) ;
run_combat() ;
break ;
case 4:
case 3:
case 2:
run_combat() ;
break ;
default:
}
}
}
}
This should get you the MP non combat instead of the food, but food can be arranged.
icon315
03-19-2010, 12:50 AM
Icon: how many turns of Mole do you have left when this happens ?
If i remember correctly i only had 1 adventure left.
Also, how is Mafia setup to handle combats?
[ default ]
1: consult SmartStasis.ash
2: attack with weapon
You're not using free runaways, are you?
No
I need to wait a little more time to test it out. i have no need to kill bosses at the moment
Ah, well that makes sense.
if((have_effect($effect[Shape of...Mole!]) > 7)){
visit_url("adventure.php?snarfblat=177");
use_skill($skill[tunnel upwards]);
run_combat();}
else if((have_effect($effect[Shape of...Mole!]) < 8 )){
visit_url("adventure.php?snarfblat=177");
run_combat();}
else if((have_effect($effect[Bureaucratized]) > 0)){
exit;}
else{
exit;
}
Since you have < 8 turns of Shape of...Mole! left when you hit the Bureaucratized noncombat, the script never gets to exit. I don't know why this parts works for Kli though... maybe he has a different local copy?
Kli1195
03-25-2010, 10:39 PM
Nah, I have the same version. Should I just switch it so it looks like this:
else if((have_effect($effect[Bureaucratized]) > 0)){
exit;}
else if((have_effect($effect[Shape of...Mole!]) < 8 )){
visit_url("adventure.php?snarfblat=177");
EDIT: I also know that this script works for 2 other people.
That FN Ninja
11-25-2010, 08:20 PM
Looks useful.
After looking through the code I did notice some things however.
1. The arena buff is not being detected correctly. Unless I'm missing something lines 349 & 350 will always be false. I think the valid settings for the sideDefeated property are neither, both, hippies, fratboys. The valid settings for the side quest completed properties are fratboy and hippy. For your purposes (i.e getting Dilated Pupils) I think you'll want something like this:
if(get_property("sideDefeated") == "fratboys" && get_property("sidequestArenaCompleted") == "hippy")2. Around lines 300 & 307 the mapPref keys for Thingfinder and Chorale are switched.
3. This has the potential to fall into an infinite loop:
while((item_amount($item[The Legendary Beat]) > 0) && (have_effect($effect[Clyde's Blessing])) == 0 ) {
use( 1 , $item[The Legendary Beat] );}This would be better:
if(!get_property("_legendaryBeat").to_boolean() && retrieve_item(1, $item[Legendary Beat]))
use(1, $item[Legendary Beat]);4. The feast is not getting used all the time. This line:
if (item_amount($item[Moveable feast]) > 0){should be:
if(retrieve_item(1, $item[Moveable feast])){item_amount will not be greater than zero if you have the feast but it's equipped on your familiar or on a familiar in your terrarium, but retrieve_item will unequip it from whichever familiar might be wearing it.
5. bubblewrap turtleban, several things. There should probably be an option to buy it or at least use retrieve_item which will buy it in accordance with your mafia settings. Also
use( 1 , $item[Bubblewrap bottlecap turtleban] );should be:
equip($item[Bubblewrap bottlecap turtleban] );
The use function will equip the item momentarily and then re-equip what you had on before. In my experience the only time use keeps the item equipped is if you were wearing nothing in the slot it gets equipped in. Best to utilize the equip function when working with equipment.
Also, as far as I know, it requires 2 visit_url() calls to get the hatter buff. So this:
visit_url("choice.php?whichchoice=441&option=1");should be this:
visit_url("rabbithole.php?action=teaparty");
visit_url("choice.php?pwd&whichchoice=441&option=1");6. I think you should consider using retrieve_item() instead of buy() and/or item_amount(). Obviously depending on the circumstance, but in many of the instances in your script, I think retrieve_item() is more appropriate.
The retrieve_item() function has numerous benefits. It will pull from storage if you have the item there. It will create the item if you have the ingredients and can. It will buy the item if mafia is set-up to do so. For example, this line:
buy( 10 , $item[BRICKO ooze] );If it was:
retrieve_item( 10 , $item[BRICKO ooze] );and you had the bricks to make this item in inventory it would create the ooze.
7. Also, just curious, why three scripts? Why not move the item map and the other functions into the main script?
Those are just some thoughts and observations. Nice work.
Fluxxdog
11-25-2010, 09:40 PM
Looks useful.
After looking through the code I did notice some things however.
1. The arena buff is not being detected correctly. Unless I'm missing something lines 349 & 350 will always be false. I think the valid settings for the sideDefeated property are neither, both, hippies, fratboys. The valid settings for the side quest completed properties are fratboy and hippy. For your purposes (i.e getting Dilated Pupils) I think you'll want something like this:
if(get_property("sideDefeated") == "fratboys" && get_property("sidequestArenaCompleted") == "hippy") Actually, that should be
if((get_property("sideDefeated") == "fratboys" || get_property("sideDefeated")=="none") && get_property("sidequestArenaCompleted") == "hippy")...because some people might not end the war and end up farming some rewards.
heeheehee
11-26-2010, 04:45 AM
get_property("sideDefeated") != "hippies"
or whatever it happens to be?
Fluxxdog
11-26-2010, 05:22 AM
That would have to be
get_property("sideDefeated") != "hippies" || get_property("sideDefeated") != "both"sideDefeated has 4 potential values:none, fratboys, hippies, and both. To make sure one side is or is not defeated, you need to check against 2 different values.
boolean hippies_alive(){
if(get_property("sideDefeated")=="none" || get_property("sideDefeated")=="fratboys") return true;
return false;}
boolean fratboys_alive(){
if(get_property("sideDefeated")=="none" || get_property("sideDefeated")=="hippies") return true;
return false;}That should make things a bit easier to read.
that_bloke
06-14-2011, 01:15 AM
Yayy! Me again with a necro... I used this script fairly often in the past with my other characters and today I used it in one that was lazily doing some aftercore stuff (upper 50’s DB)... needless to say, I ran into some issues. This script calls for the other script ‘putitemgear.ash’ which is fine, but it stalls every time telling me the following:
Maximizing (1st time may take a while)...
1092 combinations checked, best score 322.62018
You need 1 more Hodgman's imaginary hamster to continue.
Now, I know I don’t have a hamster.. but why is it stopping at it. Shouldn’t it be using some other type of gear I have instead? Like the metal detector that I do have?
What does Mafia say when you enter this in the gCLI:
ash available_amount($item[Hodgman's imaginary hamster])
?
EDIT: haha, such an old script, and such an obvious typo, I wonder why no-one ever noticed this. Replace line 17
HodgOutfit[$slot[off-hand]] = $item[Hodgman's imaginary hamster];
with
HodgOutfit[$slot[off-hand]] = $item[Hodgman's metal detector];
that_bloke
06-15-2011, 03:42 AM
Oh you so fine, Slyz!
It’s funny because on my other characters it never asked or crashed in this part... only on my highest level DB... oh well! thank you again!
Bazaaretw
11-01-2011, 02:57 PM
Typed constant $item[Oreille Divisée brandy] contains non-ASCII characters (Hobo_Buffs_v0.996.ash, line 279)
Winterbay
11-02-2011, 07:44 AM
So it does. Search the script for "Divisée" and change it to "Divisée".
Powered by vBulletin® Version 4.1.12 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.