Quantcast
Download
(39 Kb)
Download
Updated: 08/02/20 08:53 PM
Pictures
File Info
Compatibility:
Stonethorn (6.1.5)
Greymoor (6.0.5)
Harrowstorm (5.3.4)
Dragonhold (5.2.5)
Scalebreaker (5.1.5)
Elsweyr (5.0.5)
Updated:08/02/20 08:53 PM
Created:06/09/17 03:03 PM
Monthly downloads:810
Total downloads:51,254
Favorites:147
MD5:
6.1.5
Thief Tools  Popular! (More than 5000 hits)
Version: 2.10
by: Shadowfen [More]
Depends on the following (separately installed) libraries: LibSFUtils, LibAddonMenu

Thief Tools provides a variety of helpful tools to help you manage and profit from your thieving career:
  • A configurable status bar to provide you with your current hot item counts and quotas.
  • Smart auto-looting of stolen items
  • Configurable auto-junking of stolen items - and an icon to display which mode you are in
  • A convenient control of whether you are allowed to kill NPCs or not - and an icon to display at a glance which mode you are in.

The Thief Tools Status Bar
The status bar to help you keep track of your stealing at a glance! It can display the following:
  • A red hand icon if you are in "Kill NPCs" mode (dynamic)
  • A gold bag with coins around if you are in "Auto-Steal" mode (dynamic)
  • The total value of fence-able items you're carrying.
  • The number of fence-able items you're carrying and the remainder of sells for the day.
  • The number of launder-able items you're carrying and the remainder of launders for the day.
  • The average value of the fence-able items (off by default).
  • The estimated session's income you'll get if you fence items of like value up to your per-day limit.
  • A graph of your fence-able items' quality.

Filtering

These counts can be configured according to your preferences by setting filters for certain categories of stolen items.

The categories, such as
  • gear,
  • furnishings,
  • provisioning recipes and furnishing recipes (formerly just "recipes"),
  • motifs,
  • style materials,
  • trait materials,
  • raw and refined materials (clothing, woodworking, and blacksmithing),
  • alchemical solvents and reagents and
  • lockpicks
can be set for particular destinations: Fence, Launder, Ignore (does not count towards either), or Junk .
Certain categories or sub-categories might have special handling that cannot be overridden at this time (to prevent them from being considered fenceable:
  • Treasure maps (and other trophies) are automatically set for Launder
Any other items that don't belong to any of these categories are automatically considered for fencing.

Only items considered for fencing will be counted in the fence-able items, the total value of currently held items, the average value, and the quality displays.

Only items considered for laundering will be counted in the launder-able items.

Ignored items will not be counted by anything except the recipe, motif, or furnishing counts that you can see in the chat window.

You can also set it to ignore all stolen items that you have marked as junk in your inventory.

Finally, you have the option of saying that if an item would normally be considered for fencing, you can still have it ignored if the value of the item is less that a threshold value that you set. If the threshold value is zero, then none of the worthless fence-ables will be ignored by this.


Auto-Stealing

Thief Tools now provides an auto-stealing "mode" which sets it so that you have auto-looting of stolen items turned on when you are sneaking and undetected. If you stop sneaking, auto-looting of stolen items is turned off. If you are sneaking and detected (in enough time for the addon to notice before ESO opens the container), auto-looting of stolen items is turned off. It is still possible to be caught stealing - because they saw you after the container started to open - but this does offer you just a little bit more protection. The protection against detection is less effective when you are pickpocketing - just be careful!

The coin bag icon in the status bar will appear if you have the auto-stealing capability turned on (and if you turned on the icon!).

How to enter/exit Auto-Stealing mode
(You need to turn off auto-looting of stolen items in the ESO Settings->Gameplay for this to work correctly.)
It is on by default. There are two ways you can toggle it on or off:
  • Use the /tt.as command in the chat window
  • Bind a keyboard key to the "Toggle Auto-Steal" in Controls->Addon Keybinds->Thief Tools

(Note: I will not add selective stealing (leaving junk behind in the container) ever. If you don't take everything in the container, the container does not respawn new contents. This hurts you as well as your fellow thieves. Take everything and let the auto-junker sort it out.)


Auto-Junking

In addition to simply ignoring junked items, Thief Tools can now automatically put items into Junk for you.

Certain items are always auto-junked:
  • items that have been deprecated by Zenimax
  • spoiled food (which, oddly enough is not considered trash)

Certain categories or sub-categories might have special handling that cannot be overridden at this time (to prevent them from being considered fenceable or junked:
  • Rare ingredients and food additives such as flour and decorative wax will not be auto-junked even if you have set ingredients to "Junk"
  • Any item at or above a certain (configurable) level of quality cannot be auto-junked no matter what you set the category that item belongs to - the default level is currently "Legendary".

The auto-junker only works on stolen items. Your other addons can handle junking of non-stolen items. Really, it makes sense to have separate rules for stolen verses non-stolen items anyway. You would not want to junk soul gems - unless they were stolen soul gems that are only worth 30 gold - one of your limited number of fence slots should be saved for something worth a lot more than that! And laundering them for 30 gold, when you might get them from guild traders for less - or in Cyrodiil for free (Rewards for the Worthy) - that doesn't really make sense either.

Although the auto-junker generally operates properly without help, it is possible to toggle auto-junking mode off or back on again when you need to. There are two ways you can toggle it on or off:
  • Use the /tt.junk command in the chat window
  • Bind a keyboard key to the "Toggle Auto-junk, stolen" in Controls->Addon Keybinds->Thief Tools

Also, auto-junking is temporarily turned off while you are looking at your inventory - that way you can unmark junked items before destroying or selling what's left without worrying about having the item automatically re-junked while you are working there. It is automatically returned to its previous setting when the inventory window closes. You will see messages about this in your chat window each time it occurs.

(Note: I will not add auto-deletion of items from your inventory ever. It is too dangerous, and I'm not about to test it on my own characters and valuable stuff or make you test it on yours. Besides, even if I did and got it working perfectly, Zenimax can update the game and break my addon.)



Prevent Killing of Innocents Mode Management

This very simple capability provides two ways of turning on or off the Prevent Kill mode provided by the game, and an optional icon on the status bar when you are in "Kill Everyone" mode.

There are two ways you can toggle it on or off:
  • Use the /tt.tm or /tt.safe command in the chat window (they are identical commands - I wanted the /tt.tm because I was used to using the TroubleMaker addon).
  • Bind a keyboard key to the "Toggle Kill Innocents" in Controls->Addon Keybinds->Thief Tools

If you prefer to use a different addon such as TroubleMaker, Thief Tools will happily co-exist with it. Thief Tools will still detect when the Kill Innocents game setting changes either by other addons or by game settings and display the red hand icon as appropriate.



Commands in Chat
(Most of these are also available as keybinds under Controls->Addon Keybinds->Thief Tools

/thieftools - Display all of the chat commands for ThiefTools with a brief description of what they do.

Of particular interest:

/tt.counts - Display all of the counts for what you have in your pack - the recipe, motif, and furnishings counts (these are counted in these special counts even if they are otherwise ignored due to other filter settings), and the fence and launder counts.

/tt.fencetime - Fence Reset Timer. According to Elmseeker (Thieves Knapsack Extended), it appears this is a fixed time (3am UTC).

/tt.as - Toggle auto-steal mode
/tt.tm or /tt.safe - Toggle kill innocents mode
/tt.junk - Toggle auto-junk mode




Acknowledgements:
This addon owes its inspiration to Elmseeker's Thieves Knapsack Extended addon - who heavily influenced my UI choices since I really liked the UI that it provided and wanted most of it back.

As this is my very first addon, I also wish to acknowledge the ESOUI Wiki, the tutorials there, the Thieves Knapsack Extended addon, and the Roam Home addon which I read to discover how some things worked.
2.10 (32)
  • Reverted to the original bounty decay calculation for players over level 50, and keep Cheshire1981's decay calculation for pre-50 characters.
  • API bump.


2.9 (31)
  • Cheshire1981 has developed a more accurate calculation for bounty value decay over time for the under-level 50 toons and has graciously permitted me to use it.
  • API bump. Preparing for Greymoor.

2.8.2 (30)
  • Correct accidental global variables.

2.8.1 (29)
  • Set AddonVersion in manifest file.

2.8
  • Upgrading to the latest localization features of LibSFUtils.

2.7.1
  • API Bump

2.7
  • Change the font on the toolbar from ZoFontChat to ZoFontGame to allow for smaller scaling as suggested by tim99.
  • API Bump

2.6
  • Use LibAddonMenu-2.0 directly instead of through LibStub. LibAddonMenu-2.0 and LibSFUtil both still need to be installed separately.
  • API Bump

2.5
  • API Bump
  • Updated /thieftools help command to use the new utilities from LibSFUtils.
  • Removed direct dependency on library LibStub.
  • Change to use standalone libraries (LibSFUtils, and LibAddonMenu) instead of bundling the libraries with ThiefTools.

2.4
  • The Display option "Hide in menu ON/OFF" will turn off the ThiefTool bar when set to ON and the bar will remain hidden for as long as you are in the menu. (Previously it would hide and then reappear after a few seconds.)
  • Can temporarily stop or restart ThiefTools by removing or adding ThiefTool-related inventory event checking for the current character. (Performance)
    This basically removes the addon overhead (and functionality!) for the current character on an adhoc basis without having to /reloadui to unload or load the addon. By doing a /tt.stop you tell ThiefTools to essentially disable itself - no further ThiefTools background processing can happen. By doing a /tt.start, you tell ThiefTools to re-hook itself into the game in order to receive event notifications to to perform its automatic stolen inventory and loot processing and restore the toolbar if you have it set to be visible. If there is a problem, reloading the ui will reset ThiefTools back to "started".

2.3.3
  • API Bump

2.3.2
  • API Bump

2.3.1
  • Reverted the "[TT]hFence sells left: " prompt fix that didn't work out.

2.3
  • Revise the calculation of bounty decay time to better match with the game timing - with the changes to the way skills are handled with the release of Summerset, I can actually base the calculation off of the enhanced decay rate for the various levels of the "Swiftly Forgotten" passive instead of creating an approximation that was always wrong but close most of the time for many levels...
  • Possibly fixed the "[TT]hFence sells left: " prompt that was occasionally seen. (reported by AgnarUrthadar) (Fix suggested by wyzzard2k).

2.2
  • Add the ability to decide how stolen jewelry should be handled. Setting it to "Ignore" will prevent it from counting towards your fence totals and will prevent it from being auto-junked.

2.1.14
  • API Bump

2.1.13
  • Created a new slash command for ThiefTools - /tt.resetbar - which will move the bar to the top left of the screen and set it to be visible (and moveable). This can be used for those occasions that the ThiefTools status bar has inexplicably disappeared to make it visible again. Also, the ESO standard Infamy (Bounty) meter will be set to hidden (the default).
  • Removed some debug printouts that were mistakenly left in chat.

2.1.12
  • Fixed error where minimum quality to save was set to "Mode_Legendary" instead of 5.
    Still looking at other reported errors.

2.1.11
  • Fixed error reported by joshmiller83.
  • Upgraded LibSFUtils to version 8.
  • Changed to ZO_SavedVarsNewCharacterId() in order to properly handle toon name changes with saved variables.

2.1.10
  • API bump.
  • Updated LibSFUtils to version 7.

2.1.9
  • API bump.
  • Updated LibSFUtils to version 6.

2.1.8
  • Updated LibAddonMenu 2.0 to r25.

2.1.7
  • The status belt will automatically hide itself when you go into the Battlegrounds and restore itself to its previous setting when you leave those areas.

2.1.6
  • Fixed the Bounty Timer so that it counts down again.

2.1.5
Compatibility - Clockwork City
  • The status belt will automatically hide itself when you go into Cyrodiil or Imperial City and restore itself to its previous setting when you leave those areas. (It probably works the same with the Battlegrounds but I have not tested that yet.) It is not really needed in those areas as there are no guards and nothing to steal there - and you have more pressing concerns anyway, like hostile players, to worry about.
  • Modified the settings saves so that it distinguishes which megaserver you are currently on. This change will require everyone to redo their settings to save them for the megaserver(s) that they play on, but it allows people to play on multiple megaservers without getting the savedvariables corrupted.
  • Note: Some people have mentioned that autostealing gets turned off due to the settings reset. In order to turn it back on, you can use the /tt.as command in the chat window which will toggle autostealing between off and on.

2.1.4
  • If you destroy a stolen item, the gold value for fenceable items is reduced.
  • Note: Further investigation of two known problems: max number of fences not increasing when you put a skill point in Trafficer passive, and the fences left counts not resetting when the fence resets daily are both traceable back to the fact that Zenimax does not update the counters that this addon references until you visit a fence. While I could potentially track when the passive increases and fix that, it would unnecessarily add load to the game for the sake of catching something that happens oh 4-5 times in the life of the character. Also, I can't realistically fix the fenced items count not resetting properly without potentially making the game slower (all that periodic checking just to see if it is reset time yet) - It's just not worth it when all you have to do is to visit a fence.

2.1.3
  • Change the addon version number in display.
  • Toggle auto-junk message fixed. Before, when you toggled it on it would say that it was turned off and vice versa. Now it announces the correct state.
  • All chat messages that come from ThiefTools are now tagged with "[ThiefTools] " in the chat window.
  • Revised bounty time calculator to make more accurate estimates.

2.1.2
  • Stolen containers will be ignored.

2.1.1
Compatibility - Horns of the Reach
  • The sound has been turned off for the "inventory almost full" and "fence almost full" warning messages as a trial. It might return later. (Note: If you don't want to use these warning messages because you have some other addon providing them, simply set the threshold to zero in the settings.)
  • The setting of auto-junking on or off with /tt.junk is now remembered between sessions (logins and reloads).
  • Defaulting the values of new saved variables has been fixed now, so that new variables will be set to the proper default values until they are changed by the user. (In particular, the new "don't junk if quality is at least ???" in the Filter settings should now show that it defaulted to Legendary instead of being blank.)
  • The display of launders/launders left was not always working properly. Fixed.
  • The display of fences/fences left did not update when you put in the skill point to upgrade it. Should be fixed, but I don't have a character I can test it with anymore.
  • The category "Trash" is no longer an auto-junked item as it sometimes is applied to something you might want to fence.
  • Recipes were not separating into provisioning and furnishing recipe categories. Fixed.
  • The temporary auto-junking disabled and re-enabled messages in chat - they were always a temporary measure which would be removed after I had the chance to test with the new Horns of the Reach DLC. They have served their purpose and have now been removed.

2.1.0
  • Added Russian translations for the new strings. (Courtesy of ForgottenLight)
  • Fixed problem with not being able to turn on auto-stealing mode after turning it off.

2.0.2
  • Fixed lua errors reported from OnStealthChange function and OnRemoved function
  • Removed debug messages from chat (sorry).

2.0.1
  • Fixed the version number.
  • The temporarily disabling and reenabling auto-junking messages are not displayed if auto-junking has been disabled.
  • Fixed the lua errors being reported from the junkIt function.


2.0
Filtering
Note: If you are upgrading from an older version of Thief Tools, please /reloadui the first time that you run with the upgraded addon (for each character) if you notice any problems. There appears to be some kind of issue between the old saved variables and the new version of the addon that I have not been able to track down. Simply reloading the ui will fix the problem and save the new version of saved variables.)
  • Added filtering of stolen alchemy reagents and solutions.
  • Split out Recipes into Provisioning and Furnishing Recipes so that you can control them separately. (You will need to update your setting for these.)
  • Added filtering of stolen soulgems.
  • Automatically place stolen treasure maps (and other trophies) on the ignore list.
Auto-junking (New)
  • Added a setting for the "if value less than x" setting so that you can auto-junk them instead of just ignoring them.
  • Added special handling to auto-junk spoiled food (which oddly enough is not considered to be "trash" by ESO).
  • Rare ingredients and ingredient additives are now set to "Launder" even if you have the ingredients setting on something else. This allows separating out specifically the "Decorative Wax" and "Flour" ingredients that are used for furniture crafting.
  • Whenever you are in an inventory page (simply looking at your inventory or at a vendor), auto-junking will be temporarily disabled. This allows you to remove items from the junk tab by unmarking them, and then doing a sell all junk or destroy all junk (as appropriate) on the remaining junk items. When the inventory page is closed, the auto-junker will automatically go back to its set mode. The next time some inventory change occurs to cause ThiefTools to rescan your inventory, the items that you unmarked as junk will automatically be put back into junk (unless you have changed the setting that caused that item to be considered junk).
  • Added a "Junk" choice to the "Fence", "Launder", and "Ignore" choice lists. The "Junk" option will cause the item to automatically be placed in the Junk tab of your inventory. You can then examine the list and sell or destroy the contents of the junk list normally. Note, you can "Unmark as junk" an item that was placed in the list, but it will be put back at some time in the future (the next time that the backpack contents are scanned again) - so ALWAYS examine the contents of the junk list before you destroy it!!
  • Automatically place stolen deprecated items on the junk list.
  • Automatically place stolen trash items on the junk list.
  • Added a setting to allow you to specify that if an item is a certain minimum quality, it will never be auto-junked, no matter what your other settings say. Originally implement to prevent auto-junking of Legendary items, it now allows you to set also Epic and Superior quality as well. Legendary is the default (and cannot be turned off).
  • Added special checks to the Ingredients so that you can say to junk them and the Flour and Decorative Wax will not be junked (because they are "rare" and used for furnishing recipes too.)
Commands/Modes (New)
  • Added a toggle to enable/disable the "Prevent killing of innocents". When logging in (or reloadui), this is reset to whatever the ESO setting is.
  • Added a toggle to enable/disable auto-stealing/pickpocketing while you are sneaking (and undetected). Auto-looting of stolen items is only turned on when you are sneaking when this is enabled. When you are not sneaking, then you can look in containers/NPCs without stealing from them.
  • Modified auto-stealing so that if it sees that you have been detected, before the container opens then it will revert from auto-stealing to looking. (A little extra protection that does not always work fast enough. Be warned and wary.)
Miscellaneous
  • Made it possible for addon keybinds to be translated to other languages.
  • Started using my utility library for functions shared between this addon and Where's My Guild Hall.
  • Upgraded LibAddonMenu to 2.0_r24.
  • Rewritten things as I've learned more Lua.

1.1.1
  • Updated the Russian translation for the "not a thief" feature (previously from Google) thanks to ForgottenLight.

1.1.0
  • Rewrote significant portions of the settings logic. You will have to reset your characters settings. The good news is that Thief Tools now provides the option of having account-wide settings - so you don't have to change things for every character you have.
  • The "Display" settings which control size and location of the status bar are only account-wide settings. Every character will have the Thief Tools status bar displayed in the same location on the screen.
  • The "Status Bar Display", "Filters", and "Warnings" settings can each either be account-wide or specific to the character. This means you can specialize any of these for a specific character and use the shared account-wide settings for all of your other characters.
  • Provided a "This character is not a thief" setting, so that when you turn it on the Thief Tools bar will not automatically be visible for that character when you log in. (You can still make it visible with either the /tt or the key binding for those special occasions.) This setting is per-character only - it just doesn't make sense as an account-wide setting. Note: The Russian translation for this feature was done by Google since it was done at the very last minute before release. If the Russian says something completely idiotic, I totally blame Google! :-)
  • Fixed the Estimated Fence slots = 0 warning to only appear once in chat (until it stops being 0).
  • Fixed the turning off the Estimated Fence slots = 0 warning by setting the slider to zero.
  • Fixed the turning off the Free slots left warning by setting the slider to zero.
  • Added the Russian translations for the new strings thanks to ForgottenLight.

1.0.6
  • Fixed it so that when you deconstruct stolen gear, it is properly subtracted from your count of stolen goods.
  • Added a new Warning Announcements setting section to allow you to set if you want to be told when your inventory is about to be full or if you have stolen enough for today's fencing quota.
  • Added the Russian translations for the new strings thanks to ForgottenLight.


1.0.5
  • Added a setting to provide chat warning messages when you are getting closed to having a full backpack. If you set the warning value to zero, it will not put messages in chat. (Warning for Russian language users: Localization strings were added - in English - and need to be translated.)
  • The colors of the quality stolen bars are back in all their glory. (And the previous color fix is still fixed!)

1.0.4
  • Added Russian translation thanks to ForgottenLight.
  • Fixed the color problem with icons on the bar.

1.0.3
  • Added ingredients to the list of items that you can filter on.
  • Finally managed to find and fix the location of the bar problem that FWSWBN was having.

1.0.2
  • Due to a change in the way that filter options are stored (to support localization) you may need to reselect your filter options in Settings.
  • Added localization changes suggested by ForgottenLight.
  • The filtering for lockpicks was broken because lockpicks do not correspond to the ITEMTYPE_LOCKPICK that Zenimax created but does not use. Had to set it so that lockpicks now match up with ITEMTYPE_TOOL.

1.0.1
  • Added the option to have a fence reset timer on the status bar like Thief's Knapsack Extended has.
  • The icon for Launders Left now disappears from the status bar when you turn off the Launders Left option.
  • Increased icon sizes to make them easier to distinguish.
  • Remove the anchoring options since they are not working as I expected them to.

1.0
  • Works with Morrowind
  • Release by Shadowfen
Optional Files (0)


Archived Files (37)
File Name
Version
Size
Uploader
Date
2.9
39kB
Shadowfen
04/30/20 06:17 PM
2.8.2
38kB
Shadowfen
04/01/20 07:22 PM
2.7.1
38kB
Shadowfen
10/20/19 05:03 PM
2.7
37kB
Shadowfen
08/15/19 10:58 PM
2.6
37kB
Shadowfen
05/02/19 11:10 PM
2.6
87kB
Shadowfen
02/25/19 10:17 PM
2.4
86kB
Shadowfen
12/24/18 09:56 PM
2.3.3
85kB
Shadowfen
10/22/18 06:09 PM
2.3.2
85kB
Shadowfen
08/13/18 05:56 PM
2.3.1
85kB
Shadowfen
07/17/18 09:24 PM
2.3
85kB
Shadowfen
07/09/18 09:17 PM
2.1.14
84kB
Shadowfen
05/20/18 02:55 PM
2.1.13
84kB
Shadowfen
03/30/18 11:01 PM
2.1.12
84kB
Shadowfen
03/30/18 04:10 PM
2.1.12
84kB
Shadowfen
03/30/18 04:08 PM
2.1.11
84kB
Shadowfen
03/25/18 04:49 PM
2.1.9
84kB
Shadowfen
01/08/18 10:50 PM
2.1.6
88kB
Shadowfen
10/26/17 07:44 PM
2.1.5
88kB
Shadowfen
10/25/17 06:12 PM
2.1.4
89kB
Shadowfen
10/09/17 03:19 PM
2.1.3
84kB
Shadowfen
09/04/17 05:03 PM
2.1.3
84kB
Shadowfen
09/04/17 04:52 PM
2.1.2
83kB
Shadowfen
08/20/17 09:53 PM
2.1.1
83kB
Shadowfen
08/17/17 07:32 PM
2.1.0
82kB
Shadowfen
08/13/17 02:22 PM
2.0.2
82kB
Shadowfen
08/10/17 01:32 PM
2.0.1
82kB
Shadowfen
08/09/17 09:27 PM
2.0
82kB
Shadowfen
08/06/17 03:02 PM
1.1.1
67kB
Shadowfen
07/12/17 07:31 AM
1.1.0
65kB
Shadowfen
07/10/17 07:10 PM
1.0.6
63kB
Shadowfen
07/02/17 12:43 PM
1.0.5
62kB
Shadowfen
06/25/17 02:51 PM
1.0.4
62kB
Shadowfen
06/22/17 11:25 PM
1.0.3
59kB
Shadowfen
06/16/17 08:49 AM
1.0.2
59kB
Shadowfen
06/15/17 10:25 PM
1.0.1
58kB
Shadowfen
06/11/17 05:44 PM
1.0
58kB
06/09/17 03:03 PM


Post A Reply Comment Options
Unread 09/08/20, 09:17 AM  
xen32

Forum posts: 0
File comments: 3
Uploads: 0
Lovely addon!

Could you please add transparency setting to display settings? Would appreciate it!
Report comment to moderator  
Reply With Quote
Unread 08/29/20, 05:32 AM  
Ughrym

Forum posts: 0
File comments: 2
Uploads: 0
Thank you for your reply and kind attitude.

Apparently I just didn't understand the addon settings ...

I apologize for wasting your time.

Good luck and all the best.
Report comment to moderator  
Reply With Quote
Unread 08/28/20, 09:25 AM  
Shadowfen
AddOn Author - Click to view AddOns

Forum posts: 56
File comments: 437
Uploads: 11
Re: ThiefTools - bag and suggestions

Originally Posted by Ughrym
Hi!
I'm sorry for my bad english...
Not a problem. Your english is considerably better than my russian!

Originally Posted by Ughrym
Bug
I found the following bug: the number of stolen items on the panel is less than in the bag.
For example, in the screenshot there are 3 items in the bag, but the panel displays 2 items (not sure that the screenshot will load).
This might not be a bug. It depends on other settings for the addon. That field does not show the number of stolen items in your pack - it is supposed to show the number of stolen items that you have marked as being "fence-able" in the settings for which items get fenced, laundered, or ignored.

It would be helpful if you could execute the /tt.count command in chat to see if what that reports agrees with the status bar. If the last entry shows that an item is assumed that it will be laundered and the fenced count agrees with the bar, that would explain the discrepency between the bar and the number of stolen items you see in your inventory.

Originally Posted by Ughrym
Suggestions (requests)
1. Can you make that the "options" switched-on in the addon settings, but not active in the game, are not removed from the panel?
First of all, this concerns the "option" "Allowed to kill innocents".

2. Can you add the ability to change the color of the icons on panel?
The currently selected red color is poorly visible against a black background.
1. Not easily. The absence of the icon from the bar means that the ability is not turned on. The presence of the icon on the bar means that it is turned on. Otherwise I would have to have a "disabled" and an "enabled" color for each of the icons - which would also add problems for those who are color-blind.

2. I can look into that...
Last edited by Shadowfen : 08/28/20 at 09:58 AM.
Report comment to moderator  
Reply With Quote
Unread 08/27/20, 07:27 AM  
Ughrym

Forum posts: 0
File comments: 2
Uploads: 0
ThiefTools - bag and suggestions

Hi!
I'm sorry for my bad english...

Bug
I found the following bug: the number of stolen items on the panel is less than in the bag.
For example, in the screenshot there are 3 items in the bag, but the panel displays 2 items (not sure that the screenshot will load).


Suggestions (requests)
1. Can you make that the "options" switched-on in the addon settings, but not active in the game, are not removed from the panel?
First of all, this concerns the "option" "Allowed to kill innocents".

2. Can you add the ability to change the color of the icons on panel?
The currently selected red color is poorly visible against a black background.
Report comment to moderator  
Reply With Quote
Unread 06/15/20, 06:08 AM  
cheshire1981

Forum posts: 0
File comments: 6
Uploads: 0
Hi NTak,

for clarification purposes, I never intended to use any part of your UI but only to look at your code to figure out how the function GetSecondsUntilBountyDecaysToZero() could be used in the UI Thief Tools already has.
Since GetSecondsUntilBountyDecaysToZero() is apparently a function implemented by Zenimax I would never have used any part of your code at all but just looked at it.
Though I would assume you'd agree that there are only so many ways as how to convert seconds in a more suitable time-format

As for everyone else, I am sorry I wasn't able to provide a better timer based on GetSecondsUntilBountyDecaysToZero(), unfortunately I have had some chaotic times and weren't able to attend to the bounty timer matter as of yet.
Hopefully I will be able to provide a better timer soon (not based on NTaks code, ofcourse)

Originally Posted by NTak
Hey there,

Glad to see that my code is helpful… for others to copy.
You could at least have PM me.

Originally Posted by cheshire1981
[...]
edit: I found out how the other addon manages to be more precise...
during the Update 24 API patch a little known function GetSecondsUntilBountyDecaysToZero() has been added to the API, which I didn't see before now...
[...]
this new function makes this sooo much easier since it gives an accurate value in seconds which only has to get converted to minutes / hours and refreshed every x seconds...

NTak Loot Steal uses a simple function for that, based on that it would be easy to adapt the timer in thiefTools too
[...]
I will get to work this weekend and update my code for ThiefTools bounty timer, this should be fairly easy now.
... Is everything working as intended?

Anyway...
Please don't copy how I included the timers in the UI.

... I am really proud of that one.
( It's kind of my signature to fit the info the best possible way in the UI in my Loot'n'Steal addon. )

Cheers,
N'Tak'
Report comment to moderator  
Reply With Quote
Unread 05/22/20, 10:59 AM  
Shadowfen
AddOn Author - Click to view AddOns

Forum posts: 56
File comments: 437
Uploads: 11
Originally Posted by NTak
Hey there,

Glad to see that my code is helpful… for others to copy.
You could at least have PM me.

Originally Posted by cheshire1981
[...]
edit: I found out how the other addon manages to be more precise...
during the Update 24 API patch a little known function GetSecondsUntilBountyDecaysToZero() has been added to the API, which I didn't see before now...
[...]
... Is everything working as intended?

Anyway...
Please don't copy how I included the timers in the UI.

... I am really proud of that one.
( It's kind of my signature to fit the info the best possible way in the UI in my Loot'n'Steal addon. )

Cheers,
N'Tak'
First, I am the author of ThiefTools, not Cheshire1981 and second, I have not looked at your addon or copied your code for use anywhere. I did include some of Cheshire1981's code in mine prior to the discussion that had him looking at other addons for alternative algorithms - so, once again, your code is still not in ThiefTools as far as I know. ZOS functions, new or otherwise, are available for any addon creator to use within the limits of ZOS's security, again so far as I know.

Chesire1981 was discussing a bounty timer problem with someone else here. He has not gotten back to me with any change recommendations.

I have been dealing with my mother going into the hospital, and so have not had much time to think about addons or to even play the game.
Report comment to moderator  
Reply With Quote
Unread 05/21/20, 08:00 AM  
NTak
 
NTak's Avatar
AddOn Author - Click to view AddOns

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

Glad to see that my code is helpful… for others to copy.
You could at least have PM me.

Originally Posted by cheshire1981
[...]
edit: I found out how the other addon manages to be more precise...
during the Update 24 API patch a little known function GetSecondsUntilBountyDecaysToZero() has been added to the API, which I didn't see before now...
[...]
this new function makes this sooo much easier since it gives an accurate value in seconds which only has to get converted to minutes / hours and refreshed every x seconds...

NTak Loot Steal uses a simple function for that, based on that it would be easy to adapt the timer in thiefTools too
[...]
I will get to work this weekend and update my code for ThiefTools bounty timer, this should be fairly easy now.
... Is everything working as intended?

Anyway...
Please don't copy how I included the timers in the UI.

... I am really proud of that one.
( It's kind of my signature to fit the info the best possible way in the UI in my Loot'n'Steal addon. )

Cheers,
N'Tak'
__________________
I believe in…
Making tweaking easy: Camera / Dialog / Loot'n'Steal
⸻⸻⸻⸻⸻
⸺ ⋅ ⋅ ⸺ ⸺ ⋅ ⸺

@Takit (EU Server)
Last edited by NTak : 05/21/20 at 08:23 AM.
Report comment to moderator  
Reply With Quote
Unread 05/17/20, 04:05 AM  
Sargon_Starblade

Forum posts: 7
File comments: 3
Uploads: 0
Re: Request Bounty Timer

Originally Posted by Sargon_Starblade
Is it possible to have a timer function added to Thief Tools that will let you know how much time until you are reputable again?
Never mind it looks like there is already one there that is set off by default.
Report comment to moderator  
Reply With Quote
Unread 05/16/20, 11:06 PM  
Sargon_Starblade

Forum posts: 7
File comments: 3
Uploads: 0
Request Bounty Timer

Is it possible to have a timer function added to Thief Tools that will let you know how much time until you are reputable again?
Report comment to moderator  
Reply With Quote
Unread 05/14/20, 10:21 AM  
cheshire1981

Forum posts: 0
File comments: 6
Uploads: 0
Originally Posted by denzil
What I ended up realising is that the number is way off and there's nothing I can do about it
Originally Posted by denzil
And in case it matters, I'm CP220 or something.. and my Swiftly Forgotten is on 3/4. Legerdemain also not maxed out.
I am quite confused as to how much off the numbers really are and to figure out where it went wrong since I am the one having written the code...
but I will take a look at the other addons code and try to figure out the difference... you might however help me with an example including numbers...
if you are at CP220 with 3/4 swiftly forgotten you should have a bounty decay of 92 every 3 minutes (you can verify this by hovering over swiftly forgotten and see if the tooltip is identical), which is what the addon would be using as a value...

may I ask, have you been raking up bounty by getting a bounty, waiting some minutes and then getting more bounty? (like getting caught several times a few minutes apart before the bounty decayed)
this would tend to destabilize my code and I know the reason behind it but I haven't been able to fix it yet... maybe the other addon would help me with this one..

I am truely sorry that my code didn't work out for you and cast a bad light on shadowfens addon since it's solely my fault that this doesn't work as intended...
I hope with your help I can figure out what happend and hopefully how to fix it...

-----------------------------------------------------------------

edit: I found out how the other addon manages to be more precise...
during the Update 24 API patch a little known function GetSecondsUntilBountyDecaysToZero() has been added to the API, which I didn't see before now...
ThiefTools uses a self-written function that tries to determine the time until the bounty decays based on level and swiftly forgotten ranks but this isn't always perfect
before the API update there hasn't been a way to accurately determine how long the bounty decay would be and had to be guessed by using only the amount of bounty, the level of the char and the rank of swiftly forgotten...
this new function makes this sooo much easier since it gives an accurate value in seconds which only has to get converted to minutes / hours and refreshed every x seconds...

NTak Loot Steal uses a simple function for that, based on that it would be easy to adapt the timer in thiefTools too:

Code:
local function FormatTimer(s)
	if s <= 0 then
		return ""
	end
	if s > 3600 then
		return math.floor(s / 3600) .. "h"
	end
	if s > 60 then
		return math.floor(s / 60) .. "m"
	end
	return s .. "s"
end
local runningBounty = false
local function UpdateBountyTimer()
	local s = FormatTimer(GetSecondsUntilBountyDecaysToZero())
	bountyTimer:SetText(s)
	
	if s == "" then
		runningBounty = false
		return
	end	
		
	zo_callLater(UpdateBountyTimer, 1000)
end
local function OnBountyUpdate(eventCode, oldBounty, newBounty, isInitialize)
	if not(runningBounty) then
		runningBounty = true
		UpdateBountyTimer()
	end
end
I will get to work this weekend and update my code for ThiefTools bounty timer, this should be fairly easy now.

Thanks for the hint
Last edited by cheshire1981 : 05/14/20 at 10:49 AM.
Report comment to moderator  
Reply With Quote
Unread 05/05/20, 02:53 AM  
denzil

Forum posts: 0
File comments: 12
Uploads: 0
Originally Posted by Shadowfen
Coincidentally, Cheshire1981 and I have been discussing how the bounty works in this forum - in the preceeding messages. So you can look through those to see how the bounty check works. Yes the passive Swiftly Forgotten is taken into account.
I just gave it a read, thx
What I ended up realising is that the number is way off and there's nothing I can do about it
I was kinda hoping I was doing something wrong.. but I guess not.

Anyway for that particular feature I'll just continue using NTak Loot'n'Steal.. and if you need help with the math behind the correct number, I suggest you take look in that mods code or contact the author and see how it's done.. because those numbers work very accurately for me. And in case it matters, I'm CP220 or something.. and my Swiftly Forgotten is on 3/4. Legerdemain also not maxed out.

GL and thx for the reply
Report comment to moderator  
Reply With Quote
Unread 05/04/20, 05:52 PM  
Shadowfen
AddOn Author - Click to view AddOns

Forum posts: 56
File comments: 437
Uploads: 11
Originally Posted by denzil
How does the timer for bounty work exactly?
And does it take into account passive "TSwiftly Forgotten"?

Because the numbers I'm seeing displayed here make literally ZERO sense
So I'm guessing I'm missing something...
Coincidentally, Cheshire1981 and I have been discussing how the bounty works in this forum - in the preceeding messages. So you can look through those to see how the bounty check works. Yes the passive Swiftly Forgotten is taken into account. That is what
Code:
GetSkillAbilityInfo(5, 5, 2)
is refering to.
Report comment to moderator  
Reply With Quote
Unread 05/04/20, 07:13 AM  
denzil

Forum posts: 0
File comments: 12
Uploads: 0
How does the timer for bounty work exactly?
And does it take into account passive "TSwiftly Forgotten"?

Because the numbers I'm seeing displayed here make literally ZERO sense
So I'm guessing I'm missing something...
Report comment to moderator  
Reply With Quote
Unread 04/23/20, 12:57 PM  
cheshire1981

Forum posts: 0
File comments: 6
Uploads: 0
hmmm suggestion:
how about we use my solution as "optional files" for those who would prefer the better estimate and leave your addon as is for those who prefer the (very slightly) lower cpu usage?
This might be a good point to branch this with both branches under your control

or we could simply add an options in your config menu where players can toggle the more precise timer for lower levels, so we can have the best of both worlds in one version of the addon
Last edited by cheshire1981 : 04/23/20 at 04:03 PM.
Report comment to moderator  
Reply With Quote
Unread 04/22/20, 10:31 AM  
cheshire1981

Forum posts: 0
File comments: 6
Uploads: 0
Re: Re: Re: Re: Re: Re: Bounty Reset Clock

I now changed the code of your ThiefTools.lua beginning in line 1058 from this:

Code:
local _,_,earnedRank,_,_,_,_,progressionIndex = GetSkillAbilityInfo(5, 5, 2)
local perk = (progressionIndex * 23 + 23)
local estimate = ((TT.bounty) * 180.0/perk) - (now - TT.bounty_start)
to this:

Code:
local _,_,earnedRank,_,_,_,_,progressionIndex = GetSkillAbilityInfo(5, 5, 2)
	
	--[[
		edited by Ysrthgrathe Thais, EU
	--]]
	
	local function roundnum(num, numDecimalPlaces) -- lua doesn't have a proper rounding function
		local mult = 10^(numDecimalPlaces or 0)
		return math.floor(num * mult + 0.5) / mult
	end
	
	local level = GetUnitLevel("player")
	
	if level == 50 then -- cp don't count below lvl 50
		local cp = GetUnitChampionPoints("player")
		if cp < 161 then -- above 160 cp there is no change anymore
			level = level + (math.floor(cp/10)) -- treating every 10cp as 1 lvl for this calculation
		else
			level = 66
		end
	end

	local base = level*0.346 --base bounty decay times the level gives the appropriate bounty decay for each level
	
	base = roundnum(base, 1)
	
	local perk = (progressionIndex*base+base)
	
	perk = roundnum(perk,0) --actual bounty decay based on rank of swiftly forgotten and level of the char, rounded to full gold
	
	if (TT.bounty%perk ~= 0) then
		TT.bounty = (math.ceil(TT.bounty/perk)*perk) --quick and dirty fix to make sure that the timer always starts at a multiple of 3 since bounty only decreases every 3 minutes
	end
	
	--[[
		end of edit
	--]]
	
	local estimate = ((TT.bounty) * 180.0/perk) - (now - TT.bounty_start)
which gives a proper estimate of your bounty timer regardless of level...
(edit: it might give you timer which is 3 minutes off within the first 3 minutes of your bounty if you are at lvl 50 cp 160 and have EXACTLY 12996 bounty (or a multiple thereof) but this would correct itself after 3 minutes thanks to your magic and wouldn't even matter much when you already have to wait 5.7 hours (or a multiple thereof) for your bounty to decay )
unfortunately I have to keep most of the checks in your local function bountyCheck(now, drift)
since your level, cp and swiftly forgotten could change while you have a bounty on your head and your bounty decay would change accordingly... turns out I need your self-correction magic after all
but these calculations really shouldn't make any impact on any CPU that's capable of running ESO at all, even if you have a ton of addons active. I estimate the whole part of my code should use up no more than 150 cycles, which on a 1.2 Ghz single core CPU should take about 1/8000000th of a second or about 0.000000125 seconds...
for a measurable impact you would need about 2 million addons doing similar work on this CPU, provided you can actually feel a delay of a quarter of a second

feel free to do with my solution as you please, I would be happy if you were to use it and improve your estimates for alot of players (actually EVERY thief below lvl 50 cp 160 since the cp don't get counted for your bounty decay if you are below lvl 50, even if your twink/toon has cp)
but since this is your addon it's obviously up to you if you want to use it or not, sorry if I overstepped any boundaries

In any case, please know that I deeply appreciate your addon and your work (and your commented code, it's actually quite beautiful), thanks for your great contribution to ESO
Last edited by cheshire1981 : 04/23/20 at 08:45 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: