Get an Epic Experience with Premium

Basic Experience Bar

Quests & Leveling Login to Add Favorites
  • World of Warcraft
  • 533 Monthly Downloads
  • Supports: 5.4.1
  • 73,771 Total Downloads
  • Updated 11/02/2013
  • Created 12/07/2008
  • 86 Favorites
  • Project Site
  • Comments
  • Release Type: Inactive
  • License: All Rights Reserved
  • Newest File: 1.12

About Basic Experience Bar

Basic Experience Bar is a highly configurable add-on to cover (or replace if another add-on has hidden it) the default UI experience bar.


  • Shows xp rate and time to level and other things, based on the xp this session.
  • Profiles. You can now have you settings shared between chars. They can automatically update to any changes made to the profile on other chars or you can just load the settings and change them to your heart's content.
  • Fully configurable text including position. The text can be sent to the chat EditBox with a left click on the bar too.
  • Textures can be changed for all elements.
  • You can change the color and transparency for ALL elements, and can define different colors and or trasparencies for different levels of rest (unrested, rested, and fully rested)
  • Almost all elements can be hidden or shown.
  • By default uses default UI tick marks so when someone asks you how many 'bars' you have left 'till you level, you will know.
  • Has a rested experience bar and a marker to show how far into the next level (or the next after that) you will go with rested experience.
  • Any element can be set to flash when resting.
  • A GUI config screen that can be accessed by typing /beb or right clicking on the bar. The GUI config is also load on demand so it will only be loaded if you want to change something.
  • Moveable.
  • Resizable.
This is an update of BasicExperienceBar 0.87.
  • Fix for 5.4.1 as suggested by sunean.
  • Update Interface to 50400.
  • Implement hiding for pet battles and in vehicle.
  • Implement decimal grouping.
  • Update max level to 90.
  • Update experience table with data for levels 85..89.
  • Fix bug cf CurseForge ticket #3.
  • Update Interface to 50001.
  • Update interface to 40000 again.
  • GetXPExhaustion() returns nil when the player is not rested. The code assumed that it returns zero. Fix this by inserting a shim.
  • Update XP table to include levels 81 to 85.
  • Fix a bug that left an undefined text snippet, causing a crash.
  • Set the interface version to 40000. (Oops!)
  • Fix another lost global.
  • Fixes a packaging error. No changes to the addon.
  • Changed: Fixes for WoW 4.x.
  • Changed: Fix "Kills to level up" variable.
  • Changed: Update TOC file to 3.1.
  • Changed: Fixed bug that occurred when the bar text was changed to one with less components.
  • Initial release on Curse.


First Previous Page 2 of 7 Next Last
  • #81

    Thanks for the code. Can you supply the code for the vehicle events, too? You're not the only one who wants BEB to hide when a vehicle is active.

    I'll see that I release a new version when I have that code, but due to RL interference, this will probably take a little.

  • #79

    I added the following to BEB.lua

    At Line 108 add the following lines
     -- Added by Zanoroy
       elseif (event == "PET_BATTLE_CLOSE") then
       elseif (event == "PET_BATTLE_OPENING_START") then

    At Line 133 add the following Lines  
    -- Events added by Zanoroy
    thats it..
    Hides when the battle starts then shows again once the battle is over..
    (clearly, you dont need the Added by Zanoroy comments. I just put thm in so I can find the lines I modifed easily)

    I have added the Vehicle tests as well, I didnt like the BEB staying on when I entered a vehicle.

  • #78

    Looking at a few other addons that do this, seems they hide on PET_BATTLE_OPENING_START, and then show themselves again on PET_BATTLE_CLOSE.

  • #74
    Commas in Numbers

    Is there a way to format the text so that there are commas in the large numbers?  When you have hundreds of millions of rested experience, it's hard to tell exactly how big the number is!

  • #75

    That's a good suggestion. I'll see that I can implement this in the next days. I'll follow by using a space as a separator, and I'll probably supress it for four-digit numbers.

    Sorry, I will not add a configuration option. Maybe later if many people lobby me for it. I just don't see the necessity.

  • #72
    XP bar text

    I am not able to get the 'time to level' and 'kills to level' text to line up with the default text on the xp bar. Also, no right click sends the information to my chatframe.


  • #73

    Can you please post the format of the bar? Like this?

    Lvl $plv, XP $cxp/$mxp, $pdl% , $rxp Rested Xp.

    You can copy it by positioning the cursor in the text field of the configuration window, press CTRL-A, then  CTRL-C. And I have trouble to understand what you mean with "line up". The text is one line that you can edit any way you line, so you can insert the variable anywhere. A screenshot would definitely help. You could do that from a ticket on the Curseforge project page if you prefer.

    As for right clicking, the description says a right click opens the configuration screen. I'm at a loss why you expect it to copy any information.

  • #70

    Sorry for not testing. I'll upload a 1.09 when I've done some more tests.


    Last edited by ArtureLeCoiffeur on 9/3/2012 4:14:39 AM
  • #69

    Thank you so much for the update - I have used this addon for quite a while.

    Right now it's not showing up for me... This is the error that I get:

    Date: 2012-09-02 18:54:43
    ID: 12
    Error occured in: Global
    Count: 1
    Message: ..\AddOns\BEB\BEB.lua line 695:
       attempt to perform arithmetic on field 'BEBScale' (a nil value)
       [C]: ?
       BEB\BEB.lua:695: UpdateElement()
       BEB\BEB.lua:100: OnEvent()
       [string "*:OnEvent"]:1:
          [string "*:OnEvent"]:1
    element = "BEBRestedXpBar"
    (*temporary) = 24638
    (*temporary) = nil
    (*temporary) = 18
    (*temporary) = 18
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = "attempt to perform arithmetic on field 'BEBScale' (a nil value)"

  • #71

    This addon is very susceptible to "unusual" use (not my fault, I didn't write it). Bad values tend to creep into the stored settings, probably in your case too. Please reset to defaults and see if the error reappears.

  • #68

    Version 1.08.1 has error on loading. I go back to 1.08.

  • #67

    I just wanted to say that I love this addon.  It is one of my core addons that I "can't live without".  I am an altoholic and BEB is by far the best xp bar out there!!! I am excited and pleased that you updated it for MOP.

  • #65


    This will not save my profile, no matter how many times I try to copy other profiles over.  Every time I log on I have to redo my settings again.  Is there any way to correct this?

  • #66

    Hmmm... It just did for me.

    What did you click and type exactly?

  • #63

    Message: CreateFrame: Can't create protected 'Button' now
    Time: 10/18/11 08:32:08
    Count: 4
    Stack: [C]: ?
    [C]: in function `CreateFrame'
    ...actRaidFrames\Blizzard_CompactRaidFrameContainer.lua:343: in function `CompactRaidFrameContainer_GetUnitFrame'
    ...actRaidFrames\Blizzard_CompactRaidFrameContainer.lua:315: in function `CompactRaidFrameContainer_AddUnitFrame'
    ...actRaidFrames\Blizzard_CompactRaidFrameContainer.lua:255: in function `CompactRaidFrameContainer_AddPlayers'
    ...actRaidFrames\Blizzard_CompactRaidFrameContainer.lua:177: in function `CompactRaidFrameContainer_LayoutFrames'
    ...actRaidFrames\Blizzard_CompactRaidFrameContainer.lua:131: in function `CompactRaidFrameContainer_TryUpdate'
    ...actRaidFrames\Blizzard_CompactRaidFrameContainer.lua:58: in function `CompactRaidFrameContainer_OnEvent'
    [string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>

    Locals: (*temporary) = "Button"
    (*temporary) = "CompactRaidFrame13"
    (*temporary) = CompactRaidFrameContainer {
     unitFrameUnusedFunc = <function> defined @Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:47
     flowSortFunc = <function> defined @Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameManager.lua:678
     groupMode = "flush"
     raidUnits = <table> {
     frameUpdateList = <table> {
     flowOrientation = "vertical"
     borderFrame = CompactRaidFrameContainerBorderFrame {
     flowFilterFunc = <function> defined @Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameManager.lua:746
     MAParent = "RaidUnitFramesMover"
     groupFilterFunc = <function> defined @Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameManager.lua:776
     partyUnits = <table> {
     flowMaxPrimaryUsed = 72.000006717144
     flowMaxSecondaryUsed = 323.99989832686
     units = <table> {
     flowPauseUpdates = true
     frameReservations = <table> {
     flowFrames = <table> {
     0 = <userdata>
     displayFlaggedMembers = true
    (*temporary) = "CompactUnitFrameTemplate"



    Message: Interface\AddOns\BEBOptions\BEBOptions.lua:128: bad argument #1 to 'unpack' (table expected, got nil)
    Time: 10/18/11 08:43:33
    Count: 1
    Stack: [C]: in function `unpack'
    Interface\AddOns\BEBOptions\BEBOptions.lua:128: in function `SetElementValue'
    Interface\AddOns\BEBOptions\BEBOptions.lua:107: in function `SelectFrame'
    [string "*:OnClick"]:1: in function <[string "*:OnClick"]:1>

    Locals: (*temporary) = nil
    (*temporary) = "table expected, got nil"

    looking for players to sign my charter! PST me if interested!

  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

VIP trip to SMITE World Championship