Cli execute: Difference between revisions

From Kolmafia
Jump to navigation Jump to search
imported>StDoodle
No edit summary
Convert to Template:Function2 format, modernize code example
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{
<onlyinclude>{{{{{format|Function2}}}
#vardefine:name|cli_execute}}{{
|name=cli_execute
#vardefine:return_type|boolean}}{{
|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>


FunctionPage|
<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>
name={{#var:name}}|
function_category=Miscellaneous|


function1={{Function|
<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>
name={{#var:name}}|
|code1={{CodeSample
aggregate={{#var:aggregate}}|
  |title=Code Samples
return_type={{#var:return_type}}|
  |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)}}.
return_also={{#var:return_also}}|
  |code=
parameter1={{Param|string|command}}|
<syntaxhighlight lang="d">
p1desc={{Pspan|command}} is a cli command or commands to execute|
cli_execute( "maximize meat, switch hobo monkey, -switch leprechaun" );
}}|
adventure( my_adventures(), $location[ The Castle in the Clouds in the Sky (Top Floor) ] );
 
</syntaxhighlight>
function_description=This function passes the parameter {{pspan|command}} on to KoLmafia's CLI, which will execute it as if it were typed in through the normal interface. This function will return true if the CLI command executed properly, and false if it was unable to do so (for example, trying to execute an adventuring command while drunk). Though it's considered a "best practice" to use built-in ASH functions when possible, there are some instances (such as "maximize") where no ASH function exists to handle what needs to be done, and this function allows access to such commands from within an ASH script.|
  |moreinfo=
 
}}
needscode=yes|
|code2={{CodeSample
 
  |description=A basic leveling mood setup using CLI Execute as ASH does not have anything similar.
cli_equiv=The function cli_execute() equivalents you!|
  |code=
<syntaxhighlight lang="d">
// 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);
</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()