1. #5101
    Quote Originally Posted by Rarch View Post
    If they are indeed stances, then yes, you can accomplish this. It would look like:

    Code:
    /use [mod:shift, stance:1/3]Chakra: Sanctuary
    /use [mod:shift, stance:2]Holy Word: Sanctuary
    /use [mod:ctrl, stance:1/2]Chakra: Chastise
    /use [mod:ctrl, stance:3]Holy Word: Chastise
    /use [stance:2/3]Chakra: Serenity
    /use [stance:1]Holy Word: Serenity

    You'll have to confirm the stance numbers by playing around with it. I don't know which stance is which number. EDIT: I just noticed the one I posted doesn't fit in the 255 chars, even if you remove the #showtooltip, it's still 261. Not sure if it's possible to shorten it, maybe someone else has an idea to make it short enough to fit. EDIT 2: Got it to 255, but no #showtooltip, so you'll have to use a generic static tooltip for it.

    If they're not technically considered stances by the game, then I don't believe it's possible with a macro. You can't make a macro check for an aura, as far as I know.
    Code:
    #showtooltip
    /use [mod:shift,stance:1/3]Chakra: Sanctuary;[mod:shift,stance:2]Holy Word: Sanctuary;[mod:ctrl,stance:1/2]Chakra: Chastise;[mod:ctrl,stance:3]Holy Word: Chastise;[stance:2/3]Chakra: Serenity;[stance:1]Holy Word: Serenity
    This should work with the same functionality if they are considered stances, 234 characters.
    Last edited by Haystone; 2014-04-02 at 09:12 AM.

  2. #5102
    I need a macro that looks at a item in my Bag, counts how many, and then buys the same amount of items from the Vendor.

    Relevant APIs

    count = GetItemCount(itemID)
    BuyMerchantItem(slot,quantity);

    Basically i want to count how much cloth i have (84221) and then buy Items from Vendor BuyMerchantItem(4) and BuyMerchantItem(7), obviously while i have the vendor frame open :P
    Last edited by Yuyuli; 2014-04-02 at 05:19 PM.

  3. #5103
    Mechagnome Edx's Avatar
    Join Date
    Aug 2009
    Location
    Flanders, Belgium
    Posts
    543
    Quote Originally Posted by Yuyuli View Post
    I need a macro that looks at a item in my Bag, counts how many, and then buys the same amount of items from the Vendor.
    ...
    Code:
    /script n = GetItemCount("bag item"); for i=1,GetMerchantNumItems() do x = GetMerchantItemInfo(i); if x == "vendor item" then BuyMerchantItem(i, n) end end
    Just need to change the strings, example:
    Code:
    /script n = GetItemCount("Imperial Amethyst"); for i=1,GetMerchantNumItems() do x = GetMerchantItemInfo(i); if x == "Tome of the Clear Mind" then BuyMerchantItem(i, n) end end
    will buy n Tome of the Clear Mind where n is the amount of Imperial Amethyst in my bag.

  4. #5104
    Quote Originally Posted by Edx View Post
    Code:
    /script n = GetItemCount("bag item"); for i=1,GetMerchantNumItems() do x = GetMerchantItemInfo(i); if x == "vendor item" then BuyMerchantItem(i, n) end end
    Just need to change the strings, example:
    Code:
    /script n = GetItemCount("Imperial Amethyst"); for i=1,GetMerchantNumItems() do x = GetMerchantItemInfo(i); if x == "Tome of the Clear Mind" then BuyMerchantItem(i, n) end end
    will buy n Tome of the Clear Mind where n is the amount of Imperial Amethyst in my bag.
    Thanks but sadly this won't work the way i need it.

    What i need is a "for each count do buy item once" BuyMerchantItem(i), as you can not buy a stack of 40 of something that only stacks 20 or even just 10, it throws a error so i need to buy 40x1 instead of trying to buy 1x40. It's a bit spammy like this but it will at least work, or i dunno put some math stuff in there so i can set how high it stacks but that's just overcomplicating i really don't care if it spams BuyMerchantItem 40-100 times

    Edit: this seems to work, though it's not as pretty, maybe you can clean it up so it still has that "if" thingy so i don't accidently buy the wrong stuff and maybe even have another check so i don't buy more than required?

    /script n = GetItemCount(4339); for i=1,n,1 do BuyMerchantItem(4) end
    Last edited by Yuyuli; 2014-04-02 at 10:56 PM.

  5. #5105
    Mechagnome Edx's Avatar
    Join Date
    Aug 2009
    Location
    Flanders, Belgium
    Posts
    543
    Quote Originally Posted by Yuyuli View Post
    Thanks but sadly this won't work the way i need it.

    What i need is a "for each count do buy item once" BuyMerchantItem(i), as you can not buy a stack of 40 of something that only stacks 20 or even just 10, it throws a error so i need to buy 40x1 instead of trying to buy 1x40. It's a bit spammy like this but it will at least work, or i dunno put some math stuff in there so i can set how high it stacks but that's just overcomplicating i really don't care if it spams BuyMerchantItem 40-100 times

    Edit: this seems to work, though it's not as pretty, maybe you can clean it up so it still has that "if" thingy so i don't accidently buy the wrong stuff and maybe even have another check so i don't buy more than required?

    /script n = GetItemCount(4339); for i=1,n,1 do BuyMerchantItem(4) end
    Sorry for the late response, not sure if this is what you mean but try:
    Code:
    /script n = GetItemCount("bag item"); for i=1,GetMerchantNumItems() do x = GetMerchantItemInfo(i); if x == "vendor item" then for j=1,n do BuyMerchantItem(i) end; break end end
    Only tried it with a small amount of items, don't know if this is OK to use to buy large quantities.
    Last edited by Edx; 2014-04-03 at 10:09 PM.

  6. #5106
    Hey, I've been having a hard time making a macro for this. I'm kind of new to this so I figured I would come across problems. Well this is what I wanted:
    Mouseover Cyclone
    However, if shift is used then it becomes an Instant Cyclone (accomplished to through nature's swiftness so:
    If shift modifier then
    Nature's Swiftness + mouseOver Cyclone
    I'd greatly appreciate if I could get this. Thanks in advance! ^^

  7. #5107
    Code:
    #showtooltip Cyclone
    /cast [mod:shift]Nature's Swiftness
    /cast [mod:shift,@mouseover][]Cyclone

    That should work. If you want to also make it cast Cyclone at your target if you don't have a mouseover, just add [] after [@mouseover].
    Last edited by lawomous; 2014-04-10 at 06:47 PM.

  8. #5108
    Brewmaster shanthi's Avatar
    Join Date
    Oct 2011
    Location
    California
    Posts
    1,391
    Code:
    #showtooltip Cyclone
    /cast [mod:shift]Nature's Swiftness
    /cast [@mouseover][]Cyclone
    There shouldn't be a "mod:shift" for the Cyclone, because it sounds like they want Cyclone to cast whenever the button is pressed.
    That is not dead which can eternal lie.
    And with strange aeons even death may die.

  9. #5109
    First of all, thanks for the early replys. Much appreciated but....

    I've tried both of them and although they both did cast cyclone mouseover (in the noMod case), when pressing shift used neither used Nature's Swiftness. In fact, my druid doesn't begin to cast with the modifier if I hold shift it just skips it as if it wasn't pressed.

    So here's a little bit of exposition.
    I'm trying to use this macro on my Num0 button (I have a mouseButton there), so shift+Num0 = insert.
    I cleared my keybinding for insert, so I assumed the macro would be able to use it but no dice.
    I'm also using Bartender as to assign these the macro to num0.

    Once again, ideally it's just a regular Cyclone mouseOver, unless I press shift. Then it becomes an instant Cyclone mouseOver.

  10. #5110
    Quote Originally Posted by Alotuz View Post
    First of all, thanks for the early replys. Much appreciated but....

    I've tried both of them and although they both did cast cyclone mouseover (in the noMod case), when pressing shift used neither used Nature's Swiftness. In fact, my druid doesn't begin to cast with the modifier if I hold shift it just skips it as if it wasn't pressed.

    So here's a little bit of exposition.
    I'm trying to use this macro on my Num0 button (I have a mouseButton there), so shift+Num0 = insert.
    I cleared my keybinding for insert, so I assumed the macro would be able to use it but no dice.
    I'm also using Bartender as to assign these the macro to num0.

    Once again, ideally it's just a regular Cyclone mouseOver, unless I press shift. Then it becomes an instant Cyclone mouseOver.
    That's because those mouse buttons don't work with shift modifiers, as it's a different button (insert) you will have to bind Insert to a button, and make a seperate macro for NS mouseover clone. You can use buttonforge, which will allow you to hide that button afterwards.

    macro1: (nomod button)
    Code:
    /use [@mouseover] Cyclone
    macro2: (insert button)
    Code:
    /use Nature's Swiftness
    /use [@mouseover] Cyclone
    edit: on my bartender setup I have a complete 12 bar with all the shift-mouse buttons, like end, insert, etc. which makes it easier to bind!

  11. #5111
    Herald of the Titans
    Join Date
    Jun 2008
    Location
    Italy
    Posts
    2,989
    Quote Originally Posted by Yuyuli View Post
    Thanks but sadly this won't work the way i need it.

    What i need is a "for each count do buy item once" BuyMerchantItem(i), as you can not buy a stack of 40 of something that only stacks 20 or even just 10, it throws a error so i need to buy 40x1 instead of trying to buy 1x40. It's a bit spammy like this but it will at least work, or i dunno put some math stuff in there so i can set how high it stacks but that's just overcomplicating i really don't care if it spams BuyMerchantItem 40-100 times

    Edit: this seems to work, though it's not as pretty, maybe you can clean it up so it still has that "if" thingy so i don't accidently buy the wrong stuff and maybe even have another check so i don't buy more than required?

    /script n = GetItemCount(4339); for i=1,n,1 do BuyMerchantItem(4) end
    this will buy the correct quantity with the minimum operations needed (always buys max stack + leftovers stack at the end)
    Code:
    /run local function buy (n,q) for i=1,100 do if n==GetMerchantItemInfo(i) then m=GetMerchantItemMaxStack(i) p=math.floor(q/m) for s=1,p do BuyMerchantItem(i,m) end BuyMerchantItem(i,(q-p*m)) end end end buy("item_name",1337);
    "item_name": name of the item you want to buy, leave quotes
    1337: quantity you want to buy
    CPU: Intel Core i7-2600K @ 4.8GHz
    Motherboard: Asus P8Z68 Deluxe
    Memory: G.Skill Ripjaws-X 2x4GB 1600Mhz
    VGA: EVGA GTX970 FTW+
    Drive: 1 x OCZ Vertex 3 240Gb + 1 x WD Caviar Black 1TB
    PSU: Corsair AX850W Case: Cooler Master HAF X CPU Heatsink: Noctua NH-D14

  12. #5112
    Hello, I was wondering if someone could give me some advice on this. Tried looking through the first few pages of this thread but it's so long, so if it's come up I'm sorry.

    Anyway I'm looking to change this macro:
    /run if GetSpellCooldown("SPELLNAME") == 0 then SendChatMessage("CHAT MESSAGE ","CHAT") end
    /cast SPELLNAME


    Into one that will work with an item instead of a spell. Such as Ra'sha's Sacrificial Dagger.

  13. #5113
    Quote Originally Posted by Khrystar View Post
    Hello, I was wondering if someone could give me some advice on this. Tried looking through the first few pages of this thread but it's so long, so if it's come up I'm sorry.

    Anyway I'm looking to change this macro:
    /run if GetSpellCooldown("SPELLNAME") == 0 then SendChatMessage("CHAT MESSAGE ","CHAT") end
    /cast SPELLNAME


    Into one that will work with an item instead of a spell. Such as Ra'sha's Sacrificial Dagger.
    change "spell" to "item" wherever it occurs in that macro

  14. #5114
    Herald of the Titans
    Join Date
    Jun 2008
    Location
    Italy
    Posts
    2,989
    use GetItemCooldown(itemID) instead of GetSpellCooldown

    edit: pnutbutter beat me :P
    CPU: Intel Core i7-2600K @ 4.8GHz
    Motherboard: Asus P8Z68 Deluxe
    Memory: G.Skill Ripjaws-X 2x4GB 1600Mhz
    VGA: EVGA GTX970 FTW+
    Drive: 1 x OCZ Vertex 3 240Gb + 1 x WD Caviar Black 1TB
    PSU: Corsair AX850W Case: Cooler Master HAF X CPU Heatsink: Noctua NH-D14

  15. #5115
    Quote Originally Posted by S7orm View Post
    use GetItemCooldown(itemID) instead of GetSpellCooldown

    edit: pnutbutter beat me :P
    Thanks! FYI tho your reply was far more helpful. I had actually tried changing "spell" to "item" and that didn't work. I hadn't thought of using the "item" ID. So my new macro looks like this, and works perfectly fine.

    #showtooltip Ra'sha's Sacrificial Dagger
    /run if GetItemCooldown("95566") == 0 then SendChatMessage("Goodbye cruel world!","SAY") end
    /use Ra'sha's Sacrificial Dagger


    Edit: I typed spell ID instead of item ID. lul
    Last edited by Khrystar; 2014-04-12 at 07:44 AM.

  16. #5116
    Field Marshal Bendixs's Avatar
    Join Date
    Sep 2010
    Location
    Danmark
    Posts
    52
    Fixed the problem
    Last edited by Bendixs; 2014-04-11 at 10:39 PM.

  17. #5117
    I need help with a Growl macro. Everything else works fine. But instead of switching out Kill Shot every time I'm not in PVP (Because of Growl) I want it to only cast Growl when I wear a certain kind of gear-set. I have one DPS set and one PVP set in the Equipment Manager.

    Is there a way to change the macro so that Growl only is cast when I'm equipped with the PVP gear?

    Thanks

    /stopcasting
    /cast Kill Shot
    /cancelaura Deterrence
    /cancelaura Hand of Protection
    /cast Growl(Basic Ability)
    /petattack

  18. #5118
    Mechagnome Edx's Avatar
    Join Date
    Aug 2009
    Location
    Flanders, Belgium
    Posts
    543
    Quote Originally Posted by Jappse View Post
    I need help with a Growl macro. Everything else works fine. But instead of switching out Kill Shot every time I'm not in PVP (Because of Growl) I want it to only cast Growl when I wear a certain kind of gear-set. I have one DPS set and one PVP set in the Equipment Manager.

    Is there a way to change the macro so that Growl only is cast when I'm equipped with the PVP gear?

    Thanks
    Do you have seperate PvE and PvP specs? If so I think you can use the [spec:1]/[spec:2] modifier.

  19. #5119
    Quote Originally Posted by Edx View Post
    Do you have seperate PvE and PvP specs? If so I think you can use the [spec:1]/[spec:2] modifier.
    Another bit more clunky solution would be to use the [equipped] conditional if you use a different weapon type for your PvE set and PvP set. For example, if you use a Crossbow in PvE and a Gun in PvP you could add a [equipped:Crossbow] to abilities you only want to cast when you have your PvE gear on, and a [equipped:Gun] conditional to abilities you only want to cast with your PvP gear on.


    Druid / Demon Hunter SimulationCraft Maintainer

  20. #5120
    Quote Originally Posted by Edx View Post
    Do you have seperate PvE and PvP specs? If so I think you can use the [spec:1]/[spec:2] modifier.
    Sometimes yes. But I use all 3 specs. 2 for PVE and 1(2) for PVP. Depending on situation. Going to try that out thank you

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •