MacroTalk provides extended chat command support especially useful for macros.
For comments, bug reports, etc., please visit http://cogwheel.wowinterface.com.
Table of Contents
Conditional chat commands
Random chat commands
If you would prefer only to have certain functionality from MacroTalk (for
instance, if you have another addon that provides similar functionality),
you can disable various modules by renaming or deleting the corresponding
.lua files. You can safely remove MacroTalkChatOptions, MacroTalkCommands,
and MacroTalkSubstitutions which correspond to Conditional/Random chat
commands, Slash commands, and Text substitutions, respectively.
Picks from multiple slash commands given the options. You can only use
slash commands that don't trigger secure functions. Chat commands,
emotes, scripts, etc. are OK. /cast, /use, etc. are off limits.
Note: the sub-commands cannot use macro options since the semicolons
would cause ambiguity.
Picks a random slash command out of the group chosen based on the
given options. Each group is a list of slash commands separated by the
backslash (\) character (this is in contrast to commas used for the
built-in random commands--commas are just too common in chat messages).
Note: like the /opt command, the sub-commands cannot use macro options
and you can't use any secure commands.
/rndcmd [swimming] /y Help! I'm Drowning! \ /s The water's great!;
/s Time for a swim... \ /dance
Conditional chat commands:
All chat commands (/say, /tell, /guild, etc.) can now accept macro options.
To use this functionality, simply start the command with /opt. Note:
[target=] has no effect on the output of the chat commands; it only affects
the other conditionals in the clause.
/optsay [swimming] gurgle; [mounted] The cavalry has arrived!
Similar to the macro options, you can now add /rnd to the beginning of any
chat command to pick a random saying. The /rnd___ commands also take options
to pick a different list of sayings. The lists themselves are separated by
the backslash symbol (\).
/rndyell ZOMG! \ WTF?! \ You there! Check out that noise!
/rndsay [outdoors] Ahhh, the Great Outdoors! \ What a lovely day!;
I wish I could go outside right now \ Must... Leave... Building...
MacroTalk offers a variety of substitutions in addition to %t of the default
UI. Substitutions are prioritized by the length of the code; longer codes
are processed first. This means that %tl will be processed before %t. The
codes are case-insensitive so %Tl is equivalent to %tL.
%n - Your name
%z - Your current zone
%sz - Your current sub-zone (or zone if no sub-zone)
%loc - Your map coordinates
%t - Name of your target (built in, but listed for consistency)
%f - Name of your focus
%m - Name of mouseover unit
%p - Name of your pet
%tt - Name of your target's target
You can suffix those with one of the following to return other pieces of
data about the unit:
l - Level
c - Class
g - Gender
gb - Gender (blank if no gender)
r - Race
rb - Race (blank if no race)
gu - Guild
gu - Guild (blank if no guild)
rm - Realm (works with other realms than yours like in a dungeon)
h - Health (XX/XX)
hp - Health percentage (XX%)
ma - Mana - Not just 'm' because it conflicts with mouseover
mab - Mana (blank if no mana)
mp - Mana percentage
mpb - Mana percentage (blank if no mana)
ic - Raid icon
icb - Raid icon (blank if no icon)
Sample result: Sheeping Cogwheel (level 64 male Gnome Warrior)
You can also use the suffixes without a unit code to return information
/s I'm a level %l, %g, %r %c.
Sample result: I'm a level 68, male, gnome warrior.
All thanks to CogWheel for his really nice work on this addon, I am here only to maintain it alive
- TOC updated
- With 5.2 patch, I figured MacroTalk should be 2.1, since a lot of changes happened before, and this version would be a basic one now.
- TOC updated
- Changes with new chan Instance
- Fixed BATTLEGROUNDS issues
- Fixed /group issues
- TOC updated
- substitutions with h (for health) will always give you currentHP/maxHP. use hp for health
- Function GetNumGroupMember replaced with IsInRaid, to make sure you're really in a party or a raid.
- Function GetNumPartyMember and GetNumRaidMember replaced with new GetNumGroupMember.
- TOC updated
- Fixed an issue with the subzone substitution. Now if you are in a zone with no subzones, %sz will show you the name of the zone instead of nothing.
- Fixed an issue I did not see with /opt or /rnd commands and a secure command like /equipset.
- Constant MAX_BATTLEFIELD_QUEUES replaced by the function GetMaxBattlefieldID()
- Correcte 3 changes done with versions posted on wowinterface and not in wowcurse (1.72 max in wow curse and 1.8.1 max in wowinterface)
See below for the changes.
- Works now with 4.2
- Added realm and guild commands
- Fixed a stray global in MacroTalk.lua
- The ic and icb suffixes now insert the appropriate codes to send texture links
instead of just the name of the icons.
- %gb correctly eliminates the "no gender" message
- % without a code no longer substitutes as the player's name
- Fixed suffixes to work without a unit
- Fixed error when using /gr outside of a group
- /rnd___ commands should actually work now
- Changed /rnd to /rndcmd because of a conflict with the built-in /rnd command
- Added architecture for straight text substitutions (no interface yet--see
MacroTalkSubstitutions.lua for more information)
- Added raid icon and "blank" suffixes
- Fixed a bug that caused all SendChatMessages to fail... :eek:
- The race suffix will use UnitRace for players and UnitCreatureType for NPCs
- Added %tt, %loc
- Added health and mana suffixes
- /opt & /rnd will now print an error message if you attempt to use a secure
- Added %n, %z, %sz
- Added ability to use suffixes alone to get info about the player
- Changed unit prefixes to suffixes - INCOMPATIBLE WITH PREVIOUS VERSION
- Substitutions are no longer case-sensitive
- Restructured substitutions and localizations to be more generic
- Added /rnd and /rnd___ commands
- Fixed a bug where the /opt prefix was only being applied to the first command
of a given type (e.g. only /opts would work but not /optsay)
- Added generic /opt command
- Improved localizability of substitutions
- Name substitutions have been simplified a bit to match the functionality of %t
- Added pet unit substitution
- Added info type prefixes: level, class, gender, race
- Added /opt___ commands
- Fixed a bug where %m behaved like %f
- No longer uses Satellite
- Added localization lua for future localization