Home » Guides

Macro: Advertising Your Profession

Posted on Jul 9, 2009 by: Jason Griffith
  • Facebook
  • Twitter
  • Google Plus
  • Reddit
  • Pinterest
  • StumbleUpon
  • Add to favorites
  • Email

Over the last week I have seen a lot of searches coming to my blog relating to macros used to advertise your profession, so I’m going to give it to you.

Now, while it may not make a whole lot of difference as far as what you have to do to make it work and so forth, you cannot actually do this with a macro. What you can do it with, is a Script. So, while you still go to the /macro screen to set it up and access it and so forth, it is technically different.

Macros are used to simulate existing keystrokes, functions, or actions. Basically they are shortcuts.

Scripts actually use code within the gaming system to make something happen.

Not a huge difference, and I’m not going to go into full details or anything, just know that there are differences between the two and that you may find better results when searching for certain things if you use the proper terminology.

Now, on to the whole reason why this post is being made in the first place: advertising your professions.

Step 1: Open Your Macro Window
This can be done either by simply entering /macro in the chat window, or by hitting Escape and then clicking on Macros in the options that pop up.

Step 2: Name and Icon Selection
Every time you make a macro/script you have to pick an icon for it and you have to give it a name. Any time I make a macro for something other than casting spells, I pick a cool looking icon that my character wouldn’t normally have available to them and name it something appropriate.

Since I am a programmer by profession I also use what we call Naming Conventions. So if I make a macro for a certain class then I start its name with the class name, and then add to the name based on it’s functionality. If I make a macro that I know will not be modified often, then I start its name with a ‘z’ so that it appears at the bottom of my list since the macro interface sorts them all alphabetically, and likewise I start the name for a macro that is frequently changed with an ‘a’ so it appears at the top of the list.

Example Naming Conventions:

  • Portal to Org: magePortOrg
  • Target Specific NPC/Player: aTarget
  • LFG Broadcast: aLFG

Step 3: Write the “code” for the Macro/Script
This is where you write the actual code to do whatever it is you want to accomplish. This post is about advertising your professions, so that’s what we’ll do.

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(”Mongoose, Crusader, Surefooted and more “..GetTradeSkillListLink(),”CHANNEL”,nil,GetChannelName(”Trade – City”));CloseTradeSkill();

You can copy/paste that right into your own macro, change the Profession (if needed) and the message to whatever you want and start spamming it right away. When you use this particular macro, the result will be something like this:

“Mongoose, Crusader, Surefooded and more [Enchanting]“

Step 4: Drag the Icon to your Action Bar
Place the icon wherever you want. I personally have action bars set up all over my screen, and keep all of my profession-related icons on the right side of my screen. I also frequently have them on the bottom of my screen since I use the Dominos addon and go a bit overboard with action bars.

But, just make sure it’s somewhere convenient to access and out of the way since you will not be using it frequently in any setting other than cities.

Step 5: Click Away!
Now all you have to do is click it when you want to use it. This particular macro is set up to broadcast only into the Trade chat, and that’s really the only place it belongs. If someone is asking in General chat out in the middle of a zone for someone to link their profession, it’s not too hard to just do a quick click over there to do it manually.

Note: If you try to use this macro anywhere where you are not in Trade chat, it will give you an error. You will also receive errors if you already have your profession book open. So if you are browsing through your profession to see what items you can make and then activate the script it will not work. So just make sure you have the window closed when you activate it and that you do so when you are actually in Trade chat and you will be fine.

These errors will not cause any damage or freeze you up or anything, they just won’t work and will give you error messages.

warcraft blog podcast
  • weazol

    I dont get why you would go through the trouble for a script for that when you can just make the macro say what you want and you can link items in the macro.

    even better get trade barker

  • samantha878

    Not helpful at all for me. Im code illiterate. I wrote it out with all the characters you put in and I took out the () around the words, didn't help me. Also couldn't copy and paste into my macro ingame. Oh well thanks anyway.

  • http://psynister.wordpress.com/ Psynister

    I'm not going through the trouble of saying what I want, that's telling everyone what I have.

    (Sorry, I used to get email notifications when replies were left here, apparently not the case anymore, thus being a month late.)

  • http://psynister.wordpress.com/ Psynister

    Being code illiterate shouldn't have anything to do with it. You don't need to take out the parenthesis, you just need to replace the word for the profession.

    If you want to do Engineering do this:

    /script CastSpellByName(”Engineering“);SendChatMessage(”LFW “..GetTradeSkillListLink(),”CHANNEL”,nil,GetChannelName(”Trade – City”));CloseTradeSkill();

    Tailoring:
    /script CastSpellByName(”Tailoring“);SendChatMessage(”LFW “..GetTradeSkillListLink(),”CHANNEL”,nil,GetChannelName(”Trade – City”));CloseTradeSkill();

    And so on and so forth. Whatever profession it is that you want to link just change the name of the profession and leave everything else the same. The example in the post lists specific enchants into the trade chat, so the examples in the reply here have been changed to use use “LFW [Profession of choice]” instead.

    And yes, you can copy/paste macros into the game itself. Use Ctrl+C for copy and Ctrl+V for paste.

    If you have trouble copying it from this site, then go my my actual blog and copy it from there instead, or try copying from the examples here in the reply.

  • Rambu

    Thanks for the tip. It's very useful.

    I have another question here that I hope you can assist.

    Do you know how to make the following 3 lines appear in trade channel using script or macro?

    [2][Trade]WTB [Saronite Ore][Titanium Ore]
    [2][Trade]WTB [Cardinal Ruby]135g [King's Amber]120g and other gems
    [2][Trade]WTS [Infinite Dust]55g/s [Greater Cosmic Essence]140g/s

    I would like those items to have proper links and not just text. Also, I would like the 3 lines to go out straight into trade channel with a single, two or three clicks. I know that there is a limitation to the number of characters in the macro window.

    At the moment, Alt+Up Alt+Down combos are good but tedious. Once I start chatting with other players, there are so many lines to scroll up and down. Sometimes the text disappears because it's over the limit.

    I hope you can help. Thanks.

  • http://non Zax

    i can get this working just getting a erro

    /script CastSpellByName(”Jewelcrafting“);SendChatMessage(”LFW “..GetTradeSkillListLink(),”CHANNEL”,nil,GetChannelName(”Trade – City”));CloseTradeSkill();

    plz help

  • http://psynister.wordpress.com Psynister

    You get the error because of the copy/paste from webpage to WoW. I’ve been running into this for a few weeks now. The font that gets copied doesn’t work when you paste it into WoW, it changes certain characters. Primarily, the double quotation marks.

    Copy/Paste the code into your macro window and then delete all of the quotation marks and then retyping them. You need to do the same for the dash between “Trade – City” as well.

    Replace the quotes and the dash and it will work.

  • http://psynister.wordpress.com Psynister

    You get the error because of the copy/paste from webpage to WoW. I’ve been running into this for a few weeks now. The font that gets copied doesn’t work when you paste it into WoW, it changes certain characters. Primarily, the double quotation marks.

    Copy/Paste the code into your macro window and then delete all of the quotation marks and then retyping them. You need to do the same for the dash between “Trade – City” as well.

    Replace the quotes and the dash and it will work.

  • Deelah

    Hi! Thank you very much for your help with macros! I am also not that literate in this area.

    However, I was wondering how to write a script/macro, not to go into trade, but to go into a whisper to whoever requested the link. For example, I am an Enchanter. When I see a request for an enchanter, asking them to pst, I usually click on their name, go into my book, and shift-click my Enchanting icon to copy it into the whisper.

    Is there a script/macro I could make that would allow me to click on their name and just press my chosen script/macro button to auto-link my Enchanting list into the whisper? i.e., so I don’t have to open my book, shift click on Enchanting, etc.

    Thank you so much for any help you can give me! I so appreciate it!

    Deelah :)

  • Deelah

    Hi! Thank you very much for your help with macros! I am also not that literate in this area.

    However, I was wondering how to write a script/macro, not to go into trade, but to go into a whisper to whoever requested the link. For example, I am an Enchanter. When I see a request for an enchanter, asking them to pst, I usually click on their name, go into my book, and shift-click my Enchanting icon to copy it into the whisper.

    Is there a script/macro I could make that would allow me to click on their name and just press my chosen script/macro button to auto-link my Enchanting list into the whisper? i.e., so I don’t have to open my book, shift click on Enchanting, etc.

    Thank you so much for any help you can give me! I so appreciate it!

    Deelah :)

  • http://psynister.wordpress.com Psynister

    Deelah, thanks for the question. To my knowledge there’s no way to do what you’re asking in exactly the way that you’re asking it. That is, I don’t think you can click on someone’s name and then have it shoved into a macro as there’s no variable that could hold a name you had simply clicked.

    If you are able to target them, then I think it could probably be done because @Target is able to store the name where a click is not. I’ll have to do a little more looking to tell you how it’s done, but I believe it’s achievable in that instance.

  • http://psynister.wordpress.com Psynister

    Deelah, thanks for the question. To my knowledge there’s no way to do what you’re asking in exactly the way that you’re asking it. That is, I don’t think you can click on someone’s name and then have it shoved into a macro as there’s no variable that could hold a name you had simply clicked.

    If you are able to target them, then I think it could probably be done because @Target is able to store the name where a click is not. I’ll have to do a little more looking to tell you how it’s done, but I believe it’s achievable in that instance.

  • http://psynister.wordpress.com Psynister

    Alright, I did a quick test here because the method came to mind. If you want to link to someone that you can target, then this is how you do it:

    /script CastSpellByName(”Enchanting“);SendChatMessage(” “..GetTradeSkillListLink(),”WHISPER”,nil,UnitName(”target”));CloseTradeSkill();

    Make sure that you replace all of the double quotation marks in there though or you’ll get errors.

    I’m still not sure on the name-clicking part, that I’ll have to research.

  • http://psynister.wordpress.com Psynister

    Alright, I did a quick test here because the method came to mind. If you want to link to someone that you can target, then this is how you do it:

    /script CastSpellByName(”Enchanting“);SendChatMessage(” “..GetTradeSkillListLink(),”WHISPER”,nil,UnitName(”target”));CloseTradeSkill();

    Make sure that you replace all of the double quotation marks in there though or you’ll get errors.

    I’m still not sure on the name-clicking part, that I’ll have to research.

  • Deelah

    Thx for your time :-)

    I’ll keep checking back in case u have other suggestions as well :-)

    d

  • Deelah

    Thx for your time :-)

    I’ll keep checking back in case u have other suggestions as well :-)

    d

  • Moneo

    as far as responding to someone with your professions you can simply create a macro with /r [Enchanting]

    This will respond to the prior whisper with your specific professions. At the moment I’m having issues linking both professions on the same macro. I’ve been looking around and what I was doing was

    /2 [Enchanting]
    /2 [Tailoring]

    but upon linking the second profession it clears out the entire macro text..

    so I’m still trying to find a macro that actually does this.. I might have to create two macros and click them one after the other.

  • Moneo

    as far as responding to someone with your professions you can simply create a macro with /r [Enchanting]

    This will respond to the prior whisper with your specific professions. At the moment I’m having issues linking both professions on the same macro. I’ve been looking around and what I was doing was

    /2 [Enchanting]
    /2 [Tailoring]

    but upon linking the second profession it clears out the entire macro text..

    so I’m still trying to find a macro that actually does this.. I might have to create two macros and click them one after the other.

  • Aarokku

    Thank you for this! I was starting to tear my hair out working out how it could be done.. =D

  • Aarokku

    Thank you for this! I was starting to tear my hair out working out how it could be done.. =D

  • DrunkSkunk

    How do I make it so I link the skill before my message?

    example: “Enchanting” LFW!

  • DrunkSkunk

    How do I make it so I link the skill before my message?

    example: “Enchanting” LFW!

  • Tyler

    i want to know how to link an item inbetween texts.
    this is what i got so far…

    /run SendChatMessage(“WTB all” “.t.” “25g pst or COD anytime” ..(select(2,GetItemInfo(34057))). “channel”,nil,2)

    but it doesnt do anything >:( not quite sure what the “.t.” is for but i saw it is someone elses macro so i attempted it in there.

    any help would be wonderful :) thanks. it would be even better if ya could email me the answer thanks :)

  • Tyler

    i want to know how to link an item inbetween texts.
    this is what i got so far…

    /run SendChatMessage(“WTB all” “.t.” “25g pst or COD anytime” ..(select(2,GetItemInfo(34057))). “channel”,nil,2)

    but it doesnt do anything >:( not quite sure what the “.t.” is for but i saw it is someone elses macro so i attempted it in there.

    any help would be wonderful :) thanks. it would be even better if ya could email me the answer thanks :)

  • http://psynister.wordpress.com Psynister

    @Tyler

    The easiest way to do what you’re trying for is to just do the following:

    /2 WTB all [shift click the item] 25g pst or COD anytime.

    That’s all there is to it. The part in the brackets there is obviously where you shift click the item to put a link for it in there instead of using a script.

    If you don’t have any of the item, see if there are any on the AH that you can use instead. You may want to shift-click it into a regular chat window and then shift-click it from there into your macro if you’re not using addons that will allow you to have both the macro and auction interface open at the same time.

    You can also get the link by going to wowhead.com, searching for the item, and then clicking the link in the top right to copy the macro that will post the item. Paste that link into a chat window in game and press enter to put it into the chat log, from there you can shift click it into the macro to do what you’re looking for.

  • http://psynister.wordpress.com Psynister

    @Tyler

    The easiest way to do what you’re trying for is to just do the following:

    /2 WTB all [shift click the item] 25g pst or COD anytime.

    That’s all there is to it. The part in the brackets there is obviously where you shift click the item to put a link for it in there instead of using a script.

    If you don’t have any of the item, see if there are any on the AH that you can use instead. You may want to shift-click it into a regular chat window and then shift-click it from there into your macro if you’re not using addons that will allow you to have both the macro and auction interface open at the same time.

    You can also get the link by going to wowhead.com, searching for the item, and then clicking the link in the top right to copy the macro that will post the item. Paste that link into a chat window in game and press enter to put it into the chat log, from there you can shift click it into the macro to do what you’re looking for.