Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(153 Kb)
Download
Updated: 10-13-14 11:38 PM
Pictures
File Info
Compatibility:
Warlords of Draenor Pre-Patch (6.0.2)
Updated:10-13-14 11:38 PM
Created:unknown
Downloads:16,661
Favorites:283
MD5:

Learning Aid  Popular! (More than 5000 hits)

Version: 1.12 Beta 1
by: Jamash [More]

Learning Aid is for all those times when you've just leveled up, retalented, or learned a new trade skill and you've had to page through your spellbook looking for all those new icons.

When you learn a new ability, or tradeskill, Learning Aid pops up a window with the new ability icon in it, ready to be dragged to your Action Bar.

Learning Aid filters the chat message spam that you get when swapping specs, unlearning talents, or learning several talents at once down to one or two lines.

Learning Aid adds a "Train All" button to tradeskill trainers.

Directions

1. Learn a new ability!
2. Drag it to your action bar!
3. Click the close box to dismiss the window!

You can also shift-click an ability button to create a chat link, just like from the spellbook.

Options

Right-click on the window's title, or click the lock icon to lock the window so it does not move.

Compatiblity

Learning Aid is compatible with World of Warcraft version and 6.0.2.

Latest Changes
v1.12b1

Almost entirely fixed for Warlords of Draenor!

v1.11.2: Fixed the stack overflow bug.

v1.11.1: Compatible with WoW 4.1.0, improvements to the ignore list, fixed the guild perk issue.

v1.12b1: Updated for Warlords of Draenor pre-patch 6.0.2.
v1.11.2: Fixed the stack overflow bug.
v1.11.1: Compatible with WoW 4.1.0, improvements to the ignore list, fixed the guild perk issue.
v1.11: Compatible with WoW 4.0.x, new "Learn All" button on trainers.
v1.10.1: Chinese localizations added (zhCN and zhTW), kindly provided by wowuicn.
v1.10: The Learning Aid window now grows wider when there are too many abilities on it to fit in one column. Korean localization added, kindly provided by talkswind.
v1.09: "Find Shapeshift Forms" toggle was backwards (fixed). New "Ignore Ability" feature available via ctrl-click and /la ignore chat command. When swapping talent specs, do not print abilities that are unlearned then immediately relearned.
v1.08: Shaman totem option in missing ability search. Fixed "wrong companion shown" bug (again). Updated TOC to 30200.
v1.07.2: Added German translation kindly provided by Freydis88.
v1.07.1: Fixed a long-standing bug that caused the wrong companion to appear in the Learning Aid window when learning a companion during a period of greater than usual server lag.
v1.07: Added a spam filter for "You have learned X." and "You have unlearned Y." system chat messages. Defaults to on. Added the ability to automatically save deleted action buttons when you unlearn your talents either at a trainer or due to a major patch, and restore the buttons to your action bar when you relearn the spells or abilities. Added Macaroon support to the macro scanner.
v1.06.1: Fixed macro search for abilities with ":" in them.
v1.06: Added a GUI configuration page in the Blizzard Addon preferences window. Added a function to search the player's action bars for missing abilities. Updated TOC version to 30100 for patch 3.1.
v1.05: Fixed a bug that could cause pet and mount tooltips to display incorrectly. Updated TOC version to 30000 for patch 3.0.
v1.04: Added ability to lock the window
v1.03: Support for pets and mounts added for WoW 3.0, and minor cosmetic fixes.
v1.02: Shift-click to create chat links added.
v1.01: Fixed bug with learning passive abilities.
Optional Files (0)


Archived Files (13)
File Name
Version
Size
Author
Date
1.11.2
119kB
Jamash
05-06-11 02:51 PM
1.11.1
119kB
Jamash
04-26-11 10:34 AM
1.11
113kB
Jamash
12-07-10 01:17 AM
1.10.1
114kB
Jamash
07-13-10 03:00 AM
1.10
112kB
Jamash
07-11-10 05:29 PM
1.09
109kB
Jamash
04-04-10 07:24 PM
1.08
112kB
Jamash
08-04-09 11:46 PM
1.07.2
111kB
Jamash
06-07-09 03:23 AM
1.07.1
104kB
Jamash
06-03-09 03:35 AM
1.07
107kB
Jamash
05-19-09 05:11 AM
1.06.1
100kB
Jamash
04-15-09 11:58 PM
1.06
100kB
Jamash
04-14-09 07:51 AM
1.05
6kB
Jamash
10-20-08 01:06 AM


Post A Reply Comment Options
Unread 12-03-13, 01:16 PM  
Jamash
A Fallenroot Satyr
 
Jamash's Avatar
AddOn Author - Click to view AddOns

Forum posts: 20
File comments: 24
Uploads: 6
Smile GOOD NEWS EVERYONE

I got my computer fixed-ish (limping along but usable) after all this time, so I can start working on Learning Aid again! I also have a new job and more of a social life so my time will be somewhat limited, but I'll try to keep you posted on my progress.
Jamash is offline Report comment to moderator  
Reply With Quote
Unread 05-06-11, 02:56 PM  
Jamash
A Fallenroot Satyr
 
Jamash's Avatar
AddOn Author - Click to view AddOns

Forum posts: 20
File comments: 24
Uploads: 6
Originally posted by MagicSN
Jaim: The lua error you posted looks the same like the one I got when changing spec.
Fixed! Thanks for the reports.
Jamash is offline Report comment to moderator  
Reply With Quote
Unread 05-05-11, 06:17 AM  
MagicSN
A Murloc Raider

Forum posts: 8
File comments: 29
Uploads: 0
Jaim: The lua error you posted looks the same like the one I got when changing spec.
MagicSN is offline Report comment to moderator  
Reply With Quote
Unread 05-04-11, 10:07 PM  
Jaim Sandar
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 13
File comments: 357
Uploads: 1
When I first logged on with a level 76 Shadow Priest after updating to 1.11.1 I saw an error for Learning Aid. I didn't record it.
Shortly after that, I learned Artisan Archaeology and saw this error:

Code:
LearningAid-40100\LearningAid.lua:731: stack overflow
LearningAid-40100\LearningAid.lua:706: in function `UpgradeIgnoreList'
LearningAid-40100\LearningAid.lua:717: in function <LearningAid\LearningAid.lua:716>
(tail call): ?:
LearningAid-40100\LearningAid.lua:706: in function `UpgradeIgnoreList'
LearningAid-40100\LearningAid.lua:717: in function <LearningAid\LearningAid.lua:716>
(tail call): ?:
LearningAid-40100\LearningAid.lua:706: in function `UpgradeIgnoreList'
LearningAid-40100\LearningAid.lua:717: in function <LearningAid\LearningAid.lua:716>
(tail call): ?:
LearningAid-40100\LearningAid.lua:706: in function `UpgradeIgnoreList'
LearningAid-40100\LearningAid.lua:717: in function <LearningAid\LearningAid.lua:716>
(tail call): ?:
...:
LearningAid-40100\LearningAid.lua:717: in function <LearningAid\LearningAid.lua:716>
(tail call): ?:
LearningAid-40100\LearningAid.lua:706: in function `UpgradeIgnoreList'
LearningAid-40100\LearningAid.lua:769: in function `IsIgnored'
LearningAid-40100\SpellButton.lua:294: in function `UpdateButton'
LearningAid-40100\SpellButton.lua:101: in function `AddButton'
LearningAid-40100\Spell.lua:201: in function `AddSpell'
LearningAid-40100\Spell.lua:230: in function `DiffSpellBook'
LearningAid-40100\Events.lua:171: in function `?'
LearningAid-40100\LearningAid.lua:120: in function <LearningAid\LearningAid.lua:119>
Thank you.
Jaim Sandar is offline Report comment to moderator  
Reply With Quote
Unread 04-29-11, 08:19 AM  
MagicSN
A Murloc Raider

Forum posts: 8
File comments: 29
Uploads: 0
Re: I'm back, from outer space

The new version for WoW 4.1 causes a stack overflow when you change
to your secondary spec.
MagicSN is offline Report comment to moderator  
Reply With Quote
Unread 03-07-11, 11:00 PM  
Jamash
A Fallenroot Satyr
 
Jamash's Avatar
AddOn Author - Click to view AddOns

Forum posts: 20
File comments: 24
Uploads: 6
I'm back, from outer space

Sorry for the long period of inactivity, but I'm working on a bug fix and general code cleanup version of Learning Aid, probably to be designated 1.11.1 (yay symmetry) to be released before WoW 4.1.0 drops. Also, my guild got Mobile Banking so I can easily test fixes to that problem.

Dridzt, could you create a diff of the code you wrote to detect long runs of SPELLS_CHANGED, put it on http://wowuidev.pastey.net/, and post a link here (or PM me)?
Jamash is offline Report comment to moderator  
Reply With Quote
Unread 02-24-11, 11:28 AM  
Dridzt
A Pyroguard Emberseer
 
Dridzt's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1192
File comments: 780
Uploads: 82
I did some further debugging.
It turns out the spellbook update is totally unreliable on Blizzard's end.

I added some debug prints to Learning Aid to see what's happening and the problem comes from a combination of things.

1. The guild perks part of the spellbook is not always available at PLAYER_ENTERING_WORLD.
Furthermore it appears completely random when it is and isn't.

Sometimes it's there on a cold login, sometimes not.
Even when it's there on a cold login crossing a loading screen (portal, instance etc) does a spellbook update and again guild perks may or may not be available at P_E_W.

2. Sometimes a series of many SPELLS_CHANGED events fires in quick succession after / as the player enters the world.
I'm assuming 1 for each guild perk.
Say 10 SPELLS_CHANGED fire in a second.
At some point DiffSpellBook() gets to the event that fires for "Mobile Banking" becoming available.
Since each invocation of DiffSpellBook() calls UpdateSpellbook() updating the spellbook cache,
it compares the spellbook cache of SPELLS_CHANGED #6 ("Mobile Banking" is known but hasn't yet loaded in the spellbook) to the diff taken at SPELLS_CHANGED #7 ("Mobile Banking" has loaded again) and flags it as "new" adding it to the LA frame.

Leaving aside the mess that Blizzard events seem to be, LA will need to ignore quick firing SPELLS_CHANGED and only UpdateSpellbook() when the last of a series of those has fired shortly after P_E_W.
Last edited by Dridzt : 02-24-11 at 05:43 PM.
Dridzt is offline Report comment to moderator  
Reply With Quote
Unread 02-23-11, 08:19 AM  
Dridzt
A Pyroguard Emberseer
 
Dridzt's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1192
File comments: 780
Uploads: 82
The same thing will happen with "Have Group, Will Travel" at guild level 21 and "Mass Resurrection" at guild level 25.

These along with "Mobile Banking" are the 3 guild perks that are not passive bonuses and instead are cast.

This is obviously a race condition that creates the problem.
From what I can see there's 2 possible causes:
1. UpdateSpellbook() is called at PLAYER_LOGIN to build the cache of known spells from the spellbook.
DiffSpellBook() then takes a fresh snapshot and compares to that base to decide if it should add new spells to the LA frame.
There is a possibility that the spellbook hasn't fully finished loading at PLAYER_LOGIN for guilded players,
which leads to the cache being used as a "base" for comparison later being incomplete (missing the guild perks).

2. DiffSpellBook() fires from SPELLS_CHANGED but calls UpdateSpellbook() itself.
SPELLS_CHANGED can be very spammy, firing multiple times in a very short period of time.
What happens when the function taking the snapshot of spells after a change updates the "base" it compares against itself?

I've made some changes to my local copy to filter some of this spam and only run the DiffSpellBook() function on the last of a series of SPELLS_CHANGED and it seems to have solved the issue (some minor changes were also required in the spec switch logic).

I'll run with it for a bit to see if there's other adverse effects before posting.
Last edited by Dridzt : 02-23-11 at 08:22 AM.
Dridzt is offline Report comment to moderator  
Reply With Quote
Unread 02-22-11, 02:46 AM  
MagicSN
A Murloc Raider

Forum posts: 8
File comments: 29
Uploads: 0
Sadly it seems I was too fast. In some cases it STILL pops up. I will look later, if I can find out more.
MagicSN is offline Report comment to moderator  
Reply With Quote
Unread 02-19-11, 12:15 PM  
MagicSN
A Murloc Raider

Forum posts: 8
File comments: 29
Uploads: 0
Originally posted by Jamash
I don't have access to mobile banking yet so it's kind of difficult for me to test . Please send me a PM if you'd be interested in doing some debug logging, and I'll see what I can do.
You can fix this by inserting in SpellButton.lua after the line

function LA:AddButton(kind, id)

the lines

if id == 83958 then
return
end

Then Mobile Banking will be completely ignored by the addon (including the first time it pops up, though, but better than it always popping up).

MagicSN
MagicSN is offline Report comment to moderator  
Reply With Quote
Unread 01-19-11, 05:12 PM  
Jamash
A Fallenroot Satyr
 
Jamash's Avatar
AddOn Author - Click to view AddOns

Forum posts: 20
File comments: 24
Uploads: 6
Originally posted by Veyska
The new guild perk, Mobile Banking, is popping up as a new spell on a regular basis. Seems to mostly be after a loading screen. Loading in-game and releasing from an instance both trigger it but zoning back in as a ghost doesn't, for example, but I haven't been keeping meticulous track of it though. Other two guild castable abilities may trigger it too, but it's gonna' be a long while till I can check. :-P
I don't have access to mobile banking yet so it's kind of difficult for me to test . Please send me a PM if you'd be interested in doing some debug logging, and I'll see what I can do.
Jamash is offline Report comment to moderator  
Reply With Quote
Unread 01-19-11, 05:08 PM  
Jamash
A Fallenroot Satyr
 
Jamash's Avatar
AddOn Author - Click to view AddOns

Forum posts: 20
File comments: 24
Uploads: 6
Originally posted by Akkorian
Hi Jamash,

I’ve noticed that when I learn something (for example, Master Herbalism) and Learning Aid pops up a window with that ability, I also get a message from Learning Aid in the chat window that lists not just Master Herbalism, but also everything else I’ve learned since logging on (such as class skills, and other professions), even if I learned them hours ago.

I think this is related to the feature that hides all of the “learned” and “unlearned” spam when switching specs, but I still see the regular “learned” message when it happens. Is this a bug, or a feature? If it’s a feature, is there a way to turn it off without turning off the summary feature for switching specs?

Thanks!
Yeah it's a bug, I've been trying to hunt it down for a while now.
Jamash is offline Report comment to moderator  
Reply With Quote
Unread 01-16-11, 09:19 PM  
Akkorian
A Flamescale Wyrmkin
 
Akkorian's Avatar
AddOn Author - Click to view AddOns

Forum posts: 107
File comments: 122
Uploads: 2
Hi Jamash,

I’ve noticed that when I learn something (for example, Master Herbalism) and Learning Aid pops up a window with that ability, I also get a message from Learning Aid in the chat window that lists not just Master Herbalism, but also everything else I’ve learned since logging on (such as class skills, and other professions), even if I learned them hours ago.

I think this is related to the feature that hides all of the “learned” and “unlearned” spam when switching specs, but I still see the regular “learned” message when it happens. Is this a bug, or a feature? If it’s a feature, is there a way to turn it off without turning off the summary feature for switching specs?

Thanks!
__________________
“Be humble, for you are made of earth. Be noble, for you are made of stars.” — Serbian proverb
Akkorian is offline Report comment to moderator  
Reply With Quote
Unread 01-15-11, 09:39 PM  
Veyska
A Kobold Labourer
 
Veyska's Avatar

Forum posts: 1
File comments: 48
Uploads: 0
The new guild perk, Mobile Banking, is popping up as a new spell on a regular basis. Seems to mostly be after a loading screen. Loading in-game and releasing from an instance both trigger it but zoning back in as a ghost doesn't, for example, but I haven't been keeping meticulous track of it though. Other two guild castable abilities may trigger it too, but it's gonna' be a long while till I can check. :-P
Veyska is offline Report comment to moderator  
Reply With Quote
Unread 01-01-11, 01:09 PM  
Jamash
A Fallenroot Satyr
 
Jamash's Avatar
AddOn Author - Click to view AddOns

Forum posts: 20
File comments: 24
Uploads: 6
Originally posted by Phanx
Could you please get rid of the swirly textures around the buttons? They're bad enough in the spellbook, but in Learning Aid the buttons are closer together, so the swirls end up overlapping adjacent buttons
I like the swirly things, but I'll see what I can do about the overlapping issue by adjusting spacing and/or layering.
Jamash is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: