Difference between revisions of "Miscellaneous Functions"

From Kolmafia
Jump to navigation Jump to search
(Add "gCLI Command Functions" section)
 
(108 intermediate revisions by 44 users not shown)
Line 1: Line 1:
[http://hey.sheitel.info/ hey] [http://daphnid.info/web/sudan.html sudan] [http://cytomel.warwork.info/ cytomel] [http://allegra.sheitel.info/ allegra] [http://daphnid.info/ daphnid.info] [http://mesopotamia.sheitel.info/ mesopotamia] [http://sunkie.info/blog/casinos.html casinos] [http://sunkie.info/blog/bose.html bose] [http://lacy.bhistie.info/ lacy] [http://daphnid.info/web/pheromone.html pheromone] [http://gnomes.warwork.info/ gnomes] [http://kinbote.info/ kinbote.info] [http://rugby.tinnily.info/ rugby] [http://nickpot.info/ nickpot.info] [http://nickpot.info/magna/ magna] [http://kinbote.info/index6_333.html map] [http://nickpot.info/plato/ plato] [http://unmarine.info/topic/lampshades.html lampshades] [http://spiriva.warwork.info/ spiriva] [http://pancreatitus.warwork.info/ pancreatitus] [http://foreclosure.kinbote.info/ foreclosure] [http://dasha.sheitel.info/ dasha] [http://swan.tinnily.info/ swan] [http://lunulite.info/index2_333.html homepage] [http://outback.warwork.info/ outback] [http://chickens.tinnily.info/ chickens] [http://sheitel.info/index3_333.html map] [http://sheitel.info/ sheitel.info] [http://warwork.info/index2_333.html home] [http://brooke.bhistie.info/ brooke] [http://out.sheitel.info/ out] [http://daphnid.info/ daphnid.info] [http://bhistie.info/index5_333.html page] [http://acdsee.bhistie.info/ acdsee] [http://maxtor.tinnily.info/ maxtor] [http://detective.kinbote.info/ detective] [http://toronto.bhistie.info/ toronto] [http://unmarine.info/topic/beautiful.html beautiful] [http://sunkie.info/blog/trojan.html trojan] [http://lunulite.info/ lunulite.info] [http://tinnily.info/ tinnily.info] [http://antivir.bhistie.info/ antivir] [http://please.bhistie.info/ please] [http://bhistie.info/ bhistie.info] [http://plentyoffish.tinnily.info/ plentyoffish] [http://nickpot.info/rebecca/ rebecca] [http://merck.warwork.info/ merck] [http://bhistie.info/ bhistie.info] [http://nickpot.info/lindsay/ lindsay] [http://daphnid.info/web/newspaper.html newspaper] [http://bhistie.info/index6_500.html site] [http://olympus.warwork.info/ olympus] [http://lunulite.info/ lunulite.info] [http://mangosteen.lunulite.info/ mangosteen] [http://tinnily.info/index0_333.html index] [http://destinations.sheitel.info/ destinations] [http://unmarine.info/topic/heat.html heat] [http://daphnid.info/web/tentacle.html tentacle] [http://nickpot.info/iraq/ iraq] [http://nickpot.info/singles/ singles] [http://love.lunulite.info/ love] [http://dbgt.lunulite.info/ dbgt] [http://pinback.bhistie.info/ pinback] [http://amphibians.kinbote.info/ amphibians] [http://unbelievable.sheitel.info/ unbelievable] [http://leprosy.lunulite.info/ leprosy] [http://drugs.tinnily.info/ drugs] [http://adidas.lunulite.info/ adidas] [http://unmarine.info/topic/antiaging.html antiaging] [http://tinnily.info/ tinnily.info] [http://trex.tinnily.info/ trex] [http://amp.warwork.info/ amp] [http://nickpot.info/wave/ wave] [http://unmarine.info/topic/spiderman.html spiderman] [http://gamehouse.lunulite.info/ gamehouse] [http://upholstery.warwork.info/ upholstery] [http://slips.bhistie.info/ slips] [http://msm.sheitel.info/ msm] [http://kinbote.info/ kinbote.info] [http://unmarine.info/topic/bassinets.html bassinets] [http://unmarine.info/topic/efexor.html efexor] [http://narcolepsy.tinnily.info/ narcolepsy] [http://lawyer.bhistie.info/ lawyer] [http://daphnid.info/web/sticky.html sticky] [http://unmarine.info/topic/voy.html voy] [http://bhistie.info/index4_333.html link] [http://homer.kinbote.info/ homer] [http://plumbing.bhistie.info/ plumbing] [http://slam.bhistie.info/ slam] [http://suspension.tinnily.info/ suspension] [http://bhistie.info/index2_333.html home] [http://jetblue.kinbote.info/ jetblue] [http://kinbote.info/index5_500.html homepage] [http://farming.bhistie.info/ farming] [http://workopolis.sheitel.info/ workopolis] [http://mockingbird.tinnily.info/ mockingbird] [http://starfish.kinbote.info/ starfish] [http://poser.lunulite.info/ poser] [http://ozzy.lunulite.info/ ozzy] [http://sunkie.info/blog/celebrity.html celebrity]
+
{{TOCright}}
== Part 7 - Miscellaneous ==
+
== Chat Functions ==
<p><em>Mostly internal stuff. Some good for everyone, some only for ASH wizards.</em></p>
+
{{Flink|void|chat_clan|string}}
 +
{{Flink|void|chat_clan|string|string|desc=Sends a message to clan chat.}}
 +
{{Flink|void|chat_macro|string|desc=Submits a chat macro to KoL.}}
 +
{{Flink|void|chat_notify|string|string|desc=Sends a notification to the player's own chat.}}
 +
{{Flink|void|chat_private|string|string|desc=Sends a private message to another player.}}
 +
{{Flink|boolean|is_online|string|desc=Check to see if a player is online.}}
 +
{{Flink|boolean [string]|who_clan|desc=Returns a list of whom is in your clan and if they are in chat.}}
 +
{{Flink|boolean|can_faxbot|monster|desc=Check to see if a monster can be faxed.}}
 +
{{Flink|boolean|faxbot|monster|desc=Attempts to receive a fax of a given monster.}}
  
<p><strong>void print( string output )</strong><br />
+
== Debugging Functions ==
<strong>void print( string output, string color )</strong><br />
+
{{Flink|void|disable|string|desc=Disables the specified function.}}
Prints <i>output</i> to the CLI buffer and displays it in the status line of the main Adventuring window.  If <i>color</i> is specified any HTML in <i>output</i> is escaped and the string is wrapped in a font tag before being printed.</p>
+
{{Flink|void|enable|string|desc=Enables the specified function.}}
 +
{{Flink|buffer|load_html|string|desc=Works like visit_url(), but for debugging.}}
 +
{{Flink|string|make_url|string|boolean|boolean|desc=Crafts the URL to visit.}}
  
<p><strong>boolean cli_execute( string command )</strong><br />
+
== File Input/Output Functions ==
Executes the given command as if it were entered into the graphical CLI window. This can be used for CLI commands or, if you&#8217;re careful and not an asshat, for raw URLs.<br />
+
{{FunctionEmbed|buffer_to_file|format=signature|desc=yes}}
See the [http://kolmafia.sourceforge.net/scripting.html CLI manual] for more details.<br />
+
{{FunctionEmbed|file_to_array|format=signature|desc=yes}}
<em>Sample</em>:[[%28ASHRM%29_Code_Samples#Sample_4:_Hedging|Hedging]]</p>
+
{{FunctionEmbed|file_to_buffer|format=signature|desc=yes}}
 +
{{Flink|boolean|file_to_map|string|aggregate|desc=Loads a map from a tab-delimited text file.}}
 +
{{Flink|boolean|map_to_file|aggregate|string|desc=Saves a map to a tab-delimited text file.}}
  
<p><strong>void wait( int delay )</strong><br />
+
== gCLI Command Functions ==
Sleeps for <i>delay</i> seconds.</p>
+
{{FunctionEmbed|cli_execute|format=signature|desc=yes}}
 +
{{FunctionEmbed|cli_execute_output|format=signature|desc=yes}}
  
<p><strong>string get_property( string key )<br />
+
== Map Management Functions ==
boolean set_property( string key, string value )</strong><br />
+
''Note: Information about maps (including creating, assigning, and removing keys, can be found at [[Data Structures#Maps|Map Data Structures]].''
Gets or sets a stored property from your character&#8217;s .kcs file.<br />
 
The KoLmafia [[%28ASHRM%29_KoLMafia_Properties|properties]] page contains details on many of the keys that are available for access.<br />
 
<em>Sample</em>:[[%28ASHRM%29_Code_Samples#Sample_2:_Battlefield_gather|Battlefield_gather]]</p>
 
  
<p><strong>boolean file_to_map( string file_to_load, map map_to_fill )<br />
+
{{Flink|int|count|aggregate|desc=Returns the number of defined keys for the specified aggregate.}}
boolean map_to_file( map map_to_save, string file_to_write )</strong><br />
+
{{Flink|void|clear|aggregate|desc=Removes all keys from the specified aggregate.}}
Loads and saves maps as tab-delimited text files.</p>
 
  
<p><strong>int random( int range )</strong><br />
+
== Time Functions ==
Generates a random integer between 0 and (range-1) inclusive.</p>
+
{{Flink|string|format_date_time|string|string|string|desc=Reformats dates.}}
 +
{{Flink|int|gameday_to_int|desc=Returns the current KoL date as an integer.}}
 +
{{Flink|string|gameday_to_string|desc=Returns the current KoL date as a string.}}
 +
{{Flink|int|gametime_to_int|desc=Returns the current KoL time in ms as an integer.}}
 +
{{Flink|string|now_to_string|string|desc=Returns current local time/date in SimpleDateFormat format.}}
 +
{{Flink|string|time_to_string|desc=Returns the current local time in HH:mm:ss z format.}}
 +
{{Flink|string|today_to_string|desc=Returns the current local day in ISO format.}}
  
<p><strong>int round( float ratio )<br />
+
== SVN Functions ==
int floor( float ratio )<br />
+
''There is much additional information in the [[SVN Primer]]''.
int ceil( float ratio )<br />
+
{{Flink|boolean|svn_exists|string|desc=Returns true if a valid working copy named projectname exists in the svn/ folder.}}
int truncate( float ratio )</strong><br />
+
{{Flink|boolean|svn_at_head|string|desc=Returns true if projectname exists, is a valid working copy, and is currently at the same revision number as the repository.}}
Returns an integer near the given real number. Respectively, it returns the nearest, next lowest, next highest, and decimal-stripped integer.</p>
+
{{Flink|record|svn_info|string|desc=Returns a record containing additional information about the given projectname: svnurl, last author, last revision, last change date.}}
  
<p><strong>int count( map )</strong><br />
+
== User Interaction ==
Returns the number of defined keys for the aggregate.</p>
+
{{Flink|void|print|string|{{opt|string}}|desc=Prints to CLI and status line of Adventuring window, optionally in a specified color.}}
 +
{{Flink|void|print_html|string|desc=Prints to CLI, parsing any included html.}}
 +
{{Flink|void|logprint|string|desc=Prints to the session log.}}
 +
{{Flink|void|wait|int}}
 +
{{Flink|void|waitq|int|desc=Sleeps for the specified number of seconds.}}
 +
{{Flink|boolean|user_confirm|string|desc=Allows user input in Y/N format.}}
  
<p><strong>void clear( map )</strong><br />
+
== Property Functions ==
Remove all keys from a map. </p>
+
{{Flink|boolean [string]|get_all_properties|string|boolean|desc=Returns a map of all user or global properties.}}
 +
{{FunctionEmbed|property_exists|format=signature|desc=yes}}
 +
{{FunctionEmbed|property_has_default|format=signature|desc=yes}}
 +
{{FunctionEmbed|property_default_value|format=signature|desc=yes}}
 +
{{Flink|string|get_property|string}}
 +
{{Flink|string|get_property|string|boolean|desc=Gets a global or user preference as appropriate.}}
 +
{{Flink|void|set_property|string|string|desc=Sets a global or user preference as appropriate.}}
 +
{{FunctionEmbed|remove_property|format=signature|desc=yes}}
 +
{{FunctionEmbed|rename_property|format=signature|desc=yes}}
  
<p><strong>void disable( string function_name )<br />
+
== Other Functions ==
void enable( string function_name )</strong><br />
+
{{FunctionEmbed|abort|format=signature|desc=yes}}
For debugging purposes disables or enables the indicated function</p>
+
{{FunctionEmbed|all_monsters_with_id|format=signature|desc=yes}}
 +
{{Flink|void|batch_open|desc=Used to mark the beginning of a block of functions to operate in batch mode (see page for {{f|batch_close}} for details).}}
 +
{{Flink|boolean|batch_close|desc=Used to mark the end of a block of functions to operate in batch mode (see page for details).}}
 +
{{Flink|int|get_revision|desc=Returns the current KoLmafia revision number.}}
 +
{{Flink|string|get_version|desc=Returns the most recent KoLmafia version.}}
 +
{{Flink|string|get_player_id|string|desc=Returns the user id number of a given player.}}
 +
{{FunctionEmbed|is_dark_mode|format=signature|desc=yes}}
 +
{{Flink|string|to_json|aggregate|desc=Converts a simple aggregate into JSON.}}
  
<p><strong>float square_root( float value )</strong><br />
+
Additional functions that are considered not really to be ash functions are available in [[Miscellaneous ASH Features#Special Syntax Functions|Misc ASH Features]]
returns the square root of the passed value</p>
 
  
<p><strong>string today_to_string()</strong><br />
+
[[Category:Scripting]]
Returns today&#8217;s (real-world) date in the form yyyymmdd.  It is based on your computer&#8217;s system date</p>
 

Latest revision as of 14:55, 23 December 2020

Chat Functions

void chat_clan( string )

void chat_clan( string, string )

Sends a message to clan chat.

void chat_macro( string )

Submits a chat macro to KoL.

void chat_notify( string, string )

Sends a notification to the player's own chat.

void chat_private( string, string )

Sends a private message to another player.

boolean is_online( string )

Check to see if a player is online.

boolean [string] who_clan()

Returns a list of whom is in your clan and if they are in chat.

boolean can_faxbot( monster )

Check to see if a monster can be faxed.

boolean faxbot( monster )

Attempts to receive a fax of a given monster.


Debugging Functions

void disable( string )

Disables the specified function.

void enable( string )

Enables the specified function.

buffer load_html( string )

Works like visit_url(), but for debugging.

string make_url( string, boolean, boolean )

Crafts the URL to visit.


File Input/Output Functions

boolean buffer_to_filebuffer, string )

Saves a buffer to a text file. Returns true on success, false on failure.

string [int] file_to_arraystring )

Reads data from a text file and returns a map of strings containing each line.

buffer file_to_bufferstring )

Loads the entire contents of a text file into a buffer.

boolean file_to_map( string, aggregate )

Loads a map from a tab-delimited text file.

boolean map_to_file( aggregate, string )

Saves a map to a tab-delimited text file.


gCLI Command Functions

boolean cli_executestring )

Executes a string as a gCLI command. Returns true on success, false on failure.

string cli_execute_outputstring )

Executes a gCLI command, capturing and returning the gCLI output.

Map Management Functions

Note: Information about maps (including creating, assigning, and removing keys, can be found at Map Data Structures.

int count( aggregate )

Returns the number of defined keys for the specified aggregate.

void clear( aggregate )

Removes all keys from the specified aggregate.


Time Functions

string format_date_time( string, string, string )

Reformats dates.

int gameday_to_int()

Returns the current KoL date as an integer.

string gameday_to_string()

Returns the current KoL date as a string.

int gametime_to_int()

Returns the current KoL time in ms as an integer.

string now_to_string( string )

Returns current local time/date in SimpleDateFormat format.

string time_to_string()

Returns the current local time in HH:mm:ss z format.

string today_to_string()

Returns the current local day in ISO format.


SVN Functions

There is much additional information in the SVN Primer.

boolean svn_exists( string )

Returns true if a valid working copy named projectname exists in the svn/ folder.

boolean svn_at_head( string )

Returns true if projectname exists, is a valid working copy, and is currently at the same revision number as the repository.

record svn_info( string )

Returns a record containing additional information about the given projectname: svnurl, last author, last revision, last change date.


User Interaction

void print( string, [string] )

Prints to CLI and status line of Adventuring window, optionally in a specified color.

void print_html( string )

Prints to CLI, parsing any included html.

void logprint( string )

Prints to the session log.

void wait( int )

void waitq( int )

Sleeps for the specified number of seconds.

boolean user_confirm( string )

Allows user input in Y/N format.


Property Functions

boolean [string] get_all_properties( string, boolean )

Returns a map of all user or global properties.

boolean property_existsstring, boolean? )

Checks whether a property exists.

boolean property_has_defaultstring )

Checks if a property has a built-in default value.

string property_default_valuestring )

Returns the default value of a property, or an empty string if a default value does not exist.

string get_property( string )

string get_property( string, boolean )

Gets a global or user preference as appropriate.

void set_property( string, string )

Sets a global or user preference as appropriate.

string remove_propertystring, boolean? )

Removes or resets a property and returns its previous value.

boolean rename_propertystring, string )

Renames a property. Returns true on success, false on failure.

Other Functions

void abortstring? )

Immediately halts the current script and all queued functions.

boolean [monster] all_monsters_with_id()

Returns a map of all monsters that have a non-zero monster ID.

void batch_open()

Used to mark the beginning of a block of functions to operate in batch mode (see page for batch_close() for details).

boolean batch_close()

Used to mark the end of a block of functions to operate in batch mode (see page for details).

int get_revision()

Returns the current KoLmafia revision number.

string get_version()

Returns the most recent KoLmafia version.

string get_player_id( string )

Returns the user id number of a given player.

boolean is_dark_mode()

Checks if the current KoLmafia theme is dark mode.

string to_json( aggregate )

Converts a simple aggregate into JSON.


Additional functions that are considered not really to be ash functions are available in Misc ASH Features