Download
(6 Kb)
Download
Updated: 08/02/23 02:12 PM
Pictures
File Info
Compatibility:
Necrom (9.0.0)
Updated:08/02/23 02:12 PM
Created:05/18/21 10:32 AM
Monthly downloads:4,829
Total downloads:71,580
Favorites:55
MD5:
Show TTC Price  Popular! (More than 5000 hits)
Version: 17.0.1
by: MarioKness [More]
Shows TTC price of items in Inventory, Craft Bag, Bank, Guild Banks, Storage Chests and Deconstruction panel.
Shows Discount and Profit of Guild Store listings.
Adds Deal and Profit filters with AwesomeGuildStore.

Dependencies
LibAddonMenu2
Tamriel Trade Center
AwesomeGuildStore (optional)
[v 17.0.1]
Bump API version to 101038

[v 17]
Added support for the deconstruction assistant.

[v 16]
Added 'None' as a choice for the setting 'Guild Store info to show'.
Increased the font size of Discount and Profit.

[v 15]
Added 'Enable Guild Store features' to settings.
Added 'Guild Store info to show' to settings.
Added 'Highlight risky deals' to settings.
Added 'Required listings' to settings.
Added 'Enable AwesomeGuildStore integration' to settings.
Added 'Enable Deal Filter' to settings.
Added 'Enable Profit Filter' to settings.
Improved text formatting.
Improved settings tooltips.
Renamed 'Both' to 'Stack and Unit'.

[v 14]
Fixed an error that occurred when formatting text.

[v 13]
Improved text formatting with commas as thousands separators.
Added 'Ignore below default sell price' to settings.

[v 12]
Added the keybinding 'Toggle TTC Prices' (same function as the new toggle).

[v 11]
Added 'Enable Toggle Button' to settings.
The toggle is now hidden by default.

[v 10]
Added a toggle that lets you swap between TTC and ESO prices.
Added 2 new choices under 'Price to show'.

[v 9]
Added 'Ignore items of type Trash' to settings.

[v 8]
Replaced 'Desired price' with 'Desired value' and 'Required value'.
Improved text formatting.

[v 7]
Added 'Ignore bound items' to settings.
Added 'Desired price' to settings.

[v 6]
The addon now ignores quest items.

[v 5]
Added multi-server support to saved variables.
Saved variables have been reset.

[v 4]
Added 'Round numbers' to settings.
Optional Files (0)


Archived Files (15)
File Name
Version
Size
Uploader
Date
17
6kB
MarioKness
11/06/22 11:30 AM
16
6kB
MarioKness
06/24/22 02:28 PM
15
6kB
MarioKness
06/23/22 02:27 AM
14
4kB
MarioKness
06/08/22 06:52 AM
13
4kB
MarioKness
06/06/22 07:16 PM
12
4kB
MarioKness
06/03/22 10:01 AM
11
3kB
MarioKness
06/03/22 09:06 AM
10
3kB
MarioKness
06/03/22 03:29 AM
9
3kB
MarioKness
02/10/22 10:04 AM
8
2kB
MarioKness
02/09/22 09:14 AM
7
2kB
MarioKness
11/17/21 08:21 PM
6
2kB
MarioKness
05/22/21 09:51 PM
5
2kB
MarioKness
05/20/21 05:28 PM
4
2kB
MarioKness
05/20/21 12:42 AM
3
2kB
05/18/21 10:32 AM


Post A Reply Comment Options
Unread 05/18/21, 03:13 PM  
iksaa

Forum posts: 21
File comments: 30
Uploads: 0
thank you

I love you, my next son will be named Mario in your honor.
Report comment to moderator  
Reply With Quote
Unread 05/18/21, 03:26 PM  
MarioKness
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 22
Uploads: 3
Re: thank you

Originally Posted by iksaa
I love you, my next son will be named Mario in your honor.
Report comment to moderator  
Reply With Quote
Unread 05/19/21, 11:24 PM  
camrenis

Forum posts: 0
File comments: 5
Uploads: 0
Great addon, so much better being able to scroll through and see how much gold you could possibly make. One suggestion - have an option to round to no decimal places so high versus low value items are easy to assess scrolling through.

Report comment to moderator  
Reply With Quote
Unread 05/20/21, 12:43 AM  
MarioKness
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 22
Uploads: 3
Originally Posted by camrenis
Great addon, so much better being able to scroll through and see how much gold you could possibly make. One suggestion - have an option to round to no decimal places so high versus low value items are easy to assess scrolling through.

Thanks for the suggestion! I just added it
Report comment to moderator  
Reply With Quote
Unread 05/20/21, 04:25 PM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4964
File comments: 6032
Uploads: 78
Thank you for the addon!

Please, if you create new addons, always think about Multi-server support for the SavedVariables and directly add the multi-server support in
your ZO_SavedVars:NewAccountWide or ZO_SavedVars:NewCharacterIdSettings function!
Many, many players play on NA AND EU servers and the addon settngs differ a lot depending on servers, especially if it's about prices as decimals and decimal points differ e.g.

You can use the function GetWorldName() to get the String "NA Megaserver" or "EU Megaserver" and you can either use the 3rd parameter "namespace" of the ZO_SavedVars:New* functions with it, or the last/2nd last "profile" parameter

ZO_SavedVars:NewAccountWide(savedVari, version, namespace, defaults, profile, displayName)
ZO_SavedVars:NewCharacterIdSettins(savedVariableTable, version, namespace, defaults, profile)

Adding it from the start will help you alot as you do not have to migrate them later on somehow.

And about "overwriting" functions: Better use SecurePostHook instead, it should be enough:
Lua Code:
  1. --OLD -> troubling as depending on other addons and your/their laodOrder via ## OptionalDependsOn the source of your addon may overwrite already other applied code
  2. local originalCall = ZO_SmithingTopLevelDeconstructionPanelInventoryBackpack.dataTypes[1].setupCallback --show prices while deconstructing
  3.     ZO_SmithingTopLevelDeconstructionPanelInventoryBackpack.dataTypes[1].setupCallback = function(control, slot)
  4.         originalCall(control, slot)
  5.         ShowTTCPrice:ChangeInventoryPrice(control, slot)
  6.     end
  7.  
  8. --New -> Better compatibility
  9. SecurePostHook(ZO_SmithingTopLevelDeconstructionPanelInventoryBackpack.dataTypes[1], "setupCallback", function(control, slot)
  10.         ShowTTCPrice:ChangeInventoryPrice(control, slot)
  11. end)
-> This applies to all overwritten setupCallback functions of the scroll list dataTypes.

Attention:
It may not work within the inventory (PLAYER_INVENTORY.inventories[...]listView.dataTypes[1] )as you may get "call from insecure code" error messages if you try to use the SecurePostHook in the inventories.
So use the --OLD -> troubling way via saving the current setupCallback function and calling it + your functions afterwards like you currently do.


Small performance hint:
Lua Code:
  1. if ShowTTCPrice.savedVariables.PriceToShow == "Both" then newPriceText =
  2.         if ShowTTCPrice.savedVariables.PriceToShow == "Stack" then newPriceText =
  3.         if ShowTTCPrice.savedVariables.PriceToShow == "Unit"
If you need the same table's subtables' info more than once cache it in a local so that the table does not need to be searched for the subtable entries each time again and again:
Lua Code:
  1. local priceToShow = ShowTTCPrice.savedVariables.PriceToShow
  2. if priceToShow  == "Both" then
  3. elseif priceToShow  == "Stack"  then
  4. ...
Even better would be a lookup table where you just put the keys "Both", "Stack" ... and the values = the string you want to use:

Lua Code:
  1. local data = control.dataEntry.data
  2. local priceToShowToText = {
  3.  ["Both"] = "|cfcba03"..data.TTCstackSellPrice.."|r\n|cffffff(|r|cfc8403"..data.TTCsellPrice.."|r|cffffff)|r|t16:16:EsoUI/Art/currency/currency_gold.dds|t",
  4. ["Stack"] = ...
  5. }
  6. local priceToShow = ShowTTCPrice.savedVariables.PriceToShow
  7. local newPriceText = priceToShowToText[priceToShow]

And watch your |c and |r color tags in the strings. Every |c needs to be csed via | before a new |c happens! And |r|r does nothing afaik, 1x r| is enough. Before using a \n you should end the color |c with |r again, or at least do not begin the new color |c before the \n, just do it directly after the \n.

Your addon is also mixing the function calls with . and :
e.g.
ShowTTCPrice.SetupSettings()
ShowTTCPrice:Initialize()

You should not use : if you are not using an object oriented way, via ZO_Object, where you create new objects of a class via object = ClassName:New(), where self points to the object created.
If you just want to call functions use . and not :, else you might get into trouble with e.g. event functions as the 1st parameter of your : called functions assumes it's the own object automatically passed in, where . functions explicitly need the 1st parameter passing in the object manually.
Hard to explain, but there are other forum posts about it.
Or check ZOs code about ZO_Object. e.g. this:

https://github.com/esoui/esoui/blob/ea3a42c9344a610a1a49293f417b7c24db0da546/esoui/ingame/crafting/craftadvisor_manager.lua#L1
ZO_CraftAdvisorManager is the kind of class, inheriting from ZO_Object.
ZO_CraftAdvisorManager:New will call initialize and create the object, then return it.
The object is created in line 335 CRAFT_ADVISOR_MANAGER = ZO_CraftAdvisorManager:New()
CRAFT_ADVISOR_MANAGER got all the : functions now that ZO_CraftAdvisorManager got.
If you call them via : you can use self inside the functions where self points to CRAFT_ADVISOR_MANAGER.
But if you call them via . only you MUST pass in CRAFT_ADVISOR_MANAGER as 1st parameter to the functions.

So for your absic addons it won't make a big difference if you use : or . but the : notation often troubles reading and sometimes even errors then if you are not useing ZO_Object subclasses!

Thank you.
Last edited by Baertram : 05/20/21 at 04:47 PM.
Report comment to moderator  
Reply With Quote
Unread 05/20/21, 05:31 PM  
MarioKness
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 22
Uploads: 3
Originally Posted by Baertram
Thank you for the addon!

Please, if you create new addons, always think about Multi-server support for the SavedVariables and directly add the multi-server support in
your ZO_SavedVars:NewAccountWide or ZO_SavedVars:NewCharacterIdSettings function!
Many, many players play on NA AND EU servers and the addon settngs differ a lot depending on servers, especially if it's about prices as decimals and decimal points differ e.g.

You can use the function GetWorldName() to get the String "NA Megaserver" or "EU Megaserver" and you can either use the 3rd parameter "namespace" of the ZO_SavedVars:New* functions with it, or the last/2nd last "profile" parameter

ZO_SavedVars:NewAccountWide(savedVari, version, namespace, defaults, profile, displayName)
ZO_SavedVars:NewCharacterIdSettins(savedVariableTable, version, namespace, defaults, profile)

Adding it from the start will help you alot as you do not have to migrate them later on somehow.

And about "overwriting" functions: Better use SecurePostHook instead, it should be enough:
Lua Code:
  1. --OLD -> troubling as depending on other addons and your/their laodOrder via ## OptionalDependsOn the source of your addon may overwrite already other applied code
  2. local originalCall = ZO_SmithingTopLevelDeconstructionPanelInventoryBackpack.dataTypes[1].setupCallback --show prices while deconstructing
  3.     ZO_SmithingTopLevelDeconstructionPanelInventoryBackpack.dataTypes[1].setupCallback = function(control, slot)
  4.         originalCall(control, slot)
  5.         ShowTTCPrice:ChangeInventoryPrice(control, slot)
  6.     end
  7.  
  8. --New -> Better compatibility
  9. SecurePostHook(ZO_SmithingTopLevelDeconstructionPanelInventoryBackpack.dataTypes[1], "setupCallback", function(control, slot)
  10.         ShowTTCPrice:ChangeInventoryPrice(control, slot)
  11. end)
-> This applies to all overwritten setupCallback functions of the scroll list dataTypes.

Attention:
It may not work within the inventory (PLAYER_INVENTORY.inventories[...]listView.dataTypes[1] )as you may get "call from insecure code" error messages if you try to use the SecurePostHook in the inventories.
So use the --OLD -> troubling way via saving the current setupCallback function and calling it + your functions afterwards like you currently do.


Small performance hint:
Lua Code:
  1. if ShowTTCPrice.savedVariables.PriceToShow == "Both" then newPriceText =
  2.         if ShowTTCPrice.savedVariables.PriceToShow == "Stack" then newPriceText =
  3.         if ShowTTCPrice.savedVariables.PriceToShow == "Unit"
If you need the same table's subtables' info more than once cache it in a local so that the table does not need to be searched for the subtable entries each time again and again:
Lua Code:
  1. local priceToShow = ShowTTCPrice.savedVariables.PriceToShow
  2. if priceToShow  == "Both" then
  3. elseif priceToShow  == "Stack"  then
  4. ...
Even better would be a lookup table where you just put the keys "Both", "Stack" ... and the values = the string you want to use:

Lua Code:
  1. local data = control.dataEntry.data
  2. local priceToShowToText = {
  3.  ["Both"] = "|cfcba03"..data.TTCstackSellPrice.."|r\n|cffffff(|r|cfc8403"..data.TTCsellPrice.."|r|cffffff)|r|t16:16:EsoUI/Art/currency/currency_gold.dds|t",
  4. ["Stack"] = ...
  5. }
  6. local priceToShow = ShowTTCPrice.savedVariables.PriceToShow
  7. local newPriceText = priceToShowToText[priceToShow]

And watch your |c and |r color tags in the strings. Every |c needs to be csed via | before a new |c happens! And |r|r does nothing afaik, 1x r| is enough. Before using a \n you should end the color |c with |r again, or at least do not begin the new color |c before the \n, just do it directly after the \n.

Your addon is also mixing the function calls with . and :
e.g.
ShowTTCPrice.SetupSettings()
ShowTTCPrice:Initialize()

You should not use : if you are not using an object oriented way, via ZO_Object, where you create new objects of a class via object = ClassName:New(), where self points to the object created.
If you just want to call functions use . and not :, else you might get into trouble with e.g. event functions as the 1st parameter of your : called functions assumes it's the own object automatically passed in, where . functions explicitly need the 1st parameter passing in the object manually.
Hard to explain, but there are other forum posts about it.
Or check ZOs code about ZO_Object. e.g. this:

https://github.com/esoui/esoui/blob/...manager.lua#L1
ZO_CraftAdvisorManager is the kind of class, inheriting from ZO_Object.
ZO_CraftAdvisorManager:New will call initialize and create the object, then return it.
The object is created in line 335 CRAFT_ADVISOR_MANAGER = ZO_CraftAdvisorManager:New()
CRAFT_ADVISOR_MANAGER got all the : functions now that ZO_CraftAdvisorManager got.
If you call them via : you can use self inside the functions where self points to CRAFT_ADVISOR_MANAGER.
But if you call them via . only you MUST pass in CRAFT_ADVISOR_MANAGER as 1st parameter to the functions.

So for your absic addons it won't make a big difference if you use : or . but the : notation often troubles reading and sometimes even errors then if you are not useing ZO_Object subclasses!

Thank you.
Thank you so much! I just updated the addon, let me know if there's anything more I can improve!
Report comment to moderator  
Reply With Quote
Unread 05/20/21, 07:24 PM  
camrenis

Forum posts: 0
File comments: 5
Uploads: 0
Originally Posted by MarioKness
Originally Posted by camrenis
Great addon, so much better being able to scroll through and see how much gold you could possibly make. One suggestion - have an option to round to no decimal places so high versus low value items are easy to assess scrolling through.
Thanks for the suggestion! I just added it
Awesome thanks for this!
Report comment to moderator  
Reply With Quote
Unread 05/21/21, 09:14 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4964
File comments: 6032
Uploads: 78
You can apply the speedup variables for other tables like your SavedVariables in the LAM settings as well

Instead of always using
ShowTTCPrice.savedVariables.PreferredPrice
define once inside function ShowTTCPrice.SetupSettings()
local settings = ShowTTCPrice.savedVariables
and then use settings everywhere, instead of ShowTTCPrice.savedVariables.PreferredPrice -> settings.PreferredPrice
Works for the getFunc and setFunc as well for defaults etc. as it points to the tables and updates them if you change the pointer.

Whereever in your files you use 1 subtable entry more than once inside a scope, a local pointer "could" speed it up a bit.
e.g. in function ShowTTCPrice.ChangeInventoryPrice -> settings instead of ShowTTCPrice.savedVariables

1 more hint as the setupFunction defined in for _, i in pairs(PLAYER_INVENTORY.inventories) will fire as well for your BAG_BACKPACK e.g. if you buy a new bagspace via the horse trainer.
You should check if the current scene is not the stablescene before calling your custom setupFunction code as it might throw errors or a least it des not need any update there if you buy only backspace.
And the quest items cannot be sold afaik so one can exclude the list of the questitems as well via checking for ZO_PlayerInventoryQuest as list's name:

Lua Code:
  1. function ShowTTCPrice.Initialize()
  2.     for _, i in pairs(PLAYER_INVENTORY.inventories) do --show inventory and craft bag prices
  3.         local listView = i.listView
  4.         if listView and listView.dataTypes and listView.dataTypes[1] and listView:GetName() ~= "ZO_PlayerInventoryQuest" then
  5.             local originalCall = listView.dataTypes[1].setupCallback
  6.             listView.dataTypes[1].setupCallback = function(control, slot)
  7.                 originalCall(control, slot)
  8.                 local currentScene = SCENE_MANAGER:GetCurrentScene()
  9.                 if currentScene == STABLES_SCENE then return end
  10.  
  11.                 ShowTTCPrice.ChangeInventoryPrice(control, slot)
  12.             end
  13.         end
  14.     end
  15.     SecurePostHook(ZO_SmithingTopLevelDeconstructionPanelInventoryBackpack.dataTypes[1], "setupCallback", function(control, slot) --show prices while deconstructing
  16.         ShowTTCPrice.ChangeInventoryPrice(control, slot)
  17.     end)
  18. end
Last edited by Baertram : 05/21/21 at 09:20 AM.
Report comment to moderator  
Reply With Quote
Unread 07/09/21, 06:38 AM  
noiamortale

Forum posts: 0
File comments: 15
Uploads: 0
Hello! Is there a way at all to have prices in inventory overridden only when its above a certain price? Like showing TTC price only for items above 1000 for example while keeping the rest as vendor prices. Absolutely loving the addon by the way, thanks a lot for your work on it!
Report comment to moderator  
Reply With Quote
Unread 11/17/21, 08:33 PM  
MarioKness
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 22
Uploads: 3
Originally Posted by noiamortale
Hello! Is there a way at all to have prices in inventory overridden only when its above a certain price? Like showing TTC price only for items above 1000 for example while keeping the rest as vendor prices. Absolutely loving the addon by the way, thanks a lot for your work on it!
Hey, sorry for my really late reply!
I updated the addon and added your suggestion
Report comment to moderator  
Reply With Quote
Unread 02/09/22, 12:18 AM  
Messajah
AddOn Author - Click to view AddOns

Forum posts: 11
File comments: 30
Uploads: 1
Thanks for a super useful and well-written addon, Mario!

Being able to see the best way to sell an item (guild trader vs merchant) is fantastic.

However, the rendering of the coins is really cramped and weird looking, with the coins butting against the price text. The rendering can be improved (more pleasing and balanced spacing) by adding spaces before each coin icon, as follows:

Code:
	local priceFormats = {
		["Both"] = Colors.Orange .. data.TTCstackSellPrice .. "|r\n" .. Colors.White .. "(|r" .. Colors.DarkOrange .. data.TTCsellPrice .. "|r" .. Colors.White .. ")|r " .. coinIcon,
		["Stack"] = Colors.Orange .. data.TTCstackSellPrice.. "|r " .. coinIcon,
		["Unit"] = Colors.DarkOrange .. data.TTCsellPrice .. "|r " .. coinIcon
	}
	local priceFormatsHighlighted = {
		["Both"] = Colors.Green .. data.TTCstackSellPrice .. "|r\n" .. Colors.White .. "(|r" .. Colors.DarkGreen .. data.TTCsellPrice .. "|r" .. Colors.White .. ")|r " .. coinIcon,
		["Stack"] = Colors.Green .. data.TTCstackSellPrice.. "|r " .. coinIcon,
		["Unit"] = Colors.DarkGreen .. data.TTCsellPrice .. "|r " .. coinIcon
	}


By the way, it might be a good idea to use "Suggested" as the default price. Because "Average" is pure fantasy prices that you will almost never get.

Tamriel Trade Centre suffers from data pollution by bots and guilds that intentionally list things extremely high to push up the average prices.

Therefore, the min/average/max data in TTC is useless apart from the "min" value (the lowest price observed).

The best TTC value is the "Suggested price", which uses an algorithm that combats most of the price-faking by removing all extreme outliers (such as super high values), then taking the cheapest 30% of the remainder (basically the lower third of prices, which is what any real buyer who browses TTC's website would choose to buy from), then it averages all of those "bottom third" prices together, and calculates 80% of that, which puts its final "Suggested price" very close to what the "real value" is (what people are willing to pay)... The official TTC tooltip then generates a suggested price range which is "that suggested price" +/- a few percent.

So, here's TTC's price sources:

- Average price: Useless (prices things too high since it's affected by all the fake data; for example, if an item has two sources, one for 1g and one for 1000000g, the average will say 500000g).

- Max price: Extremely useless / harmful. Full of polluted bot / guild data from people faking the prices.

- Min price: Useful sometimes, just to see how low an item has ever gone. I would love to configure TTC to remove the entire min/max/average row from my item tooltips, but Min is sometimes good to have.

- Suggested price: Most useful. Lines up very well with the actual "good prices" on the TTC website.

You may have seen lots of users complain about TTC, saying that it overvalues items and makes people overpay, and that other auction addons such as "MM" are "better" because they have more realistic prices than TTC? Well, that's because people think that reading the "average" is correct. It's not. The TTC average is a completely compromised number full of fake bot data. Not sure why they even publish that garbage data to players and mislead everyone.

Anyway that's my feedback for your sweet addon. It's fantastic. Great job!
Last edited by Messajah : 02/09/22 at 12:31 AM.
Report comment to moderator  
Reply With Quote
Unread 02/09/22, 09:26 AM  
MarioKness
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 22
Uploads: 3
Originally Posted by Messajah
Thanks for a super useful and well-written addon, Mario!

Being able to see the best way to sell an item (guild trader vs merchant) is fantastic.

However, the rendering of the coins is really cramped and weird looking, with the coins butting against the price text. The rendering can be improved (more pleasing and balanced spacing) by adding spaces before each coin icon, as follows:

Code:
	local priceFormats = {
		["Both"] = Colors.Orange .. data.TTCstackSellPrice .. "|r\n" .. Colors.White .. "(|r" .. Colors.DarkOrange .. data.TTCsellPrice .. "|r" .. Colors.White .. ")|r " .. coinIcon,
		["Stack"] = Colors.Orange .. data.TTCstackSellPrice.. "|r " .. coinIcon,
		["Unit"] = Colors.DarkOrange .. data.TTCsellPrice .. "|r " .. coinIcon
	}
	local priceFormatsHighlighted = {
		["Both"] = Colors.Green .. data.TTCstackSellPrice .. "|r\n" .. Colors.White .. "(|r" .. Colors.DarkGreen .. data.TTCsellPrice .. "|r" .. Colors.White .. ")|r " .. coinIcon,
		["Stack"] = Colors.Green .. data.TTCstackSellPrice.. "|r " .. coinIcon,
		["Unit"] = Colors.DarkGreen .. data.TTCsellPrice .. "|r " .. coinIcon
	}


By the way, it might be a good idea to use "Suggested" as the default price. Because "Average" is pure fantasy prices that you will almost never get.

Tamriel Trade Centre suffers from data pollution by bots and guilds that intentionally list things extremely high to push up the average prices.

Therefore, the min/average/max data in TTC is useless apart from the "min" value (the lowest price observed).

The best TTC value is the "Suggested price", which uses an algorithm that combats most of the price-faking by removing all extreme outliers (such as super high values), then taking the cheapest 30% of the remainder (basically the lower third of prices, which is what any real buyer who browses TTC's website would choose to buy from), then it averages all of those "bottom third" prices together, and calculates 80% of that, which puts its final "Suggested price" very close to what the "real value" is (what people are willing to pay)... The official TTC tooltip then generates a suggested price range which is "that suggested price" +/- a few percent.

So, here's TTC's price sources:

- Average price: Useless (prices things too high since it's affected by all the fake data; for example, if an item has two sources, one for 1g and one for 1000000g, the average will say 500000g).

- Max price: Extremely useless / harmful. Full of polluted bot / guild data from people faking the prices.

- Min price: Useful sometimes, just to see how low an item has ever gone. I would love to configure TTC to remove the entire min/max/average row from my item tooltips, but Min is sometimes good to have.

- Suggested price: Most useful. Lines up very well with the actual "good prices" on the TTC website.

You may have seen lots of users complain about TTC, saying that it overvalues items and makes people overpay, and that other auction addons such as "MM" are "better" because they have more realistic prices than TTC? Well, that's because people think that reading the "average" is correct. It's not. The TTC average is a completely compromised number full of fake bot data. Not sure why they even publish that garbage data to players and mislead everyone.

Anyway that's my feedback for your sweet addon. It's fantastic. Great job!

Hey thanks for the feedback! Glad you like the addon
Just fixed both things you suggested, along with a few other things. Should be updated soon.
Report comment to moderator  
Reply With Quote
Unread 02/09/22, 10:48 AM  
Messajah
AddOn Author - Click to view AddOns

Forum posts: 11
File comments: 30
Uploads: 1
Originally Posted by MarioKness
Hey thanks for the feedback! Glad you like the addon
Just fixed both things you suggested, along with a few other things. Should be updated soon.
Oh wow, that's fantastic, thanks man. Your addon is absolutely BRILLIANT. I tried disabling it again to feel what it's like without it, and I had to hover each item to check its value again. I would never go back to default. Your addon is a total must-have!

Report comment to moderator  
Reply With Quote
Unread 02/09/22, 02:09 PM  
MarioKness
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 22
Uploads: 3
Originally Posted by Messajah
Originally Posted by MarioKness
Hey thanks for the feedback! Glad you like the addon
Just fixed both things you suggested, along with a few other things. Should be updated soon.
Oh wow, that's fantastic, thanks man. Your addon is absolutely BRILLIANT. I tried disabling it again to feel what it's like without it, and I had to hover each item to check its value again. I would never go back to default. Your addon is a total must-have!

Thank you
Report comment to moderator  
Reply With Quote
Unread 02/09/22, 05:07 PM  
Messajah
AddOn Author - Click to view AddOns

Forum posts: 11
File comments: 30
Uploads: 1
Originally Posted by MarioKness
Thank you
Oh by the way, something hit me today. It probably doesn't make sense to show the "TTC Value" on items of type: "Trash".

I was looking at a Carapace which is 6g to vendor, and is type "Trash". It has no uses in game. But "Show TTC Price" shows it as 26g since someone had listed it in a guild trader.

I don't think an item whose only use is to sell for 6g to a vendor, will ever sell for 26g via a guild trader.

So if it's possible to retrieve the item type, it may be a good idea to skip TTC prices for Trash items and show their normal gold price instead?
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: