Help:Frequently Asked Questions: Difference between revisions

From Kolmafia
Jump to navigation Jump to search
imported>Zarqon
running jar files and getting script errors
imported>Bale
Refer to Tips, Tricks and Workarounds
Line 41: Line 41:
: 5) If none of these solutions fix it -- ''then'' please report the error to the script author in the script thread.  The script author should be able to determine whether this is a script error or a mafia error, and deal with it appropriately.
: 5) If none of these solutions fix it -- ''then'' please report the error to the script author in the script thread.  The script author should be able to determine whether this is a script error or a mafia error, and deal with it appropriately.
;Help, my script aborts whenever [some function] returns false!
;Help, my script aborts whenever [some function] returns false!
:By default, whenever an ASH function returns false, everything will abort ''unless'' you somehow capture the return value (i.e. assigning it to a variable or enclosing it in a control structure). So, if you want to make use of, say, the hermit() function in a way that won't abort if the function returns false, you could:
:By default, whenever an ASH function returns false, everything will abort ''unless'' you somehow capture the return value (i.e. assigning it to a variable or enclosing it in a control structure). For examples of how to do this, see [[Tips, Tricks and Workarounds#Capturing an Abort|Tips, Tricks and Workarounds]].
<div style="margin-bottom: 1em; padding: 1em; margin:0px 20px;">
{{CodeSample|
description=Save the result as a boolean variable.|
code=<syntaxhighlight>
boolean fakeBool = hermit(1, $item[Ten-leaf clover]);
</syntaxhighlight>}}
{{CodeSample|
description=Capture the result in an if() conditional.|
code=<syntaxhighlight>
if(!hermit(1, $item[Ten-leaf clover])) print("Hermit looting failed: continuing on.");
</syntaxhighlight>}}
{{CodeSample|
description=An if() conditional doesn't even have to do anything.|
code=<syntaxhighlight>
if(hermit(1, $item[Ten-leaf clover])) {}
</syntaxhighlight>}}
{{CodeSample|
description=The most minimalistic method is to capture it with a not operator and parenthesis.|
code=<syntaxhighlight>
(!hermit(1, $item[Ten-leaf clover]));
</syntaxhighlight>}}
</div>


[[Category:New User Help]]
[[Category:New User Help]]

Revision as of 06:24, 25 September 2010

Running Mafia

What / where are daily builds?
Daily builds are revisions of KoLMafia that are released for testing new features and/or bugfixes. They can be found at http://builds.kolmafia.us/.
These daily builds are .jar files! They don't run in my OS!
Yes they do, lookit.
I found a bug! What should I do?
Please double-check for user-error first. (No offense intended, but it happens a lot.) If you're fairly sure that you have a "real" Mafia bug (reproducible, describable, undesired, and not a script error), please post it in the Bug Report Forum. Make sure to list which version of KoLmafia you are using (which you can see by selecting the Help (menu) -> Copyright Notice). Also, list the operating system you are using, and a description of what to do to reproduce the bug, and any other helpful information.
How can I synchronize Mafia across multiple computers using the same counters, scripts, builds, etc?
The two most popular methods are to run it from a flash drive or use Dropbox. Please see our page about Dropbox.

Interface

How do I re-apply stickers?
Go to the Gear Changer tab in the main interface. See those bottom three dropdown menus?
How do I get mafia to reapply stickers automatically when they wear out?
Put it in your mood as described below. You can change the stickers command to indicate whichever stickers you want to keep active.
Trigger On: Unconditional trigger
Check For:
Command: stickers unicorn, unicorn, unicorn
Can I get Mafia to do something other than abort when my sugar equipment breaks?
Go to the Adventure tab in the main interface. At the bottom are some more tabs. Click on the Choice Advs tab. Now click on the Item tab on the left hand side. Change the Breakable Equipment setting as desired.
Is there a way to get mafia to stop auto-adventuring when a counter expires?
Mafia will stop automating on most counters. Note that purely informational counters like he-boulder rays and hippy windchimes will not stop automation.
Is there a way to get mafia to stop auto-adventuring when a hobo code or demon name is found?
KoLmafia auto-stops on these adventures whenever you do not have any conditions set. Just adventure in the zone without conditions and those hobo codes or demon names become your condition. Easy-peasy.

Scripts

What do I do with a script?
Download the ASH file to your /scripts directory. Either start mafia, or in the scripts menu at the top of the interface, click "refresh menu". Then select the script from the scripts menu.
How do I edit/create an ASH script?
Use a nonformatting text editor such as Notepad++ -- word processors like Microsoft Word will not work. When finished, save the file with the extension *.ash.
Where are these mafia directories to which I need to download scripts? They've names like /scripts and /data .
This varies depending on your operating system. Look for your system at mafia directories.
I get an error when I try to run a script!
Nine times out of ten the problem is having an outdated version of something. If a script that you downloaded won't run, have a look at this handy list:
1) Check that your version of mafia is current. This doesn't mean "version X.X", it means "rXXXX" (see above). If you use Windows, this tool will automatically keep your version of mafia cutting-edge current.
2) Check that you have the latest released version of the script you're trying to run (and whatever support scripts it includes). Note that even scripts with version-checking can not notify you about updates if the error happens before the script starts to run.
3) Check that you don't have outdated data files (from using the "update data" command, which no one should ever use). Type "update clear" to eliminate old data files.
4) Check the ASH Errors page for a description of your error and possible solutions.
5) If none of these solutions fix it -- then please report the error to the script author in the script thread. The script author should be able to determine whether this is a script error or a mafia error, and deal with it appropriately.
Help, my script aborts whenever [some function] returns false!
By default, whenever an ASH function returns false, everything will abort unless you somehow capture the return value (i.e. assigning it to a variable or enclosing it in a control structure). For examples of how to do this, see Tips, Tricks and Workarounds.