Difference between revisions of "Disable"

From Kolmafia
Jump to navigation Jump to search
imported>Bale
(That's how it is read.)
imported>Bale
Line 26: Line 26:
 
#If a disabled function is incorporated into a condition (eg. "if(disabled_function())" ), then mafia will not just skip the entire conditional. If an else statement is present, the condition is treated as false and the else code will be performed.
 
#If a disabled function is incorporated into a condition (eg. "if(disabled_function())" ), then mafia will not just skip the entire conditional. If an else statement is present, the condition is treated as false and the else code will be performed.
 
#Using "all" as the string parameter will disable all ASH functions including enable. It also disables all CLI functions with the exception of enable and disable. Therefore, to re-enable all functions, you must type "enable all" into the CLI - don't depend on ASH to sort it out.
 
#Using "all" as the string parameter will disable all ASH functions including enable. It also disables all CLI functions with the exception of enable and disable. Therefore, to re-enable all functions, you must type "enable all" into the CLI - don't depend on ASH to sort it out.
#Despite "all" working in the manner specified above, disable() and enable() cannot be disabled using disable() when specified individually. Even if you use "disable("all")", you still cannot disable enable() or disable().
+
#Despite "all" working in the manner specified above, disable() and enable() cannot be disabled using disable() when specified individually.
 
 |
 
 |
  

Revision as of 05:50, 25 March 2010

Function Syntax

void disable(string func )

  • func is the name of the function you wish to disable.

This function allows you to disable commands and/or functions by name. String func specifies the name of a CLI command or ASH function that you do not wish to be carried out. Note these include custom ASH functions (that you name yourself), but not aliases. Mafia has an internal array of function names which are disabled. At the start of each session, this array starts empty. Disable adds names to this array and mafia will not allow functions to be called that are named after any on the disabled list (with the exception of disable and enable). This is useful for debugging scripts, as you can quickly disable functions from the top of a script without digging through the code. In addition, when a disabled function is called, mafia will print a line informing you of this fact, while not acting on it. Important considerations:

  1. Mafia cannot differentiate between scripts that call functions of the same name. If function "foo" is disabled from script one, it will still be disabled when you run script two, unless you enable "foo" or restart mafia.
  2. Remember that CLI commands will be disabled if they have the same name (or can be disabled deliberately with this function).
  3. If a disabled function is incorporated into a condition (eg. "if(disabled_function())" ), then mafia will not just skip the entire conditional. If an else statement is present, the condition is treated as false and the else code will be performed.
  4. Using "all" as the string parameter will disable all ASH functions including enable. It also disables all CLI functions with the exception of enable and disable. Therefore, to re-enable all functions, you must type "enable all" into the CLI - don't depend on ASH to sort it out.
  5. Despite "all" working in the manner specified above, disable() and enable() cannot be disabled using disable() when specified individually.

 

Code Samples

This mini scriptlet generates a map that is outputted to a data file. In testing you might not want to do this every time, so you can disable map_to_file().

disable("map_to_file");

See Also

enable()