Download
(59 Kb)
Download
Updated: 03/17/24 10:17 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/17/24 10:17 AM
Created:02/25/21 09:29 AM
Monthly downloads:17,743
Total downloads:274,468
Favorites:294
MD5:
Categories:Character Advancement, Data Mods
9.3.0
Character Knowledge (Motif, Recipe and Furnishing Plan Tracker)  Popular! (More than 5000 hits)
Version: 1.4.0.3
by: code65536 [More]
Character Knowledge tracks recipe, furnishing plan, and motif knowledge across multiple characters, accounts, and servers.



Extended Journal

This addon is a part of the Extended Journal, which is a collection of addons comprised of Loot Log, Item Set Browser, Character Knowledge, Event Collectibles, and Raidificator.


External Dependencies

Required:
  • None

Recommended/Optional:

Yet another recipe/motif tracker? Why use Character Knowledge?

Character Knowledge was created in response to some of the frustrations that I have with existing addons. Specifically...
  1. Character Knowledge is altaholic-friendly. It can track knowledge of characters across multiple accounts and even across servers.
  2. Character Knowledge has a concept of character priority. Most people have a "main" character that they prioritize for learning recipes and motifs, and Character Knowledge recognizes this and helps ensure that more important characters are given priority for distributing those extra copies of recipes and motifs that you found.
  3. Character Knowledge makes it easier to access information with a simple, straightforward UI.
  4. Character Knowledge gives players the option to share their information with friends via an export/import feature. No more need for manually compiling a list of missing motifs during the Anniversary Event.


What does this addon do, specifically?

Character Knowledge browser:
The main UI lets users browse through a master list of motifs, recipes, and furnishing plans, along with an overview of the extent of your characters' knowledge of these items.

Information added to tooltips throughout the game:
Whenever you look at an item tooltip for a recipe, plan, or motif, you'll see an overview of which characters know that particular item. In the case of chaptered motifs, you will also see an overview of your knowledge of all the chapters of this style.

Advanced Filters custom filter plugin:
For users of the Advanced Filters addon, Character Knowledge will also install a few custom filter plugins for Advanced Filters.


LibCharacterKnowledge

Character Knowledge includes the LibCharacterKnowledge library. Addon authors who wish to use the library for their own addons can check out the the LibCharacterKnowledge Developer Reference. LibCharacterKnowledge is also available as a standalone download for users who want to use it without installing Character Knowledge.
  • Version 1.4.0 (2024/02/17)
    • Added a new feature to learn all eligible items in a character's inventory
      • This feature is invoked via the /cklearn chat command
      • Character priority is used to determine eligibility, to prevent low-priority characters from learning items unknown by higher-priority characters; this can be overridden by specifying the "all" parameter (i.e., /cklearn all) to learn all unknown items
    • Added support for Update 41 (Scions of Ithelia)

  • Version 1.3.16 (2023/09/20)
    • Added support for Update 40

  • Version 1.3.15 (2023/09/06)
    • The character selection in the browser UI will now be scrollable only if the number of characters exceeds 35, thereby reverting to the original behavior for players without an excessive number of characters

  • Version 1.3.14 (2023/08/28)
    • The character selection in the browser UI is now scrollable

  • Version 1.3.13 (2023/07/27)
    • Added support for Update 39
    • Blacklisted item IDs 184155 and 190096 since they are unobtainable
    • The recipe level filter for Advanced Filters will no longer conflict with other filters

  • Version 1.3.12 (2023/06/19)
    • Fixed missing style ID for the shoulders chapter of the Dead Keeper motif

  • Version 1.3.11 (2023/05/01)
    • Added support for Update 38 (Necrom)

  • Version 1.3.10 (2023/02/13)
    • Added support for Update 37 (Scribes of Fate)

  • Version 1.3.9 (2022/09/23)
    • Added support for Update 36 (Firesong)

  • Version 1.3.8 (2022/07/28)
    • Added support for Update 35 (Lost Depths)

  • Version 1.3.7 (2022/06/06)
    • Updated French localization by @XXXspartiateXXX

  • Version 1.3.6 (2022/04/19)
    • Added support for Update 34 (High Isle)

  • Version 1.3.5 (2022/04/11)
    • Fixed the double-pluralization of motif chapter names resulting from ZOS pre-pluralizing the English SI_ITEMSTYLECHAPTER* strings in the ESO-7.3.7 update

  • Version 1.3.4 (2022/03/30)
    • The motif browser will now show an additional tooltip for the style material associated with a motif

  • Version 1.3.3 (2022/03/09)
    • Internal code restructuring

  • Version 1.3.2 (2022/03/02)
    • LibCharacterKnowledge updated to version 1.4.0

  • Version 1.3.1 (2022/02/25)
    • Fixed an issue that was causing the preloaded motif information for the upcoming Update 33 to interfere with the chapter information for the Worm Cult motif in the current Update 32

  • Version 1.3.0 (2022/02/17)
    • The "-" prefix can now be used in the search filter to exclude a search term
      • For example, searching for "chair -orcish" will find furnishing plans for all chairs that are not Orcish
    • Added support for Update 33 (Ascending Tide)
    • Added Russian localization by GJSmoker
    • Updated French localization by @jakez31

  • Version 1.2.12 (2021/10/10)
    • Fixed an issue where the display of "pinned" characters for chaptered motif knowledge was not respecting character tracking settings

  • Version 1.2.11 (2021/10/01)
    • One of the two different versions of "Diagram: Dwarven Pipeline Cap, Sealed" has been removed from the furnishing plan browser, because this version was removed from the game's loot table in Update 17

  • Version 1.2.10 (2021/09/28)
    • Added support for Update 32 (The Deadlands)

  • Version 1.2.9 (2021/08/05)
    • Sorting by the character ratio column in the browser UI will now take into consideration the total number of tracked characters

  • Version 1.2.8 (2021/08/02)
    • LibCharacterKnowledge updated to version 1.3.4; fixed a settings UI issue

  • Version 1.2.7 (2021/07/14)
    • Fixed a regression with the listing of the Ancestral Akaviri motif

  • Version 1.2.6 (2021/07/14)
    • Added support for Update 31 (Waking Flame)

  • Version 1.2.5 (2021/06/03)
    • LibCharacterKnowledge updated to version 1.3.1; corrected the number associated with the Thorn Legion crafting motif style

  • Version 1.2.4 (2021/05/20)
    • LibCharacterKnowledge updated to version 1.3.0; improved the data encoding format used by the export/import data sharing feature

  • Version 1.2.3 (2021/05/12)
    • Improved the handling of quest reward items

  • Version 1.2.2 (2021/05/03)
    • The new setting introduced in version 1.2.1 for the number of "pinned" characters is now a server-specific setting rather than a global installation-wide setting

  • Version 1.2.1 (2021/05/03)
    • The Advanced Filters plugin can now filter by account
    • It is now possible to configure the number of high-priority "pinned" characters whose detailed chapter knowledge information is displayed in the tooltips of chaptered motifs, in addition to that of the current character; originally, this was hard-coded to one
    • LibCharacterKnowledge updated to version 1.2.0

  • Version 1.2.0 (2021/05/02)
    • Revamped the display of motifs in the browser UI; this was done to address a number of issues:
      • Inconsistent formats of item names interfering with sort (French version)
      • Inaccuracies in the in-game names of motif items (French version)
      • New motifs that lack a full book item for use in the browser listing (e.g., Ancestral Akaviri)
      • The inability to sort by the name of the motif (the motif number was not in a separate column, so sorting was possible only on the motif number and not the name of the style)

  • Version 1.1.8 (2021/04/20)
    • Added support for Update 30 (Blackwood)

  • Version 1.1.7 (2021/03/16)
    • LibCharacterKnowledge updated to version 1.0.6

  • Version 1.1.6 (2021/03/09)
    • LibCharacterKnowledge updated to version 1.0.5

  • Version 1.1.5 (2021/03/04)
    • LibCharacterKnowledge updated to version 1.0.4

  • Version 1.1.4 (2021/02/28)
    • It is now possible for external addons to add context menu items to this addon's browser UI
    • LibExtendedJournal updated to version 1.1.0

  • Version 1.1.3 (2021/02/27)
    • LibCharacterKnowledge updated to version 1.0.3

  • Version 1.1.2 (2021/02/26)
    • Added French localization by @jakez31
    • LibCharacterKnowledge updated to version 1.0.2

  • Version 1.1.1 (2021/02/26)
    • Browser: To improve clarity, recipes and furnishing plans will now be listed by their resulting crafted items, thus hiding the prefix (i.e., "Recipe", "Praxis", etc. will now be hidden); for furnishing plans, the hidden prefix can still be matched in the search filter
    • Browser: Fixed an issue causing the "-" special search term to exclude partially-completed motif styles

  • Version 1.1.0 (2021/02/25)
    • Browser: Since special provisioning recipes are level-agnostic, the level information for these recipes have been replaced with sourcing information
    • Browser: For recipes and furnishing plans, it is now possible to link the resulting crafted items in chat, via the right-click context menu
    • Browser: "+" or "-" can now be used as special search terms to filter for known and unknown items, respectively; for example, "desk +" can be used to find all known desk plans, "ambrosia -" can be used to find all unknown ambrosia recipes, and "+" by itself will hide all unknown items
    • LibCharacterKnowledge updated to version 1.0.1

  • Version 1.0.0 (2021/02/25)
    • Initial version
Optional Files (0)


Archived Files (45)
File Name
Version
Size
Uploader
Date
1.4.0.2
59kB
code65536
02/22/24 10:58 AM
1.3.16.1
58kB
code65536
10/30/23 03:46 AM
1.3.16
58kB
code65536
09/20/23 02:35 PM
1.3.15
57kB
code65536
09/06/23 07:11 AM
1.3.14
57kB
code65536
08/28/23 08:10 AM
1.3.13
57kB
code65536
07/27/23 08:52 AM
1.3.12
57kB
code65536
06/19/23 03:30 PM
1.3.11
57kB
code65536
05/01/23 06:24 AM
1.3.10.1
57kB
code65536
03/11/23 07:52 AM
1.3.10
56kB
code65536
02/13/23 05:31 AM
1.3.9
56kB
code65536
09/23/22 07:33 PM
1.3.8
56kB
code65536
07/28/22 06:22 AM
1.3.7
56kB
code65536
06/06/22 06:21 AM
1.3.6
56kB
code65536
04/19/22 06:40 PM
1.3.5
56kB
code65536
04/11/22 03:10 PM
1.3.4
55kB
code65536
03/30/22 09:38 AM
1.3.3
55kB
code65536
03/09/22 09:17 AM
1.3.2
55kB
code65536
03/02/22 09:58 PM
1.3.1
55kB
code65536
02/25/22 07:55 AM
1.3.0.1
55kB
code65536
02/18/22 09:54 AM
1.2.12
51kB
code65536
10/10/21 05:39 AM
1.2.11
51kB
code65536
10/01/21 06:00 AM
1.2.10
50kB
code65536
09/28/21 10:26 PM
1.2.9
50kB
code65536
08/05/21 06:18 AM
1.2.8
50kB
code65536
08/02/21 08:10 PM
1.2.7.1
50kB
code65536
07/31/21 06:37 AM
1.2.7
50kB
code65536
07/14/21 07:05 AM
1.2.6
50kB
code65536
07/14/21 02:34 AM
1.2.5
49kB
code65536
06/03/21 03:39 AM
1.2.4.1
49kB
code65536
06/01/21 04:52 AM
1.2.4
49kB
code65536
05/20/21 06:55 PM
1.2.3
48kB
code65536
05/12/21 09:43 AM
1.2.2
48kB
code65536
05/03/21 06:41 PM
1.2.1
48kB
code65536
05/03/21 12:32 PM
1.2.0
47kB
code65536
05/02/21 06:16 PM
1.1.8
46kB
code65536
04/20/21 01:33 PM
1.1.7
46kB
code65536
04/03/21 05:34 AM
1.1.6
46kB
code65536
03/09/21 08:13 AM
1.1.5
45kB
code65536
03/04/21 10:37 AM
1.1.4
45kB
code65536
02/28/21 07:47 AM
1.1.3
45kB
code65536
02/27/21 09:59 AM
1.1.2
45kB
code65536
02/26/21 01:25 PM
1.1.1
42kB
code65536
02/26/21 06:16 AM
1.1.0
42kB
code65536
02/25/21 08:57 PM
1.0.0
41kB
code65536
02/25/21 09:32 AM


Post A Reply Comment Options
Unread 02/22/24, 07:21 AM  
MajorDad1953

Forum posts: 0
File comments: 1
Uploads: 0
character ranking order

Is there any way to change the Current character ranking order?
I have to believe that you would not display it without a method to change it, but I cannot find it.
Someone showed me. it is controlled by the Priority Class for each character.
Last edited by MajorDad1953 : 02/22/24 at 09:07 PM.
Report comment to moderator  
Reply With Quote
Unread 02/11/24, 01:03 AM  
TheEnigma716

Forum posts: 0
File comments: 4
Uploads: 0
Ayleid Bookcase, Cluttered

Hi there!

I LOVE your amazing addon. It really is a great addon and has helped me in my pursuit to get all the Motifs, Recipes, and Furnishing Plans. However, I found a Furnishing Plan that I have but it shows up as not-collected in the tracker.

Praxis: Ayleid Bookcase, Cluttered

I verified that I have this furnishing in the Enchantement Table. I can build it. It says it's known when I check in a Guild Trader. But in Character Knowledge, it says that I don't know it.
Report comment to moderator  
Reply With Quote
Unread 01/13/24, 01:39 AM  
FlopsyPrince

Forum posts: 0
File comments: 105
Uploads: 0
Make Panel First?

Anyway to make this panel show up first? Sometimes it seems to, other time not. The problem is that some other panels I have, including TTC, can push it outside the viewable area and I would like it to be first.
Report comment to moderator  
Reply With Quote
Unread 12/31/23, 10:12 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4912
File comments: 5990
Uploads: 78
Hi code,

is there a way to prefix the recipe's tooltips with the @accountName (and sort by account name)?
I got 2 accounts with 2 characters with the same name so it's currently hard to see which char is which in the list.
and it shows me @account1 charName1 always first now, but I'd love to have a setting to prefix it with something like
"@AccountName1: Charname1, Charname2, ..
@AccountName2: Charname1, Charname2, ...

Thank you very much
Report comment to moderator  
Reply With Quote
Unread 12/07/23, 09:02 AM  
M-ree

Forum posts: 2
File comments: 510
Uploads: 0
Originally Posted by M-ree
For whatever reason, when looking up furnishing plans, typing in "design" into the search field nets zero results. In fact, they become zero once "desi" is typed in. Other kinds, e.g., "pattern" or "sketch" work fine.
For that matter, is there a way to filter by type? Because filtering for "pattern" fails because of these:

Alinor Pot, Patterned
Necrom Floor, Patterned

And, while these can be filtered out by using -patterned, worse:

Solitude Bread, Floral Pattern
Report comment to moderator  
Reply With Quote
Unread 12/05/23, 08:59 PM  
Hancor

Forum posts: 0
File comments: 3
Uploads: 0
Is there any way to disable these annoying icons on recipe icons (a circle with three dots, or a plus for example). I don't understand what they mean or any meaning in them
Report comment to moderator  
Reply With Quote
Unread 10/04/23, 12:56 PM  
DakJaniels
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 120
Uploads: 4
Originally Posted by code65536
Originally Posted by DeanGrey
Any chance you would consider the tooltips also being compatible with controller UI?
I don't own a controller, have never used controller mode, and consequently don't know anything about how the UI works in that mode.
You can force the ui to use Gamepad mode. Mouse and keyboard still work too.
Report comment to moderator  
Reply With Quote
Unread 10/04/23, 09:39 AM  
code65536
AddOn Author - Click to view AddOns

Forum posts: 21
File comments: 371
Uploads: 40
Originally Posted by DeanGrey
Any chance you would consider the tooltips also being compatible with controller UI?
I don't own a controller, have never used controller mode, and consequently don't know anything about how the UI works in that mode.
Report comment to moderator  
Reply With Quote
Unread 10/04/23, 08:58 AM  
DeanGrey
 
DeanGrey's Avatar
AddOn Author - Click to view AddOns

Forum posts: 22
File comments: 84
Uploads: 3
Any chance you would consider the tooltips also being compatible with controller UI?
Report comment to moderator  
Reply With Quote
Unread 08/14/23, 07:38 AM  
M-ree

Forum posts: 2
File comments: 510
Uploads: 0
Is there a way to set up different character priorities for provisioning recipes, furnishing plans, and gear crafting motifs?
Report comment to moderator  
Reply With Quote
Unread 08/10/23, 11:49 AM  
M-ree

Forum posts: 2
File comments: 510
Uploads: 0
For whatever reason, when looking up furnishing plans, typing in "design" into the search field nets zero results. In fact, they become zero once "desi" is typed in. Other kinds, e.g., "pattern" or "sketch" work fine.
Report comment to moderator  
Reply With Quote
Unread 07/28/23, 02:07 PM  
code65536
AddOn Author - Click to view AddOns

Forum posts: 21
File comments: 371
Uploads: 40
Originally Posted by M-ree
Can you elaborate please, have they been removed from the game, just found to not drop anywhere, or what?

I have looked them up, and it's kind of a pretty odd couple...
These are items that people have reported as not dropping anywhere in-game after over a year. There are a few other such blacklisted items.
Report comment to moderator  
Reply With Quote
Unread 07/28/23, 02:39 AM  
M-ree

Forum posts: 2
File comments: 510
Uploads: 0
Change log:
Version 1.3.13 (2023/07/27)
Blacklisted item IDs 184155 and 190096 since they are unobtainable
Can you elaborate please, have they been removed from the game, just found to not drop anywhere, or what?

I have looked them up, and it's kind of a pretty odd couple...
Report comment to moderator  
Reply With Quote
Unread 07/17/23, 11:16 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4912
File comments: 5990
Uploads: 78
Hi code,

Here is how the issue looks like:

-> Submenu of other plugin shows your entries of your level filter

Your level filter plugin somehow inserts into "all" subenu of other plugins
Maybe your filterinformation was not properly setup to only add it to some special panels and subfilters.
Haven't yet found out what's going on, maybe it's also an AF internal clear issue, or ZO_Menu or the LibCustomMenu subemnus not initializing properly.


The problem seems to be your function "CreateLevelFilter" here:
Code:
--[[
    CreateLevelFilter("RecipeLevels", SI_CK_AF_PLUGIN_RECIPE_LEVEL, function( selectedLevel )
        return function( slot, slotIndex )
            if (util.prepareSlot ~= nil) then
                if (slotIndex ~= nil and type(slot) ~= "table") then
                    slot = util.prepareSlot(slot, slotIndex)
                end
            end
 
            local itemType, specializedItemType = GetItemType(slot.bagId, slot.slotIndex)
 
            if (itemType == ITEMTYPE_RECIPE and (specializedItemType == SPECIALIZED_ITEMTYPE_RECIPE_PROVISIONING_STANDARD_FOOD or specializedItemType == SPECIALIZED_ITEMTYPE_RECIPE_PROVISIONING_STANDARD_DRINK)) then
                local resultLink = GetItemLinkRecipeResultItemLink(GetItemLink(slot.bagId, slot.slotIndex))
                local level = GetItemLinkRequiredLevel(resultLink)
                if (level == maxLevel) then
                    level = level + GetItemLinkRequiredChampionPoints(resultLink)
                end
                return level == selectedLevel
            else
                return false
            end
        end
    end)
    ]]
If I comment it like this it will fix the issue.

Edit:
I guess the problem is that your plugin adds a very common "key" to the strings table


And my "trait" plugin also adds such a non-unique key (numbers), the same most probably for some of the traits, and thus will get overwritten by your texts then



If I remember correctly the strings will ALL be added to AdvancedFilters strings table (1 table!) and thus should be using unique keys "over all addons", or they will overwrite each other!


Maybe I can make that happen somehow automatically by the registering plugin call.


I will check the AdvancedFilters routines, wanted to add the Chinese language support too so maybe I can add and fix the problem with the strings somehow, without having us to change each plugin!


Edit2:
After looking at AF code it's not easily doable to add some unique identifier to the texts in th stringsEN etc. tables AND the relating callbackTables!
As there are many different tables of the plugins, the plugins themselves should fix that... Else AF is "fiddling in the plugin tables" and tries to make all work, where it cannot always technically find out what is correct or not. May break more than fixing it...



So @code:
Please add a unique key identifier to your stringsEN and your callbackTable entries, e.g. "CharacterKnowledge_" instead of using plain numbers as keys! I've changed my trait plugin already.
Thank you

Here is an untested example:
AdvancedFilters "CharacterKnowledge plugin - With unique keys"
Last edited by Baertram : 07/17/23 at 12:14 PM.
Report comment to moderator  
Reply With Quote
Unread 07/17/23, 06:15 AM  
M-ree

Forum posts: 2
File comments: 510
Uploads: 0
Originally Posted by BS Artist
Hi, I came across a little issue between the trait filter plugin for Advanced Filters and this plugin. I believe it could be related to the 'AdvancedFiltersPlugin' file in this addon folder...

What happens is that some of the trait strings in the Advanced Filters trait plugin are changed when it is loaded... Any ideas what could be going wrong and how I could fix it.
I can confirm it. More specifically, the issue is within the CreateLevelFilter function in the AdvancedFiltersPlugin.lua because:

* 5 traits in weapons, 4 traits in armor, and 2 traits in jewelry showing as numbers now.
* The numbers are all divisible by 5 with 2 exceptions. There's "1" in weapons, and, guess it... "<CP icon>10" in jewelry.
* The above function has:
Code:
	for _, level in ipairs({ 1, 5, 10, 15, 20, 25, 30, 35, 40, 45, 60, 100, 150, 200 }) do
		local levelStr = tostring(level)

		table.insert(filterInformation.callbackTable, {
			name = levelStr,
			filterCallback = getCallback(level),
		})

		if (level <= maxLevel) then
			filterInformation.enStrings[levelStr] = levelStr .. 'X'
		else
			filterInformation.enStrings[levelStr] = zo_iconTextFormatNoSpace("/esoui/art/champion/champion_icon_32.dds", 16, 16, tostring(level - maxLevel))
		end
	end
(The affected plugin is https://www.esoui.com/downloads/fileinfo.php?id=1569 )


The function is, looking at the code, supposed to only trigger for recipes though, but I assume it somehow modifies other tables, possibly by using the same name, or something. Especially something...

Edit: playing with the code, I found no (level or any other) filters created by this function on any of the inventory levels -- main, consumables, or recipes.
Last edited by M-ree : 07/17/23 at 06:24 AM.
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.