ESOUI

ESOUI (https://www.esoui.com/forums/index.php)
-   AddOn Search/Requests (https://www.esoui.com/forums/forumdisplay.php?f=165)
-   -   Marking Covetous Countess items (https://www.esoui.com/forums/showthread.php?t=7592)

IsharaMeradin 01/27/18 10:05 AM

Marking Covetous Countess items
 
There is an addon that marks the items needed for the current covetous countess quest items but it only works with the gamepad (GamepadBuddy).

I would like to see the items required for all covetous countess quests flagged in the tooltip at all times for both keyboard and gamepad UIs (though I will settle for just keyboard). I want to be able to tell at a glance without having to have the quest whether or not my stolen / laundered items should be saved for later use or immediately sold. Having "Covetous Countess" added to the tooltip would be good enough.

FYI - If someone would like to walk me through the code for doing just one item, I'll do the rest of them.

Baertram 01/27/18 10:43 AM

You basically only need to know which items are the ones that count and mark them via an addon like ItemSaver or FCOItemSaver with a protection icon so you can see them at a glance (or filter them if you use FCOItemSaver) in your inventories.
This will even have them marked if you do a reloadui or logout etc.

From the addon code of GamepadBuddy I found that it checks for the quest name "The Covetous Countess" and then checks for these quest infos:

Code:

games
ritual
writings and maps
cosmetics
drinkware, utensils, and dishes

Depending on this text inside the quest steps it's setting a "wished itemtype" to some constant values which are used as the key for items that apply to this category:
Code:

-- Value Define
TCC_QUEST_GAMES_DOLLS_STATUES = 1
TCC_QUEST_RITUAL_ODDITIES = 2
TCC_QUEST_WRITINGS_MAPS = 3
TCC_QUEST_COSMETICS_LINENS_ACCESSORIES = 4
TCC_QUEST_DRINKWARE_UTENSILS_DISHES = 5
TCC_QUEST_UNKNOWN = -1

Items that apply for each category:
Code:

GamePadBuddy.CONST.TCCQuestTags = {
        [TCC_QUEST_GAMES_DOLLS_STATUES] = {["Games"] = true, ["Dolls"] = true, ["Statues"] = true},
        [TCC_QUEST_RITUAL_ODDITIES] = {["Ritual Objects"] = true, ["Oddities"] = true},
        [TCC_QUEST_WRITINGS_MAPS] = {["Writings"] = true, ["Maps"] = true, ["Scrivener Supplies"] = true},
        [TCC_QUEST_COSMETICS_LINENS_ACCESSORIES] = {["Cosmetics"] = true, ["Linens"] = true, ["Wardrobe Accessories"] = true},
        [TCC_QUEST_DRINKWARE_UTENSILS_DISHES] = {["Drinkware"] = true, ["Utensils"] = true, ["Dishes and Cookware"] = true}
        }

In function GamePadBuddy:GetItemFlagStatus(bagId, slotIndex) the addon checks each item for it's item tag if you got the quest active.

Lua Code:
  1. local numItemTags = GetItemLinkNumItemTags(itemLink)
  2.     if numItemTags > 0 then
  3.         local useful = false
  4.         for i = 1, numItemTags do
  5.             local itemTagDescription, itemTagCategory = GetItemLinkItemTagInfo(itemLink, i)
  6.             local itemTagString = zo_strformat(SI_TOOLTIP_ITEM_TAG_FORMATER, itemTagDescription)
  7.             if GamePadBuddy.CONST.TCCQuestTags[GamePadBuddy.CurrentTCCQuest][itemTagString] ~= nil then
  8.                 return GamePadBuddy.CONST.ItemFlags.ITEM_FLAG_TCC_QUEST, name
  9.             end
  10.             if GamePadBuddy:IsTCCQuestItemTag(itemTagString) then
  11.                 useful = true
  12.             end
  13.         end
  14.         if useful == false then
  15.             return GamePadBuddy.CONST.ItemFlags.ITEM_FLAG_TCC_USELESS, name
  16.         else
  17.             return GamePadBuddy.CONST.ItemFlags.ITEM_FLAG_TCC_USABLE, name
  18.         end
  19.     end

Basically it checks the item at bagid and slotIndex, builds the itemLink of the item, builds the item tags string (which is one of the constants mentioned above, e.g. "Drinkware") via function GamePadBuddy:IsTCCQuestItemTag(itemTagString)

If the itemtag string equals to one of the constants the item is a valid item for the quest.

IsharaMeradin 01/29/18 12:28 AM

I tried, I failed. I'm just not grasping LUA at this time (it is very different than Papyrus). I got something that did not spit a UI error, still did nothing tho. For the time being, I'll just leave this as a request.

I don't want to install a large addon like ItemSaver or FCOItemSaver just to 'flag' these items. It wouldn't be beneficial anyway as there are multiple items which qualify. For every new item obtained I'd have to look up to see if it qualifies and then mark it.

Baertram 01/29/18 10:28 AM

If you are interested into addon dev with lua chekc out this wiki:
http://wiki.esoui.com/Main_Page

Here are some tutorials to start with:
http://wiki.esoui.com/Getting_Started

http://wiki.esoui.com/SimpleNotebookTutorial/part1

It's pretty easy explained and if you know other development languages or script languages you'll get into it.

cag_dk 11/04/18 07:14 PM

Marking Covetous Countess & Bursar of Tributes items
 
I would love to have the Covetous Countess -part of GamePadBuddy extracted and put in it's own addon,
because it can also work with the "Bursar of Tributes" in Brass City (the crow) since many of the items needed are the same.

Preferably making it work on both stolen and laundered items and not only in gamepad-mode.

I'v poked the Bear(tram) since he had commented on this, but he understandably has enough on his plate with his own addons, since the Murkmire release.

Don't think RockinDice is playing anymore and my .lua-skills is non-existant and learning is not an option atm with my workinghours, so anyone that is up for a challenge please dive in :D


All times are GMT -6. The time now is 01:56 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI