Difference between revisions of "Miscellaneous Functions"

From Kolmafia
Jump to navigation Jump to search
imported>Efilnikufecin
 
(Add "gCLI Command Functions" section)
 
(296 intermediate revisions by more than 100 users not shown)
Line 1: Line 1:
 +
{{TOCright}}
 +
== Chat Functions ==
 +
{{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.}}
  
Part 6 - Miscellaneous
+
== Debugging Functions ==
 +
{{Flink|void|disable|string|desc=Disables the specified function.}}
 +
{{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.}}
  
Mostly internal stuff. Some good for everyone, some only for ASH wizards.
+
== File Input/Output Functions ==
 +
{{FunctionEmbed|buffer_to_file|format=signature|desc=yes}}
 +
{{FunctionEmbed|file_to_array|format=signature|desc=yes}}
 +
{{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.}}
  
void print( string helloworld )
+
== gCLI Command Functions ==
Prints the given string to the graphical CLI window and to the status line of the main Adventuring window
+
{{FunctionEmbed|cli_execute|format=signature|desc=yes}}
 +
{{FunctionEmbed|cli_execute_output|format=signature|desc=yes}}
  
boolean cli_execute( string command )
+
== Map Management 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’re careful and not an asshat, for raw URLs. See the CLI manual for more details.
+
''Note: Information about maps (including creating, assigning, and removing keys, can be found at [[Data Structures#Maps|Map Data Structures]].''
Sample:Hedging
 
  
void wait( int delay )
+
{{Flink|int|count|aggregate|desc=Returns the number of defined keys for the specified aggregate.}}
Does nothing for the desired number of seconds.
+
{{Flink|void|clear|aggregate|desc=Removes all keys from the specified aggregate.}}
  
string get_property( string key )
+
== Time Functions ==
boolean set_property( string key, string value )
+
{{Flink|string|format_date_time|string|string|string|desc=Reformats dates.}}
Gets or sets a stored property from your character’s .kcs file. The KoLmafia properties page contains details on many of the keys that are available for access.
+
{{Flink|int|gameday_to_int|desc=Returns the current KoL date as an integer.}}
Sample:Battlefield_gather
+
{{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.}}
  
string boolean_to_string( boolean flag )
+
== SVN Functions ==
string int_to_string( int number )
+
''There is much additional information in the [[SVN Primer]]''.
string float_to_string( float number )
+
{{Flink|boolean|svn_exists|string|desc=Returns true if a valid working copy named projectname exists in the svn/ folder.}}
string item_to_string( item it )
+
{{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.}}
string zodiac_to_string( zodiac sign )
+
{{Flink|record|svn_info|string|desc=Returns a record containing additional information about the given projectname: svnurl, last author, last revision, last change date.}}
string location_to_string( location place )
 
string familiar_to_string( class cl )
 
string class_to_string( class cl )
 
string stat_to_string( stat st )
 
string skill_to_string( skill sk )
 
string effect_to_string( effect ef )
 
string element_to_string( element el )
 
string slot_to_string( slot sl )
 
string monster_to_string( monster eek )
 
Converts in-game variables to printable counterparts. The print command will cast non-string values properly now, but these are still useful for building URLs and setting properties.
 
  
boolean string_to_boolean( string str )
+
== User Interaction ==
int string_to_int( string str )
+
{{Flink|void|print|string|{{opt|string}}|desc=Prints to CLI and status line of Adventuring window, optionally in a specified color.}}
float string_to_float( string str )
+
{{Flink|void|print_html|string|desc=Prints to CLI, parsing any included html.}}
item string_to_item( string str )
+
{{Flink|void|logprint|string|desc=Prints to the session log.}}
zodiac string_to_zodiac( string str )
+
{{Flink|void|wait|int}}
location string_to_location( string str )
+
{{Flink|void|waitq|int|desc=Sleeps for the specified number of seconds.}}
familiar string_to_familiar( string str )
+
{{Flink|boolean|user_confirm|string|desc=Allows user input in Y/N format.}}
class string_to_class( string str )
 
stat string_to_stat( string str )
 
skill string_to_skill( string str )
 
effect string_to_effect( string str )
 
slot string_to_slot( string str )
 
element string_to_element( string str )
 
monster string_to_monster( string str )
 
Converts strings to ASH variables. Useful for converting the result of a get_property() call intoa legitimate value.
 
  
int item_to_int( item it )
+
== Property Functions ==
int skill_to_int ( skill sk )
+
{{Flink|boolean [string]|get_all_properties|string|boolean|desc=Returns a map of all user or global properties.}}
int effect_to_int ( effect eff )
+
{{FunctionEmbed|property_exists|format=signature|desc=yes}}
int familiar_to_int ( familiar pet )
+
{{FunctionEmbed|property_has_default|format=signature|desc=yes}}
int slot_to_int ( slot sl )
+
{{FunctionEmbed|property_default_value|format=signature|desc=yes}}
int element_to_int ( element el )
+
{{Flink|string|get_property|string}}
Converts the ASH-based object into the number that will be recognized by the KoL server. Needed when you’re building raw URLs from time to time.
+
{{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}}
  
item int_to_item( int nItem )
+
== Other Functions ==
skill int_to_skill ( int nSkill )
+
{{FunctionEmbed|abort|format=signature|desc=yes}}
effect int_to_effect ( int nEffect )
+
{{FunctionEmbed|all_monsters_with_id|format=signature|desc=yes}}
familiar int_to_familiar ( int nFamiliar )
+
{{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).}}
slot int_to_slot ( int nSlot )
+
{{Flink|boolean|batch_close|desc=Used to mark the end of a block of functions to operate in batch mode (see page for details).}}
element int_to_element ( int nElement )
+
{{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.}}
  
Converts the KoL-based number into an associated ASH object. These aren’t the commands you’re looking for. You can go about your business.
+
Additional functions that are considered not really to be ash functions are available in [[Miscellaneous ASH Features#Special Syntax Functions|Misc ASH Features]]
  
void file_to_map( string file_to_load, map map_to_fill )
+
[[Category:Scripting]]
void map_to_file( map map_to_save, string file_to_write )
 
Loads and saves maps as tab-delimited text files.
 
 
 
int random( int range )
 
Generates a random integer between 0 and (range-1) inclusive.
 
 
 
int round( float ratio )
 
int floor( float ratio )
 
int ceil( float ratio )
 
int truncate( float ratio )
 
Returns an integer near the given real number. Respectively, it returns the nearest, next lowest, next highest, and decimal-stripped integer.
 
 
 
int count( map )
 
Returns the number of defined keys for the aggregate.
 
 
 
void clear( map )
 
Remove all keys from a map.
 
 
 
void disable( string function_name )
 
void enable( string function_name )
 
For debugging purposes disables or enables the indicated function
 
 
 
float square_root( float value )
 
returns the square root of the passed value
 

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