Download
(17 Kb)
Download
Updated: 03/24/24 04:43 AM
Pictures
File Info
Compatibility:
Scions of Ithelia (9.3.0)
Endless Archive (9.2.5)
base-game patch (9.1.5)
Necrom (9.0.0)
Scribes of Fate (8.3.5)
Firesong (8.2.5)
Lost Depths (8.1.5)
High Isle (8.0.0)
Updated:03/24/24 04:43 AM
Created:11/17/20 07:13 AM
Monthly downloads:7,005
Total downloads:259,904
Favorites:119
MD5:
9.3.0
LibMultiAccountSets  Popular! (More than 5000 hits)
Version: 3.0.7
by: code65536 [More]
This is a library for tracking Item Set Collection progress across multiple accounts. Note: This library does not track general collectibles; that is handled by LibMultiAccountCollectibles.



Dependencies

Required:
  • None

Recommended/Optional:

List of addons that can use this library

Advanced features for users

LibMultiAccountSets has a settings panel (requires LibAddonMenu), which can be accessed either by navigating your Addons settings, or by using the /lmas chat command.

Using this settings panel, users can share their data with friends by exporting and importing data sets. This feature is designed to facilitate trading gear between players.


For example, let's say that after exploring a zone, you acquired a number of set gear pieces. After binding the ones that you have not yet collected, you are left with some extras. Are any of your friends missing those pieces? If they had shared their LibMultiAccountSets set collection data with you, you can easily check, and using the Uncollected Set Items filter plugin for Advanced Filters (which makes use of this library), you can compose a mail and filter for those items that your friend doesn't have right there in the mail composition window!



For addon developers

Please read the LibMultiAccountSets Developer Reference.
  • Version 3.0.7 (2024/03/24)
    • Fixed an issue where trade eligibility was being incorrectly reported for the current account for BoP vendor items

  • Version 3.0.6 (2023/10/30)
    • API version bump for Update 40

  • Version 3.0.5 (2023/06/29)
    • Fixed a potential Lua error that may arise from a group-related game bug

  • Version 3.0.4 (2023/03/11)
    • API version bump for Update 37 (Scribes of Fate)

  • Version 3.0.3 (2022/08/29)
    • Worked around a text box display issue when exporting or importing very large data sets

  • Version 3.0.2 (2022/03/09)
    • For addon developers: Added optional alwaysIncludeCurrentAccount parameter to GetServerAndAccountList

  • Version 3.0.1 (2022/03/03)
    • For addon developers: Removed GetAccountListEx; GetAccountList still exists, and GetServerAndAccountList can be used for querying foreign server accounts

  • Version 3.0.0 (2022/02/23)
    • For addon developers: It is now possible to query item set collection data for accounts on another server using new extended variants of the current functions; see the documentation for more details

  • Version 2.0.6 (2021/09/28)
    • API version bump for Update 32 (The Deadlands)

  • Version 2.0.5 (2021/05/24)
    • When exporting data for multiple accounts using the data sharing feature, more recent data sets will now be prioritized in cases where the amount of exported data exceeds the data limit (the data sets for the current server will continue to take priority over those for another server)

  • Version 2.0.4 (2021/04/30)
    • Updated French localization by @jakez31

  • Version 2.0.3 (2021/03/28)
    • All excluded accounts will now be deleted from the addon's data, rather than being deleted only when the user logs in with that account; this brings the behavior of this feature to parity with LibCharacterKnowledge and allows a way for users to delete imported data for accounts that they do not control

  • Version 2.0.2 (2021/03/22)
    • For addon developers: Added GetRawData and SetRawData

  • Version 2.0.1 (2021/03/16)
    • Fixed a rare issue that could potentially cause data imports to fail

  • Version 2.0.0 (2021/03/04)
    • Internal code restructuring
    • Improved the handling of trade eligibility during the period of time after a BoP-tradeable item's eligibility has expired but before the game recognizes that the item has been bound
    • LibMultiAccountSets will now retain a record of when an account was last scanned, and this data is used by the export/import data sharing feature to protect imports from overwriting newer data with older data; unfortunately, this required a change in the format of the exported data, and the exported data generated by older versions of LibMultiAccountSets is not compatible with version 2.0 and vice-versa, so two users who wish to share data with each other should both update to the latest version
    • The export/import user interface for LibMultiAccountSets can now be used to import data for LibCharacterKnowledge and vice-versa
    • Improved the messaging that users see when importing new accounts
    • For addon developers: Added GetLastScanTime

  • Version 1.7.1 (2021/01/06)
    • Added French localization by @jakez31

  • Version 1.7.0 (2021/01/01)
    • For addon developers: Reworked GetItemCollectionAndTradabilityStatus
    • For addon developers: Added OpenSettingsPanel

  • Versions 1.6.0 to 1.6.1 (2020/12/29)
    • For addon developers: Added GetItemCollectionAndTradeStatus

  • Version 1.5.0 (2020/12/08)
    • The export/import data sharing feature will now use account names in an "undecorated" format to avoid the problem of Discord converting account names into Discord usernames; unfortunately, this required a change in the format of the exported data, and the exported data generated by older versions of LibMultiAccountSets is not compatible with version 1.5 and vice-versa, so two users who wish to share data with each other should both update to the latest version

  • Version 1.4.1 (2020/12/04)
    • The LibMultiAccountSets addon settings panel now includes a hint about the availability of an optional chat command to access the settings panel

  • Version 1.4.0 (2020/12/03)
    • Reorganized the LibMultiAccountSets addon settings panel
    • Added a third export option for the data sharing feature, to export the data for a persistent list of selected accounts; by using this new export option, users with multiple accounts can easily share their accounts' data without inadvertently re-exporting their friends' data

  • Version 1.3.3 (2020/11/30)
    • Increased the number of accounts that can be excluded from being saved

  • Version 1.3.2 (2020/11/28)
    • Outdated addons attempting to call a discontinued function will now fail gracefully instead of throwing a Lua error

  • Version 1.3.1 (2020/11/27)
    • The export function of the data sharing feature will now automatically select the export data text to facilitate copying to the clipboard

  • Version 1.3.0 (2020/11/25)
    • For addon developers: Added GetItemReconstructionCurrencyOptionCostForAccount
    • For addon developers: Removed AddAccountsCollectionStatusToTooltip

  • Version 1.2.0 (2020/11/21)
    • For addon developers: Addons using LibMultiAccountSets can now register for callbacks; see the LibMultiAccountSets web page for documentation

  • Version 1.1.0 (2020/11/18)
    • The export/import data sharing feature now includes a more robust check for data integrity; unfortunately, this required a change in the format of the exported data, and the exported data generated by LibMultiAccountSets version 1.0 is not compatible with version 1.1 and vice-versa, so two users who wish to share data with each other must both update to version 1.1
    • Added an option to change the colors of the account collection status text that can be added to item tooltips by addons using LibMultiAccountSets

  • Version 1.0.0 (2020/11/17)
    • Initial version
Optional Files (0)


Archived Files (27)
File Name
Version
Size
Uploader
Date
3.0.6
17kB
code65536
10/30/23 03:44 AM
3.0.5
17kB
code65536
06/29/23 08:44 AM
3.0.4
17kB
code65536
03/11/23 07:54 AM
3.0.3.1
17kB
code65536
08/29/22 07:30 PM
3.0.2
17kB
code65536
03/09/22 08:43 AM
3.0.1
17kB
code65536
03/03/22 10:40 AM
3.0.0
17kB
code65536
02/23/22 12:59 PM
2.0.6
16kB
code65536
09/28/21 10:25 PM
2.0.5
16kB
code65536
05/24/21 06:27 AM
2.0.4
15kB
code65536
04/30/21 02:49 AM
2.0.3
15kB
code65536
04/03/21 05:34 AM
2.0.2
15kB
code65536
03/22/21 11:40 AM
2.0.1
15kB
code65536
03/16/21 06:11 PM
2.0.0
15kB
code65536
03/04/21 11:16 AM
1.7.1
11kB
code65536
01/06/21 07:13 AM
1.7.0
9kB
code65536
01/01/21 08:43 AM
1.6.1
9kB
code65536
12/29/20 08:19 AM
1.5.0
8kB
code65536
12/08/20 02:14 AM
1.4.1
8kB
code65536
12/04/20 01:31 PM
1.4.0
8kB
code65536
12/03/20 05:25 PM
1.3.3
7kB
code65536
11/29/20 11:49 PM
1.3.2
7kB
code65536
11/28/20 02:28 AM
1.3.1
7kB
code65536
11/27/20 07:22 AM
1.3.0
7kB
code65536
11/25/20 09:11 AM
1.2.0
7kB
code65536
11/21/20 04:06 AM
1.1.0
7kB
code65536
11/18/20 06:43 AM
1.0.0
6kB
code65536
11/17/20 07:20 AM


Post A Reply Comment Options
Unread 11/29/20, 03:09 PM  
jebbrown

Forum posts: 0
File comments: 15
Uploads: 0
This is a huge help for me as I have 3 accounts I play all the time.

But I also have a lot of storage accounts that I never actually play. I can't seem to fit them all in the 'Excluded Accounts' option box. Do I need to include the @ symbol? Without that I might be able to fit all the accounts I don't want tracked into the box.

Thanks so much for providing this
Report comment to moderator  
Reply With Quote
Unread 11/30/20, 12:06 AM  
code65536
AddOn Author - Click to view AddOns

Forum posts: 21
File comments: 374
Uploads: 40
Originally Posted by jebbrown
This is a huge help for me as I have 3 accounts I play all the time.

But I also have a lot of storage accounts that I never actually play. I can't seem to fit them all in the 'Excluded Accounts' option box. Do I need to include the @ symbol? Without that I might be able to fit all the accounts I don't want tracked into the box.

Thanks so much for providing this
Uh... how many accounts do you have?!

Anyway, yes, the "@" is required and a name will not be recognized without it.

The text box limit had been set to 255 bytes, which would've allowed for 11 different account names, if every account name was as long as the game allowed. This limit was set arbitrarily, but it was a limit that I did not expect anyone to hit.

In any case, the limit has been increased to 4K bytes in version 1.3.3.
Report comment to moderator  
Reply With Quote
Unread 12/02/20, 06:07 PM  
jebbrown

Forum posts: 0
File comments: 15
Uploads: 0
Awesome

I sure they will all fit now! TYVM!


I can't tell you how many accounts I have or I would have to kill... your toons


Anyways, your lib is a huge help to me. Here... have a banana
Report comment to moderator  
Reply With Quote
Unread 12/29/20, 10:09 AM  
frozenhamster

Forum posts: 3
File comments: 17
Uploads: 0
Hey, just to make sure:
The "sharing" shares a snapshot of the current locked/unlocked items. So I will have to reshare ever few days to have a somewhat updated list right? Or does the link somewhat auto-update?
Report comment to moderator  
Reply With Quote
Unread 12/29/20, 03:40 PM  
code65536
AddOn Author - Click to view AddOns

Forum posts: 21
File comments: 374
Uploads: 40
Originally Posted by frozenhamster
Hey, just to make sure:
The "sharing" shares a snapshot of the current locked/unlocked items. So I will have to reshare ever few days to have a somewhat updated list right?
That's correct.
Report comment to moderator  
Reply With Quote
Unread 12/30/20, 10:55 AM  
frozenhamster

Forum posts: 3
File comments: 17
Uploads: 0
Originally Posted by code65536
Originally Posted by frozenhamster
Hey, just to make sure:
The "sharing" shares a snapshot of the current locked/unlocked items. So I will have to reshare ever few days to have a somewhat updated list right?
That's correct.
Thanks. Thats what I thought. Your addon (so many of your addons actually) are absolute lifesavers. Thank you for your dedication!
Report comment to moderator  
Reply With Quote
Unread 12/30/20, 01:49 PM  
code65536
AddOn Author - Click to view AddOns

Forum posts: 21
File comments: 374
Uploads: 40
Originally Posted by code65536
Originally Posted by frozenhamster
Hey, just to make sure:
The "sharing" shares a snapshot of the current locked/unlocked items. So I will have to reshare ever few days to have a somewhat updated list right?
That's correct.
Just to clarify: The data sharing feature is intended for sharing collection data with other ESO installations. If you play with multiple accounts on the same computer. Or two people take turns sharing the same computer to play their accounts, there's no need to use the data sharing feature. The collection data that's stored is available to every account on that computer and the data for a particular account on that computer is automatically refreshed and kept up to date when that account is logged in on that computer.

If you are sharing data with other people playing on their own PCs (for example, my group of friends share data with each other so we know who among us could use a duplicate piece of gear that we pick up) or if you play multiple accounts on multiple different computers, then that's where the data sharing feature comes in, to share data across different installations of ESO.
Last edited by code65536 : 12/30/20 at 01:50 PM.
Report comment to moderator  
Reply With Quote
Unread 01/06/21, 04:32 PM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4989
File comments: 6040
Uploads: 78
Hey code, thanks for this library!
Just in case you want to update your description's list of adons using this library:
I'm working on an FCOItemSaver intgeration for automatic set item marking known/unknown.

Edit 20201-03-08:
FCOIS v2.0.1 added LibMultiAcountSets for the automatic set collectins marker icons now
Last edited by Baertram : 03/07/21 at 06:21 PM.
Report comment to moderator  
Reply With Quote
Unread 01/06/21, 05:00 PM  
code65536
AddOn Author - Click to view AddOns

Forum posts: 21
File comments: 374
Uploads: 40
Originally Posted by Baertram
Hey code, thanks for this library!
Just in case you want to update your description's list of adons using this library:
I'm working on an FCOItemSaver intgeration for automatic set item marking known/unknown.
FCO ItemSaver

Code:
[url ="https://www.esoui.com/downloads/info630-FCOItemSaver.html"]FCO ItemSaver[/url]
->Why is the code tag rendering urls... I've added a space after url
Okay, I've updated the addon page.
Report comment to moderator  
Reply With Quote
Unread 03/22/21, 05:19 AM  
mjbc

Forum posts: 0
File comments: 3
Uploads: 0
Hey there,

Are there any plans to create public methods for changing the saved data?

Back in 1.7.0 I made a fork of your code, for my personal use, so I can sync data with my girlfriend, I save the sets and items changed since last sync and send it through multiple whispers, usually 3 or 4, nothing that will kick me from the game.

I want to do a separate addon but there's no way (at least that I know of) to tell LibMultiAccountSets to save certain Data. I don't send the entire sync data like the import/export, but rather each changed set encoded info.

Let me know if there are any plans for that in the future.

Thank you for your work!
Report comment to moderator  
Reply With Quote
Unread 03/22/21, 11:49 AM  
code65536
AddOn Author - Click to view AddOns

Forum posts: 21
File comments: 374
Uploads: 40
Originally Posted by mjbc
Hey there,

Are there any plans to create public methods for changing the saved data?

Back in 1.7.0 I made a fork of your code, for my personal use, so I can sync data with my girlfriend, I save the sets and items changed since last sync and send it through multiple whispers, usually 3 or 4, nothing that will kick me from the game.

I want to do a separate addon but there's no way (at least that I know of) to tell LibMultiAccountSets to save certain Data. I don't send the entire sync data like the import/export, but rather each changed set encoded info.

Let me know if there are any plans for that in the future.

Thank you for your work!
Yea, a separate addon would be more resilient than modifying LMAS's directly. To that end, I added GetRawData and SetRawData to LMAS-2.0.2.

GetRawData takes account and a set ID as parameters and returns the raw data for that set (the full 36-bit bitfield, as a Lua number, not ZOS's id64). If it fails for any reason, it will return nil.

SetRawData takes account, a set ID, and a 36-bit bitfield (as a regular Lua number, not ZOS's id64) as parameters. It returns true if it succeeded and false if it failed. SetRawData can only be used to set data for an account that is not the currently-logged-in account.



Side note: The reason LMAS does data sharing with a full data set is that it's complicated to define what data is "new", since that requires knowing how old the other person's data is. Was that person's copy of your data last updated yesterday? Or a week ago? And if there are multiple people that you're trying to share with, then there needs to be a way to track that for each person. Sharing the full data set each time avoids all these thorny questions.
Last edited by code65536 : 03/23/21 at 06:52 AM.
Report comment to moderator  
Reply With Quote
Unread 03/22/21, 04:50 PM  
mjbc

Forum posts: 0
File comments: 3
Uploads: 0
Originally Posted by code65536

Yea, a separate addon would be more resilient than modifying LMAS's directly. To that end, I added GetRawData and SetRawData to LMAS-2.0.2.

GetRawData takes account and a set ID as parameters and returns the raw data for that set (the full 36-bit bitfield, as a Lua number, not ZOS's id64). If it fails for any reason, it will return nil.

GetRawData takes account, a set ID, and a 36-bit bitfield (as a regular Lua number, not ZOS's id64) as parameters. It returns true if it succeeded and false if it failed. GetRawData can only be used to set data for an account that is not the currently-logged-in account.



Side note: The reason LMAS does data sharing with a full data set is that it's complicated to define what data is "new", since that requires knowing how old the other person's data is. Was that person's copy of your data last updated yesterday? Or a week ago? And if there are multiple people that you're trying to share with, then there needs to be a way to track that for each person. Sharing the full data set each time avoids all these thorny questions.
Thanks man, I'll check it out.

I understand the reasoning behind a full sync, I had to break it up into smaller pieces because of the length. A full set is too big to be sent by whispers, well, at least fast and without being kicked. I also tried with pings, but... that was even worse. Since I only share this data with my GF and she with me, it's easy to track what's new. The way I do it is, when someone syncs the data, it resets the "new" items, then as they bind them, the items get added to the collection of new items to be sync'ed.

Anyway, thanks for the functions, and thanks for the addons!
Last edited by mjbc : 03/22/21 at 04:54 PM.
Report comment to moderator  
Reply With Quote
Unread 06/02/21, 06:42 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4989
File comments: 6040
Uploads: 78
Hey code65536,

would it be possible, and in your interest, to expand LMAS with the other non-set collection sets as well so one could track the actual owned set items accross accounts and characters?
This most likely would blow up the SavedVariables a lot and maybe would be exported to a new lib, if I think about it. But perhaps your lib's code could be somehow used to build the basics.

I'm just asking as the addon SetTracker is somehow slow and broken here and there, and not really maintained any longer. Maybe one could revive it with a new underlying lib, or even move the same featrues (holding list of owned set items) to other addons instead, and lest SetTracker rest in piece.
Report comment to moderator  
Reply With Quote
Unread 06/02/21, 07:09 AM  
code65536
AddOn Author - Click to view AddOns

Forum posts: 21
File comments: 374
Uploads: 40
Originally Posted by Baertram
Hey code65536,

would it be possible, and in your interest, to expand LMAS with the other non-set collection sets as well so one could track the actual owned set items accross accounts and characters?
This most likely would blow up the SavedVariables a lot and maybe would be exported to a new lib, if I think about it. But perhaps your lib's code could be somehow used to build the basics.

I'm just asking as the addon SetTracker is somehow slow and broken here and there, and not really maintained any longer. Maybe one could revive it with a new underlying lib, or even move the same featrues (holding list of owned set items) to other addons instead, and lest SetTracker rest in piece.
I don't actually use Set Tracker, and the main reason I posted an update in that addon's comments is because it was interfacing with Item Set Browser by overwriting code in ISB, and that was causing problems for ISB users who also had Set Tracker. Personally, if I need to know what items I have and which characters have them, I just consult Inventory Insight.

In any case, I don't see a very compelling case for this, since IIfA exists (and handles everything, not just set items), and I'm not convinced that having something that's like IIfA, except that it does less, will be very useful.
Last edited by code65536 : 06/02/21 at 07:10 AM.
Report comment to moderator  
Reply With Quote
Unread 06/02/21, 07:32 AM  
zillaf

Forum posts: 4
File comments: 18
Uploads: 0
Just to add my 2 cents
https://cdn-eso.mmoui.com/preview/pvw4947.jpg
A Screenshot from the holding list of the old version.

I think this is more benefit to see the Trait and location of the holding (new versions show, which char,bank, house storage) directly.

I like and use Inventory Insight, but prefere the list from Set Tracker when it comes to which set items i own...
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.