◢███◤      ◢██◤                            ◢██◤                            
     ◢██◤       ◢██◤                            ◢██◤                             
    ◢██◤       ◢██◤                            ◢██◤                              
   ◢██◤       ◢██◤                            ◢██◤                               
  ◢██◤       ◢██◤                            ◢██◤                                
◢███◤       ◢██◤                            ◢██◤                          ◥██◣   
◥███       ◢█████◣    ◢████████◤ ◢███████◤ ◢██◤ ◢██◤                 ◢██◤   ██◣  
 ███      ◢███████◣        ◢██◤ ◢██◤ ◢██◤ ◢███████◤                 ◢██◤    ███  
 ███     ◢██◤  ◢██◤ ◢████████◤ ◢██◤      ◢█████◣                   ◢██◤     ███  
 ███    ◢██◤  ◢██◤ ◢██◤  ███◤ ◢██◤ ◢██◤ ◢██◤◥███◣                 ◢██◤      ███  
 ◥██   ◢██◤  ◢██◤ ◢████████◤ ◢███████◤ ◢██◤  ◥███◣               ◢██◤       ███◣ 
  ◥██◣                                                          ◢██◤       ◢███◤ 
                                 ◢███◤ ◢███◤ ◢██◤  ◢██◤ ◢█████████◤       ◢██◤   
                                ◢█████████◤ ◢██◤  ◢██◤ ◢██◤  ████◤       ◢██◤    
                               ◢██◤◢█◤◢██◤ ◢██◤  ◢██◤ ◢██◤   ███◤       ◢██◤     
                              ◢██◤   ◢██◤ ◢████████◤ ◢█████████◤       ◢██◤      
                             ◢██◤   ◢██◤ ◢████████◤ ◢█████████◤      ◢███◤       

The Trust Scripts - Documentation For 'scripts.trust' Scripts
`EPLACEHOLDER: Something something overview about how trust scripts will always do what they say they will.` `f#---------------------#` `F____ ____ ____ ___ ____` `F|__| | | | [__ ` `F| | |___ |___ | ___]` `f#---------------------#` `ASCRIPT:` `Faccts`.`Lbalance` `ASECLVL:` `HHIGHSEC` `ASUMMARY:` Shows your `CGC` balance `AARGUMENTS:` Default Mode `Nis_script` `V{boolean}` [`COPTIONAL`] If true, output is a number, otherwise a `CGC` string `ADESCRIPTION:` Shows how much `CGC` you have (and, if called on the CLI, updates the top-right box). If called on the CLI (or in a script with is_script:false), returns your `CGC` as a `CGC` string like `B1``LM``B234``NK``B567``CGC`. If called in a script (or with is_script:true on the CLI), returns a raw number like 1234567. `f#---------------------#` `ASCRIPT:` `Faccts`.`Ltransactions` SECLVL: `JHIGHSEC` `ASUMMARY:` List your transactions `AARGUMENTS:` Default Mode `Ncount` `V{number or "all"}` [`COPTIONAL`] How many transactions to include. Defaults to 5. `Nto` `V{string}` [`COPTIONAL`] Show only transactions to the specified user `Nfrom` `V{string}` [`COPTIONAL`] Show only transactions from the specified user `Nscript` `V{string}` [`COPTIONAL`] Show only transactions made by the specified script `Nis_script` `V{boolean}` [`COPTIONAL`] Whether to get CLI or script-style output. `ADESCRIPTION:` Lists all your transactions. With no arguments, returns your most recent 5 transactions. Each transaction includes the time, amount, sender, recipient, script that caused the xfer, and possibly a memo. Transactions can be filtered with the arguments, to narrow down transactions. On the CLI (or with `Nis_script`:`Vfalse`), amounts are `CGC` strings and dates are in the game-style. In a script, or with `Nis_script`:`Vtrue`, amounts are numbers and dates are in normal/JS style. `f#---------------------#` `ASCRIPT:` `Faccts`.`Lxfer_gc_to` `ASECLVL:` `FMIDSEC` `ASUMMARY:` Transfer `CGC` to someone `AARGUMENTS:` Default Mode `Nto` `V{string}` [`BREQUIRED`] Who should get the `CGC` `Namount` `V{number or GC string}` [`BREQUIRED`] How much `CGC` to transfer `Nmemo` `V{string}` [`COPTIONAL`] A memo to attach to the transaction `ADESCRIPTION:` Transfers `CGC` to target user. `f#---------------------#` `ASCRIPT:` `Faccts`.`Lxfer_gc_to_caller` `ASECLVL:` `LFULLSEC` `ASUMMARY:` Transfer `CGC` to a script caller `AARGUMENTS:` Default Mode `Namount` `V{number or GC string}` [`BREQUIRED`] How much `CGC` to transfer `Nmemo` `V{string}` [`COPTIONAL`] A memo to attach to the transaction `ADESCRIPTION:` Can only be used as a subscript within another script. Transfers `CGC` to the caller of the containing script - i.e. the user specified in context.caller `f#---------------------#` `F____ _ _ ___ ____ ____` `F|__| | | | | | [__ ` `F| | |__| | |__| ___]` `f#---------------------#` `ASCRIPT:` `Fautos`.`Lreset` `ASECLVL:` `FMIDSEC` `ASUMMARY:` Resets your autocompletes `AARGUMENTS:` None `ADESCRIPTION:` Removes almost all autocompletes, keeping only `Fkernel`.`Lhardline`, `Fscripts`.`Ltrust`, `Ftrust`.`Lsentience`, and the client commands (`Ahelp`, `Ashutdown`, etc.) `f#---------------------#` `F____ _ _ ____ ___ ____` `F| |__| |__| | [__ ` `F|___ | | | | | ___]` `f#---------------------#` `ASCRIPT:` `Fchats`.`Lchannels` `ASECLVL:` `FMIDSEC` `ASUMMARY:` Lists chat channels you have joined `AARGUMENTS:` None `ADESCRIPTION:` This script returns an array of the chat channels you have joined, including corporate channels. `f#---------------------#` `ASCRIPT:` `Fchats`.`Lchannels` `ASECLVL:` `LFULLSEC` `ASUMMARY:` Create a new chat channel `AARGUMENTS:` Default Mode `Nname` `V{string}` [`BREQUIRED`] The name of the channel to create `Npassword` `V{string}` [`COPTIONAL`] The password to secure the channel with `ADESCRIPTION` This script lets you create a new chat channel. You cannot create a channel that already exists (including any of the default ports from 0000 to FFFF). If you do not supply a password, anyone can join your channel (but the channel name is not displayed anywhere, so they would have to discover it in some way first) `f#---------------------#` `ASCRIPT:` `Fchats`.`Ljoin` `ASECLVL:` `FMIDSEC` `ASUMMARY:` Join a chat channel `AARGUMENTS:` Default Mode `Nchannel` `V{string}` [`BREQUIRED`] The channel to join `Npassword` `V{string}` [`COPTIONAL`] The password for the channel, if necessary `ADESCRIPTION:` This script lets you join a chat channel. If the channel has a password, you must specify it with password. Note that you can only join corporate channels if you are hired. By default, you can only be in 5 channels at a time (including corporate channels). This limit can be increased with channel_count upgrades. `f#---------------------#` `ASCRIPT:` `Fchats`.`Lleave` `ASECLVL:` `FMIDSEC` `ASUMMARY:` Leave a chat channel `AARGUMENTS:` Default Mode `Nchannel` `V{string}` [`BREQUIRED`] The channel to leave `ADESCRIPTION:` This script lets you leave a chat channel. You cannot leave corporate channels - you must either quite or be fired. `f#---------------------#` `ASCRIPT:` `Fchats`.`Lsend` `ASECLVL:` `LFULLSEC` `ASUMMARY:` Send a chat message to a channel `AARGUMENTS:` Default Mode `Nchannel` `V{string}` [`BREQUIRED`] The channel to send the message to `Nmsg` `V{string}` [`BREQUIRED`] The message to send `ADESCRIPTION:` This script lets you send a message to the specified channel. You must have already joined the channel. `f#---------------------#` `ASCRIPT:` `Fchats`.`Ltell` `ASECLVL:` `LFULLSEC` `ASUMMARY:` Send a chat message to a specified user `AARGUMENTS:` Default Mode `Nto` `V{string}` [`BREQUIRED`] The name of the user to send the message to `Nmsg` `V{string}` [`BREQUIRED`] The message to send `ADESCRIPTION:` This script lets you send a message to a user directly. You can message any user, you only need their username. `f#---------------------#` `ASCRIPT:` `Fchats`.`Lusers` `ASECLVL:` `FMIDSEC` `ASUMMARY:` List the users in a channel `AARGUMENTS:` Default Mode `Nchannel` `V{string}` [`BREQUIRED`] The channel to check. `ADESCRIPTION:` This script lets you see which users are in a channel. Users who have been active within the last hour will have a * before their name and be sorted to the bottom of the list. Note that you can only view the users of a channel you are currently in. `f#----------------------#` `F____ ____ ____ ___ ____` `F| | | |__/ |__] [__ ` `F|___ |__| | \ | ___]` `f#----------------------#` `ASCRIPT:` `Fcorps`.`Lcreate` `ASECLVL:` `dNULLSEC` `ASUMMARY:` Create a new corporation `AARGUMENTS:` Default Mode `Nname` `V{string}` [`BREQUIRED`] The name of the new corporation `ADESCRIPTION:` Creates a new corporation with the given name and automatically adds the user who ran it to that corp. Creating a corp costs `B1``JB``CGC`. Will also automatically create (and join) the corp chat channel - a special chat channel with the same name as the corp that can only be accessed by corp members. Corps share the same namespace as users, so a corp cannot be created with the same name as an existing user and vice versa. `f#----------------------#` `ASCRIPT:` `Fcorps`.`Lhire` `ASECLVL:` `dNULLSEC` `ASUMMARY:` Invite another user to your corp `AARGUMENTS:` Default Mode `Nname` `V{string}` [`BREQUIRED`] The name of the user to hire `ADESCRIPTION:` Will send an offer to the specified user to join your corp, which they can accept with `Fcorps`.`Loffers` (see below). In order to send a hiring offer you must be either the owner or an admin of an existing corporation. `f#----------------------#` `ASCRIPT:` `Fcorps`.`Lmanage` `ASECLVL:` `dNULLSEC` `ASUMMARY:` Manage various aspects of your corp `AARGUMENTS:` Default Mode `Ncommand` `V{string}` [`BREQUIRED`] The command to perform - one of either `V"list"`, `V"promote"`, `V"demote"`, or `V"fire"` Promote/Demote/Fire Mode `Nname` `V{string}` [`BREQUIRED`] If `Ncommand` is `V"promote"`, `V"demote"`, or `V"fire"`, this is the name of the user to perform the relevant action on `ADESCRIPTION:` Allows corp owners to manage their corporation. `Ncommand`:`V"list"` lists all current corp members and whether they are an admin. `Ncommand`:`V"promote"` promotes a regular member to an admin, which allows them to hire other users. `Ncommand`:`V"demote"` demotes an admin to a regular member, which cannot hire other users. `Ncommand`:`V"fire"` removes a user from the corporation entirely, also removing them from the corp chat channel. `f#----------------------#` `ASCRIPT:` `Fcorps`.`Loffers` `ASECLVL:` `dNULLSEC` `ASUMMARY:` List and accept pending corp hiring offers `AARGUMENTS:` Default Mode `Naccept` `V{string}` [`COPTIONAL`] The name of a corp whose offer you would like to accept `ADESCRIPTION:` When run without arguments, shows your current corp (or null if you do not belong to one) and any open hiring offers. To accept a specific offer of employment, use `Naccept` and pass the name of the corp whose offer you would like to accept. `f#----------------------#` `ASCRIPT:` `Fcorps`.`Lquit` `ASECLVL:` `dNULLSEC` `ASUMMARY:` Quit your current corp `AARGUMENTS:` Default Mode `Nconfirm` `V{boolean}` [`COPTIONAL`] Required to confirm your intent to quit the corporation `ADESCRIPTION:` Quit the corporation to which you currently belong. This will also remove you from the corp chat channel. If quitting will result in the corp having 0 members, then it is dissolved. `f#----------------------#` `ASCRIPT:` `Fcorps`.`Ltop` `ASECLVL:` `dNULLSEC` `ASUMMARY:` Lists the 10 most wealthy corporations, and the worth of your own corp `AARGUMENTS:` None `ADESCRIPTION:` Lists the rank, name, and worth of the 10 most wealthy corps. Worth is determined by the sum of the balances of all members of that corp. If you are in a corp, also shows the name and worth of your own corp. `f#----------------------------#` `F____ ____ ____ ____ ____ _ _ _` `F|___ [__ | |__/ | | | | |` `F|___ ___] |___ | \ |__| |_|_|` `f#----------------------------#` `ASCRIPT:` `Fescrow`.`Lcharge` `ASECLVL:` `LFULLSEC` `ASUMMARY:` Charge for scripts at FULLSEC, with confirmation `AARGUMENTS:` Default Mode `Ncost` `V{number or GC string}` [`BREQUIRED`] The price of the script. `Nis_unlim` `V{boolean}` [`COPTIONAL`] If true, indicates that the cost lets you call the script as many times as you want in 30 days. Otherwise, the cost is per run. `ADESCRIPTION:` Allows you to charge for scripts while still maintaining `LFULLSEC` (as opposed to `Faccts`.`Lxfer_gc_to`, which would make your script `FMIDSEC`). It does this by requiring the caller to manually confirm the charges before they are actually required to pay. If called by a user who has not confirmed that escrow, the script will return a message telling them to do so. Script authors should return this message to the shell to allow the user to see it. If they have already confirmed this escrow, the script will charge them the agreed upon price and then return null. This has led to the calling convention: `Cvar result = #fs.escrow.charge({cost:<num or GC string>, is_unlim:<true or false>});` `Cif(result) return result;` `C...` Note that it will always return null for the script owner, so an alt may be required for debugging. If this is called twice in a single script run (including sub-scripts), this returns an error message to prevent multiple charges. If the amount charged changes in the same script, previously confirmed escrows are automatically invalidated. Otherwise, confirmed escrows remain in effect for 30 days, without the need to reconfirm. `CGC` is sent to trust, and distributed back to the script owner at 00:00 UTC the next day. This script cannot meaningfully be called on the command line. `f#---------------------#` `ASCRIPT:` `Fescrow`.`Lconfirm` `ASECLVL:` `LFULLSEC` `ASUMMARY:` Confirm escrow charges `AARGUMENTS:` Default Mode `Ki` `V{string}` [`BREQUIRED`] The escrow token to confirm `Kconfirm` `V{boolean}` [`COPTIONAL`] Whether you wish to confirm the charges `ADESCRIPTION:` This script allows you to confirm an `Fescrow`.`Lcharge`. You provide it with the token given to you by `Fescrow`.`Lcharge`. It is good practice to call this WITHOUT `Kconfirm` first, so that you can verify the cost and unlimited state. Scripts which use `Fescrow`.`Lcharge` can alter the cost message, so never trust them automatically. Confirmation lasts for 30 days or until the price of the script changes, at which point reconfirmation is required before the script can charge you again. `f#---------#` `F____ _ _ _` `F| __ | | |` `F|__] |__| |` `f#---------#` `ASCRIPT:` `Fgui`.`Lchats` `ASECLVL:` `LFULLSEC` `ASUMMARY:` Toggles where chats are displayed `AARGUMENTS:` Default Mode `Nshell` `V{boolean}` Whether to display chat messages in the main shell window `Nchat` `V{boolean}` Whether to display chat messages in the right-hand chat window `ADESCRIPTION:` This changes where chat messages are displayed. By default, chats are visible in both the shell window and the chat window. Use of this script allows you to disable one or both of those behaviours. Note that as a consequence, this will also affect whether chat messages are saved in shell.txt and/or chats.txt in the hackmud directory. `f#---------#` `ASCRIPT:` `Fgui`.`Lquiet` `ASECLVL:` `LFULLSEC` `ASUMMARY:` Visually quiets chats from some users `AARGUMENTS:` Default Mode `Nadd` `V{string}` Name of a user to add to the quiet list `Nremove` `V{string}` Name of a user to remove from the quiet list `Nlist` `V{boolean}` When true, displays the quiet list `Nclear` `V{boolean}` When true, empties the quiet list `ADESCRIPTION:` Controls an in-game list of users whose chats are displayed in muted colors. For single-line chat messages, they become a very muted dark grey. For messages containing newlines, however, they only revert to the default blue. Note that quieted chats may still add to your autocompletes. `f#---------#` `ASCRIPT:` `Fgui`.`Lsize` `ASECLVL:` `LFULLSEC` `ASUMMARY:` Changes GUI size setting `AARGUMENTS:` Default Mode `Ni` `V{integer}` [`BREQUIRED`] Scale factor for the GUI size [-20, 20] `ADESCRIPTION:` Changes your GUI size setting, which affects the scale of the GUI. Negative values reduce the size and positive values increase it. Valid values are from -20 to 20, inclusive. Running this script without the necessary argument will also display your current size setting. `f#---------#` `ASCRIPT:` `Fgui`.`Lvfx` `ASECLVL:` `LFULLSEC` `ASUMMARY:` Adjusts strength of visual effects `AARGUMENTS:` Default Mode `Nbloom` `V{integer}` Controls the strength of the bloom effect [0, 11] `Nnoise` `V{integer}` Controls the strength of the noise effect [0, 11] `Nscan` `V{integer}` Controls the strength of the scan effect [0, 11] `Nbend` `V{integer}` Controls the strength of the bend effect [0, 11] `ADESCRIPTION:` Allows you to adjust the strength of certain visual effects on the GUI. Valid values are from 0 to 11, inclusive. A value of 0 will effectively disable the corresponding effect. Bloom controls how much bright colors will "bleed" into surrounding dark areas. Noise controls the noise/grain effect in the background. Scan controls the simulated scan-line effect in the background. Bend controls the warping of the GUI to simulate a curved screen surface. Running the script without args will display your current settings. `f#---------#` `ASCRIPT:` `Fgui`.`Lvol` `ASECLVL:` `LFULLSEC` `ASUMMARY:` Adjusts volume settings `AARGUMENTS:` Default Mode `Nsfx` `V{integer}` The volume of all non-music sound effects [0, 11] `Nbgm` `V{integer}` The volume of the background music [0, 11] `ADESCRIPTION:` Allows you to adjust the volume of the game. Valid values are from 0 to 11, inclusive. A value of 0 will mute that sound category entirely. `f#---------------------------#` `F_ _ ____ ____ _ _ ____ _ ` `F|_/ |___ |__/ |\ | |___ | ` `F| \_ |___ | \ | \| |___ |___` `f#---------------------------#` `ASCRIPT:` `Fkernel`.`Lhardline` `ASECLVL:` `DLOWSEC` `ASUMMARY:` Enter or exit hardline mode `AARGUMENTS:` Default Mode `Ndc` `V{boolean}` [`COPTIONAL`] If `Ndc` === `Vtrue` (specifically the boolean `Vtrue`, not any truthy), disconnects from active hardline `ADESCRIPTION:` This script lets you enter or exit hardline mode. You must be hardlined in order to connect to locs and to run "PVP" scripts, such as `Fsys`.`Lexpose_balance`. `f#--------------------------#` `F_ _ ____ ____ _ _ ____ ___` `F|\/| |__| |__/ |_/ |___ | ` `F| | | | | \ | \_ |___ | ` `f#--------------------------#` `E[PLACEHOLDER]` `f#----------------------------#` `F____ ____ ____ _ ___ ___ ____` `F[__ | |__/ | |__] | [__ ` `F___] |___ | \ | | | ___]` `f#----------------------------#` `E[PLACEHOLDER]` `f#-------------#` `F____ _ _ ____` `F[__ \_/ [__ ` `F___] | ___]` `f#-------------#` `E[PLACEHOLDER]` `f#--------------------#` `F___ ____ _ _ ____ ___` `F | |__/ | | [__ | ` `F | | \ |__| ___] | ` `f#--------------------#` `ASCRIPT:` `Ftrust`.`Lme` `ASECLVL:` `dNULLSEC` `ASUMMARY:` Thanks the user `AARGUMENTS:` Unknown `ADESCRIPTION:` Thanks the user, presumably for trusting trust enough to run her `dNULLSEC` script. Though nothing adverse has been observed, full details on this mysterious script remain unknown. `f#----------------------#` `F_ _ ____ ____ ____ ____` `F| | [__ |___ |__/ [__ ` `F|__| ___] |___ | \ ___]` `f#----------------------#` `ASCRIPT:` `Fusers`.`Lactive` `ASECLVL:` `LFULLSEC` `ASUMMARY:` Displays number of active users `AARGUMENTS:` None `ADESCRIPTION:` Returns the number of users who have been active within the last hour. This includes users kept active with cron bots or the official chat API. `f#----------------------#` `ASCRIPT:` `Fusers`.`Llast_action` `ASECLVL:` `LFULLSEC` `AARGUMENTS:` Default Mode `Nname` `V{string or array of strings}` [`BREQUIRED`] A single name or an array of names of the user(s) to check `ADESCRIPTION:` Returns the last-action time(s) of the specified user(s). If an array is supplied, it can contain at most 50 usernames to check. Last-action for a user is updated by any action other than switching away from that user, including: switching to them, running scripts, cron bot activity, and chat activity. Names of users that don't exist or that are still in the vLAN will return null, while names of corps will return the corp name but no associated time. `f#----------------------#` `ASCRIPT:` `Fusers`.`Ltop` `ASECLVL:` `LFULLSEC` `ASUMMARY:` Lists the wealthiest users `AARGUMENTS:` None `ADESCRIPTION:` Displays the top 10 users with the most `CGC`. In addition to their name, it shows: their rank (1-10), their last-action rounded to the nearest day, and their `CGC` balance.
locked by professor
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -