Quantcast
Download
(17 Kb)
Download
Updated: 10/01/19 08:46 AM
Pictures
File Info
Compatibility:
Scalebreaker (5.1.5)
Elsweyr (5.0.5)
Updated:10/01/19 08:46 AM
Created:05/06/19 05:40 PM
Monthly downloads:436
Total downloads:2,482
Favorites:16
MD5:
Categories:Graphic UI Mods, RolePlay
5.1.5
NTak Loot'n'Steal
Version: 1.7.2
by: NTak [More]
Making tweaking easy: Camera / Dialog / Loot'n'Steal
You can also check my Portal.

⸺ ⋅ ⋅ ⸺ ⸺ ⋅ ⸺


(Contact me to add another language)


DESCRIPTION
This addon includes some loot and stealing enhancements.
( /!\ Do not use multiple addons that manages the actions of looting/stealing at the same time. )
  • Add information!
    ⋅ Pick what to display: inventory space, count of fenced items, count of laundered items, fence reset timer…
    ⋅ Choose where to display: in loot window and/or in inventory ( as I personally dislike info bars, I tried to find a suitable spot to add some info. ),
    ⋅ Add a filter for "stolen" items in inventory,
  • Prevent!
    ⋅ Prevent auto-loot when inventory space if below a certain limit,
    ⋅ “Smart Stealing” helps you by preventing accidental stealing. It will only allow stealing if hidden, and containers will be opened but not looted. Designed to be configurable! You can still get caught if you want to…
    ⋅ You can also use that addon if you're not using “Auto-loot” at all ; just make sure to set the preferred settings like you want!

LAST UPDATES

Warning: Spoiler


BINDINGS
  • *NEW* Toggle Auto-loot
  • Override “Smart Stealing” (keep pressed and steal)

SETTINGS
  • Cross-characters settings
    ⋅⋅⋅
  • Set preferred settings for looting and stealing,
    ⋅⋅⋅
  • Prevent auto-loot if inventory space reached its limit,
  • *NEW* Remove interaction texts on empty containers and/or insects,
    ⋅⋅⋅
  • Use “Smart Stealing”,
  • You can choose to be “Smart” or not for the different stealing actions,
  • *NEW* Display a lock over the binding when stealing is prevented,
  • Add a stolen filter in inventory.
    ⋅⋅⋅
  • Additional infos in inventory,
  • Additional infos in loot window,
  • Display inventory space, and its low limit,
  • Display fenced items count, and its low limit,
  • Display laundered items count, and its low limit,
  • Group fenced and laundered items,
  • Display reset timer information.
Warning: Spoiler


TO DO LIST
  • Prevent sitting interactions while stealthy,
  • Add a setting to auto-draw weapons when stealthy,
  • Add bounty timer in minutes/seconds somewhere,
  • Add total number of stolen items in inventory, somewhere,
  • Add option to keep auto-looting the stackable items already in inventory even if low space,
  • Get feedback from users Feel free to comment or ask for a new feature!
  • Think about other new features.

CREDITS
  • This addon uses LibAddonMenu-2.0, thank you for the awesome work !
  • Many thanks to Klingo for the german translation of all my addons (Check his great addon “Personal Assistant”! ),
  • *NEW* Thanks to Icaruk for the spanish translation.
1.7.x
⋅ Bugs correction.

1.7 (by Baertram)
⋅ Added optional dependency on LibFilters 3.0, and AdvancedFilters,
⋅ Added a descriptor so AdvancedFilters is able to recognize this addon added inventory filter tab and apply subfilters,
⋅ LAM2 now uses the global LibAddonMenu2 variable.

1.6
⋅ Spanish added ! Thanks, Icaruk.

1.5.x
⋅ Some corrections.

1.5
⋅ Added settings to remove interaction texts on empty containers or insects,
⋅ Added keybind to toggle auto-loot,
⋅ API bump.

1.4
⋅ Added preferred settings section,
⋅ Tweaked a few other things.

1.3.x
⋅ Added option for lock icon alternate position (for those who don't have a single-key binding, the lock won't be nicely centered),
⋅ Removed glow on “Laundered” icon,
⋅ Minor corrections.

1.3
⋅ Added lock icon when stealing is prevented,
⋅ Added some more options for “Smart Stealing” / “Advanced Settings”,
⋅ Bump for ESO 5.0.5.

1.2.x
⋅ Some corrections and enhancements.

1.2
⋅ Added option to show refresh timers for fence,
⋅ Added option to replace “Inventory space” by an icon in inventory window,
⋅ Added option to group fenced and laundered counts.

1.1
⋅ Added a threshold for low-limit bag space in loot options section, so that it can be different from the "red color threshold",
⋅ Added a filter for “Stolen” items in inventory.

1.0
⋅ Initial release.
Archived Files (17)
File Name
Version
Size
Uploader
Date
1.7.1
17kB
NTak
09/25/19 01:46 AM
1.7
17kB
NTak
09/16/19 11:54 AM
1.6
16kB
NTak
07/24/19 05:37 AM
1.5.1
14kB
NTak
07/13/19 03:35 PM
1.5
14kB
NTak
07/13/19 02:56 PM
1.4.1
14kB
NTak
07/13/19 07:31 AM
1.4
13kB
NTak
06/15/19 05:04 PM
1.3.4
12kB
NTak
06/02/19 03:31 AM
1.3.3
12kB
NTak
05/25/19 03:45 AM
1.3.2
12kB
NTak
05/23/19 12:04 PM
1.3.1
12kB
NTak
05/22/19 11:29 AM
1.3.1
12kB
NTak
05/20/19 02:07 PM
1.2.1
11kB
NTak
05/16/19 09:02 AM
1.2.1
36kB
NTak
05/16/19 08:44 AM
1.2
11kB
NTak
05/15/19 01:11 PM
1.1
30kB
NTak
05/10/19 09:29 AM
1.0
10kB
NTak
05/06/19 05:40 PM


Post A Reply Comment Options
Unread 09/28/19, 01:05 PM  
Duir

Forum posts: 0
File comments: 2
Uploads: 0
Yes, thank you, this has fixed it.

Originally Posted by Baertram
Edit the file NTakLootAndSteal.lua and go to line 328.
Insert before
Code:
	local filterButtonCtrl = ZO_MenuBar_GetButtonControl(menuBar, filterTabMenuButtonStolenFilter.descriptor)
this line:
Code:
	if not filterTabMenuButtonStolenFilter or not menuBar then return false end
Does it solve the issues?
Report comment to moderator  
Reply With Quote
Unread 09/27/19, 07:32 AM  
Baertram
 
Baertram's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2423
File comments: 2702
Uploads: 57
Edit the file NTakLootAndSteal.lua and go to line 328.
Insert before
Code:
	local filterButtonCtrl = ZO_MenuBar_GetButtonControl(menuBar, filterTabMenuButtonStolenFilter.descriptor)
this line:
Code:
	if not filterTabMenuButtonStolenFilter or not menuBar then return false end
Does it solve the issues?

Total function code for dunction "onFragmentShown";

Lua Code:
  1. local function onFragmentShown()
  2.     local inventory = PLAYER_INVENTORY.inventories[INVENTORY_BACKPACK]
  3.     local menuBar = inventory.filterBar
  4.     if not filterTabMenuButtonStolenFilter or not menuBar then return false end
  5.     local filterButtonCtrl = ZO_MenuBar_GetButtonControl(menuBar, filterTabMenuButtonStolenFilter.descriptor)
  6.     if not filterButtonCtrl then return false end
  7.     filterTabMenuButtonStolenFilter.control = filterButtonCtrl
  8.     local flashControl = GetControl(filterButtonCtrl, "Flash")
  9.     if not flashControl then return false end
  10.     ZO_AlphaAnimation:New(flashControl)
  11.     invFilterBarButtonFlashControlAdded = true
  12.  
  13.     if not libFilters then return end
  14.     local isStolenFilterTabActive = (inventory.filterBar.m_object:GetSelectedDescriptor() == ADDON_NAME) or false
  15.     if isStolenFilterTabActive and filterTabMenuButtonStolenFilter and invFilterBarButtonFlashControlAdded then
  16.         ChangeFilterPreHook(PLAYER_INVENTORY, filterTabMenuButtonStolenFilter)
  17.     end
  18. end

Originally Posted by Duir
Hello, I am using v1.7.1 of the addon and getting the following error when I visit the banker and click on the deposit tab:

Code:
user:/AddOns/NTakLootSteal/NTakLootSteal.lua:328: attempt to index a nil value
stack traceback:
user:/AddOns/NTakLootSteal/NTakLootSteal.lua:328: in function 'onFragmentShown'
user:/AddOns/NTakLootSteal/NTakLootSteal.lua:369: in function 'onFragmentStateChange'
EsoUI/Libraries/Utility/ZO_CallbackObject.lua:111: in function 'ZO_CallbackObject:FireCallbacks'
EsoUI/Libraries/ZO_Scene/ZO_SceneFragment.lua:143: in function 'ZO_SceneFragment:SetState'
EsoUI/Libraries/ZO_Scene/ZO_SceneFragment.lua:152: in function 'ZO_SceneFragment:OnShown'
EsoUI/Libraries/ZO_Scene/ZO_SceneFragmentTemplates.lua:59: in function '(anonymous)'
[C]: in function 'PlayInstantlyToEnd'
EsoUI/Libraries/ZO_Scene/ZO_SceneFragmentTemplates.lua:131: in function 'ZO_AnimatedSceneFragment:Show'
EsoUI/Libraries/ZO_Scene/ZO_SceneFragment.lua:162: in function 'ZO_SceneFragment:ShouldBeShown'
EsoUI/Libraries/ZO_Scene/ZO_SceneFragment.lua:232: in function 'ZO_SceneFragment:Refresh'
EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:108: in function 'ZO_Scene:AddFragment'
EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:137: in function 'ZO_Scene:AddTemporaryFragment'
EsoUI/Libraries/ZO_Scene/ZO_SceneManager_Base.lua:119: in function 'ZO_SceneManager_Base:AddFragment'
EsoUI/Libraries/ZO_Scene/ZO_SceneManager_Base.lua:135: in function 'ZO_SceneManager_Base:AddFragmentGroup'
EsoUI/Libraries/ZO_MenuBar/ZO_SceneFragmentBar.lua:85: in function 'callback'
EsoUI/Libraries/ZO_MenuBar/ZO_MenuBar.lua:284: in function 'MenuBarButton:Release'
EsoUI/Libraries/ZO_MenuBar/ZO_MenuBar.lua:636: in function 'ZO_MenuBarButtonTemplate_OnMouseUp'
ZO_MainMenuCategoryBarButton1_MouseUp:3: in function '(main chunk)'
I'm not sure if the error simply stays "hidden" once I dismiss it, but I don't see it again unless I change characters or relog. But on the first visit to the banker after logging in that error pops up when I switch to the deposit tab.
Last edited by Baertram : 09/27/19 at 07:35 AM.
Report comment to moderator  
Reply With Quote
Unread 09/27/19, 12:55 AM  
Lokir

Forum posts: 0
File comments: 32
Uploads: 0
Hallo, I have this Error on Craftingstations:

Code:
EsoUI/Libraries/Globals/GlobalVars.lua:47: attempt to index a nil value
stack traceback:
EsoUI/Libraries/Globals/GlobalVars.lua:47: in function 'GetControl'
EsoUI/Ingame/Inventory/Inventory.lua:1281: in function 'ZO_InventoryManager:PlayItemAddedAlert'
EsoUI/Ingame/Inventory/Inventory.lua:1358: in function 'ZO_InventoryManager:OnInventoryItemAdded'
EsoUI/Ingame/Inventory/Inventory.lua:680: in function 'callback'
EsoUI/Libraries/Utility/ZO_CallbackObject.lua:111: in function 'ZO_CallbackObject:FireCallbacks'
EsoUI/Ingame/Inventory/SharedInventory.lua:494: in function 'ZO_SharedInventoryManager:HandleSlotCreationOrUpdate'
EsoUI/Ingame/Inventory/SharedInventory.lua:267: in function 'ZO_SharedInventoryManager:RefreshSingleSlot'
EsoUI/Ingame/Inventory/SharedInventory.lua:56: in function 'RefreshSingle'
EsoUI/Libraries/Refresh/Refresh.lua:65: in function 'ZO_Refresh:UpdateRefreshGroups'
EsoUI/Ingame/Inventory/SharedInventory.lua:93: in function 'OnInventorySlotUpdated'
Report comment to moderator  
Reply With Quote
Unread 09/26/19, 03:36 AM  
Duir

Forum posts: 0
File comments: 2
Uploads: 0
Hello, I am using v1.7.1 of the addon and getting the following error when I visit the banker and click on the deposit tab:

Code:
user:/AddOns/NTakLootSteal/NTakLootSteal.lua:328: attempt to index a nil value
stack traceback:
user:/AddOns/NTakLootSteal/NTakLootSteal.lua:328: in function 'onFragmentShown'
user:/AddOns/NTakLootSteal/NTakLootSteal.lua:369: in function 'onFragmentStateChange'
EsoUI/Libraries/Utility/ZO_CallbackObject.lua:111: in function 'ZO_CallbackObject:FireCallbacks'
EsoUI/Libraries/ZO_Scene/ZO_SceneFragment.lua:143: in function 'ZO_SceneFragment:SetState'
EsoUI/Libraries/ZO_Scene/ZO_SceneFragment.lua:152: in function 'ZO_SceneFragment:OnShown'
EsoUI/Libraries/ZO_Scene/ZO_SceneFragmentTemplates.lua:59: in function '(anonymous)'
[C]: in function 'PlayInstantlyToEnd'
EsoUI/Libraries/ZO_Scene/ZO_SceneFragmentTemplates.lua:131: in function 'ZO_AnimatedSceneFragment:Show'
EsoUI/Libraries/ZO_Scene/ZO_SceneFragment.lua:162: in function 'ZO_SceneFragment:ShouldBeShown'
EsoUI/Libraries/ZO_Scene/ZO_SceneFragment.lua:232: in function 'ZO_SceneFragment:Refresh'
EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:108: in function 'ZO_Scene:AddFragment'
EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:137: in function 'ZO_Scene:AddTemporaryFragment'
EsoUI/Libraries/ZO_Scene/ZO_SceneManager_Base.lua:119: in function 'ZO_SceneManager_Base:AddFragment'
EsoUI/Libraries/ZO_Scene/ZO_SceneManager_Base.lua:135: in function 'ZO_SceneManager_Base:AddFragmentGroup'
EsoUI/Libraries/ZO_MenuBar/ZO_SceneFragmentBar.lua:85: in function 'callback'
EsoUI/Libraries/ZO_MenuBar/ZO_MenuBar.lua:284: in function 'MenuBarButton:Release'
EsoUI/Libraries/ZO_MenuBar/ZO_MenuBar.lua:636: in function 'ZO_MenuBarButtonTemplate_OnMouseUp'
ZO_MainMenuCategoryBarButton1_MouseUp:3: in function '(main chunk)'
I'm not sure if the error simply stays "hidden" once I dismiss it, but I don't see it again unless I change characters or relog. But on the first visit to the banker after logging in that error pops up when I switch to the deposit tab.
Last edited by Duir : 09/26/19 at 05:11 AM.
Report comment to moderator  
Reply With Quote
Unread 09/25/19, 10:57 AM  
Baertram
 
Baertram's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2423
File comments: 2702
Uploads: 57
The difference to the version of your addon before LibFilters is that the filter tab in the inventory now uses itemfiltertype_all to "first" show all items, and then applies LibFilters function to only show the stolen ones at the tab "Stolen".
As there is no itemfiltertype_stolen it was the only way to make it compatible so far (I know of).

So if you see all items at the Stolen tab the LibFilters filter function was not applied properly. Any steps how to reproduce this? It should be applied if you open the inventory and change to that Stolen tab "only".
Check the funcitons for the inventory fragment state change and the ChangeFilter prehook of PLAYER_INVENMTORY.inventories[INVENTORY_BAGPACK].
ChangeFIlter wil lbe called as you switch the filter tab buttons.
The inventory fragment will change the state to shown/showing or hiding/hidden if you open/close the inventory.

As the PLAYER_INVENMTORY.inventories[INVENTORY_BAGPACK] is used at different LibFilters filter panels (LF_INVENTORY->Normal bag, LF_VENDOR_SELL ->Vendor sell, LF_BANK_DEPOSIT->Bank deposit, LF_GUILDBANK_DEPOSIT->guild bank deposit, LF_MAIL_SEND->Mail send, LF_PLAYER_TRADE -> Trade between players, LF_FENCE_LAUNDER/LF_FENCE_SELL->fence launder/Sell) it should also show and make the Stolen tab usable there. Where some make no sense like "sell stolen is not possible at normal vendor" but unfortunately hiding the "Stolen" filter tab button there is not that easy...One would need to hook the state of other fragments as well or check if some controls are hidden or not. And the "hidden" attribute of the filtertab does not seem to work properly I couldn't make it to hide the button if you disable the settings of NTakLootAndSteel->Inventory stolen filter button).


Originally Posted by NTak
Hey there,

@Baertram:
Thank you for your help with that issue.

@Tigertron:
Thank you for your feedback on that patch. I was looking forward to it.

I tried the patched version yesterday evening and didn't run into any error.
I'm gonna release this patched version as 1.7.1 to stick with my versioning (where x.x.x versions are meant for code tweaks and bugs correction).
Please ensure to “update” from the Baertram 1.8 version to the official 1.7.1.

This week-end, I'll try to look into the other issue where the stolen filters returns everything instead of only the stolen items. (I noticed it was still happening for me yesterday.)

@Baertram:
Feel free to help me with that if you already got some ideas of what's going on, as I haven't already played with the new code.

Cheers,
N'Tak'
Last edited by Baertram : 09/25/19 at 11:00 AM.
Report comment to moderator  
Reply With Quote
Unread 09/25/19, 01:40 AM  
NTak
 
NTak's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 127
Uploads: 4
Hey there,

@Baertram:
Thank you for your help with that issue.

@Tigertron:
Thank you for your feedback on that patch. I was looking forward to it.

I tried the patched version yesterday evening and didn't run into any error.
I'm gonna release this patched version as 1.7.1 to stick with my versioning (where x.x.x versions are meant for code tweaks and bugs correction).
Please ensure to “update” from the Baertram 1.8 version to the official 1.7.1.

This week-end, I'll try to look into the other issue where the stolen filters returns everything instead of only the stolen items. (I noticed it was still happening for me yesterday.)

@Baertram:
Feel free to help me with that if you already got some ideas of what's going on, as I haven't already played with the new code.

Cheers,
N'Tak'
__________________
I believe in…
Making tweaking easy: Camera / Dialog / Loot'n'Steal
⸻⸻⸻⸻⸻
⸺ ⋅ ⋅ ⸺ ⸺ ⋅ ⸺
Last edited by NTak : 09/25/19 at 01:50 AM.
Report comment to moderator  
Reply With Quote
Unread 09/25/19, 12:20 AM  
Tigertron

Forum posts: 0
File comments: 24
Uploads: 0
Re: Re: Re: Odd bug.

Baetram. Your patch did the trick! Using the files located on your DropBox I was able to run my writs without any errors! Thank you!


Originally Posted by Baertram
He is right, it's the new stolen inventory tab.
The reason is that if you loot an item and the last active tab opened in the inv was the stolen tab (or maybe this does not need to even apply) the "new item found animation" will be played at the inventory tab's button (the "Stolen" button). If this control is missing (and it was definately in the old code of your addon and Harvens Stolen Filter) the error occurs.

I had fixed this, I thought at least, but it somehow seems to occur again.
@Phuein, Tigertron
Please try if the error happens still with this version:
https://www.dropbox.com/s/l099lenu47...M_NEW.zip?dl=0

And thanks Tigertron for the insights about the vendor sell tab. Not sure why this would be the issue but hope I could fix it now.

Originally Posted by NTak
Originally Posted by Tigertron
So I did a lot of testing yesterday and have isolated my problem to this add-on.
I get the following error:

Code:
EsoUI/Libraries/Globals/GlobalVars.lua:47: attempt to index a nil value
stack traceback:
EsoUI/Libraries/Globals/GlobalVars.lua:47: in function 'GetControl'
EsoUI/Ingame/Inventory/Inventory.lua:1281: in function 'ZO_InventoryManager:PlayItemAddedAlert'
EsoUI/Ingame/Inventory/Inventory.lua:1358: in function 'ZO_InventoryManager:OnInventoryItemAdded'
EsoUI/Ingame/Inventory/Inventory.lua:680: in function 'callback'
EsoUI/Libraries/Utility/ZO_CallbackObject.lua:111: in function 'ZO_CallbackObject:FireCallbacks'
EsoUI/Ingame/Inventory/SharedInventory.lua:494: in function 'ZO_SharedInventoryManager:HandleSlotCreationOrUpdate'
EsoUI/Ingame/Inventory/SharedInventory.lua:267: in function 'ZO_SharedInventoryManager:RefreshSingleSlot'
EsoUI/Ingame/Inventory/SharedInventory.lua:56: in function 'RefreshSingle'
EsoUI/Libraries/Refresh/Refresh.lua:65: in function 'ZO_Refresh:UpdateRefreshGroups'
EsoUI/Ingame/Inventory/SharedInventory.lua:93: in function 'OnInventorySlotUpdated'
So to get it you must do a very specific process like this:
Log in
Open a Banker
Use a crafting station to craft an item. ( I also think looting a non-stealing container, but not certain)
and the above error pops up.

Now after it has popped it wont do it again until you re-log on or do a reload UI and do the above process.

I can stop it from happening if before I open the banker I open a merchant and select the "sell" tab then close the merchant. You don't need to do anything but open the sell tab. If you never open the sell tab and just stay on the buy tab and close the merchant the error will pop up.

My situation is I use Lazy Writ and after getting the writs from the board I open my pocket banker and get the provisioning and alchemy items, then go to the woodworking craft table and craft the items. After the first item crafts the error pops up. And its done. It wont return on that character until I log out or reload UI and open the banker.

Another thing is that if it does go wonky and I go to a merchant and sell items, they stay in the list even though they have been sold.

My work around is to just go to a vendor and open the sell tab before I start and all is well, but there could be other consequences I am not aware of and I would like it to work normally.
Hey Tigertron,

Just to be sure… How do you know it is caused by this addon ?
Did you disable all the others ?
(I'm asking because I don't see any “trace” from the addon in the error)

Anyway, I'll try to reproduce the issue this evening.

Cheers,
N'Tak'
Report comment to moderator  
Reply With Quote
Unread 09/24/19, 08:59 PM  
Tigertron

Forum posts: 0
File comments: 24
Uploads: 0
Re: Re: Odd bug.

I found it through painstaking process of elimination. Deleting half of my addons and the half more until I found it. So by just disabling only this addon everything works as normal.

I will test the one Baertram linked to see if it makes a difference an get back to you.


Originally Posted by NTak
Originally Posted by Tigertron
So I did a lot of testing yesterday and have isolated my problem to this add-on.
I get the following error:

Code:
EsoUI/Libraries/Globals/GlobalVars.lua:47: attempt to index a nil value
stack traceback:
EsoUI/Libraries/Globals/GlobalVars.lua:47: in function 'GetControl'
EsoUI/Ingame/Inventory/Inventory.lua:1281: in function 'ZO_InventoryManager:PlayItemAddedAlert'
EsoUI/Ingame/Inventory/Inventory.lua:1358: in function 'ZO_InventoryManager:OnInventoryItemAdded'
EsoUI/Ingame/Inventory/Inventory.lua:680: in function 'callback'
EsoUI/Libraries/Utility/ZO_CallbackObject.lua:111: in function 'ZO_CallbackObject:FireCallbacks'
EsoUI/Ingame/Inventory/SharedInventory.lua:494: in function 'ZO_SharedInventoryManager:HandleSlotCreationOrUpdate'
EsoUI/Ingame/Inventory/SharedInventory.lua:267: in function 'ZO_SharedInventoryManager:RefreshSingleSlot'
EsoUI/Ingame/Inventory/SharedInventory.lua:56: in function 'RefreshSingle'
EsoUI/Libraries/Refresh/Refresh.lua:65: in function 'ZO_Refresh:UpdateRefreshGroups'
EsoUI/Ingame/Inventory/SharedInventory.lua:93: in function 'OnInventorySlotUpdated'
So to get it you must do a very specific process like this:
Log in
Open a Banker
Use a crafting station to craft an item. ( I also think looting a non-stealing container, but not certain)
and the above error pops up.

Now after it has popped it wont do it again until you re-log on or do a reload UI and do the above process.

I can stop it from happening if before I open the banker I open a merchant and select the "sell" tab then close the merchant. You don't need to do anything but open the sell tab. If you never open the sell tab and just stay on the buy tab and close the merchant the error will pop up.

My situation is I use Lazy Writ and after getting the writs from the board I open my pocket banker and get the provisioning and alchemy items, then go to the woodworking craft table and craft the items. After the first item crafts the error pops up. And its done. It wont return on that character until I log out or reload UI and open the banker.

Another thing is that if it does go wonky and I go to a merchant and sell items, they stay in the list even though they have been sold.

My work around is to just go to a vendor and open the sell tab before I start and all is well, but there could be other consequences I am not aware of and I would like it to work normally.
Hey Tigertron,

Just to be sure… How do you know it is caused by this addon ?
Did you disable all the others ?
(I'm asking because I don't see any “trace” from the addon in the error)

Anyway, I'll try to reproduce the issue this evening.

Cheers,
N'Tak'
Report comment to moderator  
Reply With Quote
Unread 09/24/19, 11:28 AM  
Baertram
 
Baertram's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2423
File comments: 2702
Uploads: 57
Re: Re: Odd bug.

He is right, it's the new stolen inventory tab.
The reason is that if you loot an item and the last active tab opened in the inv was the stolen tab (or maybe this does not need to even apply) the "new item found animation" will be played at the inventory tab's button (the "Stolen" button). If this control is missing (and it was definately in the old code of your addon and Harvens Stolen Filter) the error occurs.

I had fixed this, I thought at least, but it somehow seems to occur again.
@Phuein, Tigertron
Please try if the error happens still with this version:
https://www.dropbox.com/s/l099lenu47...M_NEW.zip?dl=0

And thanks Tigertron for the insights about the vendor sell tab. Not sure why this would be the issue but hope I could fix it now.

Originally Posted by NTak
Originally Posted by Tigertron
So I did a lot of testing yesterday and have isolated my problem to this add-on.
I get the following error:

Code:
EsoUI/Libraries/Globals/GlobalVars.lua:47: attempt to index a nil value
stack traceback:
EsoUI/Libraries/Globals/GlobalVars.lua:47: in function 'GetControl'
EsoUI/Ingame/Inventory/Inventory.lua:1281: in function 'ZO_InventoryManager:PlayItemAddedAlert'
EsoUI/Ingame/Inventory/Inventory.lua:1358: in function 'ZO_InventoryManager:OnInventoryItemAdded'
EsoUI/Ingame/Inventory/Inventory.lua:680: in function 'callback'
EsoUI/Libraries/Utility/ZO_CallbackObject.lua:111: in function 'ZO_CallbackObject:FireCallbacks'
EsoUI/Ingame/Inventory/SharedInventory.lua:494: in function 'ZO_SharedInventoryManager:HandleSlotCreationOrUpdate'
EsoUI/Ingame/Inventory/SharedInventory.lua:267: in function 'ZO_SharedInventoryManager:RefreshSingleSlot'
EsoUI/Ingame/Inventory/SharedInventory.lua:56: in function 'RefreshSingle'
EsoUI/Libraries/Refresh/Refresh.lua:65: in function 'ZO_Refresh:UpdateRefreshGroups'
EsoUI/Ingame/Inventory/SharedInventory.lua:93: in function 'OnInventorySlotUpdated'
So to get it you must do a very specific process like this:
Log in
Open a Banker
Use a crafting station to craft an item. ( I also think looting a non-stealing container, but not certain)
and the above error pops up.

Now after it has popped it wont do it again until you re-log on or do a reload UI and do the above process.

I can stop it from happening if before I open the banker I open a merchant and select the "sell" tab then close the merchant. You don't need to do anything but open the sell tab. If you never open the sell tab and just stay on the buy tab and close the merchant the error will pop up.

My situation is I use Lazy Writ and after getting the writs from the board I open my pocket banker and get the provisioning and alchemy items, then go to the woodworking craft table and craft the items. After the first item crafts the error pops up. And its done. It wont return on that character until I log out or reload UI and open the banker.

Another thing is that if it does go wonky and I go to a merchant and sell items, they stay in the list even though they have been sold.

My work around is to just go to a vendor and open the sell tab before I start and all is well, but there could be other consequences I am not aware of and I would like it to work normally.
Hey Tigertron,

Just to be sure… How do you know it is caused by this addon ?
Did you disable all the others ?
(I'm asking because I don't see any “trace” from the addon in the error)

Anyway, I'll try to reproduce the issue this evening.

Cheers,
N'Tak'
Last edited by Baertram : 09/24/19 at 11:28 AM.
Report comment to moderator  
Reply With Quote
Unread 09/24/19, 01:58 AM  
NTak
 
NTak's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 127
Uploads: 4
Re: Odd bug.

Originally Posted by Tigertron
So I did a lot of testing yesterday and have isolated my problem to this add-on.
Warning: Spoiler

My work around is to just go to a vendor and open the sell tab before I start and all is well, but there could be other consequences I am not aware of and I would like it to work normally.
Hey Tigertron,

Just to be sure… How do you know it is caused by this addon ?
Did you disable all the others ?
(I'm asking because I don't see any “trace” from the addon in the error)

Anyway, I'll try to reproduce the issue this evening.

Cheers,
N'Tak'
__________________
I believe in…
Making tweaking easy: Camera / Dialog / Loot'n'Steal
⸻⸻⸻⸻⸻
⸺ ⋅ ⋅ ⸺ ⸺ ⋅ ⸺
Last edited by NTak : 09/25/19 at 01:52 AM.
Report comment to moderator  
Reply With Quote
Unread 09/23/19, 03:58 PM  
Tigertron

Forum posts: 0
File comments: 24
Uploads: 0
Odd bug.

So I did a lot of testing yesterday and have isolated my problem to this add-on.
I get the following error:

Code:
EsoUI/Libraries/Globals/GlobalVars.lua:47: attempt to index a nil value
stack traceback:
EsoUI/Libraries/Globals/GlobalVars.lua:47: in function 'GetControl'
EsoUI/Ingame/Inventory/Inventory.lua:1281: in function 'ZO_InventoryManager:PlayItemAddedAlert'
EsoUI/Ingame/Inventory/Inventory.lua:1358: in function 'ZO_InventoryManager:OnInventoryItemAdded'
EsoUI/Ingame/Inventory/Inventory.lua:680: in function 'callback'
EsoUI/Libraries/Utility/ZO_CallbackObject.lua:111: in function 'ZO_CallbackObject:FireCallbacks'
EsoUI/Ingame/Inventory/SharedInventory.lua:494: in function 'ZO_SharedInventoryManager:HandleSlotCreationOrUpdate'
EsoUI/Ingame/Inventory/SharedInventory.lua:267: in function 'ZO_SharedInventoryManager:RefreshSingleSlot'
EsoUI/Ingame/Inventory/SharedInventory.lua:56: in function 'RefreshSingle'
EsoUI/Libraries/Refresh/Refresh.lua:65: in function 'ZO_Refresh:UpdateRefreshGroups'
EsoUI/Ingame/Inventory/SharedInventory.lua:93: in function 'OnInventorySlotUpdated'
So to get it you must do a very specific process like this:
Log in
Open a Banker
Use a crafting station to craft an item. ( I also think looting a non-stealing container, but not certain)
and the above error pops up.

Now after it has popped it wont do it again until you re-log on or do a reload UI and do the above process.

I can stop it from happening if before I open the banker I open a merchant and select the "sell" tab then close the merchant. You don't need to do anything but open the sell tab. If you never open the sell tab and just stay on the buy tab and close the merchant the error will pop up.

My situation is I use Lazy Writ and after getting the writs from the board I open my pocket banker and get the provisioning and alchemy items, then go to the woodworking craft table and craft the items. After the first item crafts the error pops up. And its done. It wont return on that character until I log out or reload UI and open the banker.

Another thing is that if it does go wonky and I go to a merchant and sell items, they stay in the list even though they have been sold.

My work around is to just go to a vendor and open the sell tab before I start and all is well, but there could be other consequences I am not aware of and I would like it to work normally.
Report comment to moderator  
Reply With Quote
Unread 09/23/19, 12:44 PM  
Baertram
 
Baertram's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2423
File comments: 2702
Uploads: 57
This error happened with the "old version" of NtakLootAndSteal or Harvens Stolen Filter if the additional stolen buttonw as added to the inventory filter tab but without a real control where the "New item" glow could be shown to.
I thought I had fixed this by adding the button properly + it's "new" glow child control. Maybe it was not added properly in some case then.

If you loot an item and got the stolen tab last active in the inventory I think ti tries to show the glow for the "new items here" (or maybe looted a stolen item) and then the error occurs iof the child control for the animation is missing.

So there seems to be a problem as the glow child controls do not get added properly in some case,
and the other error where the filetrPanlId is NIL returned from LibFilters,.

I had both errors not happen with the current updated versions (see my post below).

Originally Posted by Phuein
Originally Posted by Baertram
Any further infos how to get the same error in steps @Phuein?
No clue. I've had it disabled recently. I'll do as N'Tak says and see how things go.

I actually had some other addon causing an error, but it's not identified in the error. Something to do with inventory: https://i.imgur.com/oRfkVgs.jpg
Report comment to moderator  
Reply With Quote
Unread 09/23/19, 10:35 AM  
Phuein
 
Phuein's Avatar
AddOn Author - Click to view AddOns

Forum posts: 95
File comments: 173
Uploads: 9
Originally Posted by Baertram
Any further infos how to get the same error in steps @Phuein?
No clue. I've had it disabled recently. I'll do as N'Tak says and see how things go.

I actually had some other addon causing an error, but it's not identified in the error. Something to do with inventory: https://i.imgur.com/oRfkVgs.jpg
__________________

Author of beloved and rejuvenated addons:

ShowMount            • PvP FPS 2018

Notebook 2018        • Junkee 2018

BestFriends 2018      • New Addon
Report comment to moderator  
Reply With Quote
Unread 09/22/19, 02:30 PM  
Baertram
 
Baertram's Avatar
AddOn Author - Click to view AddOns

Forum posts: 2423
File comments: 2702
Uploads: 57
Hi there,

yeah, if you just use a filter function at the stolen tab (and not the ITEMFILTERTYPE_ALL) it will work but only show stolen items and not be compatibel with other filter addons.

If you got marked items with FCOItemSaver or filtered them with AdvancedFilter plugins dropdown boxes (currently not added this to the custom inventory buttons of Harvens Stolen Filters or NTakLootAndSteal but planned to add them) or with FCOCraftFilter or other addons filtering stuff "together" with LibFilters, it wouldn't work properly.

I'll have a look if I can see where the error comes from. Looks like the LibFilters filterPanelId was not determined properly as you were at the vendor.

Edit:
After playing around with it I wasn't able to get the same error or any else so far...
Even tested the same vendor at Eldenroot.

Any further infos how to get the same error in steps @Phuein?


@Ntak
You could add some additional NIL checks around the filterPanelId but normally this cannot be nil. Not sure how Phuein achieved this... Maybe other addons were interfering there.
Here is what should help a bit to suppress the error message but one won't be able to track it down this way anymore (except if you add d("NtakLootAndSteal - Error: LibFilters panelId is nil!") or something like that, and let the users write where and how they got it here:

Lua Code:
  1. local function onFragmentHiding(filterPanelId)
  2.     if not libFilters then return end
  3.     local invType = INVENTORY_BACKPACK
  4.     filterPanelId = filterPanelId or libFilters:GetCurrentFilterTypeForInventory(invType)
  5.     if filterPanelId then libFilters:UnregisterFilter(ADDON_NAME .. "_" .. tostring(filterPanelId), filterPanelId) end
  6. end
  7.  
  8. local function ChangeFilterPreHook(self, filterTab)
  9.     if filterTab.descriptor == ADDON_NAME then
  10.         if not libFilters then return end
  11.         local invType = INVENTORY_BACKPACK
  12.         local filterPanelId = libFilters:GetCurrentFilterTypeForInventory(invType)
  13.         if filterPanelId then
  14.             if libFilters:IsFilterRegistered(ADDON_NAME .. "_" .. tostring(filterPanelId)) then
  15.                 onFragmentHiding(filterPanelId)
  16.             end
  17.             if not libFilters:IsFilterRegistered(ADDON_NAME .. "_" .. tostring(filterPanelId)) then
  18.                 libFilters:RegisterFilter(ADDON_NAME .. "_" .. tostring(filterPanelId), filterPanelId, NTakLootSteal_FilterCalback)
  19.             end
  20.             libFilters:RequestUpdate(filterPanelId)
  21.         end
  22.     else
  23.         onFragmentHiding()
  24.     end
  25. end


Originally Posted by NTak
Hey Phuein,

Sorry to hear about that issue.
This is caused by the option “Add a Stolen filter in inventory”.

I'll be working on it, and I'll modify/correct some other things around the new code that uses LibFilters-3.0...
Because, I don't know for you, but the Stolen filter returns "everything", not only the stolen things.

In the meantime, I think you can disable that option to prevent the issue.

Cheers,
N'Tak'
Last edited by Baertram : 09/22/19 at 02:55 PM.
Report comment to moderator  
Reply With Quote
Unread 09/22/19, 04:28 AM  
NTak
 
NTak's Avatar
AddOn Author - Click to view AddOns

Forum posts: 6
File comments: 127
Uploads: 4
Hey Phuein,

Sorry to hear about that issue.
This is caused by the option “Add a Stolen filter in inventory”.

I'll be working on it, and I'll modify/correct some other things around the new code that uses LibFilters-3.0...
Because, I don't know for you, but the Stolen filter returns "everything", not only the stolen things.

In the meantime, I think you can disable that option to prevent the issue.

Cheers,
N'Tak'
__________________
I believe in…
Making tweaking easy: Camera / Dialog / Loot'n'Steal
⸻⸻⸻⸻⸻
⸺ ⋅ ⋅ ⸺ ⸺ ⋅ ⸺
Last edited by NTak : 09/22/19 at 04:38 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: