Popmenu (Slash Command)

From Unofficial Homecoming Wiki
Jump to navigation Jump to search

SlashCommand

/popmenu menuname

This command opens a custom pop-up menu by menuname at the current cursor's location.

Creating the Popmenu

Custom pop-up menu files are read from the following directory:

<COH_INSTALL_DIRECTORY>\data\texts\<LANGUAGE>\Menus\

<LANGUAGE> may be one of the following and needs to match the language of the version of City of Heroes that is installed:

  • ChineseTraditional
  • English
  • French
  • German
  • Japanese
  • Korean
  • uk

City of Heroes looks in this directory for files with the .mnu file extension. If none are found, it uses the internal default quickchat menu. If there is a customized quickchat.mnu file found, that will be used in place of the internal default when you click the "Quick Chat" button. You can place multiple files with the extension .mnu in this directory and they will be available for use with the popmenu command.

Syntax

MNU files can be edited in any text editor. Menus have the following general structure:

Menu MenuName
{
    Title TitleName
    Option OptionName Command
    Divider
    Title TitleName
    Option OptionName Command
    Menu SubMenuName
    {
        Title TitleName
        Option OptionName Command
        Divider
        LockedOption
        {
            DisplayName OptionName
            Command Command
            Authbit AuthIdentifiers
            Badge BadgeIdentifiers
            RewardToken RewardIdentifiers
            StoreProduct ProductIdentifiers
        }
  • Menu defines one or more Option command. Menus can be nested, but each sub-menu requires its own pair of curly braces.
    • MenuName is the name of the menu opened by the /popmenu menu name slash command.
    • To create a menu name of more than one word with spaces between them, enclose it in quotes.
  • Title is an optional element.
    • TitleName labels a menu, or a section of a menu. Titles are not selectable.
    • Menus can have more than one Title.
  • Divider places a horizontal line in the menu.
  • Option is a selectable command within a menu.
    • One letter in OptionName can be designated as a hotkey by prefixing an ampersand (&).
    • To create an option name of more than one word with spaces between them, enclose it in quotes.
    • Command is one or more slash commands (separated by $$).
  • LockedOption is an Option, which may be grayed out (disabled) for certain characters or accounts.

Syntax for Powers

For powers with icons that are only clickable if available like in the Fast Travel menu:

LockedOption
{
    DisplayName OptionName
    Command Command
    Icon Image_Name
    PowerReady InternalPowerName
}
  • Icon sets what icon the option uses using the same names as Macro_image_(Slash_Command)
  • PowerReady defines what power is needed to enable this option.
    • InternalPowerName is the name of the power the game uses internally, which can be found with this site IMPORTANT: The power name in the URL is correct, not the one on the page. E.g "temporary_powers.temporary_powers.envenomed_dagger" won't work, but "temporary_powers.temporary_powers.invention_envenomed_dagger" will work.
  • PowerOwned - unlocks the entry if this power is owned, regardless of state


Notes

  • The popmenu command is called using the top-level "Menu" name inside the Menu (.mnu) file and NOT the name of the Menu (.mnu) file itself. The filename does not matter and does not even have to match the "Menu" name as long as it has the .mnu file extension.
  • MNU files allow comments. Use a double forward slash (//) anywhere on a line to force the client to ignore anything between the double slash and the line return.
  • IMPORTANT: MNU files must have at least one line containing a carriage-return at the end of the line above the first "Menu" entry. It can be blank, a full comment, or just the comment tag (//) or any number of those lines otherwise it will not function.
  • Changes to custom menus require you to exit the client in order for the changes to take effect.
  • Custom menus are accessible by all characters on the same machine. By extension, you can send custom menu files to other people so that they can use them as well.
  • Option and its parameters must be on one line. Otherwise, the menu will not function.
    • If the command string contains spaces, the entire command portion must be enclosed in either quotation marks ("    "), or less-than/greater-than brackets and ampersands (<&    &>). This last option is especially useful if multiple quotation marks are generating errors in the command. For example: Option "Celebrate" <&emote dance$$local "Let's Party!"&> will work, but Option "Celebrate" "emote dance$$local "Let's Party!"" will not.
    • Inspiration and power names with spaces can be used in commands by replacing the spaces with an underscore (for example, Catch_a_Breath).
    • When using a command that sends a message, any spaces in the message portion can be replaced by the HTML code for a non-breaking space &nbsp; in order to avoid enclosing the message in quotation marks.
  • The PowerReady and PowerOwned identifiers can only include one power.
    • Multiple Commands can be executed by one Option by joining them with $$, just as they would be on the client command line.
  • The percent (%) and ampersand (&) signs will not display if used within the OptionName or DisplayName parameters. However, the fullwidth versions (%) U+FF05 and (&) U+FF06 will display.
  • The /bind, /bind_load, and /bind_load_file commands, when used in a popmenu, do not behave as expected. Binds made via a popmenu will take effect only after the character zones onto another map (or the client is restarted). A workaround for this, so that binds take effect immediately, is to use the /beginchat command in the popmenu to place the bind command into the chat box, and then press the Enter key twice. For example, Option "Load Binds" "beginchat /bind_load_file keybinds.txt".
  • For an example of an official popmenu, check out the Homecoming Default Quickchat Menu.
  • The console scans all popmenus for errors, and can be very helpful in eliminating those errors.

See Also


External Links