MacroTalk provides extended chat command support especially useful for macros.
For comments, bug reports, etc., please visit http://cogwheel.wowinterface.com.
Table of Contents
Disabling modules
Slash commands
/tellunit
/group
/opt
/rndcmd
Conditional chat commands
Random chat commands
Text substitutions
Straight substitutions
Unit information
Disabling Modules:
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.
Example:
/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.
Example:
/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 (\).
Example:
/rndyell ZOMG! \ WTF?! \ You there! Check out that noise!
Example:
/rndsay [outdoors] Ahhh, the Great Outdoors! \ What a lovely day!;
I wish I could go outside right now \ Must... Leave... Building...
Text substitutions:
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.
Straight substitutions:
%n - Your name
%z - Your current zone
%sz - Your current sub-zone
%loc - Your map coordinates
Unit information:
%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)
h - Health (XX/XX) - Acts like hp for players not in your party/raid/bg
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
about yourself.
Example:
/s I'm a level %l, %g, %r %c.
Sample result: I'm a level 68, male, gnome warrior.
Change Log - MacroTalk
v1.8.1
- Fixed a stray global in MacroTalk.lua
v1.8
- The ic and icb suffixes now insert the appropriate codes to send texture links
instead of just the name of the icons.
v1.7.2
- %gb correctly eliminates the "no gender" message
- % without a code no longer substitutes as the player's name
v1.7.1
- Fixed suffixes to work without a unit
- Fixed error when using /gr outside of a group
v1.7
- /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)
v1.6
- Added raid icon and "blank" suffixes
v1.5.1
- Fixed a bug that caused all SendChatMessages to fail...
v1.5
- The race suffix will use UnitRace for players and UnitCreatureType for NPCs
- Added %tt, %loc
- Added health and mana suffixes
v1.4
- /opt & /rnd will now print an error message if you attempt to use a secure
command
- 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
v1.3
- 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)
v1.2
- Added generic /opt command
v1.1
- Improved localizability of substitutions
v1.0
- 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
v0.9
- Added /opt___ commands
- Fixed a bug where %m behaved like %f
- No longer uses Satellite
- Added localization lua for future localization
MacroTalk won't help you with that because there are no macro options for the race of your target. You would need to write the script yourself either as your own addon or in a /run command.
I downloaded macrotalk , I have used some of the examples I found here and there , and they work fine. The %r , %g , etc. are just what I was looking for, thanks. What I want to do is somthing like
if %tr = human
/s hello
elseif %tr = dwarf
/s hoy
elseif %tr = orc
/spit
/end
I used to know a bit of basic , it has been awhile. I would appreciate a macro that would do this. Maybe I can change it to do other things as well.
I think this is a bug.. if not how do I get around it?
Any time the % symbol is in chat with nothing following it then my name replaces the % symbol. What I mean by this is % is acting the way I *think* %n is supposed to act.
If I try to say, "My buff adds 3% to party damage." In chat everyone sees "My buff adds 3Blueshift to party damage." Same thing happens if I post damage meters.
Thanks and this is a great mod.
Blue
BTW: I am using 1.7.1
Last edited by blueshift : 07-14-2007 at 11:22 AM.
Originally posted by wendol id just like to publicly say thanks for helping me with my setup ! i appreciate it and your quick response to my questions. keep up the good work bro!
Glad I could help!
Quote:
Originally posted by Sylaria I found a new error, reported in the bugs...
I posted a bug report with the error message that I got. Keep up the good work Cog, I love your addons and also your insights on the official WoW forums
Originally posted by Sylaria Yes, I am getting a LUA error window, I don't mind the "you're not in a group" text either. I'll try it again when I get home tonight. I turned off LUA error reporting temporarily for that reason. If I recall correctly, it also seems to happen only the very first time... not sure though.
This happened with 2.1.1 patch, and I do not recall this happening at all before.
Let me know if you find anything definitive. If it's ok with you, could you post a bug report via the Bugs button above and detail how to reproduce it? I do some testing tonight myself as well.
Originally posted by Cogwheel Just so we're clear, when you say it "pops up" an error message, do you mean an actual lua error that gives a window in the middle of the screen that you have to click Okay? Because that shouldn't be happening...
It's designed to simply print a "You're not in a group" to the chat window.
Yes, I am getting a LUA error window, I don't mind the "you're not in a group" text either. I'll try it again when I get home tonight. I turned off LUA error reporting temporarily for that reason. If I recall correctly, it also seems to happen only the very first time... not sure though.
This happened with 2.1.1 patch, and I do not recall this happening at all before.
Originally posted by Sylaria I actually don't mind at all if it doesn't go to /say... as long as it doesn't pop up an error message. You're right, by its nature, it should be in group and those messages shouldn't go to /say when you're not in a group.
Just so we're clear, when you say it "pops up" an error message, do you mean an actual lua error that gives a window in the middle of the screen that you have to click Okay? Because that shouldn't be happening...
It's designed to simply print a "You're not in a group" to the chat window.
I actually don't mind at all if it doesn't go to /say... as long as it doesn't pop up an error message. You're right, by its nature, it should be in group and those messages shouldn't go to /say when you're not in a group.
Originally posted by Sylaria When I use Macrotalk's /gr function while not in a group, it produces an error. Is there a way for Macrotalk to have the /gr funtion send to /say if you're not in a group?
I had it working like that when I was first developing it... TBH, I don't exactly remember my exact reason for changing it ><.
Thinking about it now, though, it *is* a group-specific functionality and I'm not sure it's exactly appropriate to default to /say. You could do something like this for now:
/optgr [group] Message goes here
Or perhaps:
/opt [group] /gr Message1; /s Message2
As far as the built in functionality, I'll have to meditate on it a bit. Maybe I'll just remove the error message, or add another command that has "say" as a fallback...