Slash Commands: Difference between revisions

From Unofficial Homecoming Wiki
Jump to navigation Jump to search
mNo edit summary
(typo and slightly clarified activation sequence.)
Line 11: Line 11:
Note that when concatenating two or more commands, the slash is used on only the first command.
Note that when concatenating two or more commands, the slash is used on only the first command.


== Activation Sequence of Concatenated Commands ==
== Parsing Concatenated Commands ==
When multiple commands are strung together, the activation sequence of each command changes depending on the kind of command that is being executed. Commands that execute powers, such as powexec_name, activate from right to left; whereas most other commands (such as messages, "Forward", "Petcom Attack", "Follow", etc.) activate from left to right. This behavior is due to commands interrupting previous commands that have a long activation times. Animation times can also impact the sequence in which commands are executed. For example, commands for powers and emotes have activation and/or animation times which slow their execution; whereas most other commands are executed more or less instantly.  
When multiple commands are strung together in a string (i.e., concatenated), the game executes each slash command in sequence from left to right. However, what command actually activates and when depends on the kind of command that is being executed. Commands that execute powers, such as {{slashcommand|powexec_name}}, appear to activate from ''right to left'' because commands with activation times interrupt each other as the game attempts to execute them. Most other commands (such as messages, "Forward", "Petcom Attack", "Follow", {{slashcommand|powexec_toggleoff}}, etc.) activate normally (from left to right) because they essentially take no time to execute. Animation times can also cause a command to be interrupted, preventing its activation. For example, when the game attempts to execute the command string <code>\powexec_name fly$$powexec_name invincibility$$powexec_name unyielding</code>, the game first attempts to execute Fly, but before Fly can fully activate it is interrupted by the next power in the string, Invincibility. That power then attempts to activate, but before it has time to do so it is interrupted by Unyielding. The last power in the string, Unyielding, activates because there's no command after it to stop it from processing through its activation and animation times.


== Substitution Strings ==
== Substitution Strings ==

Revision as of 23:44, 9 October 2024

Overview

In City of Heroes and City of Villains, there are a number of commands that can be typed on the chat command line to execute various functions. These are known as slash commands, because they begin with a slash (/). Slash commands often have underscores within the name to improve legibility, but they are not needed to actually take effect, i.e. /PowExec_Name, /Pow_Exec_Name, /P_o_w_E_x_e_c_n_a_m_e all perform the same way. Almost every action taken in the game is a slash command bound to a key. The number 1 is "pow_exec_slot 1", which executes the power in slot 1 of your power tray. Some slash commands, such as the movement commands, should not be called from the chatbox without taking care and knowing what will occur. See List of Slash Commands for a list of known slash commands; see also Category:Slash Commands.

Concatenating Commands

Multiple commands may be strung together for simultaneous execution using the '$$' operator. For example, the following command will cause a character to say "Ready!" and perform the "thumbsup" emote at the same time.

/local Ready!$$emote thumbsup

Note that when concatenating two or more commands, the slash is used on only the first command.

Parsing Concatenated Commands

When multiple commands are strung together in a string (i.e., concatenated), the game executes each slash command in sequence from left to right. However, what command actually activates and when depends on the kind of command that is being executed. Commands that execute powers, such as /powexec_name, appear to activate from right to left because commands with activation times interrupt each other as the game attempts to execute them. Most other commands (such as messages, "Forward", "Petcom Attack", "Follow", /powexec_toggleoff, etc.) activate normally (from left to right) because they essentially take no time to execute. Animation times can also cause a command to be interrupted, preventing its activation. For example, when the game attempts to execute the command string \powexec_name fly$$powexec_name invincibility$$powexec_name unyielding, the game first attempts to execute Fly, but before Fly can fully activate it is interrupted by the next power in the string, Invincibility. That power then attempts to activate, but before it has time to do so it is interrupted by Unyielding. The last power in the string, Unyielding, activates because there's no command after it to stop it from processing through its activation and animation times.

Substitution Strings

Substitution strings, also referred to as variables, allow you to create commands that will display the same basic behavior each time they are used, but will vary slightly depending on certain variable conditions such as your current character or your currently selected target. When a variable is used the appropriate information referring to your target or character is substituted for the variable before it is sent to the appropriate communication channel. Several pre-defined substitution strings exist and are denoted by a single '$' prefix:

  • $archetype - the archetype of your character
  • $battlecry - your character's battlecry, as entered on your character ID screen
  • $level - your character's current level
  • $name - your character's name
  • $primary - your primary power set
  • $secondary - your secondary power set
  • $origin - your character's origin
  • $target - your currently selected target's name
  • $side - displays "Hero" or "Villain" depending on your character's current content flag (see Variables page for more details)
  • $loc - your current coordinates as a clickable thumbtack link

For example, if a level 12 natural-origin scrapper named Captain Obvious were to target a Behemoth Overlord, the following command would cause him to say "I, Captain Obvious, a level 12 natural scrapper, challenge you, Behemoth Overlord, to a battle to the death!" in his currently selected chat channel.

/local "I, $name, a level $level $origin $archetype, challenge you, $target, to a battle to the death!"

The same command, executed by a level 42 magic-origin brute named Mauler who is targeting Arbiter Howe would cause the character to say, "I, Mauler, a level 42 magic brute, challenge you, Arbiter Howe, to a battle to the death!"

Command Line Parameters

Many slash commands, especially graphics commands, can also be used as command line parameters or launch parameters.


See Also