Download
(2MB)
Download
Updated: 11-26-23 04:18 AM
Pictures
File Info
Compatibility:
Guardians of the Dream (10.2.0)
Updated:11-26-23 04:18 AM
Created:unknown
Downloads:461,910
Favorites:2,096
MD5:
Categories:Bags, Bank, Inventory, Character Advancement, Mail, TradeSkill Mods

Altoholic  Popular! (More than 5000 hits)

Version: 10.2.007
by: Thaoky [More]

Hi, my name is Thaoky, and I'm an Altoholic

Altoholic is an Ace 3 add-on written for people who dedicate most of their time to leveling alts, and who want to have as much information as possible in one place.


IMPORTANT NOTE:

I am back in the game since 28/12/2020.

If you are upgrading from a version below 9.0.003, YOU MUST CLEAR YOUR SAVED VARIABLES !!

This means cleaning the following files in \WTF\Account\<your_account>\SavedVariables : Altoholic.lua & All DataStore*.lua



About the add-on:

The add-on has been in development since December 2007 and was officially released in late March 2008. It provides you information about your alts (bags, mails, AH, etc...) without having to reconnect them all the time.

Supporting development:

You might not know this, but add-ons do not write themselves.
If you want to help development, or simply show your appreciation, use one of the following ways:


About the author:

I was born in '76 (you do the math) and I work as a Project Manager + Software Architect + Full Stack Web Dev (yup, multiple hats) in a large multinational, so my coding time is limited, and Work > Gaming.

I live in Belgium, and obviously play on EU only.

Assistance will be provided on a best effort basis, but in any case always be polite and respectful when asking for help, I am neither a teenager, nor a punching ball. I am a cool guy with people who are cool with me. Respect that rule and we'll be fine.


Availability:

2020/12/28: I am back in the game.

Current Issues:

2020/12/28: Due to Teelo's actions, I have reverted his changes and resumed development based on my latest version of the code. Some of his new features are temporarily not available anymore, some are gone forever. The main Shadowlands features will be back though, just be patient.

Credits:
  • I'd like to thank my guild, Odysseüs on EU-Marécages de Zangar, for assisting me since the earliest phases, thanks guys for everything you've done
  • Thanks to the all the people who have supported the add-on since 2008, and also all those of you who came on board later.
  • Thanks to all the guys who have helped with code/translations/bug tracking.. and well, project support in general, especially during my long absences. Such projects can be long and tedious, it is good to not feel alone

Join the #altoholic IRC channel on Freenode : irc://irc.freenode.net:6667/

IMPORTANT NOTE FOR 8.0 : As with every new expansion, many things have changed in the API, and it is REQUIRED to clear your Saved Variables for the addon.
This means cleaning the following files in \WTF\Account\<your_account>\SavedVariables : Altoholic.lua & All DataStore*.lua

There WILL be bugs if you use your old files without cleaning them first.
Some fixes to work around API changes are too time consuming, so cleaning is required. A meagre price to pay once per expansion.

How to support Altoholic's development :

- Use the donate button either on Curse or on WoW Interface
- Support me on Patreon : https://www.patreon.com/Thaoky , the page is still being setup, it might take a few days before it can be used, I still need a banner.
- Make a gift from my amazon's wish list : http://amzn.eu/7xWdnbZ

If you like the addon, consider supporting it, this has been the long term effort and commitment of a single person. #OneManArmy

10.2.007 (26/11/2023)

- DataStore_Crafts: The module is now shared between all versions of the game.
- This concludes the conversion of all DataStore modules to make them compatible with all versions.

10.2.006 (20/11/2023)

- DataStore_Quests: The module is now shared between all versions of the game.
- DataStore_Talents: The module is now shared between all versions of the game.
- DataStore_Reputations: The module is now shared between all versions of the game.
- DataStore_Containers: Fixed COMMON_NUM_BAG_SLOTS to be NUM_BAG_SLOTS + 1 for retail, and NUM_BAG_SLOTS for non-retail, instead of the opposite.

10.2.005 (17/11/2023)

- Fixed an issue where sorting the bags while the merchant frame is opened would trigger a slow down (Thanks Belazor !)
- DataStore_Containers: Removed an invalid test when closing a bank frame.
- Events : fixed a Lua error when a tracked item like an egg actually hatches.

10.2.004 (14/11/2023)

- DataStore_Containers: The module is now shared between all versions of the game.

10.2.003 (11/11/2023)

- DataStore_Currencies: Added the Dream Infusion currency.

10.2.002 (08/11/2023)

- DataStore_Currencies: Added the Emerald Dewrop currency.
- Summary Tab : Added the Emerald Dewrop currency (Thanks Feral!)

10.2.001 (08/11/2023)

- DataStore_Crafts & DataStore_Currencies: Fixed a lua error related to artifacts.
- Added new 10.2 currencies & reputations (Thanks Feral !)
- DataStore_Auctions is now generic and works will all versions of the game.
- DataStore_Inventory is now generic and works will all versions of the game.


10.1.005 (18/05/2023)

- DataStore_Agenda is now generic and works will all versions of the game.
- DataStore_Currencies is now generic and works will all versions of the game.
- Fixed texture coordinates in the QuestLogRow template. (Technohunter)

10.1.004 (12/05/2023)

- Summary Tab : fixed garrison enums in the activity panel.
- DataStore_Pets : updated scanning functions for the new API. (Technohunter)


10.1.003 (11/05/2023)

- DataStore_Quests : fixed scanning of spell rewards.

10.1.002 (04/05/2023)

- Updated Ace Libraries
- DataStore_Mails : fixed the events triggered when opening the mailbox AGAIN !

10.1.001 (03/05/2023)

Many thanks to Feral & Technohunter for providing fixes on Discord during my absence !

- Several fixes related to the change of the garrison enum. (Feral & Technohunter)
- Updated the ToC to make all DataStore modules mandatory dependencies, in order to avoid issues/complaints caused by missing modules.
- DataStore_Quests : fixed an error when scanning spell rewards of a quest (Thanks Technohunter)
- DataStore_Mails : fixed the events triggered when opening the mailbox.
- Summary Tab => Added support for the new 10.1 currency.


Older patch notes : see changelog.txt
Archived Files (48)
File Name
Version
Size
Author
Date
10.2.006
2MB
Thaoky
11-20-23 04:49 AM
10.2.005
2MB
Thaoky
11-17-23 12:25 PM
10.2.004
2MB
Thaoky
11-14-23 12:22 PM
10.2.003
2MB
Thaoky
11-11-23 10:16 AM
10.2.002
2MB
Thaoky
11-08-23 02:41 PM
10.2.001
2MB
Thaoky
11-08-23 12:59 PM
10.1.004
2MB
Thaoky
05-12-23 11:47 AM
10.1.001
2MB
Thaoky
05-03-23 02:53 PM
10.0.011
2MB
Thaoky
02-23-23 01:00 PM
10.0.010
2MB
Thaoky
01-11-23 11:59 AM
10.0.009
2MB
Thaoky
12-11-22 01:44 PM
10.0.008
2MB
Thaoky
11-27-22 10:46 AM
10.0.007
2MB
Thaoky
11-20-22 12:17 PM
10.0.006
2MB
Thaoky
11-17-22 12:00 PM
10.0.005
2MB
Thaoky
11-16-22 02:45 PM
10.0.004
2MB
Thaoky
11-02-22 10:00 AM
10.0.003
2MB
Thaoky
11-01-22 08:49 AM
10.0.002
2MB
Thaoky
10-31-22 11:32 AM
10.0.001
2MB
Thaoky
10-30-22 09:24 AM
9.2.006
2MB
Thaoky
08-05-22 12:21 PM
9.2.004
2MB
Thaoky
06-05-22 06:14 AM
9.2.003b
2MB
Thaoky
04-27-22 10:33 AM
9.2.003
2MB
Thaoky
04-24-22 07:59 AM
9.2.002
2MB
Thaoky
03-28-22 10:32 AM
9.2.001b
2MB
Thaoky
03-16-22 11:33 AM
9.2.001
2MB
Thaoky
03-15-22 01:36 PM
9.1.008
2MB
Thaoky
11-09-21 12:08 PM
9.1.007
2MB
Thaoky
09-26-21 11:05 AM
9.1.006
2MB
Thaoky
09-19-21 09:08 AM
9.1.005
2MB
Thaoky
09-04-21 11:58 PM
9.1.004
2MB
Thaoky
08-29-21 02:44 AM
9.1.003
1MB
Thaoky
08-22-21 06:14 AM
9.1.002b
1MB
Thaoky
08-15-21 07:59 AM
9.1.002
1MB
Thaoky
08-15-21 01:49 AM
9.1.001
2MB
Thaoky
07-01-21 11:27 AM
9.0.009b
2MB
Thaoky
05-03-21 08:46 AM
9.0.009
2MB
Thaoky
05-02-21 08:23 AM
9.0.008
2MB
Thaoky
04-05-21 06:26 AM
9.0.007
1MB
Thaoky
03-22-21 12:56 PM
9.0.007
1MB
Thaoky
02-28-21 10:55 AM
9.0.006d
1MB
Thaoky
02-22-21 11:25 AM
9.0.006c
1MB
Thaoky
02-21-21 09:42 AM
9.0.006b
1MB
Thaoky
02-21-21 08:51 AM
9.0.006
1MB
Thaoky
02-21-21 06:31 AM
9.0.005
1MB
Thaoky
02-14-21 07:28 AM
9.0.004
1MB
Thaoky
01-24-21 10:14 AM
9.0.003c
1MB
Thaoky
01-16-21 09:47 AM
9.0.003
1MB
Thaoky
01-13-21 12:22 PM


Post A Reply Comment Options
Unread 08-10-09, 06:05 PM  
Xrystal
nUI Maintainer
 
Xrystal's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 5934
File comments: 229
Uploads: 28
And also, on logging out I get the following error:

[2009/08/11 01:01:23-586-x1]: Altoholic-v3.2.001\Frames\TabOptions.lua:260: attempt to index field 'options' (a nil value)
Altoholic-v3.2.001\Altoholic.lua:1614: in function `?'
CallbackHandler-1.0-3:146: in function <...ore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146>
<string>:"safecall Dispatcher[1]":4: in function <[string "safecall Dispatcher[1]"]:4>
<in C code>: ?
<string>:"safecall Dispatcher[1]":13: in function `?'
CallbackHandler-1.0-3:91: in function `Fire'
AceEvent-3.0-3 (DataStore):119: in function <...\AddOns\DataStore\libs\AceEvent-3.0\AceEvent-3.0.lua:118>

---
But, on logging in a second character I don't seem to have received the previous error again so perhaps as I thought and just crying about a lack of a wtf file.
__________________


Characters:
Gwynedda - 70 - Demon Warlock
Galaviel - 65 - Resto Druid
Gamaliel - 61 - Disc Priest
Gwynytha - 60 - Survival Hunter
Lienae - 60 - Resto Shaman
Plus several others below level 60

Info Panel IDs : http://www.wowinterface.com/forums/s...818#post136818
Report comment to moderator  
Reply With Quote
Unread 08-10-09, 06:38 PM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
Originally posted by Xrystal
But, on logging in a second character I don't seem to have received the previous error again so perhaps as I thought and just crying about a lack of a wtf file.
Likely. I haven't received any of these errors (didn't wiped previous settings).
Last edited by AnrDaemon : 08-10-09 at 06:39 PM.
Report comment to moderator  
Reply With Quote
Unread 08-10-09, 07:24 PM  
thegabbert
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 93
Uploads: 2
I got the "attempt to concatenate local 'level' (a nil value)" error when mousing over a hunter quest. It's possible (just a guess, I haven't looked into it) that the quest link parser is choking on the fact that quest levels can be negative; quests that scale with level (class/holiday/etc.) have a listed level of -1.

Edit:

DataStore_Quests.lua, line 75: insert "-?" (without the quotes) before the second "%d+". This got rid of the error for me. YMMV.
Last edited by thegabbert : 08-10-09 at 07:43 PM.
Report comment to moderator  
Reply With Quote
Unread 08-10-09, 09:58 PM  
thegabbert
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 93
Uploads: 2
Also, the Scan Mail Body option doesn't work; I have it set to 0 but it does the scan regardless.

DataStore_Mails.lua, line 260: insert " == 1" before "then". (0 and 1 are both "true", you have to do a comparison to get a boolean true/false.) This seems to fix it for me. YMMV.
Report comment to moderator  
Reply With Quote
Unread 08-10-09, 10:16 PM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
Originally posted by thegabbert
DataStore_Mails.lua, line 260: insert " == 1" before "then". (0 and 1 are both "true", you have to do a comparison to get a boolean true/false.) This seems to fix it for me. YMMV.
Unforunately, this is true.
Lua does not comply with ANSI standards... :/
In which other language the
Code:
/script if 0 then print(1) end;
would ever work?
Last edited by AnrDaemon : 08-10-09 at 10:20 PM.
Report comment to moderator  
Reply With Quote
Unread 08-10-09, 10:27 PM  
thegabbert
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 93
Uploads: 2
Lua actually used to behave as expected there; a lot of mods (mine included) broke when they (the Lua people, not Blizzard) changed it.

For what it's worth, there are a lot of languages (C#, for example) that won't let you do a comparison on a non-boolean at all: in C#, "if (0)" won't even compile.
Report comment to moderator  
Reply With Quote
Unread 08-11-09, 01:42 AM  
Thaoky
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 19
Uploads: 1
Re: Errors with 3.2.001

Originally posted by Meloric
"Altoholic-v3.2.001\\Frames\\Quests.lua:86: attempt to concatenate local 'level' (a nil value)
I made a quick fix for this, but I would need your DataStore_Quests.lua to find out what caused the issue (I suspect the pattern I used to match data in the quest link is not entirely correct, so I'd need to know which quest caused this).
Report comment to moderator  
Reply With Quote
Unread 08-11-09, 01:43 AM  
Thaoky
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 19
Uploads: 1
Originally posted by Ookami.kun
Is there any way to change the time that Altoholic perceives when I'm playing WoW?
Implemented in 3.2.001 (actually, it was also in one of the 3.1.x alphas).
Report comment to moderator  
Reply With Quote
Unread 08-11-09, 01:52 AM  
Thaoky
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 19
Uploads: 1
Originally posted by AnrDaemon
Uhm... I don't know what to say, but... well, let me be honest.
Since you're referencing DataStore as required dep in your sub-modules, you do not need to reference same common libraries in them.
You can safely submit such critics, I am open to criticism as long as it's positive. My goal is that DataStore gets used by addons other than Altoholic, as you've probably read in the addon description, so I wanted to make all modules independant. That said, now that I've gained some experience with it, I agree that a few libs could be removed, or rather gathered in the main module.

At least all Ace libs & the main LPT could go in there, since all modules have a dependency on the main one. Point noted

For your other comments:

- Additional debug info : removed
- .level = nil, care to send me your DataStore_Quests.lua ?
- nil'ing old data = done, thanks for the suggestion
Report comment to moderator  
Reply With Quote
Unread 08-11-09, 01:55 AM  
Thaoky
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 19
Uploads: 1
Originally posted by Xrystal
I just installed 3.2.001 version with the new datastore folders and removed the WTF data file as suggested on the changes page. I received the following error on logging into my first character. Hopefully just an offshoot of having no data available but thought I would point it out for you. Although, on second look, it may not be just if at all altoholic causing the problem. Let me know if you don't see anything in the altoholic, datastore_characters files.
I suspect an issue with an other addon. The problem might be on my side, but if it conflicts with something else, it might be worth checking. Can you make a test with altoholic alone ? Let me know what you find out.
Thanks in advance.
Report comment to moderator  
Reply With Quote
Unread 08-11-09, 02:02 AM  
Thaoky
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 19
Uploads: 1
Originally posted by thegabbert
Also, the Scan Mail Body option doesn't work; I have it set to 0 but it does the scan regardless.

DataStore_Mails.lua, line 260: insert " == 1" before "then". (0 and 1 are both "true", you have to do a comparison to get a boolean true/false.) This seems to fix it for me. YMMV.
Thanks for this & the other suggestion, I guess forgetting "== 1" is a reminiscence of my C experience :>
Report comment to moderator  
Reply With Quote
Unread 08-11-09, 02:35 AM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
Originally posted by Thaoky
You can safely submit such critics, I am open to criticism as long as it's positive. My goal is that DataStore gets used by addons other than Altoholic, as you've probably read in the addon description, so I wanted to make all modules independant.
But they are all depend on DataStore, and since their data used through (I suppose) function calls, rather than messing with global variables, it's just no difference, but would solve a mess for potential end-user in times of complete reinstall/remove of addon.

See for example, what Norganna guys did:

Coding environment (and nightly snaps, you can get 'em at http://zip.norganna.org/ ) - a long-long list of many addons. Only these directly named after Auc- are counted over 30 right now, plus libs and stuff like Informant, Enchantrix... In short, it's 45 different addon folders.
Production environment - 18 (yes!) folders, from which - Auc-Auctioneer, being a hub for most of the framework, one library (Stubby), two supplementary addons (blessed !Swatter and small and handy SlideBar) and rest are addons that either have external dependencies/special meaning and can't work embedded (not properly, at least), or need separate storage due to large (and I mean - really large) amount of information being saved in their lifecycle (potentially - gigabytes... it's just not limited by addon).

For DataStore, I doubt you could reach level of several megabytes. For quick measurement, half-full account on one pvp server with moderately packed bagzz - half a megabyte. My estimation is that it'll be around 1Mb per account per faction for most cases.

Also, pick a case of hand-sharing of said information between, say, home and office *smile* computer. Wouldn't it be easier to distribute single file, rather than multiple (moreover - potentially, multiple unknown files, if we ever see people writing their own modules for DataStore) ones?

Taking this into account, and having good-working example of similar framework, I don't see a reason in splitting storage into multiple files. Descending from that, I assume it would be easier for end-user to install/manage two folders, rather than ten+. Will also semi-auto-solve library duplication across DataStore, since it will come in a single pack, with already shared libraries.

--
Oh, well, back to my own coding, will I? >.>
Last edited by AnrDaemon : 08-11-09 at 02:38 AM.
Report comment to moderator  
Reply With Quote
Unread 08-11-09, 04:25 AM  
Thaoky
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 19
Uploads: 1
Originally posted by AnrDaemon
But they are all depend on DataStore, and since their data used through (I suppose) function calls, rather than messing with global variables, it's just no difference, but would solve a mess for potential end-user in times of complete reinstall/remove of addon.

See for example, what Norganna guys did:

Coding environment (and nightly snaps, you can get 'em at http://zip.norganna.org/ ) - a long-long list of many addons. Only these directly named after Auc- are counted over 30 right now, plus libs and stuff like Informant, Enchantrix... In short, it's 45 different addon folders.
Production environment - 18 (yes!) folders, from which - Auc-Auctioneer, being a hub for most of the framework, one library (Stubby), two supplementary addons (blessed !Swatter and small and handy SlideBar) and rest are addons that either have external dependencies/special meaning and can't work embedded (not properly, at least), or need separate storage due to large (and I mean - really large) amount of information being saved in their lifecycle (potentially - gigabytes... it's just not limited by addon).

For DataStore, I doubt you could reach level of several megabytes. For quick measurement, half-full account on one pvp server with moderately packed bagzz - half a megabyte. My estimation is that it'll be around 1Mb per account per faction for most cases.

Also, pick a case of hand-sharing of said information between, say, home and office *smile* computer. Wouldn't it be easier to distribute single file, rather than multiple (moreover - potentially, multiple unknown files, if we ever see people writing their own modules for DataStore) ones?

Taking this into account, and having good-working example of similar framework, I don't see a reason in splitting storage into multiple files. Descending from that, I assume it would be easier for end-user to install/manage two folders, rather than ten+. Will also semi-auto-solve library duplication across DataStore, since it will come in a single pack, with already shared libraries.

--
Oh, well, back to my own coding, will I? >.>
Good points. In my original attempts, all modules were really independent, meaning that there was no main DataStore module, but I quickly found out that I was copy-pasting several functions from one module to another, so I went with the current approach.

The design goals were multiple:

- reaching a data abstraction layer, in order to decrease the need to clean sv file(s) all the time. I was a bit tired of asking users to clean them so often.

- Admittingly, I sometimes had the bad habit of addressing my data directly into the db, sure it might be a few microseconds faster, but it can sometimes be a pain to maintain. With a single point of access to my data (DataStore:GetWhatever()), it forces me to be clean (and that's a good thing ).

- make the whole thing more manageable, and possibly reusable by others. If in the end, I'm the only user of DataStore, it's not a problem at all.

- allow external applications to read character data from a single place (even though "single place" might mean "many files"). If one day I stop coding altoholic, I hope someone will go on and maintain just datastore, as external apps (like websites) could easily maintain it to keep their business running.
In that context, I'd rather see external solutions depend on DataStore than Altoholic.

- about the one dir vs 16 dirs, the reason behind this is twofold : for users, being able to select only the modules they want, and for authors, just the same, assuming more modules see the light of day, there might even be modules I will not use in alto, but they'd remain part of the solution.

In the end, I did remove the libs from each module (the common ones, some remain specific, that may change), and I have to say that although it took me time & effort, I'm glad to have adopted this approach, be it only for what it brought me in the account sharing feature
Last edited by Thaoky : 08-11-09 at 05:52 AM.
Report comment to moderator  
Reply With Quote
Unread 08-11-09, 06:12 AM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
Well, having independednt data providers and having independent data storage... :P well, well, i'm silenced from now... just growing tired from digging hacky code >.<
Report comment to moderator  
Reply With Quote
Unread 08-11-09, 11:38 AM  
tnbp
A Kobold Labourer

Forum posts: 1
File comments: 66
Uploads: 0
How far away are we from having the ability to track badges, stone shards, and other forms of currency? That's one thing I would LOVE to see in a future release (especially because of heirlooms for alts.)
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.