Back in July of 2009 I wrote a post about advertising your professions in trade chat via macro. That post still gets over 200 views every day and people still email about getting errors when they use it even though I mentioned the fix for those errors in the comments. So today I’m going to go over that macro again, this time pointing out the steps you need to take to avoid the errors.
The Macro Itself
The part that is Red is where you put the name of whatever profession you want to show up, in the example we use Enchanting, but it can be whatever profession you have (Engineering, Leatherworking, Tailoring, etc). And yes, it does have to be in double-quotes.
The part that is Green is where you type in whatever message you want to appear along with the link. In this example I note that I have “Mongoose, Crusader, Surefooted and more” because those are enchants frequently asked for in trade chat on my server. So I try to draw a little extra attention to the link by noting those enchants. And that message also needs to be in the double-quotes.
/script CastSpellByName(“Enchanting“);SendChatMessage(“Psynister’s “..GetTradeSkillListLink()..” all Cataclysm recipes available.”,”CHANNEL”,nil,GetChannelName(“Trade – City”));CloseTradeSkill();
When you use this particular macro, the result will be this:
“/2 Trade: Psynister’s [Enchanting] all Cataclysm recipes available.”
Making the Macro Work
This is the part that everyone keeps emailing me about, saying that it gives them errors and does work. When you copy that text from my blog to your game, it will not work. I can’t tell you exactly what causes it, but I do know what the problem is and how to fix it. When you paste it into the game the double-quotes and dash characters register as the wrong characters in-game so it gives an error instead of running in.
In order to make the macro run you’ll need to go through and delete all of the double-quotes and the dash between “Trade – City” by deleting it and then just typing it right back in. You’ll be able to see the difference the copied double-quotes and your own double-quotes when you replace them, but I can’t explain exactly why it happens.
Here is another copy of the macro, exactly the same, but with all of the punctuation you need to replace highlighted in red.
/script CastSpellByName(“Enchanting“);SendChatMessage(“Psynister‘s “..GetTradeSkillListLink()..“ all Cataclysm recipes available.“,“CHANNEL“,nil,GetChannelName(“Trade – City“));CloseTradeSkill();
I don’t think you actually need to replace the single quote in “Psynister’s” in the example above, but since there’s a chance that you do I went ahead and highlighted it as well. Now obviously, you’re not going to use my name in front of your own macro, so replace that part with your own message or go ahead and remove it, and the same applies to the ” all Cataclysm recipes available.” part, either change it or delete it as needed.