Go to Page... |
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/28/24 02:51 PM |
Created: | 01/21/19 10:18 AM |
Monthly downloads: | 91,785 |
Total downloads: | 3,183,205 |
Favorites: | 682 |
MD5: |
LIBSETS_SETTYPE_ITERATION_BEGIN = 1 LIBSETS_SETTYPE_ARENA = 1 --"Arena" LIBSETS_SETTYPE_BATTLEGROUND = 2 --"Battleground" LIBSETS_SETTYPE_CRAFTED = 3 --"Crafted" LIBSETS_SETTYPE_CYRODIIL = 4 --"Cyrodiil" LIBSETS_SETTYPE_DAILYRANDOMDUNGEONANDICREWARD = 5 --"DailyRandomDungeonAndICReward" LIBSETS_SETTYPE_DUNGEON = 6 --"Dungeon" LIBSETS_SETTYPE_IMPERIALCITY = 7 --"Imperial City" LIBSETS_SETTYPE_MONSTER = 8 --"Monster" LIBSETS_SETTYPE_OVERLAND = 9 --"Overland" LIBSETS_SETTYPE_SPECIAL = 10 --"Special" LIBSETS_SETTYPE_TRIAL = 11 --"Trial" LIBSETS_SETTYPE_MYTHIC = 12 --"Mythic" LIBSETS_SETTYPE_IMPERIALCITY_MONSTER = 13 -- "Imperial City monster" LIBSETS_SETTYPE_CYRODIIL_MONSTER = 14 --"Cyrodiil monster" LIBSETS_SETTYPE_CLASS = 15 -- "Class sets -> Dropped in 'Endless Archive'" --Only for iterations from 1 (LIBSETS_SETTYPE_ITERATION_BEGIN ) to the maximum LIBSETS_SETTYPE_ITERATION_END = maximum setType (currently: LIBSETS_SETTYPE_IMPERIALCITY_MONSTER)
[1] = "LIBSETS_DROP_MECHANIC_MAIL_PVP_REWARDS_FOR_THE_WORTHY", --Rewards for the worthy (Cyrodiil/Battleground mail) [2] = "LIBSETS_DROP_MECHANIC_CITY_CYRODIIL_BRUMA", --City Bruma (quartermaster) [3] = "LIBSETS_DROP_MECHANIC_CITY_CYRODIIL_CROPSFORD", --City Cropsford (quartermaster) [4] = "LIBSETS_DROP_MECHANIC_CITY_CYRODIIL_VLASTARUS", --City Vlastarus (quartermaster) [5] = "LIBSETS_DROP_MECHANIC_ARENA_STAGE_CHEST", --Arena stage chest [6] = "LIBSETS_DROP_MECHANIC_MONSTER_NAME", --The name of a monster (e.g. a boss in a dungeon) is specified in the excel and transfered to the setInfo table entry with the attribute "dropMechanicNames" (a table containing the monster name in different languages) [7] = "LIBSETS_DROP_MECHANIC_OVERLAND_BOSS_DELVE", --Overland delve bosses [8] = "LIBSETS_DROP_MECHANIC_OVERLAND_WORLDBOSS", --Overland world group bosses [9] = "LIBSETS_DROP_MECHANIC_OVERLAND_BOSS_PUBLIC_DUNGEON", --Overland public dungeon bosses [10] = "LIBSETS_DROP_MECHANIC_OVERLAND_CHEST", --Overland chests [11] = "LIBSETS_DROP_MECHANIC_BATTLEGROUND_REWARD", --Battleground rewards [12] = "LIBSETS_DROP_MECHANIC_MAIL_DAILY_RANDOM_DUNGEON_REWARD", --Daily random dungeon mail rewards [13] = "LIBSETS_DROP_MECHANIC_IMPERIAL_CITY_VAULTS", --Imperial city vaults [14] = "LIBSETS_DROP_MECHANIC_LEVEL_UP_REWARD", --Level up reward [15] = "LIBSETS_DROP_MECHANIC_ANTIQUITIES", --Antiquities (Mythic set items) [16] = "LIBSETS_DROP_MECHANIC_BATTLEGROUND_VENDOR", --Battleground vendor [17] = "LIBSETS_DROP_MECHANIC_TELVAR_EQUIPMENT_LOCKBOX_MERCHANT", --Tel Var equipment lockbox merchant [18] = "LIBSETS_DROP_MECHANIC_AP_ELITE_GEAR_LOCKBOX_MERCHANT", --Alliance points Elite gear merchant [19] = "LIBSETS_DROP_MECHANIC_REWARD_BY_NPC", --A named NPC rewards this item [20] = "LIBSETS_DROP_MECHANIC_OVERLAND_OBLIVION_PORTAL_FINAL_CHEST", --Oblivion portal final boss chest [21] = "LIBSETS_DROP_MECHANIC_DOLMEN_HARROWSTORM_MAGICAL_ANOMALIES", --Dolmen, Harrowstorms, Magical anomalies reward [22] = "LIBSETS_DROP_MECHANIC_DUNGEON_CHEST", --Chests in a dungeon Truhen in einem Verlies [23] = "LIBSETS_DROP_MECHANIC_DAILY_QUEST_REWARD_COFFER", --Daily quest reward coffer Tägliche Quest Belohnungs-Kisten [24] = "LIBSETS_DROP_MECHANIC_FISHING_HOLE", --Fishing hole [25] = "LIBSETS_DROP_MECHANIC_OVERLAND_LOOT", --Loot from overland items [26] = "LIBSETS_DROP_MECHANIC_TRIAL_BOSS", --Trial bosses [27] = "LIBSETS_DROP_MECHANIC_MOB_TYPE", --A type of mob/critter [28] = "LIBSETS_DROP_MECHANIC_GROUP_DUNGEON_BOSS", --Bosses in group dungeons [29] = "LIBSETS_DROP_MECHANIC_CRAFTED", --Crafted [30] = "LIBSETS_DROP_MECHANIC_PUBLIC_DUNGEON_CHEST", -- Public dungeon chest [31] = "LIBSETS_DROP_MECHANIC_HARVEST_NODE", -- Harvest crafting nodes [32] = "LIBSETS_DROP_MECHANIC_IMPERIAL_CITY_TREASURE_TROVE_SCAMP", --Imperial city treasure scamps / Kaiserstadt Schatzgoblin [33] = "LIBSETS_DROP_MECHANIC_CITY_CYRODIIL_CHEYDINHAL", -- Cyrodiil Cheydinhal city [34] = "LIBSETS_DROP_MECHANIC_CITY_CYRODIIL_CHORROL_WEYNON_PRIORY", -- Cyrodiil Weyon Priory, Chorrol [35] = "LIBSETS_DROP_MECHANIC_CITY_CYRODIIL_CHEYDINHAL_CHORROL_WEYNON_PRIORY", -- Cyrodiil Cheydinhal city / Weyon Priory, Chorrol [36] = "LIBSETS_DROP_MECHANIC_CYRODIIL_BOARD_MISSIONS", -- Cyrodiil board missions [37] = "LIBSETS_DROP_MECHANIC_ENDLESS_ARCHIVE", -- Endless Archive dungeon
DLC_TYPE_BASE_GAME = 0 DLC_TYPE_CHAPTER = 1 DLC_TYPE_DUNGEONS = 2 DLC_TYPE_ZONE = 3 DLC_TYPE_NORMAL_PATCH = 4
DLC_BASE_GAME 0 ... -> See file LibSets_Constants_All.lua, table possibleDlcIds for the DLC constants --Iterators DLC_ITERATION_BEGIN = DLC_BASE_GAME DLC_ITERATION_END = maximum DLC id
##DependsOn: LibSets>=000602
--This is wrong! Do not include this in your addon's txt file /libs/LibSets/LibSets_Constants.Lua /libs/LibSets/LibSets.Lua ...
If not LibSets or not LibSets.checkIfSetsAreLoadedProperly() then --LibSets is currentls scanning and/or not ready! Abort here myAddon.libSetsReady = false else myAddon.libSetsReady = true end --Wherever you use LibSets check: if myAddon.libSetsReady then ---do whatever you want with LibSets end
--Register a custom tooltip control of type CT_TOOLTIP that inherits from ZO_ItemIconTooltip for the LibSets added tooltip data --(added to the bottom, during function OnAddGameData is called) -->Important: The tooltipCtrl of tooltipCtrlName !must! have a subtable dataEntry.data or .data which contains an entry .itemLink with the itemLink of the item, --> or the tooltipCtrl of tooltipCtrlName !must! have the entries .bagIndex and .slotIndex where the itemLink can be build from! --tooltipCtrlName String --addonName String -->Returns true if LibSets tooltip hook was added to the internal tables (will be hooked at EVENT_PLAYER_ACTIVATED once, or if a new hook is added later via this function) -->Returns false if it was already added -->Returns nil if any error happens function LibSets.RegisterCustomTooltipHook(tooltipCtrlName, addonName)
<TopLevelControl name="YourAddonNameSetTooltipTopLevel" inherits="TooltipTopLevel"> <Controls> <Tooltip name="YourAddonNameSetTooltip" inherits="ZO_ItemIconTooltip"/> </Controls> </TopLevelControl>
function WL.showItemLinkTooltip(control, parent, anchor1, offsetX, offsetY, anchor2) if control == nil or control.data == nil or control.data.itemLink == nil then ClearTooltip(WishListTooltip) return nil end if not WL.checkIfItemLinkItemIdIsValid(control.data.itemLink, nil) then return end --d("itemLink: " .. control.data.itemLink) anchor1 = anchor1 or TOPRIGHT anchor2 = anchor2 or TOPLEFT offsetX = offsetX or -100 offsetY = offsetY or 0 InitializeTooltip(WishListTooltip, parent, anchor1, offsetX, offsetY, anchor2) WishListTooltip:SetLink(control.data.itemLink) if (control.data.style) then WishListTooltip:AddLine(LocalizeString("\n|c<<1>><<Z:2>>|r", ZO_NORMAL_TEXT:ToHex(), control.data.style), "ZoFontGameSmall") end end
lib.RegisterCustomSetSearchResultsListContextMenu(addonName string, headerName string:optional, submenuName string:optional, submenuEntries table, visibleFunc function:optional)
local submenuEntries = {} local subMenuEntry = { label = "Test entry name", callback = function() d("Test entry name") end } table.insert(submenuEntries, subMenuEntry) local visibleFunc = function(rowControl, setId) if rowControl == nil then return false end return true end lib.RegisterCustomSetSearchResultsListContextMenu("MyAddonTest", "Header test", "Submenu test", submenuEntries, visibleFunc)
* GetItemLinkSetInfo(*string* _itemLink_, *bool* _equipped_) ** _Returns:_ *bool* _hasSet_, *string* _setName_, *integer* _numBonuses_, *integer* _numEquipped_, *integer* _maxEquipped_, *integer* _setId_
LibSets
------------------------------------------------------------------------ -- Global library check functions ------------------------------------------------------------------------ --Returns a boolean value, true if the sets of the game were already loaded/ false if not --> Returns: boolean areSetsLoaded function lib.AreSetsLoaded() --Returns a boolean value, true if the sets of the game are currently scanned and added/updated/ false if not --> Returns: boolean isCurrentlySetsScanning function lib.IsSetsScanning() --Returns a boolean value, true if the sets database is properly loaded yet and is not currently scanning --or false if not. --This functions combines the result values of the functions LibSets.AreSetsLoaded() and LibSets.IsSetsScanning() function lib.checkIfSetsAreLoadedProperly()
--Returns true if the setId provided got a set proc which is currently allowed within PvP/AvA campaigns --> Parameters: setId number: The set's setId --> Returns: boolean isSetWithProcAllowedInPvP function lib.IsSetWithProcAllowedInPvP(setId) --Returns the setsData of all the setIds which are allowed proc sets in PvP/AvA campaigns --> Parameters: none --> Returns: nilable:LibSetsAllSetProcDataAllowedInPvP table function lib.GetAllSetDataWihtProcAllowedInPvP()
LibSets.GetSetWeaponTypes(setId)
--Returns the zoneIds (table) which are linked to a item set collection's categoryId --Not all categories are connected to a zone though! The result will be nil in these cases. --Example return table: {148} function LibSets.GetItemSetCollectionZoneIds(categoryId) --Returns the categoryIds (table) which are linked to a item set collection's zoneId --Not all zoneIds are connected to a category though! The result will be nil in these cases. --Example return table: {39} function LibSets.GetItemSetCollectionCategoryIds(zoneId) --Returns the parent category data (table) containing the zoneIds, and possible boolean parameters --isDungeon, isArena, isTrial of ALL categoryIds below this parent -> See file LibSets_data_all.lua -> --table lib.setDataPreloaded -> table key LIBSETS_TABLEKEY_SET_ITEM_COLLECTIONS_ZONE_MAPPING --Example return table: { parentCategory=5, category=39, zoneIds={148}, isDungeon=true},--Arx Corinium function LibSets.GetItemSetCollectionParentCategoryData(parentCategoryId) --Returns the category data (table) containing the zoneIds, and possible boolean parameters --isDungeon, isArena, isTrial -> See file LibSets_data_alllua -> table lib.setDataPreloaded -> --table key LIBSETS_TABLEKEY_SET_ITEM_COLLECTIONS_ZONE_MAPPING --Example return table: { parentCategory=5, category=39, zoneIds={148}, isDungeon=true},--Arx Corinium function LibSets.GetItemSetCollectionCategoryData(categoryId) --Get the current map's zoneIndex and via the index get the zoneId, the parent zoneId, and return them --+ the current zone's index and parent zone index --> Returns: number currentZoneId, number currentZoneParentId, number currentZoneIndex, number currentZoneParentIndex function LibSets.GetCurrentZoneIds() --Open the item set collections book of the current parentZoneId. If more than 1 categoryId was found for the parentZoneId, --the 1st will be opened! Returns true if UI has shown a category node successfully function LibSets.OpenItemSetCollectionBookOfCurrentParentZone() --Open the item set collections book of the current zoneId. If more than 1 categoryId was found for the zoneId, --the 1st will be opened! Returns true if UI has shown a category node successfully function LibSets.OpenItemSetCollectionBookOfCurrentZone()
--Open the worldmap and show the map of the zoneId --> Parameters: zoneId number: The zone's zoneId function lib.openMapOfZoneId(zoneId) --Open the worldmap, get the zoneId of the wayshrine wayshrineNodeId and show the wayshrine wayshrineNodeId on the map --> Parameters: wayshrineNodeId number: The wayshrine's nodeIndex function lib.showWayshrineNodeIdOnMap(wayshrineNodeId) --Returns the wayshrineNodeIds's related zoneId, where this wayshrine is located --> Parameters: wayshrineNodeId number --> Returns: zoneId number function lib.GetWayshrinesZoneId(wayshrineNodeId)
--Returns the wayshrines as table for the setId. The table contains up to 3 wayshrines for wayshrine nodes in the different factions, --e.g. wayshrines={382,382,382}. All entries can be the same, or even a negative value which means: No weayshrine is known --Else the order of the entries is 1=Admeri Dominion, 2=Daggerfall Covenant, 3=Ebonheart Pact --> Parameters: setId number: The set's setId --> withRelatedZoneIds boolean: Also provide a mappingTable as 2nd return value which contains the wayshrine's zoneId --> in this format: wayshrineNodsId2ZoneId = { [wayshrineNodeId1]= zoneId1, [wayshrineNodeId2]= zoneId2,... } --> Returns: wayshrineNodeIds table function lib.GetWayshrineIds(setId, withRelatedZoneIds)
if LibSets and LibSets.AreSetsLoaded and LibSets.AreSetsLoaded() then --Sets are provided end
--Returns a boolean value, true if the sets of the game were already loaded/ false if not --> Returns: boolean areSetsLoaded function LibSets.AreSetsLoaded() --Returns a boolean value, true if the sets of the game are currently scanned and added/updated/ false if not --> Returns: boolean isCurrentlySetsScanning function LibSets.IsSetsScanning()
File Name |
Version |
Size |
Uploader |
Date |
0.6.6 |
1MB |
Baertram |
03/27/24 08:17 AM |
|
0.6.5 |
1MB |
Baertram |
03/12/24 03:12 PM |
|
0.6.3 |
1MB |
Baertram |
11/04/23 05:35 PM |
|
0.6.2 |
1MB |
Baertram |
10/30/23 11:56 AM |
|
0.6.1 |
1MB |
Baertram |
09/04/23 07:47 AM |
|
0.6.0 |
1MB |
Baertram |
08/25/23 12:05 PM |
|
0.5.9 |
999kB |
Baertram |
05/18/23 08:09 AM |
|
0.5.8 |
1006kB |
Baertram |
04/14/23 05:14 PM |
|
0.5.7 |
1006kB |
Baertram |
04/10/23 04:06 PM |
|
0.5.6 |
1006kB |
Baertram |
04/10/23 03:16 PM |
|
0.5.5 |
1004kB |
Baertram |
04/10/23 09:36 AM |
|
0.5.4 |
998kB |
Baertram |
03/17/23 05:28 PM |
|
0.5.3 |
998kB |
Baertram |
02/01/23 05:42 PM |
|
0.5.1 |
970kB |
Baertram |
01/05/23 12:25 PM |
|
0.5.0 |
961kB |
Baertram |
09/25/22 10:31 AM |
|
0.4.9 |
1MB |
Baertram |
09/19/22 06:27 PM |
|
0.4.8 |
1MB |
Baertram |
07/17/22 08:53 AM |
|
0.4.7 |
922kB |
Baertram |
06/25/22 08:29 AM |
|
0.4.6 |
922kB |
Baertram |
05/15/22 03:45 PM |
|
0.4.5 |
1MB |
Baertram |
04/20/22 05:43 PM |
|
0.4.4 |
897kB |
Baertram |
03/29/22 12:40 PM |
|
0.4.3 |
897kB |
Baertram |
03/27/22 11:25 AM |
|
0.4.2 |
893kB |
Baertram |
03/20/22 02:13 PM |
|
0.4.1 |
893kB |
Baertram |
03/15/22 03:48 AM |
|
0.4.0 |
893kB |
Baertram |
03/12/22 04:28 PM |
|
0.3.9 |
893kB |
Baertram |
03/12/22 10:53 AM |
|
0.3.8 |
893kB |
Baertram |
03/12/22 05:13 AM |
|
0.3.7 |
838kB |
Baertram |
01/23/22 09:38 AM |
|
0.3.6 |
980kB |
Baertram |
10/30/21 12:33 PM |
|
0.3.5 |
980kB |
Baertram |
10/29/21 05:39 AM |
|
0.3.4 |
889kB |
Baertram |
09/16/21 12:22 PM |
|
0.3.3 |
834kB |
Baertram |
08/23/21 05:21 PM |
|
0.3.2 |
829kB |
Baertram |
08/05/21 08:28 AM |
|
0.3.0 |
824kB |
Baertram |
06/01/21 06:04 AM |
|
0.2.9 |
894kB |
Baertram |
03/14/21 02:05 PM |
|
0.2.8 |
951kB |
Baertram |
02/10/21 06:06 PM |
|
0.2.7 |
951kB |
Baertram |
02/10/21 02:23 PM |
|
0.2.6 |
944kB |
Baertram |
01/30/21 09:32 AM |
|
0.2.4 |
794kB |
Baertram |
11/21/20 06:49 PM |
|
0.2.3 |
916kB |
Baertram |
11/02/20 07:00 AM |
|
0.2.2 |
820kB |
Baertram |
09/19/20 08:43 AM |
|
0.2.1 |
820kB |
Baertram |
08/07/20 08:32 AM |
|
0.2.0 |
679kB |
Baertram |
05/16/20 06:25 PM |
|
0.1.9 |
679kB |
Baertram |
05/16/20 04:59 AM |
|
0.1.8 |
679kB |
Baertram |
05/10/20 02:58 PM |
|
0.1.7 |
678kB |
Baertram |
05/10/20 01:42 PM |
|
0.1.6 |
678kB |
Baertram |
05/07/20 04:42 PM |
|
0.1.5 |
837kB |
Baertram |
03/31/20 03:18 AM |
|
0.1.4 |
842kB |
Baertram |
03/27/20 01:40 PM |
|
0.1.3 |
842kB |
Baertram |
02/24/20 05:20 AM |
|
0.1.2 |
841kB |
Baertram |
11/28/19 02:41 PM |
|
0.1.1 |
835kB |
Baertram |
10/12/19 10:49 AM |
|
0.1.0 |
780kB |
Baertram |
08/23/19 10:24 AM |
|
0.0.9 |
936kB |
Baertram |
07/28/19 09:03 AM |
|
0.0.8 |
924kB |
Baertram |
07/27/19 08:30 AM |
|
0.0.6 |
911kB |
Baertram |
07/14/19 11:02 AM |
|
0.0.5 |
14kB |
Baertram |
05/19/19 06:24 PM |
|
0.0.4 |
8kB |
Baertram |
02/03/19 08:21 AM |
|
0.0.3 |
7kB |
Baertram |
02/01/19 10:40 AM |
|
0.0.2 |
7kB |
Baertram |
01/30/19 04:11 PM |
|
0.0.1 |
5kB |
01/21/19 10:18 AM |
Comment Options |
Baertram |
View Public Profile |
Send a private message to Baertram |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
03/15/22, 02:14 PM | |||
|
Warning: Spoiler
Darn. Nope. I don't get the error with only LibSet enabled. |
||
|
NeuroticPixels |
View Public Profile |
Send a private message to NeuroticPixels |
Visit NeuroticPixels's homepage! |
Find More Posts by NeuroticPixels |
Add NeuroticPixels to Your Buddy List |
03/15/22, 04:23 AM | ||
|
Thanks for the info.
No it's the tooltip that tries to read the item's line data at the guild vendor and fails at that panel (each panel provides the data differently, e.g. the normal vendor, inventory, guild bank, crafting tables, crafbag, ..., guild trader -> fails to find the needed info). Disable the tooltips please, this should fix it for the moment. Or could you try to disable all other addons please! Does it work then? I can see that you got TTC enabled as this happens e.g. I'm checking later the day why the lines cannot be read properly at the guild vendors.
Last edited by Baertram : 03/15/22 at 04:24 AM.
|
|
|
Baertram |
View Public Profile |
Send a private message to Baertram |
Visit Baertram's homepage! |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
03/15/22, 02:31 AM | |
|
I'm getting errors like these when listing things on a trader:
Code:
user:/AddOns/LibSets/LibSets_Tooltips.lua:261: attempt to index a nil value stack traceback: user:/AddOns/LibSets/LibSets_Tooltips.lua:261: in function 'getItemLinkFromControl' |caaaaaa<Locals> rowControl = ud </Locals>|r user:/AddOns/LibSets/LibSets_Tooltips.lua:365: in function 'getMouseoverLink' user:/AddOns/LibSets/LibSets_Tooltips.lua:374: in function 'getLastItemLink' |caaaaaa<Locals> tooltipControl = ud </Locals>|r user:/AddOns/LibSets/LibSets_Tooltips.lua:1010: in function 'tooltipItemCheck' |caaaaaa<Locals> tooltipControl = ud, tooltipData = 8 </Locals>|r user:/AddOns/LibSets/LibSets_Tooltips.lua:1218: in function 'tooltipOnAddGameData' |caaaaaa<Locals> tooltipControl = ud, tooltipData = 8 </Locals>|r /EsoUI/Libraries/Utility/ZO_Hook.lua:53: in function '(anonymous)' (tail call): ? [C]: in function 'SetBagItem' user:/AddOns/TamrielTradeCentre/TamrielTradeCentrePrice.lua:360: in function 'existingFunction' |caaaaaa<Locals> control = ud </Locals>|r user:/AddOns/LibMarify/LibMarify.lua:551: in function 'InvokeSetBagItemTooltip' user:/AddOns/CraftingMaterialLevelDisplay/TooltipHooks.lua:96: in function 'tt' |caaaaaa<Locals> control = ud, bagId = 1, slotIndex = 33, tradeSkillType = 0, itemType = 0, itemId = 57079, itemName = "Recipe: Tonal Architect Tonic..." </Locals>|r user:/AddOns/CraftStoreFixedAndImproved/CraftStore.lua:3665: in function 'existingFn' |caaaaaa<Locals> control = ud, bagId = 1, slotIndex = 33 </Locals>|r /EsoUI/Libraries/Utility/ZO_Hook.lua:38: in function 'origMethod' user:/AddOns/DetailedResearchScrolls/DetailedResearchScrolls.lua:349: in function 'origMethod' |caaaaaa<Locals> control = ud </Locals>|r user:/AddOns/VotansFishFillet/VotansFishFillet100015.lua:377: in function '(anonymous)' |caaaaaa<Locals> self = ud </Locals>|r (tail call): ? user:/AddOns/WritWorthy/WritWorthy.lua:413: in function 'origMethod' |caaaaaa<Locals> control = ud, bagId = 1, slotIndex = 33 </Locals>|r user:/AddOns/VotansRuneTooltips/VotansRuneTooltips100015.lua:185: in function 'origMethod' |caaaaaa<Locals> self = ud </Locals>|r user:/AddOns/AlchemyTooltips/TooltipHooks.lua:30: in function '(anonymous)' |caaaaaa<Locals> self = ud, link = "|H0:item:57079:4:1:0:0:0:0:0:0...", quality = 0, icon = 0, orgText = "<<t:1>>" </Locals>|r (tail call): ? user:/AddOns/LibMarify/LibMarify.lua:551: in function 'base' user:/AddOns/PriceTooltip/PriceTooltip.lua:627: in function 'SetBagItem' |caaaaaa<Locals> control = ud </Locals>|r /EsoUI/Ingame/Inventory/InventorySlot.lua:2127: in function '(anonymous)' |caaaaaa<Locals> inventorySlot = ud, data = [table:1]{equipType = 0, slotIndex = 33, brandNew = F, isBoPTradeable = F, isPlaceableFurniture = F, launderPrice = 0, uniqueId = 2006.0146485687, locked = T, lnk = "|H0:item:57079:4:1:0:0:0:0:0:0...", mmOriginalStackPrice = 10, mmPrice = 683, condition = 100, stackLaunderPrice = 0, specializedItemType = 171, itemLink = "|H0:item:57079:4:1:0:0:0:0:0:0...", isPlayerLocked = F, mmOriginalPrice = 10, uid = "4656537361172712842", storeGroup = 6, isGemmable = F, bestGamepadItemCategoryName = "Consumable", quality = 3, traitInformation = 0, customSortOrder = 1, functionalQuality = 3, meetsRequirementsToBuy = T, isEquipped = F, actorCategory = 0, stackCount = 1, stackSellPrice = 683, age = 0, displayQuality = 3, isFromCrownStore = F, statValue = 0, stolen = F, isInArmory = F, sellPrice = 683, rawName = "Recipe: Tonal Architect Tonic...", itemType = 29, statusSortOrder = 0, sellInformation = 0, sellInformationSortOrder = 1, isJunk = F, traitInformationSortOrder = 1, iconFile = "/esoui/art/icons/quest_scroll_...", requiredChampionPoints = 0, name = "Recipe: Tonal Architect Tonic...", requiredLevel = 1, meetsUsageRequirement = T, itemInstanceId = 2904140258}, bag = 1, index = 33 </Locals>|r /EsoUI/Ingame/Utility/ZO_SlotUtil.lua:14: in function 'RunHandlers' |caaaaaa<Locals> handlerTable = [table:2]{}, slot = ud, handlers = [table:3]{}, i = 1 </Locals>|r /EsoUI/Ingame/Inventory/InventorySlot.lua:2511: in function 'ZO_InventorySlot_OnMouseEnter' |caaaaaa<Locals> inventorySlot = ud, buttonPart = ud, listPart = ud </Locals>|r (tail call): ? (tail call): ? (tail call): ? (tail call): ? (tail call): ? Is it addons conflicting, or... ? |
|
NeuroticPixels |
View Public Profile |
Send a private message to NeuroticPixels |
Visit NeuroticPixels's homepage! |
Find More Posts by NeuroticPixels |
Add NeuroticPixels to Your Buddy List |
03/12/22, 10:57 AM | |
|
Thanks for pointing the typo out to me, and to the others, [Daniel]. Found it myself before having a look at the comments here.
I've uploaded a fixed version, please update and all should be working fine then. Thanks for all your comments and feedback. It's always nice to keep the comments clean and do not respond with the same error message 10 times. Adding more information like new error messages at others lines helps. Repeating the same error or writing "me too": Does not help If error messages are related to libraries multiple addons can be named after the library error message, that's why you see AutoResearch, KelapPad UI, WritWorthy etc. in the error messages but the cuase was the library as it is reused in all of them. -> I've deleted all that kind of comments here, so please do not wonder where your messages are. Here you are able to read how to interprete these lua error messages: https://www.esoui.com/forums/showthread.php?t=8858 ->lua error messages ingame
Last edited by Baertram : 03/12/22 at 11:11 AM.
|
|
Baertram |
View Public Profile |
Send a private message to Baertram |
Visit Baertram's homepage! |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
03/12/22, 10:06 AM | ||
Forum posts: 1
File comments: 133
Uploads: 0
|
Re: Re: issue at guild traders
I'm not a program developer (but I do have some SQL script experience that affords me a level of comfort with "IF then ELSE" logic), but I'm curious if instead the reference to "setInfoTableCopy" should be changed to "setInfoTable" on that line? Certainly looks like the IF is focused on "setInfoTableCopy", whereas the ELSE is (meant to be?) focused on "setInfoTable" (certainly returns it) except for that one line. Line deletion, or typo correction? EDIT: I tested my theory, and treating it like a typo correction on line 1893 of LibSets.lua eliminated the errors for me:
Last edited by [Daniel] : 03/12/22 at 10:43 AM.
|
|
|
[Daniel] |
View Public Profile |
Send a private message to [Daniel] |
Visit [Daniel]'s homepage! |
Find More Posts by [Daniel] |
Add [Daniel] to Your Buddy List |
03/11/22, 06:24 AM | ||
|
Ah that's brilliant, thanks for the information!
|
|
|
Messajah |
View Public Profile |
Send a private message to Messajah |
Visit Messajah's homepage! |
Find More Posts by Messajah |
Add Messajah to Your Buddy List |
03/10/22, 12:48 PM | ||
|
The setIds are provided by the game's API (GetItemLinkSetInfo(itemLink), they are not created via LibSets! And normally they stay the same, yes.
Last edited by Baertram : 03/10/22 at 12:49 PM.
|
|
|
Baertram |
View Public Profile |
Send a private message to Baertram |
Visit Baertram's homepage! |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
03/10/22, 11:15 AM | |
|
Hi! Thanks a lot for creating LibSets, it's brilliant.
If I've understood the source code correctly, the set IDs are internal in LibSets. Basically, each new set gets added to the LibSets internal array, with new ID numbers/table keys every time. Can I trust that the old set IDs always stay the same? I'm thinking of making a gear evaluation/management addon which needs reliable set IDs. So if a SetID (let's say "35") suddenly points to a different set, that would be catastrophic.
Last edited by Messajah : 03/10/22 at 11:17 AM.
|
|
Messajah |
View Public Profile |
Send a private message to Messajah |
Visit Messajah's homepage! |
Find More Posts by Messajah |
Add Messajah to Your Buddy List |
01/23/22, 08:22 AM | ||
|
I've added the following API function:
Code:
--Returns the id number of the set nameprovided --> Parameters: setName String: The set's name --> lang String: The language to check for. Can be left empty and the client language will be used then --> Returns: NILABLE number setId, NILABLE table setNames function lib.GetSetByName(setName, lang) lang = lang or lib.clientLang lang = string.lower(lang) if not lib.supportedLanguages[lang] then return end if not lib.checkIfSetsAreLoadedProperly() then return end local setNamesNonESO = preloaded[LIBSETS_TABLEKEY_SETNAMES_NO_SETID] local setNames = preloaded[LIBSETS_TABLEKEY_SETNAMES] for setId, namesOfSets in pairs(setNames) do local setNameInLanguageToSearch = namesOfSets[lang] if setNameInLanguageToSearch ~= nil and setNameInLanguageToSearch == setName then return setId, namesOfSets end end for setId, namesOfSetsNonESO in pairs(setNamesNonESO) do local setNameNonESOInLanguageToSearch = namesOfSetsNonESO[lang] if setNameNonESOInLanguageToSearch ~= nil and setNameNonESOInLanguageToSearch == setName then return setId, namesOfSetsNonESO end end return nil end But I bet you got an itemLink or bagid and slotIndex of the setitem somehow? You can use local isSet, setName, numBonuses, numEquipped, maxEquipped, setId = GetItemLinkSetInfo(itemLink, false) to get the setId as one of the returned parameters. And then this to get the zoneIds of the set where it drops/can be crafted: lib.GetZoneIds(setId) Or if you need to wayshrines near of the crafting stations you can use this APi function to get the wayshrineIds and the zoneIds together: --Returns the wayshrines as table for the setId. The table contains up to 3 wayshrines for wayshrine nodes in the different factions, --e.g. wayshrines={382,382,382}. All entries can be the same, or even a negative value which means: No weayshrine is known --Else the order of the entries is 1=Admeri Dominion, 2=Daggerfall Covenant, 3=Ebonheart Pact --> Parameters: setId number: The set's setId --> withRelatedZoneIds boolean: Also provide a mappingTable as 2nd return value which contains the wayshrine's zoneId --> in this format: wayshrineNodsId2ZoneId = { [wayshrineNodeId1]= zoneId1, [wayshrineNodeId2]= zoneId2,... } --> Returns: wayshrineNodeIds table function lib.GetWayshrineIds(setId, withRelatedZoneIds) And this to show the wayshrine on the map: lib.showWayshrineNodeIdOnMap(wayshrineNodeId) If you want to jump to the wayshrine: lib.JumpToSetId(setId, factionIndex)
Last edited by Baertram : 01/23/22 at 09:38 AM.
|
|
|
Baertram |
View Public Profile |
Send a private message to Baertram |
Visit Baertram's homepage! |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
01/23/22, 04:53 AM | |
Hi Baertram,
is there a way to get the zoneId of a crafting station if I only have the set name string with this Library? EDIT: Nevermind, I found out.
Last edited by Masteroshi430 : 01/23/22 at 06:58 AM.
|
|
|
Masteroshi430 |
View Public Profile |
Send a private message to Masteroshi430 |
Visit Masteroshi430's homepage! |
Find More Posts by Masteroshi430 |
Add Masteroshi430 to Your Buddy List |
10/30/21, 12:25 PM | |
|
Thanks guys, it was a copy&paste error. Variable "dlcAndChapterAchievementIds" needs to be replaced with "dlcAndChapterCollectibleIds".
|
|
Baertram |
View Public Profile |
Send a private message to Baertram |
Visit Baertram's homepage! |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
10/30/21, 10:18 AM | ||
Re: PTS Error
I get the same error (German client) |
||
|
Neverlands |
View Public Profile |
Send a private message to Neverlands |
Send email to Neverlands |
Visit Neverlands's homepage! |
Find More Posts by Neverlands |
Add Neverlands to Your Buddy List |
10/29/21, 01:42 PM | |
Forum posts: 3
File comments: 30
Uploads: 0
|
PTS Error
Just started seeing this today on PTS...
Code:
user:/AddOns/LibSets/LibSets_Constants_All.lua:151: attempt to index a nil value stack traceback: user:/AddOns/LibSets/LibSets_Constants_All.lua:151: in function '(main chunk)' |caaaaaa<Locals> lib = [table:1]{svVersion = 0.35, startedLoading = T, countUndauntedChests = 3, setsScanning = F, fullyLoaded = F, numSupportedLangs = 4, version = 0.35, counterSuffix = "Counter", lastSetsPreloadedCheckAPIVersion = 101031, debugNumItemIdPackages = 50, setsLoaded = F, debugNumItemIdPackageSize = 5000, name = "LibSets", countMonsterSetBonus = 2, svName = "LibSets_SV_Data"}, checkIfPTSAPIVersionIsLive = user:/AddOns/LibSets/LibSets_ConstantsLibraryInternal.lua:70, possibleDlcIds = [table:2]{1 = "DLC_IMPERIAL_CITY"}, maxDlcId = 24 </Locals>|r |
|
TimmyToxxic |
View Public Profile |
Send a private message to TimmyToxxic |
Send email to TimmyToxxic |
Visit TimmyToxxic's homepage! |
Find More Posts by TimmyToxxic |
Add TimmyToxxic to Your Buddy List |
10/24/21, 09:41 AM | |
|
Should be in the PTS verison again now:
https://github.com/Baertram/LibSets/tree/PTS |
|
Baertram |
View Public Profile |
Send a private message to Baertram |
Send email to Baertram |
Visit Baertram's homepage! |
Find More Posts by Baertram |
Add Baertram to Your Buddy List |
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.