LilSparky's Workshop
LilSparky's Workshop adds auction-derived pricing information for trade skills right into the trade skill recipe frame. Each skill is evaluated for material costs and potential value of the item created. These two numbers are listed next to each skill in an easy-to-read format.
Supported Auction Scanners:
- Auctioneer
- AuctionLite
- AuctionMaster
- Auctionator
Optionally Requires:
- Informant (for vendor availability)
LibPeriodicTable (for vendor availability)
Trade Skill Interfaces Supported:
- GnomeWorks
- AdvancedTradeSkillWindow
- Skillet
- Blizzard's Standard UI
- Doublewide Tradeskills
- Tradeskill HD
Auction pricing models can be selected by right-clicking either the value column or the cost column (each can have a different pricing method attached).
The Value column can be left clicked to cycle through the different valuation methods for the resultant item: Auction Value (a), Vendor Value (v), Disenchant Value (d) or the greatest of the three different values (the default). Any instance of an item Value being greater than the Cost to create it will have a highlighted Value entry. Optionally, the Value column can be displayed as a percentage of the Cost column.
The Cost column simply sums up the costs for each reagent and reports the total.
Both columns can be combined into a single "Profit" column which simply reflects the Value minus the Cost.
Tooltips for each column give more details about the price breakdowns LSW is considering.
A note regarding vendor availability:
LSW utilizes supplied item databases to determine when an item is readily available from a vendor. Occasionally this may not be accurate, usually because the item is a trade in for another item and not buyable with gold. I have provided a simple way to over-ride the vendor database:
/script LSWConfig.vendorOverride[item#] = (true/false/nil)
The item# is the item ID for the specific item. It is a single number. For example, 2589 is Linen Cloth.
Setting the value to "true" means the item is available at the vendor.
Setting the value to "false" means the item is not available at the vendor.
Setting the value to "nil" means to use the provided databse.
There is now also a right-click option to override the vendor availability and also to hand enter specific prices for items.
A note about frame/auction support:
LSW utilizes a plug in scheme to handle support to handle pricing and frame support. I am unlikely to add additional plugins directly into LSW. The goal of the plugin system is to provide basic templates that other addon authors could employ to provide LSW support on their end while at the same time providing functionality for a base set of common mods. Addon authors are free to contact me regarding the plugin system if issues arise or the system doens't make sense.
If you want to fix the "line 1407" problem and you know how to edit a text file, here is an instruction. This is against the 119release version, I don't think the alphas are any good.
Edit the file "lilsparkysworkshop.lua".
Go to around line 1162 where it defines the function SetSecondaryLevels.
In three places just below that where there is the string "trade:%d+:(%d+)" change it to "trade:%x+:%d+:(%d+)".
I.e., before the first %d+ add a %x+ and a colon separator.
Seems to work. Thanks!
EDIT: Not always. :(
I just got the same error loading the crafting window for my alchemist for the daily Living Steel xmute.
Yes, I get the same error as below, I tried 4 different versions to exclude it was some update, this makes me to beleive they changed the ingame API in 5.3, and the addon need an update to reflect this, Crossing my fingers :)
There are issues with 5.3, ticket entered.
Not sure if anyone is looking, but here it is in case it helps:
Date: 2013-05-21 21:52:50
ID: 1
Error occured in: Global
Count: 1
Message: ...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua line 1407:
attempt to compare number with nil
Debug:
[C]: ?
...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:1407:
...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:1334
...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:1667: GetItemCost()
...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:1527:
...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:1504
...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:1560: triggerFunction()
...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:2673:
...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:2665
Locals:
AddOns:
<snip> (ck=16c6)
Ok according to someone the update is out as an alpha on curse, that's wrong.
there is an alpha out but it's not on curse or wowinterface.
if you want an alpha version of LilSparky's Workshop then head to http://www.wowace.com/addons/lil-sparkys-workshop/files/
Hopefully there will be an update here on curse soon...I doubt it tho as it hasn't been updated since 2011.
Thanks
with r151 on load i get this:
Date: 2013-04-06 09:53:54
ID: 1
Error occured in: Global
Count: 1
Message: ...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua line 10:
attempt to index a nil value
Debug:
...ace\AddOns\LilSparkysWorkshop\lilsparkysworkshop.lua:10: in main chunk
Locals:
modName = "LilSparkysWorkshop"
modTable = <table> {
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = "Version"
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index a nil value"
AddOns:
Swatter, v4.2.0 (<%codename%>)
WowheadLooter, v50008
Ace3, v
ACP, v3.4.2
ActionBarSaver, v
Altoholic, v5.2.001
Auctionator, v3.1.3
AuctionatorMiniFeatures, v5.1v3release
AutoBag, v50200.00
AutoRepair, v
AutoRepSwitch, v1.18
Babylonian, v5.1.DEV.332(/embedded)
BagBrother, v
Bagnon, v5.2.1
Bartender4, v4.5.9
BindPad, v2.6.3
BittensSpellFlashLibrary, v4.6.0
Castbars, v
Configator, v5.1.DEV.344(/embedded)
CrapAway, v
DataStore, v5.2.001
DataStoreAchievements, v5.2.001
DataStoreAgenda, v5.2.001
DataStoreAuctions, v5.2.001
DataStoreCharacters, v5.2.001
DataStoreContainers, v5.2.001
DataStoreCrafts, v5.2.001
DataStoreCurrencies, v5.2.001
DataStoreInventory, v5.2.001
DataStoreMails, v5.2.001
DataStorePets, v5.2.001
DataStoreQuests, v5.2.001
DataStoreReputations, v5.2.001
DataStoreSpells, v5.2.001
DataStoreStats, v5.2.001
DataStoreTalents, v5.2.001
DBMCore, v
DBMSpellTimers, v
EquippedItemLevelTooltip, v2.1.0
EquipSee, v2.2
FriendsFacts, v
FriendsWithBenefits, v3.2.0.4
Gatherer, v4.2.0
GearScore, v5.2.0
GoingPriceWowhead, v5.0.1352655208
GTFO, v4.23
HealBot, v5.2.0.2
HealersHaveToDie, v2.1.2
IHearYouAll, v4.2
KChefTime, v2.19
KCrazyArrowHide, v1.02
KLib, v1.0
KLifeMon, v1.1
KObjectivesHide, v1.02
KPetMenders, v0.1
KShammyHelper, v1.00
KSpeedO, v1.1
KSSAnchor, v1.05
KSuitUp, v1.0
KTypeTips, v0.1
LagBar, v3.2
LilSparkysWorkshop, v
SlideBar, v4.2.0 (<%codename%>)
SpellFlash, v6.6
SpellFlashCore, v2.0.2
BlizRuntimeLib_enUS v5.2.0.50200 <us>
(ck=631)
When will the new version be available via Curse?
it us, set curse client to "alpha" release for lipsparky addon
But why is it only available in alpha and not beta or release?
Alot of people may not know what Alpha or beta means in this case or people only trust the released versions.
However, thank you for letting us know.
Release 147+ is compatible with 5.2, set the addon version for this addon to "alpha" in curse
Hughescr,
Hopefully, you can get added as an author to this addon as well so we can get a your patch(es) into SVN.
Using this patch instead should fix things without needing to change the call in UpdateRecipeCache. This is how I fixed the same problem in GnomeWorks; I also blatantly copied that code from somewhere internety, but I think it's a nicer solution. If Blizz ever fixes GetTradeSkillItemReagentLink() to not return nil all the time, then it's an easier revert. It's also much cleaner code. The original code is going to leak a lot of frames, since it's creating a new frame every call to the function; mine caches the frame and only uses one per time the addon is loaded. You'll run out of memory less :)
Ok, I did it :)
Works in 5.2
First of all open file lilsparkysworkshop.lua, going on line 1180 and Paste this:
local LilSparkyDataScanTooltip = CreateFrame("GameTooltip", "LilSparkyDataScanTooltip", UIParent, "GameTooltipTemplate")
LilSparkyDataScanTooltip:SetOwner(UIParent, "ANCHOR_NONE")
local function FixedGetTradeSkillReagentItemLink(i,j)
local tooltip = LilSparkyDataScanTooltip
tooltip:ClearLines()
tooltip:SetTradeSkillItem(i,j)
return select(2,tooltip:GetItem())
end
Then you are going on line 1242 and replace
local itemLink = GetTradeSkillReagentItemLink(i,j)
with
local itemLink = FixedGetTradeSkillReagentItemLink(i,j)
Line 1180 is in the middle of the SetSecondayLevels function (enchanting, jewelcrafting, inscription).
You should give more descriptive details than a line number which can change anytime.
Here is a slightly better fix:
local LilSparkyDataScanTooltip = CreateFrame("GameTooltip", "LilSparkyDataScanTooltip", UIParent, "GameTooltipTemplate")
LilSparkyDataScanTooltip:SetOwner(UIParent, "ANCHOR_NONE")
local function FixedGetTradeSkillReagentItemLink(i,j)
local tooltip = LilSparkyDataScanTooltip
tooltip:ClearLines()
tooltip:SetTradeSkillItem(i,j)
return select(2,tooltip:GetItem())
end
What line do you put that after/before/replace?
Thank you karthus :) It seems to temp fixed it. BUT I think beeing a bit more clear where you would insert this fix I will add where :) since i had to guess my way to it :) or well, just common sense, but I can see people who dont do that :)
Firstly do as Kharthus said with the add function above Updatercecipie. Then below this function Find this line
local itemLink = GetTradeSkillReagentItemLink(i,j) , It is on line 1234, Replace that with the new function you just added, local itemLink = FixedGetTradeSkillReagentItemLink(i,j).
Now the numbers show up again. I normally dont use SKillet, but it is indeed laggy, but not sure if the workaround is the issue, or some code in Skillet. I will try with my old window to see.
Indeed it is skillet that is way out there :) Switched back to TradeSkillDW, works like a charm again no lag no nothing. try it out :)
The line you must change is actually on 1241 after you insert the code, you can search for the following:
local itemLink = GetTradeSkillReagentItemLink(i,j)
and change it to:
local itemLink = FixedGetTradeSkillReagentItemLink(i,j)