Customizing the QuickChat Menu


Aggelakis

 

Posted

Customizing the QuickChat Menu

Contents
1. "What the heck is the QuickChat Menu?"
2. Setting up your data directory
3. QuickChat syntax
4. Other notes
5. The default QuickChat file



"What the heck is the QuickChat Menu?"
The QuickChat Menu is the popup menu that appears when you click on the speech bubble by the bottom of your chat window (or, using default keybindings, press the apostrophe (') key). It contains a number of emotes and bits of text you can say with the click of a button, rather than typing out a sentence or emote command. If you're no good at remembering what emotes are availabe, or if you're letting your kid play and want to limit their ability to interact with others on the internet, it can be a useful tool. This guide is going to expand its usefulness by allowing you to customize what's available in the menu.



Setting up your data directory
You need one file in order to customize the QuickChat Menu. Assuming you've installed City of Heroes to its default directory, that file is:
C:\Program Files\City of Heroes\data\texts\English\Menus\quickchat.mnu

ChineseTraditional, French, German, Japanese, Korean, or uk can be used in place of English, though you'd need to be playing the appropriate language client to get use out of a different directory.

This directory is a must, because City of Heroes is going to look for the MNU file in data\texts\English\Menus, and if it's not found there, it'll use the default file built into the game.



QuickChat Symtax
quickchat.mnu is a simple text file, so open it in your favorite text editor (such as Notepad). Paste the following code into the empty file:

Menu QuickChat
{

}
Between those curly brackets is where you will build your menu, and you'll do it using the following commands:
  • Menu
  • Title
  • Divider
  • Option
  • LockedOption

Menu syntax:
Menu MenuName
{
...
}
This will create a sub-menu within your menu. MenuName will be the text displayed on-screen; if you want to include a space, enclose the name in quotes. Any of the four commands can be placed within the curly brackets. (So, you can make sub-sub-menus, etc.)

Title syntax:
Title TitleName
This will create non-selectable text in your menu, used to label a section of it, or to label the entire thing. Like with Menu, you can include spaces if you enclose it in quotes.

The Title is completely optional, and you can include multiple Titles in a single Menu.

Divider syntax:
Divider
This will add a divider line to your menu. Much like Title, but a line image rather than text.

Option syntax:
Option OptionName OptionCommand
Finally, the menu command that will let you actually do things. As before, OptionName is what will show up in your menu, and you can include spaces by enclosing it in quotes. OptionCommand can be any slash command, used in the same way as a bind or macro. You can even do multiple commands by separating them with $$, just like a bind or macro. (See another guide for instructions on how to make macros and binds; that is outside the scope of this guide) If you include spaces, again, you must enclose it in quotes.

Option, OptionName, and OptionCommand must all be on the same line. Failure to do so will break the menu's functionality as the game's parser tries (and, usually, fails miserably) to recover. Your gameplay will not be affected, but you won't be able to properly use the menu.

LockedOption syntax:
LockedOption
{
DisplayName OptionName
Command OptionCommand
Authbit AuthIdentifiers
Badge BadgeIdentifiers
RewardToken RewardIdentifiers
StoreProduct ProductIdentifiers
}
Here, OptionName and OptionCommand work exactly as in the Option syntax, above. LockedOption allows you to create an option which, under certain conditions, is grayed out and unavailable. That condition is specified with either Authbit, Badge, RewardToken, or StoreProduct. You only need one, but you can use multiple.

Authbit checks some state of your account:
  • RogueAccess: Purchased Going Rogue
  • RogueCompleteBox: Purchased Going Rogue Complete Collection
  • CyborgPack: Purchased Super Booster I: Cyborg
  • MagicPack: Purchased Super Booster II: Magic
  • SuperSciencePack: Purchased Super Booster III: Superscience
  • MutantPack: Purchased Super Booster IV: Mutant
  • MartialArtsPack: Purchased Super Booster V: Martial Arts
  • WeddingPack: Puchased the Wedding Pack

Badge checks whether you've earned a certain badge. For example:
  • CouncilRobotBadge: Burkholder's Bane
  • StMartialTour1: Johnny's Go To Guy
  • SnowflakeEmoteBadge: Invisible badge gained from the Candy Keeper during the Winter Event
  • MayhemOutlaw: Outlaw
  • ArchitectAccolade: Mission Engineer

RewardToken checks that you've earned a specific reward, and StoreProduct checks against a purchase in the store.

Listing multiple identifiers for any of the checks produces a logical OR: Badge CouncilRobotBadge StMartialTour1 means "Burkholder's Bane badge OR Johnny's Go To Guy badge".

List of badge names
List of invisible badge names



In addition to the basic syntax, you can include an ampersand (&) in front of one of the letters of either MenuName or OptionName to make that letter a mnemonic for the Menu or Option. Rather than clicking the Menu or Option with your mouse, you can instead type the specified letter on your keyboard. (Example: If you have a Menu "Com&bat" in your QuickChat, you can type "'b" to open the Combat menu. If the Combat menu has an option "&Attack", typing "'ba" will execute the Attack option)



Other Notes
If you make changes to quickchat.mnu, you must exit the game completely before seeing the changes take effect.

The QuickChat Menu will be the same across all of your characters.

You can include comments using a double forward slash (//). Any text following the double forward slash until the end of the line will be ignored completely.



The default QuickChat file
Download link
The original file includes some comments and example menus, as well as the original QuickChat Menu used by the game.


http://www.fimfiction.net/story/36641/My-Little-Exalt

 

Posted

Great guide! Do the menu options accept commands that aren't emotes or speech, e.g. pow_exec_name?


 

Posted

Holy crap, this is awesome.


There are no words for what this community, and the friends I have made here mean to me. Please know that I care for all of you, yes, even you. If you Twitter, I'm MrThan. If you're Unleashed, I'm dumps. I'll try and get registered on the Titan Forums as well. Peace, and thanks for the best nine years anyone could ever ask for.

 

Posted

[ QUOTE ]
Great guide! Do the menu options accept commands that aren't emotes or speech, e.g. pow_exec_name?

[/ QUOTE ]

I believe it will, but I haven't tested it personally yet.


Check out the Repeat Offenders network of SGs! You'll be glad you did.

 

Posted

[ QUOTE ]
Great guide! Do the menu options accept commands that aren't emotes or speech, e.g. pow_exec_name?

[/ QUOTE ]Yes. Anything you can type into the chat bar will work in the QuickChat Menu. If you can make a bind or macro out of it, you can make a QuickChat Menu Option out of it.


http://www.fimfiction.net/story/36641/My-Little-Exalt

 

Posted

Do you mean in the same way as /bindloadfile? No, there's no way to do that. The customized QuickChat Menu is made with an external file that the game will load when you launch it.


http://www.fimfiction.net/story/36641/My-Little-Exalt

 

Posted

This is made of win. Now I can quite overflowing my bars.

A couple ideas for folks;

<font class="small">Code:[/color]<hr /><pre>
Option "&amp;Base Portal" "powexecname base transporter"
Option "Pocket &amp;D" "powexecname pocket d vip pass"
Option "&amp;Flight (temp)" "powexecname raptor pack"
Option "&amp;Jump (temp)" "powexecname zero-g pack"
Option "&amp;Mission Teleporter" "powexecname mission teleporter"
Option "&amp;Ouroboros" "powexecname ouroboros portal"

Menu "Custom &amp;Targetting"
{
Option "&amp;1 Focus Fire" "team Concentrate fire on $target (my target)"
Option "&amp;2 My Kill" "team I'll handle $target (my target)"
Option "&amp;Cairn" "targetcustomnext Cairn"
Option "&amp;Quantum" "targetcustomnext Quantum"
Option "Q&amp;uartz" "targetcustomnext Quartz"
Option "&amp;Void" "targetcustomnext Void"
}

Menu "Accolades &amp;V"
{
Option "&amp;Boost Mez" "powexecname vanguard medal$$powexecname megalomaniac"
Option "&amp;Freeze Ray" "powexecname crey cbx-9 pistol$$powexecname stolen immobilizer ray"
Option "Psi &amp;Def" "powexecname elusive mind"
Option "&amp;Recharge" "powexecname gaes of the kind ones$$powexecname force of nature"
Option "&amp;Shield" "powexecname eye of the magus$$powexecname demonic aura"
}
</pre><hr />

Oh, one note worth mentioning; I've remapped my "open quickchat" key to "v" (played a lot of return to castle wolfenstein back in the day...), which is why I picked "V" to activate accolades. 'cuz when you need that accolade shield up /NOW/ there's no time to waste.

Edit2: typo fix on base transporter


 

Posted

Do we know what the main game menu is called? It almost has to be definable in there given how that menu behaves.


 

Posted

[ QUOTE ]
This is made of win. Now I can quite overflowing my bars.

A couple ideas for folks;

<font class="small">Code:[/color]<hr /><pre>
Option "&amp;Base Portal" "powexecname base teleporter"
Option "Pocket &amp;D" "powexecname pocket d vip pass"
Option "&amp;Flight (temp)" "powexecname raptor pack"
Option "&amp;Jump (temp)" "powexecname zero-g pack"
Option "&amp;Mission Teleporter" "powexecname mission teleporter"
Option "&amp;Ouroboros" "powexecname ouroboros portal"

Menu "Custom &amp;Targetting"
{
Option "&amp;1 Focus Fire" "team Concentrate fire on $target (my target)"
Option "&amp;2 My Kill" "team I'll handle $target (my target)"
Option "&amp;Cairn" "targetcustomnext Cairn"
Option "&amp;Quantum" "targetcustomnext Quantum"
Option "Q&amp;uartz" "targetcustomnext Quartz"
Option "&amp;Void" "targetcustomnext Void"
}

Menu "Accolades &amp;V"
{
Option "&amp;Boost Mez" "powexecname vanguard medal$$powexecname megalomaniac"
Option "&amp;Freeze Ray" "powexecname crey cbx-9 pistol$$powexecname stolen immobilizer ray"
Option "Psi &amp;Def" "powexecname elusive mind"
Option "&amp;Recharge" "powexecname gaes of the kind ones$$powexecname force of nature"
Option "&amp;Shield" "powexecname eye of the magus$$powexecname demonic aura"
}
</pre><hr />

Oh, one note worth mentioning; I've remapped my "open quickchat" key to "v" (played a lot of return to castle wolfenstein back in the day...), which is why I picked "V" to activate accolades. 'cuz when you need that accolade shield up /NOW/ there's no time to waste.

[/ QUOTE ]

I think you just opened up about two bars worth of power slots for me


The tree of liberty must be refreshed from time to time with the blood of patriots and tyrants. It is its natural manure. --- Thomas Jefferson
Formerly known as YFNDBA

 

Posted

[ QUOTE ]
[ QUOTE ]
This is made of win. Now I can quite overflowing my bars.

A couple ideas for folks;

<font class="small">Code:[/color]<hr /><pre>
Option "&amp;Base Portal" "powexecname base teleporter"
Option "Pocket &amp;D" "powexecname pocket d vip pass"
Option "&amp;Flight (temp)" "powexecname raptor pack"
Option "&amp;Jump (temp)" "powexecname zero-g pack"
Option "&amp;Mission Teleporter" "powexecname mission teleporter"
Option "&amp;Ouroboros" "powexecname ouroboros portal"

Menu "Custom &amp;Targetting"
{
Option "&amp;1 Focus Fire" "team Concentrate fire on $target (my target)"
Option "&amp;2 My Kill" "team I'll handle $target (my target)"
Option "&amp;Cairn" "targetcustomnext Cairn"
Option "&amp;Quantum" "targetcustomnext Quantum"
Option "Q&amp;uartz" "targetcustomnext Quartz"
Option "&amp;Void" "targetcustomnext Void"
}

Menu "Accolades &amp;V"
{
Option "&amp;Boost Mez" "powexecname vanguard medal$$powexecname megalomaniac"
Option "&amp;Freeze Ray" "powexecname crey cbx-9 pistol$$powexecname stolen immobilizer ray"
Option "Psi &amp;Def" "powexecname elusive mind"
Option "&amp;Recharge" "powexecname gaes of the kind ones$$powexecname force of nature"
Option "&amp;Shield" "powexecname eye of the magus$$powexecname demonic aura"
}
</pre><hr />

Oh, one note worth mentioning; I've remapped my "open quickchat" key to "v" (played a lot of return to castle wolfenstein back in the day...), which is why I picked "V" to activate accolades. 'cuz when you need that accolade shield up /NOW/ there's no time to waste.

[/ QUOTE ]

I think you just opened up about two bars worth of power slots for me

[/ QUOTE ]

You'd still want them up and out to see if they're recharged and ready to go, but, since you're not clicking on them, you can use

/windowscale tray# .6

to shrink them.


Speeding Through New DA Repeatables || Spreadsheet o' Enhancements || Zombie Skins: better skins for these forums || Guide to Guides

 

Posted

Seeing if they are charged is a good point, but if it isn't charged it'll be obvious pretty quick. "bwuoh" and no animation.

It'd be really nice if the devs would add a slight extension to "powexecname" like "say trying to run power name&amp;&amp;powexecnameorfail power name||failure message" so we wouldn't even need either of those workarounds.


 

Posted

I have been trying to get this to work on Vista, with no luck. Yet I know *something* is going on... well, let me just outline the steps I've taken.

1: Created the appropriate directory tree.
2: Tried making my own quickchat.mnu file
3: Made sure Vista wasn't assigning it a .txt extension
4: No dice.
5: Grabbed the pigg viewer, doublechecked the directory tree from there.
6: Did a straight copy-paste from the default quickchat.mnu file in the .pigg.
7: No dice.
8: Checked file permissions, everything seems to be in order. The same owner and permissions all throughout the entire CoX directory tree.

What's happening is that when I fire up the client (or restart it after making a change) the quickchat menu fails to display at all. Pressing the bound key or actually clicking the quickchat balloon icon does absolutely nothing.

Renaming the file or one of the overhead directories to ensure that the game client won't process the file and restarting the client fixes this. So from what I can tell, the client is seeing my changes, but there's something wrong with them.

Anyone else have any ideas about this? So far that I can tell, my syntax within the file is just fine; I've made sure to include all opening/closing braces and whatnot. As mentioned, a straight copy of the default file fails to work as well.


Arc ID#1160 : "In the Shadow of Statesman" -Finished
Part Two--Under Construction

 

Posted

I have it working, ES, see me in game.


 

Posted

Thanks, Vent.

Turns out I had to put an extra carriage-return at the top of the file.


Arc ID#1160 : "In the Shadow of Statesman" -Finished
Part Two--Under Construction

 

Posted

If you do typo in it ("Optoin" was mine) it will simply fail to have any menu whatsoever.


 

Posted

This is pretty damn awesome.


 

Posted

[ QUOTE ]
Do we know what the main game menu is called? It almost has to be definable in there given how that menu behaves.

[/ QUOTE ]I have no idea. If other popup menus in the game can be similarly customized (and it seems they're constructed similarly, so it's possible), I'd love to know. If anyone discovers how to access the other menus, I'll gladly add the info to this guide and credit ya!


http://www.fimfiction.net/story/36641/My-Little-Exalt

 

Posted

I would like to have the full copy of the quickchat from CoH, do you have it? If not, I am working on creating it myself at the moment. It is definitely a great thing to have, thanks.


 

Posted

I avoided posting it in the OP because some of them are long, and stretch the forums (as well as there being a lot of them)

I think I'll make it available as a download.

Edit:
Original quickchat.mnu file


http://www.fimfiction.net/story/36641/My-Little-Exalt

 

Posted

Wow, I never knew we could do this. Thanks!


 

Posted

Excellent, thank you very much. I like the original list and wanted to add to what CoH provided.


 

Posted

[ QUOTE ]
You'd still want them up and out to see if they're recharged and ready to go, but, since you're not clicking on them, you can use

/windowscale tray# .6

to shrink them.

[/ QUOTE ]

Or learn to switch trays with a key command so you can check them without always having them up. It's what I do, and why I only need 2 trays open at any one time.

@ the OP, wow. Amazing! I never would have imagined we could customize that thing, so much of it is useless to me, thank you!



I'm only ladylike when compared to my sister.

 

Posted

[ QUOTE ]
[ QUOTE ]
[ QUOTE ]
This is made of win. Now I can quite overflowing my bars.

A couple ideas for folks;

<font class="small">Code:[/color]<hr /><pre>
Option "&amp;Base Portal" "powexecname base teleporter"
Option "Pocket &amp;D" "powexecname pocket d vip pass"
Option "&amp;Flight (temp)" "powexecname raptor pack"
Option "&amp;Jump (temp)" "powexecname zero-g pack"
Option "&amp;Mission Teleporter" "powexecname mission teleporter"
Option "&amp;Ouroboros" "powexecname ouroboros portal"

Menu "Custom &amp;Targetting"
{
Option "&amp;1 Focus Fire" "team Concentrate fire on $target (my target)"
Option "&amp;2 My Kill" "team I'll handle $target (my target)"
Option "&amp;Cairn" "targetcustomnext Cairn"
Option "&amp;Quantum" "targetcustomnext Quantum"
Option "Q&amp;uartz" "targetcustomnext Quartz"
Option "&amp;Void" "targetcustomnext Void"
}

Menu "Accolades &amp;V"
{
Option "&amp;Boost Mez" "powexecname vanguard medal$$powexecname megalomaniac"
Option "&amp;Freeze Ray" "powexecname crey cbx-9 pistol$$powexecname stolen immobilizer ray"
Option "Psi &amp;Def" "powexecname elusive mind"
Option "&amp;Recharge" "powexecname gaes of the kind ones$$powexecname force of nature"
Option "&amp;Shield" "powexecname eye of the magus$$powexecname demonic aura"
}
</pre><hr />

Oh, one note worth mentioning; I've remapped my "open quickchat" key to "v" (played a lot of return to castle wolfenstein back in the day...), which is why I picked "V" to activate accolades. 'cuz when you need that accolade shield up /NOW/ there's no time to waste.

[/ QUOTE ]

I think you just opened up about two bars worth of power slots for me

[/ QUOTE ]

You'd still want them up and out to see if they're recharged and ready to go, but, since you're not clicking on them, you can use

/windowscale tray# .6

to shrink them.

[/ QUOTE ]

Personally, my Scrapper recharges so fast, I rarely look at the Bar for that.... this also opens some interesting options for my Masterminds, who have a Bar dedicated to just their Pet related powers and commands....

I'll take a stab in that direction, and Post whatever I find works....