XPBarNone
XPBarNone
XPBarNone is an XP bar with handy feature set.
Description
Lightweight XP bar with a nice set of features, the text display is customisable, the default setting resembles the following:
Exp: 1234/56789 (7586) :: 12.5% through level 34 :: 1234 XP left :: 12 kills to level
Menus
You can access two different menus to configure XPBarNone.
Shift + Right Click: This accesses the main configuration menu. It's the same menu you could get through the slash commands, but in a nice graphical form.
Control + Right Click: This menu allows you to select which faction you would like to watch on your XP Bar.
Slash Commands
/xpbarnone or /xpbn
Will it be updated for 5.0.4?
Sorry about this, I had actually tagged v1.5.7 with this fix a week or so ago, but it looks like the Curse/WoWAce package generator was broken. I've tagged v1.5.8 now (no changes since 1.5.7) and hopefully this package will appear soon.
Can someone who has their account flagged for Mists of Pandaria tell me what the following commands output? (Assuming you have /print if you're using Ace3 addons).
/print UnitXPMax("player")
/print GetAccountExpansionLevel()
/print MAX_PLAYER_LEVEL_TABLE[GetAccountExpansionLevel()]
I have no idea why having your account flagged for Mists should break things, but this would appear to be a Blizzard bug since if it's the MaxXP string, that would be UnitXPMax not reporting things correctly (probably returning nil).
Thanks.
Guessing this is why:
http://us.battle.net/wow/en/forum/topic/6201230071
Was wondering why the bar vanished, but makes sense since I bought MoP yesterday.
/print UnitXPMax("player")
=> 12267000 (when using this command with a lvl85 char)
/print GetAccountExpansionLevel()
=> 4
/print MAX_PLAYER_LEVEL_TABLE[GetAccountExpansionLevel()]
=> nil
To fix:
On Interface\Addons\XPBarnone\Core.Lua
Look for "GetAccountExpansionLevel()"
Replace with "GetExpansionLevel()"
Addon now works fine!
Thank you, thank you, thank you :)
That simple fix totally worked. Hopefully it'll be changed in the next version (assuming it will still work on accounts that haven't upgraded to Mists?)
I'm sure this has to do with the release of MoP, but regardless could you fix this?
Message: Interface\AddOns\XPBarNone\Core.lua:759: bad argument #3 to 'string_gsub' (string/function/table expected)
Time: 07/26/12 14:43:36
Count: 1
Stack: [C]: ?
Interface\AddOns\XPBarNone\Core.lua:759: in function <Interface\AddOns\XPBarNone\Core.lua:741>
Interface\AddOns\XPBarNone\Core.lua:1125: in function `UpdateXPBar'
Interface\AddOns\XPBarNone\Core.lua:1019: in function `UpdateXPData'
Interface\AddOns\XPBarNone\Core.lua:688: in function <Interface\AddOns\XPBarNone\Core.lua:657>
(tail call): ?
[C]: ?
[string "safecall Dispatcher[1]"]:9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?
...ace\AddOns\Postal\Libs\AceAddon-3.0\AceAddon-3.0.lua:543: in function `EnableAddon'
...ace\AddOns\Postal\Libs\AceAddon-3.0\AceAddon-3.0.lua:636: in function <...ace\AddOns\Postal\Libs\AceAddon-3.0\AceAddon-3.0.lua:621>
[C]: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:274: in function `UIParentLoadAddOn'
Interface\FrameXML\UIParent.lua:348: in function `TimeManager_LoadUI'
Interface\FrameXML\UIParent.lua:614: in function <Interface\FrameXML\UIParent.lua:582>
Locals: <none>
This is a great addon, though I have a new error today. It is the only addon that I am using at the moment.
Message: Interface\AddOns\XPBarNone\Core.lua:759: bad argument #3 to 'string_gsub' (string/function/table expected)
Time: 07/25/12 11:10:44
Count: 1
Stack: [C]: ?
Interface\AddOns\XPBarNone\Core.lua:759: in function <Interface\AddOns\XPBarNone\Core.lua:741>
Interface\AddOns\XPBarNone\Core.lua:1125: in function `UpdateXPBar'
Interface\AddOns\XPBarNone\Core.lua:1019: in function `UpdateXPData'
Interface\AddOns\XPBarNone\Core.lua:688: in function <Interface\AddOns\XPBarNone\Core.lua:657>
(tail call): ?
[C]: ?
[string "safecall Dispatcher[1]"]:9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?
...\AddOns\XPBarNone\Libs\AceAddon-3.0\AceAddon-3.0.lua:543: in function `EnableAddon'
...\AddOns\XPBarNone\Libs\AceAddon-3.0\AceAddon-3.0.lua:636: in function <...\AddOns\XPBarNone\Libs\AceAddon-3.0\AceAddon-3.0.lua:621>
[C]: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:274: in function `UIParentLoadAddOn'
Interface\FrameXML\UIParent.lua:348: in function `TimeManager_LoadUI'
Interface\FrameXML\UIParent.lua:614: in function <Interface\FrameXML\UIParent.lua:582>
Locals: <none>
I found that last night. Did you pre-purchase Mists? I think it has to do with flagging the account with a max-level of 90 when we can't hit that yet. The error is in the Max XP for current level string. Go to line 759 and add a "--" in front of it to comment it out. Go into the addon settings in wow and get rid of the maxXP string if you are using it and the bar w ill work again. XPLeft still works so you'll be able to see how much you need to level still.
That did it, thanks a lot. You are awesome. I have tried so many different addons the last few days to replace this one and I couldn't find one that satisfied me.
Thanks again.
Is there any way you could make the xp and rep bars separate from one another instead of all in one bar? I like to have both showing in separate locations.
I love the customization options of xpbarnone and hate to play without it, but recently had to re-do all my settings due to a reformat. It would be nice to use a command line option to load a saved profile instead of having to click 6 times to load a profile. When you have to do that for 15 addons, its amazing how long it takes.
A few addons support the /addon profile choose [Profile] format and it makes it easy to make a macro to copy the settings, but for those that don't, it takes me 15 mins per toon to configure to have a same interface.
Thanks for all the work you've done.
Is this not possible?
self.diffXP = (prevXP ~= 0) and (self.cXP - prevXP) or 0
A better approach to estimating the KTL would be to only use the last X amount of XP gains instead of all of them. If you use all of them, then you're also taking into account minimal XP gains and XP gained from quests. I personally think flushing lastXPValues after it reaches an array size of 24 would give a more accurate result, although you may wish to increase or decrease this value. Anyways, after the suggested changes, UpdateXPData() should look like this:
function XPBarNone:UpdateXPData()
local prevXP = self.cXP or 0
self.cXP = UnitXP("player")
self.nXP = UnitXPMax("player")
self.remXP = self.nXP - self.cXP
self.diffXP = (prevXP ~= 0) and (self.cXP - prevXP) or 0
-- Flush lastXPValues if it contains more than X amount of values. This will give a more accurate result.
if #lastXPValues == 24 then
lastXPValues = {}
sessionkills = 0
end
if self.diffXP > 0 then
lastXPValues[math_mod(sessionkills, 10) + 1] = self.diffXP
sessionkills = sessionkills + 1
end
self:UpdateXPBar()
end