announcing CCDR (Cross Charactar Data Repository)
I have been think for a while now about making this, and finally started some work.
Description: Addons are incapable of accessing your other characters data directly, But they are able to store data of one Character in acountwide Saved Variable so it has something to go on when logged in under another Character of the same account. CCDR (Cross Character Data Repostiory)'s job is to do this collection in a centralised place and give other addons the data without need of reading and storing it themself. This avoids having data overstored/events oversubscribed and speeds up development of addons that want to show Cross Character data without delving into the details of getting the data. It will also allow the user to set detailed filters on the data on account and character level. Addons are asked to respect these filters, can set these filters (on user request) but are not required too do either. Global Settings and settings page will allow to define wich data should be saved (or not) and delete character data (this must be done manually). Data that will eventually be availible accountwide via CCDR: List of Players -> A list of all Characters Names on this account. Required for all other functions, so I might as well expose it. Horse Data (feeding timers, breed, current values) -> Global and Character level Filter by horse breed Research (wich traits are known/unknown/currently in research at each Character) -> Global and Character "Has Traits" filter per Item class (if you researched something by accident, it does not clutter up your listings of "who knows what") -> Global and Character "Wants Traits" filter per item class (so you know how wants to learn traits for that item class) -> Filters will be for the levels "All Blacksmithing" and "specific blacksmithing line". Hireling Timers (might need manual start of timer) -> Global and Character Filters based on professsion Full Character Data (class, level, spend atributes) Skill Point data (Free points, morphs choosen, experience for each line/skill/morph) Inventory Data (Everything there is to know (and knowable) about items in the inventory) -> The bank, guildbank and store listings are already accountwide and thus left to the specific addon Equipped gear data (Armor, Jewelry, both weapon sets) Skill bars (5 skills + ultimate) Current state: Started work Was able to indentify Character name and Horse Breeds with help from community. First release will propably be only Character data, Horse data and some settings. |
You should leverage libraries where possible for this, especially in the places you haven't quite looked at yet.
For example, libResearch might make your life easier in dealing with traits. |
InventoryInsight
Are you aware of Vicster's InventoryInsight? At first glance, it sounds like it already does what you are looking for, or perhaps it can be a starting point for you.
|
Quote:
But it lacks filtering and if somebody else wanted to make cross discovery of inventory he would have to do the same work again or deal with how the data is stored/exposed by Vicsters, store the same data again, and the like... So I do the work once, other peoples can focus on dispalying the data. |
Libraries
Quote:
I would echo the idea of utilizing libResearch and libFilters if those fit your needs, as well as talking with Vicsters about making a library that you can both use. Most likely he will be willing to let you use his existing code as long as you acknowledge his contribution, and may be willing to update InventoryInsight to use your library, as it would reduce the amount of code he has to maintain. Good luck. |
You'll do better on searches if you spell "character" correctly.
|
Quote:
Have not gotten very far so far. I does gather the horse data and has a list of characters, but have not gotten to implementing the filters or having the API calls to get the data. Currently the horse data looks like this internally: Code:
["Incendia Peterson"] = The API will allow: Getting the list of kown characters Getting either the full list of Horse data or only the part for one for one specific character. |
Sounds Interesting
Also MobileBank Extended is doing similar things (the original Author is BadVolt), i modified it to "Extended". Note: In case you are not aware: It's not necessary to save any Bank Data, because it's always available on the fly. |
Quote:
And it points at two other good reason to have a API like CCDR: If they ever make the data availible on the fly (Account wide stable data), all I have to do is rewrite some code. Wheter the data comes directly from the API or indirectly from the API (via saved var) is irrelevant for the addon programmer and enduser. Also it allows me to have a fixed output format. If they ever change how functions return the data, I can simply change my aquisition functions and still deliver the format everyone knows. Just need to get off my ass and continue programming it. Edit: I misswrote the part about Bank and Gbank. Since that data is shared between Characters anyway, I wanted to not cover it. I might add it later. If it does not cross the character border I leave it as optional stuff for later. If I ever get that far in the first place. |
Bank and Guild Banks behave completely different.
Bank - items can be retrieved by API call. Guild Bank - User initiate an Event when opening the Guild Bank and the Addon can then retrieve the data from it. (So it currently needs to be saved in SavedVars) Inventory can be fetched all the time too ,but only by the Character that is logged in can retrieve his inventory (so need to be saved as well) |
Quote:
And it will need me some time to even get there :) |
Apparently my project was a bit too ambitious for my skill and freetime. I need to focus on other stuff, so I put the development of this on hold. No idea if I ever will get back to it.
Most of the gathered data about events and function behavior (as far as the stable/hroses are concerned) has been worked into the wiki. If somebody needs more data I would be willing to post the code I have so far. |
All times are GMT -6. The time now is 08:38 PM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI