Experiencer is a minimum configuration required experience bar addon. It adds multi purpose experience, reputation, artifact power, honor and conquest progress bar to the bottom or the top of the screen. The bar can also be split in up to three different sections to display multiple data sources simultaneously.
Note that because the Experiencer bar can only be anchored to the top or the bottom of the screen it may overlap with other frames positioned in those places.
When tracking experience the addon will display your current rested percentage, remaining xp required to level and percentage of the same value. Once you start gaining experience it will display the total sum gained during the active session, experience per hour value, estimated time and number of quests to level. Additionally the number of experience points player will gain after turning in all completed quests (and optionally incomplete quests) is displayed with an accompanying visualizer bar. Session values are saved even when you log out, to reset them you must do so from the options menu.
Once you have reached the maximum level experiencer will change to displaying reputation progress. It displays the current level, reputation required to next level and percentage of the same value. By default the Experiencer will also attempt to automatically track the faction with whom you have last gained reputation.
If available Experiencer can also track artifact power, honor and conquest. * Artifact power tracking will unlock after you gain the Heart of Azeroth. * Conquest tracking unlocks at level 120.
Note! Experiencer will not hide the existing experience bar by Blizzard and you need to use a separate addon to do that. Usually an action bar replacement addon (Dominos or Bartender) will allow you to hide it and using one with this addon is recommended anyway.
By default the bar is colored the class color of the character you are playing but it can be changed in the options.
Experiencer also adds a DataBroker module that displays current text if you wish to place it elsewhere. To freely place it anywhere check out my DataBroker display addon Candy. In case Experiencer is split in to more than one section the left most bar will be used as the data source for DataBroker text.
Usage and Shortcuts
Experiencer options can be accessed by right clicking the bar or the DataBroker module. In order to make things smoother there are a few useful shortcuts.
- Control left-click toggles bar visiblity. There will always be a slightly translucent black bar where the bar is anchored.
- Middle-click toggles text visibility if text is not set to be always hidden.
- Holding control while scrolling with mouse wheel lets you browse through available bars in following order: experience, reputation, artifact power and honor.
-
Shift left-click pastes current statistics to chat editbox. Shift control left-click for quick paste.
-
Reputation: Holding shift while scrolling with mouse wheel over reputation bar will cycle through recent reputations.
Dependencies
Experiencer uses Ace3, LibSharedMedia and LibDataBroker which are included in the /libs directory.
License
Experiencer is licensed under MIT license. See license terms in file LICENSE.
Getting this error
169x Experiencer\modules\artifact.lua:123: attempt to compare number with nil
Experiencer\modules\artifact.lua:123: in function `GetText'
Experiencer\core.lua:480: in function `UpdateText'
Experiencer\modules\experience.lua:559: in function `?'
...yed\libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:146: in function <...yed\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146>
[string "safecall Dispatcher[1]"]:4: in function <[string "safecall Dispatcher[1]"]:4>
[C]: ?
[string "safecall Dispatcher[1]"]:13: in function `?'
...yed\libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:91: in function `Fire'
AllPlayed\libs\AceEvent-3.0\AceEvent-3.0-3.lua:120: in function <AllPlayed\libs\AceEvent-3.0\AceEvent-3.0.lua:119>
Locals:
nil
Fixed the error.
Since I haven't encountered this error, I was Just wondering why or how did it happen. From code side it's because it found an item that it couldn't scan for artifact power but what kind of items do you have that may have caused it? :D
Probably the fishing pole.
Hey, I love this addon. Is there a way to make the bar auto-switch to whatever we gained last? (xp, rep or ap)
Or maybe even put a second bar so we can see both rep and ap at the same time?
I would also love to see the ability to show more than 1 bar at the same time!
Hi, I found a bug related to this addon that would cause the game to hang on the loading screen.
I had several thousand unspent Artifact Power items (close to 10k) sitting in my bags and for whatever reason this would cause the game to hang on the loading screen and I would only be able to load in after spending said Artifact Power. Afterwards I was able to load in with the addon enabled with no issues.
Great addon, only thing is I can't seem to find the option menu to change the bar colors. Does it have any command? x.x
Nope, no special commands or anything.
You should be able to change it from Right click bar > Frame Options > Set custom color.
Right clicking bar does nothing for me. Did I miss any addon i have to preinstall? all the other commands to change bars, text and visibility work, but the right click for options doesn't work.
Is there any error message? Do you possibly have the same error previous commenter fostot does?
Nope. It just does nothing, but no error pops up.
Hey there Sonaza, I LOVE the addon, however, you seem to have a bug that is stopping the right click from coming up. Took me a long while to figure this out since apparently i had LUA errors turned off. I finally disabled all of my addons only to find the following:
Message: Interface\AddOns\Experiencer\modules\reputation.lua:375: bad argument #2 to 'format' (string expected, got nil)
Time: 09/05/16 18:03:11
Count: 3
Stack: [C]: in function `format'
Interface\AddOns\Experiencer\modules\reputation.lua:375: in function `GetReputationsMenu'
Interface\AddOns\Experiencer\modules\reputation.lua:215: in function `GetOptionsMenu'
Interface\AddOns\Experiencer\core.lua:812: in function `OpenContextMenu'
Interface\AddOns\Experiencer\core.lua:557: in function <Interface\AddOns\Experiencer\core.lua:541>
Locals: (*temporary) = "%s (%s)"
(*temporary) = nil
(*temporary) = "Hated"
(*temporary) = "string expected, got nil"
I bandaided it for now to get by but it would be nice to see a fix for sure:
Line 375 is this: text = string.format("%s (%s)", name, standing_text), it looks like that second %s standing_text was a nil value for some reason and it wasn't being caught somewhere beforehand. I wrapped it though and got it at least moving:
if (name ~= nil) and (standing_text ~= nil) then
tinsert(current, {
text = string.format("%s (%s)", name, standing_text),
func = function() SetWatchedFactionIndex(faction_index); CloseMenus(); end,
checked = function() return isWatched end,
})
end
I wonder what reputation may cause it. Clearly problem is with the standing_text and only place where it can be set to nil is when friendship level is retrieved. How long have you been having the problem? Some one of the new friendship reputations is causing this?
Just saying I am having the very same problem.
Edit:
Important update: The problem (right clicking throwing lua errors) only occurs on my level 110 toon. So it possibly is related to the experience bar (not the faction or artifact power bar).
First of all, very cool/neat addon! :-)
The only quirk I found is the position of the DataBroker menu which shows up right-clicking the addon icon on ChocolateBar: if I keep the Experiencer icon on the left side of the bar the menu shows up ok, while if I position it on the right side of the bar, the menu shows up no longer aligned with the icon, usually partially or completely off-screen on the right...
Ah this thing again. Just need to clamp the menu within screen, not a big bug.
It works like a charm now, thanks! ;)
Hey, can you fix the top anchor? For me it leaves a pixel wide gap on the top anchor, makes it difficult to get the hover only text displayed because i can't just hit the top of the screen with my mouse!
Sure, that's not intentional anyway :)