This mod is an event tracker that will watch for a given event and pop up a warning in chat or on screen. It is similar to SCT or EavesDrop, but lets you spam customized events to the channel of your choice. If you want something to spam *you* when events happen, feel free to use one of those other mods. If you want to be able to set up warnings for any combat event and announce it pretty much anywhere, this mod's for you.
To get started, first set up some rules to monitor the events you want to watch. There are a lot of ways to choose what you want to see, including the event's source, the event's target, the watched-for spellname, the affiliation or category of events you want to watch, and the channel where the warning is sent. To see all of any of these things, just leave it blank. You can also use partial event/source/target/spell names to cast a wider net (ex: AURA), or full names to limit triggers (ex: SPELL_AURA_REMOVED). (See slash commands and examples below.) Rules are additive, so using a rule showing all "self" events with one showing all "raid" events will result in two lines per event. Rules and enable settings are saved across sessions by character (initial default is "off" but it will stay on until you turn it off).
For example, set the "affiliation" dropdown box to "target" and the output channel to "SELF" (leave the other rule options blank). Hit the "Add Rule" button; you'll see your new rule printed in the chat window. Toggle the bottom-left button from "Disabled" to "*Enabled*". Now whenever you target a player or a mob, their combat events will be output to your chat window.
SLASH COMMANDS
- /tjh or /tjh gui for GUI
- /tjh help for this list
- /tjh on (to activate, default is on)
- /tjh off (to deactivate)
/tjh rule EVENT_NAME;SourceName;TargetName;SpellName;Affiliation;Channel;Spam;Delay (leave blank to see all of a type, ex: /tjh rule SUMMON;;;;enemy;;; channel defaults to SELF)
- /tjh list (to list current rules)
- /tjh delete (to delete all rules)
- /tjh delete;3 (to delete the third rule)
- /tjh reset (deletes all rules, resets output to SELF)
Valid Source/Target Names
Player names, NPC names, and object names as seen in the in-game tooltips. Also accepts the active target or focus at that time.
Channel Options
Channel settings: SELF/WARN/PARTY/RAID/RAID_WARNING/RW/RS/YELL/PlayerName/ChannelName/auto/EMOTE/PLAYSOUND/*source/*target (to set output channel to SELF, RAID, whisper a named player, whisper the event source or target, or use a custom channel, etc.) SELF is the default channel. Enabling the "Auto-Select Channel" checkbox sets the rule channel to "auto"; rules with "auto" as the channel will be output to self, party, or raid chat depending on your group status. Dynamic source/target options default to SELF if no usable whisper target can be found.
Only you will be able to hear the sound files play. Add "PLAYSOUND" to the channel box and a soundfile pathname to the output box. Works for pathnames in the format of "Sound\Music\GlueScreenMusic\wow_main_theme.mp3" but not "Sound\\Music\\GlueScreenMusic\\wow_main_theme.mp3"; will play mp3 and wav files on event but cannot be stopped mid-playback, so choose wisely (see http://www.wowwiki.com/API_PlaySoundFile for sound file options)
Example:
- /tjh rule SPELL_AURA_APPLIED;Belleboom;;Arcane Intellect;;PLAYSOUND;Sound\Creature\NPCGhoul\NPCGhoulVendor04.wav;
Channel settings are on a "by rule" basis; each event is output to the specified channel. For example the first rule spams RAID when anyone takes Spout damage, the second alters a custom mage channel when a stealable buff is applied:
- /tjh rule ;Lurker;;Spout;;RAID;;
- /tjh rule AURA_APPLIED;Greyheart Nether-Mage;;Arcane Destruction;;GDMAGES;;
Custom Rule Spam
Basics: You have the option to set custom spam text for each rule, which replaces the standard combat log-type output. For example, if Savar is my main tank:
- /tjh rule SPELL_AURA_APPLIED;;Savar;Mortal Strike;;RW;Incoming heals on Savar reduced by 50%!;
Dynamic Variables: using any of the following in your spam will substitute the current event's variable, or blank if that variable is nil:
- *event = current event's name
- *source = current event's source
- *target = current event's target
- *spell = current event's spellname
Note: depending on the event, these variables may not always give you what you expect, but they can be great for rules like the following:
- /tjh rule UNIT_DIED;;;;raid;RW;*target is down!;
Affiliation
The last rule option can be used to filter out all events except those that affect either self/party/raid/friend/enemy/target/focus. So if you want to see every time a buff expires on your current focus (whatever that is), use "/tjh rule SPELL_AURA_REMOVED;;;;focus;;;" (Note: this would also trigger if your focus removed a buff from another mob.) Pets/guardians/other have been removed from the "raid" affiliation on request, but are still included in the "friendly" affiliation.
. Examples
- Basic Rule Structure: event;source;target;spell;affiliation;channel;spam;delay
To track all interrupts on a specific target and splash it up on your screen:
- /tjh rule INTERRUPT;;TargetNameHere;;;WARN;;
To announce all kills made by party members and output to party chat:
- /tjh rule PARTY_KILL;;;;;PARTY;;
To alert yourself to all buff-related events on your current target:
- /tjh rule AURA;;;;target;SELF;;
To announce custom spam in raid chat when your target summons a Tremor Totem:
- /tjh rule SUMMON;target;Tremor Totem;;;RAID;Totem up!;
To track all events on a player done by your target, and whisper them to that player:
- /tjh rule ;PlayerName;;;target;PlayerName;;
Announces in the custom channel "gdmages" when Greyheart Nether-Mage gains any of the three spell-stealable Destruction buffs:
- /tjh rule AURA_APPLIED;Greyheart Nether-Mage;;Destruction;;GDMAGES;Steal that spell!;
Spams raid warning when Greyheart Tidecaller summons a water elemental:
- /tjh rule SUMMON;Greyheart Tidecaller;;Water Elemental Totem;;RW;;
Tracks expiring weapon oil on my weapon and alerts me with a custom message:
- /tjh rule ENCHANT_REMOVED;;Belleboom;;Oil;;SELF;Time for an oil change.;
Tracks all expiring buffs on your focus and alerts me via splash screen:
- /tjh rule SPELL_AURA_REMOVED;;;;focus;WARN;;
To see all events (warning, lots of spam), output to the default channel "SELF":
Announces in raid chat when anyone is hit by The Lurker Below's Spout damage:
- /tjh rule ;Lurker;;Spout;;RAID;;
To alert yourself when Sacred Shield expires (using spell id instead of name for greater specificity):
/tjh rule SPELL_AURA_REMOVED;YourName;;53601;SELF;SELF;Sacred Shield fell off.
To Check the CombatLog for Event Names
If you want to find the name of an unknown event, turn on combat logging in game by typing:
Go out and do whatever it is you want to investigate, log out, and check the WoWCombatLog.txt file in your WoW/Logs folder. It's complex, but will look something like this:
- 5/15 15:05:57.383, SPELL_INTERRUPT,0x000000000040B0C7,"Belleboom",0x511,0xF1300048121297E0,"Shienor Sorcerer",0x10a48,2139,"Counterspell",0x40,26098,"Lightning Bolt",8
What you are looking for is the second block in all caps, in this case "SPELL_INTERRUPT". In this example, "Belleboom" is the source, "Shienor Sorcerer" is the target, and "Counterspell" is the spell name.
Troubleshooting
If nothing is being announced:
- open the GUI using "/tjh" and click the "Add Rule" button (if nothing is specified it will watch everything);
- make sure the toggle button at the bottom left reads "*Enabled*" (click on it if it says "Disabled")
- do something that should trigger an event, such as spell casting, feeding your pet, or taking damage
See the TJH_ReadMe.txt file for more details.
ThatJustHappened Change Log
3.0.5.2
-- fixed dynamic variable issue that I broke fixing the last dynamic variable issue. should be all better now.
3.0.5.1
-- fixed a problem with dynamic variables in whispers, they should now function as expected
3.0.5
-- updated default spam for ENCHANT_APPLIED
-- fixed typos
-- updated code to accept spell ids as well as spellnames
-- updated code to remove pets/guardians/other from the "raid" affiliation; this means that if you specify that events from "raid" only be announced, you won't see pet events; if you specify "friendly" events instead pets will be included
3.0.4
-- added code to allow user to specify an optional delay in event spam (so any spam triggers X seconds after the event happens):
. old rules in the form of "/tjh rule ;;;;;;" (six variables) should run with no delay, but the new form is now "/tjh rule ;;;;;;;" (seven) to accommodate the delay variable
. ex of spam delay in use: "/tjh rule SPELL_AURA_APPLIED;Belleboom;;;;WARN;*event happened 5 seconds ago!;5"
. added delay function TJH_wait
. changed TJH_Print calls to form TJH_wait(TJH_timeDelay, TJH_Print, arg4.." begins casting "..arg10..".", TJH_Channel);
. resized GUI to accommodate delay input test and window
-- removed default SSC rules
-- updated channel help spam to include new channel options (SOUND, EMOTE)
-- updated help text to include new variable, hopefully I got it all
-- general code cleanup and such
3.0.3.2
-- added "PLAY" "SOUND" and "PLAYSOUND" as valid channel options: add soundfile pathname to the output box. Works for pathnames in the format of "Sound\Music\GlueScreenMusic\wow_main_theme.mp3"; but not "Sound\\Music\\GlueScreenMusic\\wow_main_theme.mp3";; will play mp3 and wav files on event but cannot be stopped mid-file, so choose wisely (see http://www.wowwiki.com/API_PlaySoundFile for sound file options)
3.0.3.1
-- whoops, forgot to excise the initial Profiles tab (sorry if anyone got their hopes up:)
3.0.3
-- added code to allow output to EMOTE, either by using a standard emote trigger (ex: /dance) which will do the specified emote, or by entering text into the "display text" box, which will print it as if you had typed "/e display text)
-- started profiles code, but don't hold your breath
3.0.2
-- added code to allow dynamic source/target variables in output channels, so that adding "*target" to the spam output option will whisper the event target whenever triggered; "*source" is also an option; defaults to SELF if it can't find a name
3.0.1
-- updates for 3.0
-- changed arg13 to arg10 for all events related to SPELL_AURA_REFRESH [414]
-- renamed SetTextFontObject as SetNormalFontObject to fix error
-- fixed issue where pressing "load rule" with no number in the textbox gave an error [800]
-- pressing "Clear GUI" now clears the individual rule text box as well
-- updated spell/power parser to include frostfire and runes
-- updated SWING_DAMAGE code for addition of "overkill" as arg10
-- updated SPELL_AURA_BROKEN_SPELL code [422]
-- added SPELL_BUILDING code [387] but haven't seen this in action yet so it may be incomplete
-- fixed totem power gain attribution error
-- fixed issue with SPELL_AURA_BROKEN output [420]
-- updated SPELL_PERIODIC_HEAL output
-- updated dropdown menus for 3.0 and increased efficiency
-- updated version number and TOC
1.0.8
-- updated event pulldown for 2.4.3: added SPELL_AURA_BROKEN and SPELL_AURA_REFRESH, changed SPELL_AURA_DISPELLED to SPELL_DISPEL
1.0.7
-- added "YELL" as a channel option
-- minor gui adjustments
1.0.6
-- minor adjustments to the gui
-- default setting is "off" but enable status is now persistent across sessions (by character), so if you log out with TJH active, it will be on next time you log that character
-- added basic set of rules for SSC "/tjh ssc" to activate
1.0.5
-- added dynamic variables to custom spam: using any of the following in your spam will substitute the current event's variable, or blank if that variable is nil:
*event = current event's name
*source = current event's source
*target = current event's target
*spell = current event's spellname
-- Note: depending on the event, this may not always give you what you expect, but it can be great for rules like the following:
/tjh rule UNIT_DIED;;;;raid;RW;*target is down!
-- code updates to improve speed and efficiency
-- added "Load Rule" and "Clear GUI" options in GUI: there is now one "individual rule" entry box, once you enter a rule number you can choose to delete it or to load it into the GUI to act as the basis for a new rule. I've also added a "clear gui" button to start afresh
1.0.4
-- changed "Auto channel" checkbox to work more intuitively; when enabled rules will have "auto" as the channel, and will be output to self, party, or raid chat depending on your group status
-- added option to use custom spam text by rule, leave blank if you want the standard combat text spam
-- updated code related to new spam option
-- updated gui to include custom spam entry box, text, and updated help text
-- updated TJH_ReadMe.txt
-- changed SPELL_START spam to match standard combat log text
-- NOTE: changed rule syntax to use ";" instead of "," so commas could be used in custom spam. sorry, but old rules will have to be updated
1.0.3
-- changed channel settings to a "by rule" basis, so each event can be output to its own separate channel (spam the raid when Leeroy breaks a sheep, but only spam yourself when you do;)
-- updated ReadMe to include new rule structure
-- gui adjustments for coding and screen efficiencies
-- added the previously forgotten "/tjh spam,delete" commmand
1.0.2
-- added "warn" as a channel option; splashes screen like raid warning but to player only (like SCT, for ex.)
-- tweaks to make the gui more legible
-- added code efficiencies
-- added counts for "_APPLIED_DOSE" buffs like "Electrical Charge (2)"
-- fixed manual event entry field clearance, should now clear on Add Rule
-- channel text should now update in gui as expected
1.0.1
-- updated Rule buttons for easier viewing
-- minor adjustments to GUI
1.0
-- updated code to allow entry of event names in lower case
-- all rule entry fields now cleared when new rule is created, no deleting required
-- replaced enable checkbox with pretty toggle button
-- adjusted dropdown window locations
-- first release version, because beta is so passe
0.1.8b
-- added a GUI: note that if you have both a manual and dropdown event filled in, the manual event will be used in making the rule; slash commands are still valid if you prefer that method; left "report" and "spam" out of the GUI but both are valid via slash command
0.1.7.1b
-- fixed flipped source/target syntax in help spam
0.1.7b
-- added affiliation option as a fifth rule variable
-- code cleanup
-- made friend/enemy affiliation apply to events both "from" and "to" but I may change this later
-- if channel is set to RAID or PARTY but you aren't grouped, spam now defaults to SELF (but channel does not change, so if you join a group spam should be directed appropriately)
-- now accepts lowercase channel names
0.1.6b
-- fixed blank event spam on login
-- updated output code to include all event variables (although not every single argument for each variable is included in the spam)
-- updated existing event spam to better reflect events
-- updated code to include damage and power gain types
-- added creator to reports of event SPELL_CREATE
-- added "thing interrupted" to INTERRUPT reports
-- corrected ENERGIZED to ENERGIZE; gains should now register properly
-- added separate code for EXTRA_ATTACKS like Windfury
0.1.5b
-- updated custom channel code
-- added "reset" as a valid command
0.1.4b
-- initial beta release
Installation Guide
- Exit "World of Warcraft" completely
- Download the mod you want to install
- Make a folder on your desktop called "My Mods"
- Save the .zip/.rar files to this folder.
- If, when you try to download the file, it automatically "opens" it... you need to RIGHT click on the link and "save as..." or "Save Target As".
- Extract the file - commonly known as 'unzipping'
Do this ONE FILE AT A TIME!
- Windows
- Windows XP has a built in ZIP extractor. Double click on the file to open it, inside should be the file or folders needed. Copy these outside to the "My Mods" folder.
- WinRAR: Right click the file, select "Extract Here"
- WinZip: You MUST make sure the option to "Use Folder Names" is CHECKED or it will just extract the files and not make the proper folders how the Authors designed
- Mac Users
- StuffitExpander: Double click the archive to extract it to a folder in the current directory.
- Verify your WoW Installation Path
That is where you are running WoW from and THAT is where you need to install your mods.
- Move to the Addon folder
- Open your World of Warcraft folder. (default is C:\Program Files\World of Warcraft\)
- Go into the "Interface" folder.
- Go into the "AddOns" folder.
- In a new window, open the "My Mods" folder.
- The "My Mods" folder should have the "Addonname" folder in it.
- Move the "Addonname" folder into the "AddOns" folder
- Start World of Warcraft
- Make sure AddOns are installed
- Log in
- At the Character Select screen, look in lower left corner for the "addons" button.
- If button is there: make sure all the mods you installed are listed and make sure "load out of date addons" is checked.
- If the button is NOT there: means you did not install the addons properly. Look at the above screenshots. Try repeating the steps or getting someone who knows more about computers than you do to help.
Translations
When you download a mod, please be sure that the mod is compatible with your translation of wow. Some mods only work on the US versions, while some only work on some of the various European versions. These variations are called "Localizations".
TOC Numbers (Out of Date Mods)
When Blizzard patches WoW, they change the Interface number. This means that all mods will be "out of date" unless or until the author releases a new version for that interface. Some people go into the .toc files and update the numbers themselves, but this is STRONGLY advised against as it will cause problems locating possible incompatibilities addons. When you log into WoW after a patch, you DO NOT have to delete your interface directory. All you have to do is simply tell WoW to ignore the interface numbers and load all the mods anyway. All you have to do is, while at the "character select" screen, look in the lower left corner and click on the "addons" button. A window will pop up listing all your installed mods.
If you look in the upper left corner of that window there should be a box that says "Load Out of Date AddOns". You want to CHECK this box. Now simply go into WoW normally and all your mods should load. As of the 1.9 patch, you will have to do this after EVERY patch/update that Blizzard posts! If you encounter any problems with a mod after a patch, please be sure to let the author of the mod know so they can fix it.
See also: About "Out Of Date AddOns"
Mac Support
WoW addons are not platformed based. As such, they can be used on either Mac or PC. You can extract both .zip and .rar files on a Mac using StuffitExpander.
Directory Structure
World of Warcraft
|_ Interface
|_AddOns
|_*AddonName*
|_ *AddonName*.toc
|_ *AddonName*.xml
|_ *AddonName*.lua
|_ (possibly others as well)...