Cli execute: Difference between revisions

From Kolmafia
Jump to navigation Jump to search
imported>MapleMario
No edit summary
Convert to Template:Function2 format, modernize code example
 
(11 intermediate revisions by 6 users not shown)
Line 1: Line 1:
'''[[boolean]] cli_execute( [[string]] command )'''
<onlyinclude>{{{{{format|Function2}}}
Executes the given command as a CLI command, rather than ASH.
|name=cli_execute
|function1.return_type=boolean
|function1.description=Executes a string as a gCLI command. Returns <code>true</code> on success, <code>false</code> on failure.
|function1.param1=command
|function1.param1.type=string
|function1.param1.description=gCLI command(s) to execute
|description=<p>This function passes the parameter {{pspan|command}} to KoLmafia's gCLI, which will execute it as though it was typed in through the normal interface. This function will return <code>true</code> if the gCLI command executed properly, and <code>false</code> if it was unable to do so (for example, trying to execute an adventuring command while drunk).</p>


<pre>
<p>Though it is considered a "best practice" to use built-in ASH functions whenever possible, there are some cases where no ASH function exists to handle a task (e.g. creating moods). This function provides an escape hatch for such tasks by using gCLI commands from within an ASH script.</p>
// snippet from my aftercore.ash script
 
    cli_execute("outfit "+consumption_outfit);
<p>{{f|cli_execute}} is used most commonly for functions that do not have an ASH equivalent. More CLI commands can be found at the [[CLI Reference]], or by typing "help" into the gCLI window.</p>
   
|code1={{CodeSample
    if (use_milk_of_mag) cli_execute("use milk of magnesium");
  |title=Code Samples
   
  |description=This example maximizes your meat drop percentage and spends all of your adventures in {{kolwiki|The Castle in the Clouds in the Sky (Top Floor)}}.
    foreach i in food_items
  |code=
    {
<syntaxhighlight lang="d">
   
cli_execute( "maximize meat, switch hobo monkey, -switch leprechaun" );
      cli_execute("eat "+food_items[i]);
adventure( my_adventures(), $location[ The Castle in the Clouds in the Sky (Top Floor) ] );
   
</syntaxhighlight>
    }
  |moreinfo=
   
}}
    foreach i in booze_items
|code2={{CodeSample
    {
  |description=A basic leveling mood setup using CLI Execute as ASH does not have anything similar.
   
  |code=
      cli_execute("drink "+booze_items[i]);
<syntaxhighlight lang="d">
   
// Mood Name
    }
cli_execute( "mood MoxieLeveling" );
   
cli_execute( "mood clear" );
    foreach i in spleen_items
// Remove Poisons
    {
cli_execute( "trigger gain_effect, somewhat poisoned, uneffect Somewhat Poisoned" );
   
cli_execute( "trigger gain_effect, Hardly Poisoned at All, uneffect Hardly Poisoned at All" );
      cli_execute("use "+spleen_items[i]);
cli_execute( "trigger gain_effect, A Little Bit Poisoned, uneffect A Little Bit Poisoned" );
   
cli_execute( "trigger gain_effect, Really Quite Poisoned, uneffect Really Quite Poisoned" );
    }
cli_execute( "trigger gain_effect, Majorly Poisoned, uneffect Majorly Poisoned" );
   
cli_execute( "trigger gain_effect, Toad In The Hole, uneffect Toad In The Hole" );
    if (switch_ode_polka)
cli_execute( "trigger gain_effect, just the best anapests, uneffect just the best anapests" );
    {
// Store Buffs
      cli_execute("uneffect ode to booze");
if ( my_meat() >= 500 )
      cli_execute("nuns");
  cli_execute( "trigger lose_effect, Butt-Rock Hair, use 10 hair spray" );
      cli_execute("cast 35 polka of plenty");
// Smiles
    }
if ( have_skill( $skill[ Knowing Smile ] ) && my_maxmp() >= 20 )
</pre>
  cli_execute( "trigger lose_effect, Knowing Smile, cast 1 Knowing Smile" );
else if ( have_skill( $skill[ disco smirk ] ) && my_maxmp() >= 20 )
  cli_execute( "trigger lose_effect, Disco Smirk, cast 1 Disco Smirk" );
// DB Skills
if ( have_skill( $skill[ Disco Aerobics ] ) )
  cli_execute( "trigger lose_effect, Disco State of Mind, cast 5 Disco Aerobics" );
// AT Skills
if ( have_skill( $skill[ Moxie of the Mariachi ] ) )
  cli_execute( "trigger lose_effect, Mariachi Mood, cast 5 Moxie of the Mariachi" );
// Songs
if ( have_skill( $skill[ The Moxious Madrigal ] ) && my_maxmp() >= 2 )
  cli_execute( "trigger lose_effect, The Moxious Madrigal, cast 1 The Moxious Madrigal" );
// Execute the mood
mood_execute(1);
</syntaxhighlight>
  |moreinfo=
}}
|see_also={{SeeAlso/gCLI Functions}}
|cli_equiv=The function cli_execute() equivalents you!
|more_info=
|special=
|{{{1|}}}
}}</onlyinclude>
[[Category:Miscellaneous Functions]]

Latest revision as of 14:41, 23 December 2020

Function Syntax

boolean cli_executestring command )

Executes a string as a gCLI command. Returns true on success, false on failure.
  • command: gCLI command(s) to execute

This function passes the parameter command to KoLmafia's gCLI, which will execute it as though it was typed in through the normal interface. This function will return true if the gCLI command executed properly, and false if it was unable to do so (for example, trying to execute an adventuring command while drunk).

Though it is considered a "best practice" to use built-in ASH functions whenever possible, there are some cases where no ASH function exists to handle a task (e.g. creating moods). This function provides an escape hatch for such tasks by using gCLI commands from within an ASH script.

cli_execute() is used most commonly for functions that do not have an ASH equivalent. More CLI commands can be found at the CLI Reference, or by typing "help" into the gCLI window.

Code Samples

This example maximizes your meat drop percentage and spends all of your adventures in The Castle in the Clouds in the Sky (Top Floor).

cli_execute( "maximize meat, switch hobo monkey, -switch leprechaun" );
adventure( my_adventures(), $location[ The Castle in the Clouds in the Sky (Top Floor) ] );

A basic leveling mood setup using CLI Execute as ASH does not have anything similar.

// Mood Name
cli_execute( "mood MoxieLeveling" );
cli_execute( "mood clear" );
// Remove Poisons
cli_execute( "trigger gain_effect, somewhat poisoned, uneffect Somewhat Poisoned" );
cli_execute( "trigger gain_effect, Hardly Poisoned at All, uneffect Hardly Poisoned at All" );
cli_execute( "trigger gain_effect, A Little Bit Poisoned, uneffect A Little Bit Poisoned" );
cli_execute( "trigger gain_effect, Really Quite Poisoned, uneffect Really Quite Poisoned" );
cli_execute( "trigger gain_effect, Majorly Poisoned, uneffect Majorly Poisoned" );
cli_execute( "trigger gain_effect, Toad In The Hole, uneffect Toad In The Hole" );
cli_execute( "trigger gain_effect, just the best anapests, uneffect just the best anapests" );
// Store Buffs
if ( my_meat() >= 500 )
   cli_execute( "trigger lose_effect, Butt-Rock Hair, use 10 hair spray" );
// Smiles
if ( have_skill( $skill[ Knowing Smile ] ) && my_maxmp() >= 20 )
   cli_execute( "trigger lose_effect, Knowing Smile, cast 1 Knowing Smile" );
else if ( have_skill( $skill[ disco smirk ] ) && my_maxmp() >= 20 )
   cli_execute( "trigger lose_effect, Disco Smirk, cast 1 Disco Smirk" );
// DB Skills
if ( have_skill( $skill[ Disco Aerobics ] ) )
   cli_execute( "trigger lose_effect, Disco State of Mind, cast 5 Disco Aerobics" );
// AT Skills
if ( have_skill( $skill[ Moxie of the Mariachi ] ) )
   cli_execute( "trigger lose_effect, Mariachi Mood, cast 5 Moxie of the Mariachi" );
// Songs
if ( have_skill( $skill[ The Moxious Madrigal ] ) && my_maxmp() >= 2 )
   cli_execute( "trigger lose_effect, The Moxious Madrigal, cast 1 The Moxious Madrigal" );
// Execute the mood
mood_execute(1);

CLI Equivalent

The function cli_execute() equivalents you!

See Also

cli_execute() | cli_execute_output()