Guild Delta
When you login, Guild Delta displays changes ("deltas", in math terms) to the guild roster since the last time you logged in. Specifically, names of players who have joined the guild or are no longer in the guild. See below for tracking other kinds of changes.
If you're here about 5.4.2 changes, read Oddities below!
I didn't like being unaware that people had left my (large) guild merely because I happened to not be online at the time they left. And I kept being surprised to find that people I knew had joined the guild when I was offline. So I wrote this simple tool to discover changes in the roster.
Guild Delta only updates its list when you login. After that, it becomes totally inactive and removes as much of itself from memory as it can. This means that even players who join/leave the guild while you are online will be listed the next time you login. This is deliberate.
By default, text is printed to the combat log window so that it won't get lost in the flood of crap that shows up in the main chat window during login. You can use the /guilddelta command to change this, or from the Escape->Interface->AddOns menu.
Starting in release 4, there is basic support for logging all of the deltas for later review. This is disabled by default, use /guilddelta to activate it. The logging is somewhat primitive.
You can dump the guild roster to a text window using the Snapshot button or '/guilddelta output snapshot'. The text is suitable for pasting into a text editor using a fixed-width font. (Line endings are a little weird, that's just how WoW does it and there's nothing I can do about that. Any strings using high-ASCII letters will cause the spacing to be odd; that's also a WoW quirk.)
If you have downloaded this addon from anywhere other than directly from Curse or WoWInterface, then it is outdated at best and infected with viruses at worst. Clone sites not only leech bandwidth, lately they've been adding malware as well. Get your addons from safe sites with a good reputation!
Notes and Oddities
- In game version 5.4.2, Blizzard changed the guild roster API to always include the realm name of a player, in order to support connected realms. Unfortunately this means that all your guildmembers will look like they've left, and a brand new roster all joined. It's a one-time flood of noise that they didn't document in patch notes (before, or ever).
- If you are promoted to officer rank, any existing officer notes will all be printed out the next time you login, even though they haven't "changed" recently.
- Public/officer notes which are erased get no special mention; that is, there is no notification such as PlayerX's note used to be "complete noob spec" but is now empty when logging in.
- If GuildDelta reports that a player has left the guild, but Blizzard's builtin Guild Log window makes no mention of the departure, it means that the player has transferred to another faction/realm.
- Players who rename their character will be reported as the old player name leaving and the new player name joining.
- If you are no longer in a particular guild, you can (and should) clear that guild's information from memory; use the /guilddelta command to see the list of known guilds. If, however, a player is not in any guild at all when logging in, then the addon will not even register itself and in fact unloads itself from memory as much as Blizzard permits. This means that there will not be a /guilddelta command available! Either log on to a character in a guild (any guild), or if you have no characters anywhere in any guild, then... stop loading a guild-related addon. :-)
Localization
If you're a reasonably proficient speaker of non-English languages, any translations you can do would be welcome! Just make changes at http://www.wowace.com/addons/guild-delta/localization/ and then send me a PM to notify me. I can offer nothing in return except public credit, my appreciation, and a beverage of your choice if you're ever in town.
For anyone else that's still using this, 8.0 broke it but I think I've got it back up and running again.
Open up GuildDelta/gd.lua, find the following section of code (it's right at the end):
Replace it with the following bit:
Seems to be working on my end, YMMV. (GetGameTime() still works, to be fair, but I didn't realize that until I'd replaced its call and this saves a line or few of code so eh.)
In reply to Veyska:
NEW
The change I used for fixing this addon directly reflects that pattern and is here:
OLD
NEW
In reply to mltco78dhs:
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\GuildDelta\gd.lua line 623: '=' expected near 'local'
In reply to Suppression_Curse:
This is the exact, full, replacement function I'm running right now (successfully):
In reply to Suppression_Curse:
In reply to Suppression_Curse:
In reply to mltco78dhs:
Good evening.
Does this addon work correctly for recent 6.x patch?
@Krakozubr: I don't honestly know, as I haven't played for months. I'll be re-subscribing at some point "soon" and will update my addons at that time.
It may be that the addon will run with no changes; you would need to check the "load out of date addons" box to try it.
Yes, it works for 6.0.3 with no changes as far as I can tell (it was detecting changes when I first logged in). I've update the TOC for Warlords, so the latest version won't need the "load out of date" checkbox.
My guild uses the officer note field to store EGP values and the field is readable by everyone (not just offficers) - and it changes more or less every day for around 25 people.
It would be very since with a setting to allow tracking for public notes independent of the officer notes, so I can turn it off for the officer note.
Thanks in advance. :)
@tlundse: this has been added in the 6.0.4 release, just uploaded. :-)
Tracking of officer notes will initially default to the same settings as your tracking of player notes. The first time you log in with officer notes enabled, it'll spam your chosen output window with "new" notes even if they haven't changed. After that it should work as normal.
Thank you!
Not sure if this addon is still being maintained or not, but "My accumulated logfile has grown rather large" on several toons, and I can't go clear it because every time I click the 'Logging' tab, my game freezes, probably due to the massive amount of text the game is trying to load. I'm also having trouble finding this log file in my wow directory to manually delete.
Saved files are stored under the WTF folder in your World of Warcraft folder. In the latest few patches, Blizzard has started renaming the subfolders under WTF, so who knows what the exact path might be these days. Just look for files named GuildDelta.lua.* under WTF and delete them.
You might also want to turn off logging entirely, if you haven't already. :-)
Found it under C:\Program Files (x86)\World of Warcraft\WTF\Account\ (my account name) \SavedVariables\GuildDelta.lua
Thanks!
Heads up for WoW's 4.3
Its not clearing the info on logout so you get the last session + new one every time you login.
Seems that theres a bug on WoW that wont save the session on logout, related to mature lang filter since it wont save and you need to turn off every time, my guess thats the same issue.
Good addon btw
[url=http://us.battle.net/wow/en/forum/topic/3657275841]persistent Mature Language Filter bug (link)[/url] is responsible. Say you have a guildmate with a player note that (jokingly) says "this man is an asshole". Due to the profanity filter, the WoW client reports that the player note says "this man is an $@*!*". GuildDelta records the change.
The next time you log in, the WoW client reports that the player note says "this man is an *%!$$". GuildDelta records the change.
The next time you log in, the WoW client reports that the player note says "this man is an *!$@$!". GuildDelta records the change.
See the difference? :-) There's no bug in saving these changes; the "bug" is that the text replacement for profanity is random gibberish, which then shows up as a false positive.
I admit, it never would have occurred to me that the profanity filter might also affect things like player notes. The correct thing to do of course is to temporarily disable the filter when extracting the guild roster information, and that's been done in the upload for 4.3, just now.
oh I see, thank you for the quick answer and solution
Had an issue recently where someone (either intentionally or from being hacked) left the guild & closed their account and/or moved to another server. The Blizzard guild log lists "Unknown leaves the guild (date)". But GuildDelta did not detect or list this at logon.
One problem I have seen is that if latency to the world server is especially high (not uncommon if logging in to a capital city on a busy day), then responses from the server just stop happening and GD doesn't get updated that session. It should catch up on next login, but again this is difficult to test.