ProfessionsBook
Overview
ProfessionsBook keeps track of all known trade items your characters can craft/enchant. You can easily select each character and browse the known recipes and view the needed reagents to craft that item.
Additionally recipes in the auction house are color coded:
- red = no character may learn that recipe
- green = at least one of your characters may learn the recipe
- blue = one character has learned the recipe already
- yellow = a character has the tradeskill but not the appropriate skill level
The tooltip for recipes is enhanced by two lines displaying the characters who already know the recipe and characters who may learn it.
If you have ProfessionsFu or TitanProfessions installed (recommended) you can easily open ProfessionsBook via ProessionsFu's or TitanProfessions' menu.
Features
- Scan all professions of a character and store them
- Browse stored professions of all characters
- View required reagents for a selected trade skill
- Post required reagents to a channel.
- Color code recipes in the auction house
- Display characters knowing or be able to learn a certain recipe in the tooltip
Usage
Before using ProfessionsBook all professions windows (e.g. Enchanting, Smithing...) must be opened to enable the scan of all known recipes.
Open ProfessionsBook:
- Slash command: /pb show or /professionsbook show
- Open via ProfessionsFu
- Open via key binding
Select the character whose trade skill you want to view. Select a tradeskill below and browse the known recipes to the left. Additional filters can be applied.
The button "send" posts the required reagents of the currently selected trade item to the channel selected in the drop down box next to the button. If you want to whisper the reagents to an other player you will be prompted to enter his/her name. Support for numbered channels (e.g. "Trade"...) will be added in a later release.
Open the options dialog to change visibility and position of the minimap button. That button is invisible by default. The features to enhance the tooltips and color coding of recipes in the auction house may also be enabled/disabled in this dialog.
The option dialog lets you delete the ProfessionsBook data from your characters of the current server and faction (e.g. "ServerXY - Alliance"). This comes in handy if a character of yours has dropped a profession and learned an other one. After using that option you need to scan all professions of your characters on that server and faction.
The search function accepts strings and substrings which are case insensitive. Searching for 'nether' will display all recipes containing 'nether' in their titles (e.g. 'Heavy Netherweave Bandage').
Installation
- Copy the 'ProfessionsBook' directory to your "WoW/Interface/AddOns" folder.
- If you are upgrading from a version previous to 2.0.0 or 2.0.0 Beta you need to delete the folder "ProfessionsBook" in "WoW/Interface/AddOns" and "Professions.lua" in your "WTF/Account/<AccountName>/SavedVariables/"-folder.
Known bugs and limitations
- It may happen that when opening a trade skill window, not all recipes are scanned. If such a case occurs, please reopen the trade skill window again to performe an automatic rescan of the recipes.
- Only characters of the same realm and faction are selectable. In a future release I will add support for selecting characters from the opposite faction.
- Books to increase your maximum level of a tradeskill (e.g. Cooking 225) are not color coded in auction house. These books are not part of the recipe book itself and are not scanned.
- Color coding and enhanced tooltips do not work in the french version correctly.
- When using color coding in combination with Auctioneer Advanced the colors do not reflect the new order of items when the default sorting is changed.
- Due to a bug in AuctionFilterPlus the color coding does not refelct the true order in the auction house. The tooltips are correct, however.
- You may experience a lag (from several seconds up to a minute) after the cache of WoW has been cleared (e.g. after a new WoW-Patch, etc.). This will happen only a few times when opening a trade skill window. As soon as the cache of WoW is filled with the recipes, there will be no more lags until the cache has been cleared again.
Credits
- Blackdove (author of Book of Crafts, http://www.curse.com/downloads/details/1014/) for kindly supporting the contents of PB_Exceptions.lua.
- Korean translation: Eerien, Aresda of Garona
Yep, the error was fixed and now I get these two:
[2007/11/04 00:00:06-1514-x26]: ProfessionsBook-2.0.7\PB_DB.lua:938: bad argument #1 to 'pairs' (table expected, got nil)
ProfessionsBook-2.0.7\PB_DB.lua:938: in function `GetCharsKnowingRecipe'
ProfessionsBook-2.0.7\PB_Options.lua:136: in function `ShowTooltip'
ProfessionsBook-2.0.7\PB_Main.lua:77: in function <Interface\AddOns\ProfessionsBook\PB_Main.lua:75>
<in C code>: ?
<in C code>: in function `SetBagItem'
Interface\FrameXML\ContainerFrame.lua:617: in function `ContainerFrameItemButton_OnEnter':
ArkInventory-2.10\ArkInventory.lua:4236: in function `UpdateTooltip'
Interface\FrameXML\GameTooltip.lua:118: in function `GameTooltip_OnUpdate':
<string>:"*:OnUpdate":1: in function <[string "*:OnUpdate"]:1>
[2007/11/04 00:00:06-1514-x3]: ProfessionsBook-2.0.7\PB_DB.lua:938: bad argument #1 to 'pairs' (table expected, got nil)
ProfessionsBook-2.0.7\PB_DB.lua:938: in function `GetCharsKnowingRecipe'
ProfessionsBook-2.0.7\PB_Options.lua:136: in function `ShowTooltip'
ProfessionsBook-2.0.7\PB_Main.lua:77: in function <Interface\AddOns\ProfessionsBook\PB_Main.lua:75>
<in C code>: ?
<in C code>: in function `SetBagItem'
Interface\FrameXML\ContainerFrame.lua:617: in function `ContainerFrameItemButton_OnEnter':
ArkInventory-2.10\ArkInventory.lua:4236: in function `Frame_Item_OnEnter'
<string>:"*:OnEnter":1: in function <[string "*:OnEnter"]:1>
It seems, that your database is completly corrupt. If you like, you may send me your ProfessionsBook.lua file from your WTF-Folder. It may help me, to track down the problems. Please delete this file afterwards and rescan your professions.
I am still getting this error:
[2007/11/03 12:02:47-1505-x37]: ProfessionsBook-2.0.6\PB_DB.lua:748: bad argument #1 to 'find' (string expected, got nil)
ProfessionsBook-2.0.6\PB_DB.lua:748: in function `GetTradeItemID'
ProfessionsBook-2.0.6\PB_DB.lua:923: in function `GetCharsKnowingRecipe'
ProfessionsBook-2.0.6\PB_Options.lua:136: in function `ShowTooltip'
ProfessionsBook-2.0.6\PB_Main.lua:77: in function <Interface\AddOns\ProfessionsBook\PB_Main.lua:75>
<in C code>: ?
<in C code>: in function `SetBagItem'
Interface\FrameXML\ContainerFrame.lua:617: in function `UpdateTooltip':
Interface\FrameXML\GameTooltip.lua:118: in function `GameTooltip_OnUpdate':
<string>:"*:OnUpdate":1: in function <[string "*:OnUpdate"]:1>
IT may just be problems with the new advanced auctioneer but thought I would mention it, it goes crazy anytime I scroll over a recipe
Thank you! It's working perfect for all 8 toons now. :)
ID: 51
Error occured in: Global
Count: 1
Message: ...nterface\AddOns\Ace2\AceLocale-2.2\AceLocale-2.2.lua line 487:
AceLocale(ProfessionsBook): Translation "nil" does not exist.
Debug:
...nterface\AddOns\Ace2\AceLocale-2.2\AceLocale-2.2.lua:488:
...nterface\AddOns\Ace2\AceLocale-2.2\AceLocale-2.2.lua:485
...nterface\AddOns\Ace2\AceLocale-2.2\AceLocale-2.2.lua:46:
...nterface\AddOns\Ace2\AceLocale-2.2\AceLocale-2.2.lua:44
ProfessionsBook\PB_DB.lua:572: GetItemPlace()
ProfessionsBook\PB_DB.lua:518: GetTradeItemList()
ProfessionsBook\PB_UI.lua:323: ProfessionsBook_TradeSkillButton_OnClick()
[string "*:OnClick"]:1:
[string "*:OnClick"]:1
AddOns:
Ace, v1.4
AceGUI
AdvancedOnlineMsg
AdvancedTradeSkillWindow
Auctioneer, v4.0.5
AuctionSort
AutoDecline, v1.3.1600 (Beta 1)
Autograts
AutoProfitX, v1.33
BeneCast, v2.2
QuickSplit2
BigWigs, v2.0 r53402
Cartographer, vr53416
CartographerCleanup, v1.0
CartographerHerbalism, v1.0
CartographerMining, v1.0
CartographerTrainers, v1.0
CartographerVendors, v1.0
CartographerFishing, v1.0
CartographerNoteshare, v1.0
CartographerQuestObjectives, v0.9b
CartographerQuests, v0.2
CartographerQuicknotes, v0.1
CartographerTreasure, v1.0
CharacterInfoStorage, v1.0.30390
ChatCopy
ClassChannels, v1.6
CmdHelp
CTRaidTracker, v1.5
CTBarMod, v2.004 (CTMod 2.0)
CTCore, v2.002 (CTMod 2.0)
CTMailMod, v2.01 (CTMod 2.0)
DamageMeters, v5.7.0
Decursive, v2.0.4
FlightMap, v2.2-1
DoubleWide
DynRepBar
EastWest
EasyAuction
EnhTooltip, v4.0.4
ESGuildCheck
ESGuildCheckGUI
FluidFrames, v1.8
FollowMe
FriendShare
FuBarBagFu, v2.0
FuBarClockFu, v3.0
FubarDamageMetersFu, v3.0
FuBarDurabilityFu, v2.0
FuBarExperienceFu, v1.1 $Revision: 51977 $
FuBarFactionsFu, v2.2
FuBarFriendsFu, v2.4
FuBarGuildFu, v2.4
FuBarItemBonusesFu, v2.1
FuBarMoneyFu, v20000-1
FuBarNameToggleFu, v2.0
FuBaroRA2CooldownFu, v2.0
FuBarPerformanceFu, v2.0
FuBarProfessionsFu, v1.04.1
FuBarReagentFu, v2.0.10
FuBarScaleFu, v2.0.07
FuBarTopScoreFu, v2.0
FuBarVolumeFu, v2.0.$Revision: 51743 $
FuBar, v50710
GroupCalendar
GuildOrg, v3.2
GuildAds, v200.1
HealBot, v3.0.rc4
IgorsMassAuction, v2.5.0 - Anasz
Informant, v4.0.4
LfgChannelAlways, v1.0
Ace2
Babble22, v2.2.$Revision: 49704 $
ChatThrottleLib, v18
LightHeaded
LoadIT, vLoadIT 20000.2
NewRecipe, v0.4
MailTo
MainAssist, v2.3
OgriLazy, v1.0.7
Omen, v2.1r50185
oRA2, v2.0.$Revision: 49704 $
Outfitter, v3.6.0
PerfectRaid
POC
PlayerMenu, v3.1
ProfessionsBook, v2.0.4
QuestHistory, v3
RaidSpy, v1.1.48551
ReagentRestocker, v0.1
RecipeRadar, v1.24
CharacterProfiler, v2.2.0
RPGOS
ShowChatWho, v1.1
SmartBuff, vv2.2a
SpamSentry, v20070603
Stubby, v1923
Swatter, v4.0.5
TheBigPicture
TheLowDown
VendorBags, v1.4
XRS, v2.1 r49704
Koordinator, v3.22 Date: 2007-10-30 14:07:56
ID: 52
Error occured in: Global
Count: 1
Message: table index is nil
Debug:
[C]: ?
[C]: ?
...nterface\AddOns\Ace2\AceLocale-2.2\AceLocale-2.2.lua:47:
...nterface\AddOns\Ace2\AceLocale-2.2\AceLocale-2.2.lua:44
ProfessionsBook\PB_DB.lua:572: GetItemPlace()
ProfessionsBook\PB_DB.lua:518: GetTradeItemList()
ProfessionsBook\PB_UI.lua:323: ProfessionsBook_TradeSkillButton_OnClick()
[string "*:OnClick"]:1:
[string "*:OnClick"]:1
AddOns:
Ace, v1.4
AceGUI
AdvancedOnlineMsg
AdvancedTradeSkillWindow
Auctioneer, v4.0.5
AuctionSort
AutoDecline, v1.3.1600 (Beta 1)
Autograts
AutoProfitX, v1.33
BeneCast, v2.2
QuickSplit2
BigWigs, v2.0 r53402
Cartographer, vr53416
CartographerCleanup, v1.0
CartographerHerbalism, v1.0
CartographerMining, v1.0
CartographerTrainers, v1.0
CartographerVendors, v1.0
CartographerFishing, v1.0
CartographerNoteshare, v1.0
CartographerQuestObjectives, v0.9b
CartographerQuests, v0.2
CartographerQuicknotes, v0.1
CartographerTreasure, v1.0
CharacterInfoStorage, v1.0.30390
ChatCopy
ClassChannels, v1.6
CmdHelp
CTRaidTracker, v1.5
CTBarMod, v2.004 (CTMod 2.0)
CTCore, v2.002 (CTMod 2.0)
CTMailMod, v2.01 (CTMod 2.0)
DamageMeters, v5.7.0
Decursive, v2.0.4
FlightMap, v2.2-1
DoubleWide
DynRepBar
EastWest
EasyAuction
EnhTooltip, v4.0.4
ESGuildCheck
ESGuildCheckGUI
FluidFrames, v1.8
FollowMe
FriendShare
FuBarBagFu, v2.0
FuBarClockFu, v3.0
FubarDamageMetersFu, v3.0
FuBarDurabilityFu, v2.0
FuBarExperienceFu, v1.1 $Revision: 51977 $
FuBarFactionsFu, v2.2
FuBarFriendsFu, v2.4
FuBarGuildFu, v2.4
FuBarItemBonusesFu, v2.1
FuBarMoneyFu, v20000-1
FuBarNameToggleFu, v2.0
FuBaroRA2CooldownFu, v2.0
FuBarPerformanceFu, v2.0
FuBarProfessionsFu, v1.04.1
FuBarReagentFu, v2.0.10
FuBarScaleFu, v2.0.07
FuBarTopScoreFu, v2.0
FuBarVolumeFu, v2.0.$Revision: 51743 $
FuBar, v50710
GroupCalendar
GuildOrg, v3.2
GuildAds, v200.1
HealBot, v3.0.rc4
IgorsMassAuction, v2.5.0 - Anasz
Informant, v4.0.4
LfgChannelAlways, v1.0
Ace2
Babble22, v2.2.$Revision: 49704 $
ChatThrottleLib, v18
LightHeaded
LoadIT, vLoadIT 20000.2
NewRecipe, v0.4
MailTo
MainAssist, v2.3
OgriLazy, v1.0.7
Omen, v2.1r50185
oRA2, v2.0.$Revision: 49704 $
Outfitter, v3.6.0
PerfectRaid
POC
PlayerMenu, v3.1
ProfessionsBook, v2.0.4
QuestHistory, v3
RaidSpy, v1.1.48551
ReagentRestocker, v0.1
RecipeRadar, v1.24
CharacterProfiler, v2.2.0
RPGOS
ShowChatWho, v1.1
SmartBuff, vv2.2a
SpamSentry, v20070603
Stubby, v1923
Swatter, v4.0.5
TheBigPicture
TheLowDown
VendorBags, v1.4
XRS, v2.1 r49704
Koordinator, v3.22
@Mot: I plan to include that feature in a later release. That was one reason to change the database structure with PB 2.0.
I love this addon! Great work! And I'd like to make a request :P... (sorry if this was asked before, I couldn't find a way for me to search the comments)
Is there any way to share information with other guild members that have this addon? I'd love to be able to search the db and see who in the guild can make a certain item. Maybe even enable us to add a note about them like they are shadowcloth spec or potions spec. Eventually, I'd like to parse this information to a web page :)
Thanks for reading and keep up the great work!
Alright! Well the good news is that simply removing and rescanning seems to have fixed my AH bug, so who knows what caused it.
Hmm, well I went crawling through my SavedVariables file and the information there all seems correct. Also, when I look in PB at those two characters, they only show their actual info. It just seems to be the AH that's reporting the erroneous data for me at the moment.
I think I may just wipe my SavedVariables for PB and see if the same issue occurs again.
@garnerh42 and Alipes: Next version of PB will have a small fix included to prevent that comparison number with nil error. The message that a "tradeItemTool is nil" is not the reason for this, especially that there are some recipes which do not need a tradeItemTool. The problem lies in a corrupt database. Obviously a recipe id is not a number. How this could happen, I am not sure yet. I plan to include an integrity check for the database in one of the next releases to get rid of these errors once and for all.
As to the other problem, please take a look into your ProfessionsBook.lua in the saved variables folder and let me know, it the names of the characters are listed in a recipe which they do not know.
I noticed a "nil" entry in the ProfessionsBook.lua file so I deleted that block. After that I logged all of my characters and without opening ProfessionBook, I re-opened all of my profession dialogs (alchemy, cooking, JC, etc). Then when all of that was done I tried out Profession Book again and all is well.
Thanks for the pointer and for a very useful mod!
I am experiencing the exact same issues as Alipes. I turned on debugging and had the same exact result. I'm happy to help diagnose the problem further if you want me to test something as I am comfortable writing and debugging lua code.
Hmm, Curse doesn't seem to be accepting my comment edits, so I'll just toss up a new post I guess....
I forgot to mention that these errors occurred with a fresh version of PB, previous saved variables all deleted.
Also, I turned on debug mode as you mentioned in a previous post and took a look at Engineering and Poisons again. They give me the error "AddRecipe(): tradeItemTool is nil", Engineering 5 times and Poisons 3. Let me know if there's any other info I can try to supply you with to help fix this.
Hmm, I'm getting a couple of weird issues with PB now, trying both 2.0.2 and 2.0.3...
1) Randomly getting the following error on some tradeskills. I've had it trigger on poisons, blacksmithing, cooking, and engineering, but it seems random which character it triggers on (not all of those instances have triggered it), but once it occurs once, it seems to stick with that tradeskill:
PB_DB.lua:260: attempt to compare number with nil
2) Certain characters are showing "known" on all AH recipes now, even if they're not the specified profession. For example, my blacksmith and engineer were listed as "known" on leatherworking, etc. etc.
If I can figure out anything more certain that may be triggering these issues, I'll be sure to let you know.
Well after reinstalling, things seem to be ok for now although I have not done all my chars as yet, just the ones that were causing the problems. My only theory is that somehow a file got corrupted and was causing the errors. I'll keep an eye on things and see if it happens again.
@Cylon: Strange. I have not changed anything in PB itself with 2.0.2. Only the code for coloring is new, PB is not affected by the changes.
I have the same problem as Lombra and tracked it down to the following:
You get the chars knowing a recipe from recipes->{id}->characters in the db.
But a character will only be added to this array during the AddRecipe function,
which is only called for recipes that are not present in the db.
So recipes->{id}->characters will always have only one char;
further chars with the same recipe will not get added to this entry.
You are right. I have forgotten to include an update function to add other characters knwoing the recipe to the database. The next release will include that function.
Yeah I deleted everything. it was working fine until 2.0.2 then. Unfortunately the only backup I had was the 1.12.6 which is working fine. I'll back up again and reinstall and see what happens.
@Cylon: Have you delete your ProfessionsBook.lua in your WTF\SavedVariables -folder and opend each profession window afterwards to perform a new scan? Does PB tell you that "x new recipes have been found"? PB 2.0 uses a new database structure and is not compatible to 1.x.x. If you experience the error even with a complete new scan and fresh database, please turn on Swatter again and tell me the error stack. Localization.lua is only the last part of the stack, the error happend somewhere before. You don't have to post the complete stack, just the PB functions.
@Lombra: Due to the freeze issue in the auction house I have changed some parts of the database. Please delete your WTF\SavedVariables -folder and open each profession window afterwards to perform a new scan. These changes have been made in version 2.0.1.