Get an Epic Experience with Premium

Overachiever - achievement tools and tweaks

Achievements Login to Add Favorites
  • World of Warcraft
  • 92,048 Monthly Downloads
  • Supports: 6.2.0
  • 4,035,119 Total Downloads
  • Updated 08/21/2015
  • Created 10/22/2008
  • 6,121 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: All Rights Reserved
  • Newest File: v0.83
Support development! **

About Overachiever - achievement tools and tweaks

Tools and tweaks to make the lives of players seeking Achievements a little bit easier.

Most features listed here are optional. Options can be found using the /oa command or at Interface Options -> AddOns tab -> Overachiever.


  • Slash commands to search for achievements by name.* (Also see the "Search tab" feature.)
  • Ctrl+click on an achievement link to open the GUI to that achievement. Ctrl+click again to track it.
  • Automatically track timed achievements when the timer starts.

Achievement Tooltip Enhancements:

  • Add information from progress bars and normally-hidden progress information. (For example, "Progress: 5/10" or "Assault 2 bases (0/2).")
  • Compare progress using chat links: Display your progress below that of the player who linked the achievement.
  • Optionally add the achievement's ID to its tooltip. (Convenient for addon authors.)

GUI Enhancements:

  • Draggable Frames: The achievement frame is draggable.
  • Search tab added to the UI to search for achievements by name, description, reward, and more.
  • Suggestions tab added to the UI that suggests achievements based on your current situation: Location, recent tooltip reminders from this addon, etc.
  • Cooking Trade Skill UI:
    • Display icons next to recipes you need to cook for "The Northrend Gourmet" and "The Outland Gourmet." Ctrl+click on one of these recipes to open the UI to the achievement that requires it.
    • Works with the default UI, Advanced Trade Skill Window, Skillet, and lilsparky's branch of Skillet. (Users of lilsparky's branch must Alt+click instead of Ctrl+click to open to the achievement.)
  • Objectives Frame (Achievement Tracker):
    • Display a tooltip when hovering over an achievement title to see more details about it.
    • Shift+click an achievement title to add that achievement's link to chat.
  • Display a tooltip when the cursor is over certain achievements in the GUI:
    • Part of a series: Give the names of other achievements in the series and its relation to them.
    • Required by: Give the names of any meta-achievements that list this achievement as a criteria.
  • Meta-criteria (achievements displayed as the criteria for obtaining a larger achievement) in the GUI use a detailed achievement tooltip instead of simply giving the date the criteria was completed (or nothing if it isn't complete).

Achievement-specific Options:

  • World Explorer: Automatically track exploration achievements as you travel.*
  • Tooltip Reminders: Add information to units', items', and/or world objects' tooltips to help you complete...
    • "To All The Squirrels I've Loved Before", "To All The Squirrels Who Shared My Life": Do I need to /love this critter?
    • "Pest Control": Have I exterminated this critter?
    • "Well Read", "Higher Learning": Have I read this book?
    • "The Scavenger," "Outland Angler," "Northrend Angler": Have I fished this type of node?
    • "It's Happy Hour Somewhere", "Tastes Like Chicken": Have I consumed this food or drink?
    • Holiday Achievements:
      • "Let It Snow": Do I need to use a Handful of Snowflakes on this player?
      • "Fistful of Love": Do I need to use a Handful of Rose Petals on this player?
      • "Shake Your Bunny-Maker": Do I need to use Spring Flowers on this player?
    • "Northern Exposure", "Medium Rare", and many others: Do I need to kill this creature? (Includes many dungeon and raid-based achievements.)
  • Sound Reminder: Choose a sound to play when one of the above tooltip reminders shows up if you need to do something.

* See the included readme.txt file for more details.
† See instructions below.
‡ This is part of a modular component that can be enabled/disabled individually. See "Disabling Modules," below.

Key Bindings

You can associate key bindings with each of the new tabs added to the Achievement frame using the standard key binding interface. The new bindings are located under the heading "Overachiever."


  • Localized for English, Spanish, German, French, Russian, traditional Chinese, and simplified Chinese clients. Translations generously provided by users like you!
  • If you're interested in helping localize Overachiever for another client, please let me know.

Draggable Frames

The main achievement frame (where achievements earned and unearned are listed by category) is draggable when the proper Interface Options are set. Left-click on an appropriate area and hold the mouse button down to move the frame where you desire.

By default, the main achievement frame can be moved but it is still subject to some standard frame handling that will reposition it when it is opened or certain other frames are displayed. To unattach the frame from this position handling and have Overachiever remember where the frame is from session to session, check the "Remember position" option under the "Main Achievement UI frame" option. Once in the position you desire, you may want to uncheck the "Main Achievement UI frame" option so you don't accidentally move it elsewhere.

  • To customize the placement and more involving the "Achievement Earned" alert frames, try Achieved!

Disabling Modules

Some of Overachiever's features are implemented using modules, namely Overachiever_Tabs and Overachiever_Trade. Modules have their own folders that should be placed inside the Interface\AddOns folder alongside Overachiever. They can be enabled or disabled as you would a separate addon. Additionally, the individual Search and Suggestions components of the Tabs module can be disabled by deleting or renaming Search.lua or Suggestions.lua.

About the lengthy project name: "Overachiever" was not showing up on addon searches for "achievement"; the name change fixes that. Hopefully Curse will correct this problem in the future.

Click here to lend your support to: Overachiever - WoW AddOn and make a donation at !
Buy Tuhljin a snack so he'll feel guilty about not yet implementing that suggestion you made. Or maybe just to show your support. That works, too.

The change log lists changes of particular note to users, not every change made.

- Updated for WoW patch 6.2.
- Suggestions Tab: Added suggestions for Tanaan Jungle and the "storylines" and "bonus objectives" achievements for the other Draenor zones.

- Updated for WoW patch 6.1.
- Suggestions Tab: Added suggestions for Ashran.
- Attempt to fix an error that appeared upon completion of achievements and certain instances.
- Fixed the options panels not being populated when first shown.
- Fixed "/oa" and related slash commands not opening the correct options panel if the UI options window hadn't been opened before in that session.

- Suggestions Tab: Added new Darkmoon Faire suggestions.
- Fixed issue where all checkboxes start as checked in the Overachiever options panels even if the saved option was really false/disabled.
- Fixed an error related to auto-tracking. (This resulted in error messages when traveling from zone to zone if the exploration auto-tracking option was enabled.)
- "Auto-track timed achievements" option is now enabled by default. (No change if not using a fresh install of the addon.)

- Initial updates for WoW patch 6.0.x. Fixes the most common errors.


First Previous Page 19 of 70 Next Last
  • #1135

    In fact, the parenthesis the way you have it was causing an error due trying to assign a boolean value to a numeric variable:

      numFoodConsumed = tonumber(GetStatistic(OVERACHIEVER_ACHID.Stat_ConsumeFood)) or 0

    Tries to assign a boolean value (true or false) to numFoodConsumed, that is a numeric value, so it errors.

    The way it should be is:

      numFoodConsumed = tonumber(GetStatistic(OVERACHIEVER_ACHID.Stat_ConsumeFood) or 0)

    So it evaluates to a number either, the value from the getStatistic function or 0, so it corrects the problem. Same for the other lines where there is a similar issue (lines 684-685 and two lines before that using the same function)


  • #1131

    I fixed it slightly differently, but changing the definition of the local GetStatistic call (around line 4 in GameTip.lua):

    local GetStatistic = function(id) local ret = GetStatistic(id); return id; end

  • #1130

    works, thanks :-)

  • #1125

    Date: 2013-05-22 18:44:51
    ID: 1
    Error occured in: Global
    Count: 1
    Message: ..\AddOns\Overachiever\GameTip.lua line 518:
    bad argument #2 to 'tonumber' (number expected, got boolean)
    [C]: ?
    [C]: tonumber()
    Overachiever\GameTip.lua:518: BuildItemLookupTab()

    Swatter, v5.16.5405 (MousyMulgara)
    ACP, v3.4.2
    ArkInventory, v30328
    ArkInventoryRules, v
    ArkInventoryRulesExample, v1.00
    Atlas, v1.25.00
    AuctionMaster, v5.5.12
    BagBrother, v
    Bagnon, v5.3
    DBMCore, v
    IceHUD, v1.8.14 (Revision: 932)
    OmniCC, v5.3.0
    Overachiever, v0.71
    Postal, v3.5.1
    QHDatabase, v5.0.5.267r
    QHDataenUS, v5.0.5.267r
    Quartz, v3.1.2
    QuestHelper, v5.0.5.267r
    Scrap, v12.5
    ScrapMerchant, v
    ScrapSpotlight, v
    SlideBar, v5.16.5405 (MousyMulgara)
    WIM, v3.6.8
    YayMounts, v1.5.0
    BlizRuntimeLib_enUS v5.3.0.50300 <us>


  • #1123
    Overachiever\GameTip.lua line 683

    Date: 2013-05-22 21:12:38
    ID: 3
    Error occured in: Global
    Count: 1
    Message: ..\AddOns\Overachiever\GameTip.lua line 683:
       bad argument #2 to 'tonumber' (number expected, got boolean)
       [C]: tonumber()
       Overachiever\GameTip.lua:683: func()
    (*temporary) = "180"
    (*temporary) = false
    (*temporary) = "number expected, got boolean"

  • #1121

    8x Overachiever-v0.71\GameTip.lua:518: bad argument #2 to "tonumber" (number expected, got boolean)
    <in C code>
    Overachiever-v0.71\GameTip.lua:518: in function "BuildItemLookupTab"
    Overachiever\Overachiever-v0.71.lua:951: in function <Overachiever\Overachiever.lua:887>

  • #1120

    Date: 2013-05-22 01:05:44
    ID: 4
    Error occured in: Global
    Count: 1
    Message: ..\AddOns\Overachiever\GameTip.lua line 683:
    bad argument #2 to 'tonumber' (number expected, got boolean)
    [C]: ?
    [C]: tonumber()
    Overachiever\GameTip.lua:683: func()

  • #1119

    Re: Issues with WoW 5.3 and this addon

    I have some important family obligations I need to handle this weekend or I would try to get an update to you then. I'm afraid you guys will just have to hang on for a few extra days. Sorry.

  • #1134

    Thanks for letting us know. I'm sure we can cope for a little longer :)

  • #1127

    Yep, no worries.  Thanks in advance for whenever you get to it.

  • #1122

    No problem. I really appreciate this addon but family always comes first.

  • #1118

    It looks like GetStatistic now returns 2 values: a number and a boolean. You can fix this by editing your GameTip.lua and putting an extra pair of parentheses around the GetStatistic call, like this:

    numDrinksConsumed = tonumber((GetStatistic(OVERACHIEVER_ACHID.Stat_ConsumeDrinks))) or 0

    numFoodConsumed = tonumber((GetStatistic(OVERACHIEVER_ACHID.Stat_ConsumeFood))) or 0

    There are 2 occurrences of each of those in the file, so get both of them.

    Last edited by MuffinManKen on 5/21/2013 11:46:04 PM
  • #1126

    Thanks for this info/fix. To save others some time searching, the line numbers to find these are 518, 519, 683 & 684.

  • #1117

    It does error all the time now with the 5.3 patch I was forced to disable this addon for now.

  • #1116

    A couple of errors via BugSack/BugGrabber since 5.3 launched, while in a Scholo run:

    330x Overachiever-v0.71\GameTip.lua:683: bad argument #2 to "tonumber" (number expected, got boolean) <in C code> Overachiever-v0.71\GameTip.lua:683: in function "func" Overachiever-v0.71\libs\TjBagWatch-0.07.nil.lua:161: in function <Overachiever\libs\TjBagWatch.lua:146>

    Locals: oldF = nil oldD = nil numFoodConsumed = nil numDrinksConsumed = nil GetStatistic = <func> =[C]:-1 OVERACHIEVER_ACHID = <table> {  TastesLikeChicken = 1832  Oceanographer = 5479  StoodInTheFire = 5518  LoveCritters = 1206  Frostbitten = 2257

    1x Overachiever-v0.71\GameTip.lua:518: bad argument #2 to "tonumber" (number expected, got boolean) <in C code> Overachiever-v0.71\GameTip.lua:518: in function "BuildItemLookupTab" Overachiever\Overachiever-v0.71.lua:951: in function <Overachiever\Overachiever.lua:887>

    Locals: THIS_VERSION = "0.71" id = nil savedtab = nil tab = nil duptab = nil OVERACHIEVER_ACHID = <table> {  TastesLikeChicken = 1832  Oceanographer = 5479  StoodInTheFire = 5518  LoveCritters = 1206

  • 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 »

Gamepedia Free-shirt Giveaway