Wednesday, December 2, 2009

Q&A: Cancel All Macro

I got a lot of kind words and praise for my last post, Wrapping Up: Week Eleven. Along with all the praise (thanks a ton for that btw :) ) There were a few really good questions asking me to elaborate more into what I was doing and explain exactly what I meant. There's a really easy mistake to make when writing, and that's using "terminology" that all your readers may not be familiar with. I personally know what I mean by the 'Saronite Shuffle' or what a 'Cancel all macro' is used for, however, some of you may not. So from now on I'm really going to try and explain what I mean and not just throw terms out there :)

While working towards my goal of "Hitting The Cap.. Again!" I really want to give back and help YOU guys reach your goals. This blog is no longer going to JUST be about my journey. So any questions you may have, please don't hesitate to ask. I'm going to try and get back to all of you, and feature some of the better questions and answers here on my blog. I'm also working on a really big project that I feel will help you guys out a ton. Lol, I keep saying that I have something up my sleeve but not revealing what it is. Sorry for the tease lol! I just want to make sure that my idea is going to pan out the way I want it to before I release any info. I feel that teasing you is better than saying what I'm going to do and having it not work out. This way if it doesn't work out you'll never know. ROFL.

Alright, I think that's enough bullshit. Lets get down to the question.

Q: What is the cancel all macro and what is it used for?

A: Cancel all macro is just a macro that cancels all of your glyphs on the AH.
I use it around every-other day to keep my prices "current".

Copy and paste the code into a new macro. Make sure it's all on one line (no double enter) and nothing got cut off.
Code:
/run local i=1;local n=1;while n ~= nil do n=GetAuctionItemInfo("owner",i);if n~=nil and strfind(n,"^Glyph of") then CancelAuction(i) end i=i+1 end

Sometimes what happens is lets say Player A Posts a glyph for 5g. Player B undercuts him by 1c and sets the price at 4g99s99c. Player C comes in and posts the same glyph for 25g.

Player B: 4g99s99c
Player A: 5g
Player C: 25g

If player A's auctions expires or he cancels it then Player B is missing an opportunity to raise his glyph price. Since he has not been undercut, and he is not the only person posting, his addon will not alert him to it.

Player B: 4g99s99c
Player C: 25g

So with the cancel all macro, it cancels all the glyphs you currently have up, enabling Player B to raise his glyph price and now undercut Player C by 1c making his glyph 24g99s99c

Player B: 24g99s99c
Player C: 25g

It takes a while to cancel all those glyphs and you won't really be able to do anything else on WOW while its working. What I usually do is hit my macro, leave the AH window up and go AFK for a little while. If you accidently close the AH window, it will still continue cancelling however you won't be able to re-open the AH or mail or anything else until its finished.
AS FAR AS I KNOW, there isn't an addon that does this for you yet. So in the meantime, the macro is a quick fix :)

This macro can also work with anything you want to mass cancel, You just need to set it up with what you want it to do. Right now it looks for "^Glyph of"
To change it to lets say, Enchanting scrolls you'd replace the "^Glyph.of" with "^Scroll.of.Enchant" Make sure to start with a ^ and replace the spaces with periods.


I'll be answering more of your questions during the week! If you have a question, please use the "Contact" link on the right and toss me an e-mail :)

Good-luck out there!

EDIT: There's almost always an EASIER way to do something that you've been doing for awhile. Thanks to Jeff, I found out there's a better way to cancel auctions. I'm going to leave the info I wrote as is, incase you don't use QA2 (though if you don't, you should look into starting) and just add his comment here:

"Great post! I have used the cancel all macro and its very useful. I actually use QA2 to cancel my auctions now because it uses its functionality to cancel (like it does post) and it doesn't fall behind get lagged out like the macro can. The macro basically forces the client to cancel everything at once which causes the lag out issues. With QA2 you can do /qa cancelall itemgroupname and it will cancel all auctions in that item group. If your glyph item group is named glyphs then you can type /qa cancelall glyphs and it will cancel them all.
Zerotorescue from JMTC made an edit to the LUA of QA2 and it will cancel auctions that have a listing that's higher then 2g. So if there are 3 people posting a glyph at 25g, 6g and 5g (you), if the 6g glyph falls off and you hit cancel, QA2 will see that the next highest poster is higher then 2g (at 25g) and cancel that glyph."

11 comments:

  1. Great post! I have used the cancel all macro and its very useful. I actually use QA2 to cancel my auctions now because it uses its functionality to cancel (like it does post) and it doesn't fall behind get lagged out like the macro can. The macro basically forces the client to cancel everything at once which causes the lag out issues. With QA2 you can do /qa cancelall itemgroupname and it will cancel all auctions in that item group. If your glyph item group is named glyphs then you can type /qa cancelall glyphs and it will cancel them all.

    Also, check this out: http://20kleveling.com/JMTCforum/download/file.php?id=52

    Zerotorescue from JMTC made an edit to the LUA of QA2 and it will cancel auctions that have a listing that's higher then 2g. So if there are 3 people posting a glyph at 25g, 6g and 5g (you), if the 6g glyph falls off and you hit cancel, QA2 will see that the next highest poster is higher then 2g (at 25g) and cancel that glyph.

    ReplyDelete
  2. Just a quick update, the newest version of QA2 has this feature built-in. There's a new slider bar called "Price Threshold". I have mine set to 10%, which is the lowest. :)

    ReplyDelete
  3. 1) QA uses the same thing, so the QA cancelall will lag you just like the macro.
    2) A (dumb) macro I use to cancel all auctions I've been undercut on (again, it's dumb, it doesn't know about stacks, reasons, whatever!) is: /run i,k,o=1,1,"owner";while k do k=GetAuctionItemLink(o,i);if k then _,_,_,_,_,m=AucAdvanced.Modules.Util.SimpleAuction.Private.GetItems(k);n,_,c,_,_,_,_,_,b,d=GetAuctionItemInfo(o,i);if m and d<1 and b>m*c then CancelAuction(i);end;end;i=i+1;end

    It needs a recent Auctioneer scan of the market, since it uses that for the list of other auctions. You can add a ' and strfind(n, "Glyph of")' towards the end, if you want to only check for certain auctions.

    P.S. Meh. Firefox does _NOT_ like your blog, it took me 5 attempts to be able to paste something in this edit box. :-(

    ReplyDelete
  4. From my experience when you run a regular cancel macro it tries to force the client to cancel everything at once and falls behind and lags out occasionally. When you cancel with QA it follows the same functions and procedures it uses to do regular cancels (using the cancel button) and it cancels auctions one by one. It might be a little slower but I've never gotten lagged out and/or disconnected when using it.

    ReplyDelete
  5. I was going to mention the QA2 feature :p If you don't type an item group name after the '/qa cancelall', it should literally cancel everything.

    ReplyDelete
  6. No. It cancels all of them, try doing it then closing the AH window. It will keep on cancelling them (and eventually print 'cancelled X auctions') and you won't be able to open mail/AH before it finishes.

    ReplyDelete
  7. I haven't seen this posted anywhere in here so i'll just put it here and if it's redudant i'm sorry =)

    but when milling i find it useful to have this macro:
    /use Milling
    /use Lichbloom
    /use Icethorn
    /use Adder's Tongue
    /use Tiger Lily
    /use Goldclover
    /use Deadnettle
    /use Talandra's Rose
    /use Fireleaf

    i combine this with my g-15 program running a repeat macro that hits the '2' key every 4 seconds and have auto loot on and then have that macro bound to 2 and i can fill my bags with herbs and then start the macro and walk off and get a soda or watch some TV.

    Hope this helps and sorry if it isn't exactly clear what i'm trying to say.

    ReplyDelete
  8. You might want to look into enchantrix from auctioneer. It goes around the annoying problem of "you need 5 of X to mill" and works for other professions as well (JC and enchanting).

    ReplyDelete
  9. Wait, you have an addon that alerts you when you've been undercut? Question! XD

    ReplyDelete
  10. RedFox:

    Was referring to QA2 :)

    ReplyDelete