• Dear Guest,

    You're browsing our forum as a Guest meaning you can only see a portion of the forum in read-only mode.
    To view all forum nodes and be able to create threads/posts please register or log-in with your existing account.

    TwinStar team

Request a macro

Eucharn

New Member
Joined
Dec 30, 2017
Likes
9
#1
Put in a request and I will try to write one up for you. All classes and anything you can think of, and I will try to solve your problem. I'm not here 24/7 so give me a few days to respond. Macros are powerful - you can use them to sort your bags, sell greys, auto-target your nemesis and even decide which spell to cast depending on what type of creature/player you are fighting.

Hit me!
 

Eucharn

New Member
Joined
Dec 30, 2017
Likes
9
#2
Ok.. Only one request so far, but I'll post the solution in here anyway.

Someone requested a macro that helps with trading conjured water to fellow players, this is what I came up with. You will need the SuperMacro addon for this to work:

Macro:
Code:
/run TradeWater(2); AcceptTrade();
Lua: (Write this in the Extended Lua Code editfield in the SuperMacro addon)
Code:
function TradeWater(stacks)
  for bag=0,4,1 do
    for slot=1,GetContainerNumSlots(bag),1 do
      name=GetContainerItemLink(bag,slot)
      if name and string.find(name, "Conjured Fresh Water") then
        PickupContainerItem(bag,slot)
        if GetUnitName("target") and CheckInteractDistance("target",2) then
          InitiateTrade("target")
          DropItemOnUnit("target")
          stacks=stacks-1
          if stacks==0 then return end
        end
      end
    end
  end
end
This will trade two stacks of conjured water (you have to change "Conjured Fresh Water" for the desired level of water you want to trade). Change the default number (2) by editing the function call in the macro.

You will have to click the same button three times for the trade to complete, but this has to do with how the WoW API deals with macros.
 

Sato

New Member
Joined
Feb 18, 2016
Likes
0
#3
I have a request which is probably simple but my knowledge just isn't enough to make it work...

I'd like to have 3 warlock buffs on the same keybind - Demon Armor, Detect greater Invisibility and Unending Breath.

I want to cast these 3 in sequence on myself if I have no target, but ignore Demon Armor if I already have it on me (because it has 30min duration compared to 10mins of the other two). But on the latter two no checks are needed, I want to be able to renew them even if there is some time left.

And when I'm targeting a friendly I just want to buff them with Detect Greater Invisibility and Unending Breath without any checks.

I have some scuffed version which I made work, but it wont buff friendlies unless I remove the buffs from myself.. I can show it to you once I get back home in the evening.

Also I've made a macro for Devour Magic on self without losing target, which was working perfectly for a while and then stopped for whatever reason.. So I could use help with that too.

And I also had some more ideas but I forgot now lol, will ask once they come back to me.

I have SuperMacro btw.

Edit: so here is the macro I used for self devour

Code:
/script c=CastSpellByName t=UnitExists f=UnitIsFriend if t("target") and not f("player", "target") then c("Devour Magic", 2) elseif not t("target") then c("Devour Magic", 2) else c("Devour Magic") end;
/cast Sacrifice
I had modified to be a bit different from the one most people are using, which checks your pets target. I didnt like that because there are many cases when I will be fighting someone and my pet will not be attacking, or is on stay somewhere close by in which case it has no target..

So I made it check my own target instead. And it worked perfectly fine for a month, used to dispel myself regardless of what target I had, or no target at all. But a few days ago it just stopped working and I am super confused, because obviously i didnt change the macro...

Now when I try to use it with no target, it just says No Target, instead it should already be trying to dispel me and say Nothing to Dispel. And when I have a hostile target it says Nothing to Dispel, which I assume means its trying to dispel the the target instead of me, because if I actually have a dispellable debuff on me, it will say nothing to dispel too.

This is so weird... I have changed nothing except adding some new addons, but I highly doubt that would affect the macro in any way.

Edit 2: So I just figured out what caused the devour macro to stop working. Its actually an addon called Jim's Cooldown Pulse.... this is really sad because its an addon which I really cant part with (until I find what other shit it fucks up I guess). Ended up using a caveman tier macro now, which seems to work:

/target my name
/cast Devour Magic
/script TargetLastTarget()

Functions a little differently but I will get used to it.
 
Last edited:

Eucharn

New Member
Joined
Dec 30, 2017
Likes
9
#4
Buffing made easy

macro:
Code:
/run WarlockBuff()
lua:
Code:
function WarlockBuff()
  __bufflist={"Unending Breath","Detect Greater Invisibility"}
  if not buffed("Demon Armor","player") then CastSpellByName("Demon Armor") end
  if __buff==nil then __buff=0 end
  __buff=__buff+1
  if __buff>getn(__bufflist) then __buff=1 end
  CastSpellByName(__bufflist[__buff])
end
A bit botched, but I think it'll work - don't have any higher level warlock to test it on (yet). Feedback appreciated. I'll get to work on your other request soon, have fun.
 
Last edited:

Sato

New Member
Joined
Feb 18, 2016
Likes
0
#5
Buffing made easy

macro:
Code:
/run WarlockBuff()
lua:
Code:
function WarlockBuff()
  __bufflist={"Unending Breath","Detect Greater Invisibility"}
  if not buffed("Demon Armor","player") then CastSpellByName("Demon Armor") end
  if __buff==nil then __buff=0 end
  __buff=__buff+1
  if __buff>getn(__bufflist) then __buff=1 end
  CastSpellByName(__bufflist[__buff])
end
A bit botched, but I think it'll work - don't have any higher level warlock to test it on (yet). Feedback appreciated. I'll get to work on your other request soon, have fun.

Thanks a lot I will try this out today! As for the devour macro, i've been using the simple one I typed for a few days and its working just fine :) No need to waste your time on it.
 

Eucharn

New Member
Joined
Dec 30, 2017
Likes
9
#7
Thank you.

I'll try to make a better Devour Magic macro later, one that checks for dispellable debuffs on you or your target (if its friendly) before trying to dispell.

I think I can pull of a all-in-one macro for Devour, Sacrifice, Seduce and Fire Shield. Would that be of interest?
 

Sato

New Member
Joined
Feb 18, 2016
Likes
0
#8
Thank you.

I'll try to make a better Devour Magic macro later, one that checks for dispellable debuffs on you or your target (if its friendly) before trying to dispell.

I think I can pull of a all-in-one macro for Devour, Sacrifice, Seduce and Fire Shield. Would that be of interest?
That would be really useful I yes, but I think for pvp I will still need to use 2 different macros to devour. Atleast I havent thought of a way it could possibly work with 1 macro. It makes most sense if I divide them into two, 1 is devour self on a quick to reach keybind like F, and then another one for devour target whether its friendly or enemy on something like shift + f as you use it a little bit less.

In that case I think it would be most logical if one macro was just simple devour myself without losing target, or sacrifice if void. I already have this working fine I think, except it doesnt check for debuffs, but it wont cast anyway unless I have a dispellable debuff, so I dont entirely get the point of checking? Is it possible to prioritise them or something? Or maybe ignore a rank1 spell? For example dont cast if I have rank 1 shadow word pain on me but dispel if its max rank. (highly doubt it).

Then the next macro would be devour target or seduce if succubus. I have a very simple one which works fine aswel, but I guess it could be improved by making it work as mouseover on a 3d model. For devouring via raidframes I use luna click casting. I think luna can make mouseovers a lot less complicated, the newer versions even have a simple option in the menu called "enable mouseover on 3d models" and thats that. But I am using an old beta version from 2016 because I have bugs with the newest ones ... so I think all I can make use of is the /lunamo command and im not sure if its possible to combine that with a normal macro.

edit: I would happily ditch the luna click casting if I could make my first macro work on raidframes with mouseover, as hitting F would be a bit more natural than rightclicking it, but I havent really tried that yet.. because at this point im spending more time messing with addons and macros than actually playing the game itself lol

Also have a question about another thing I have been thinking about, but I have no idea if that would be possible at all. Can you target a specific creature type? If it was possible to target by creature type like demon, then it would probably be possible to combine that with TargetNearestEnemy() and TargetLastTarget() to make a macro that casts banish on enemy warlocks pet without having to click around to target it, and without losing current target. That would be powerful as fuck.
 
Last edited:
Joined
Jun 12, 2018
Likes
0
#9
I just had a questions for warrior macros. Lets say a simple battle stance > Charge macro.

I see alot of people post something like :

/run local texture,name,isActive,isCastable = GetShapeshiftFormInfo(1); if isActive then CastSpellByName("Charge"); else CastSpellByName("Battle Stance()"); end;

But why not just use
/cast Battle Stance
/cast Charge

I am confused on which one is better or why one is preferred. Thank you!
 

Maelchav

New Member
Joined
Jul 12, 2018
Likes
0
#10
My question is similar to frigidclam's above. I've seen the GetShapeshiftFormInfo() function used in macros posted here and there in Vanilla-WoW forums and on a wiki or two, but I can't seem to get them to work in-game. Is the function supported in 1.12 (specifically, I'm playing on Kronos III)? Would I be required to use the SuperMacro add-on in order to be able to use it? I've completely avoided using any add-ons since I started playing at the beginning of BC so I don't want to resort to it now if I can avoid it.

Thanks!
 

mozibake

New Member
Joined
Jun 16, 2016
Likes
20
#11
looking for one for priest, namely:

-activate shadow form, do nothing it if it's already up(ie, end here and don't check my current mana or try to cast inner focus);
-if i have less than 574 mana, activate inner focus; then cast shadowform; (it'll take multiple keypresses, that's fine);

I've gotten 98% of the way there:
Code:
/script if ((UnitMana("Player")>574) or (buffed("Inner Focus")=="buff"))then CastSpellByName("Shadowform"); else CastSpellByName("Inner Focus"); end;
except I can't figure out how to incorporate a thing to make it not deactivate shadowform if it's already active

also looking for a way to cast shackle undead if my target is undead(duh) or mind control if it's a humanoid or an enemy player.
 
Joined
Dec 12, 2012
Likes
1
Location
Russia, Vologda
#12
Requesting macro!

As a healer, I'd like to have a macro for spells this way -
Lets say, I've got Dispel Magic binded on C, and I want everything in one macro:
1. If I press C, I cast Dispel Magic on my target;
2. If I press C having mouse overed other target, it will cast Dispel Magic on my mouseovered target instead (even having someone targeted in target frame) + if I use mouseover function for raid/party frames, it will cast DIspel Magic by mouseover on selected frame instead (like Luna and DUF compability with mouseover)
3. If I have modifier pressed (alt) and press C, I will cast Dispel Magic on my target's target (assist function).
So! Press C - cast a spell, have a mouseover - cast it on mouseovered target OR frame, if alt is pressed as well - cast on target's target (assist function)

What do I have now? I'm using that macro on my hunter for mouseover function in 3D world (it shouldnt work for frames I suppose, it has different command), as well as I'm using mouseover addon which allows me to use mouseover on frames with /cmcast (spell) command.
Macro for 3D mouseover in world looks like this (note it has prio on mouseover even if you have someone in target):
/script if UnitCanAttack("player","mouseover") then TargetUnit("mouseover");CastSpellByName("Scorpid Sting(Rank 4)");TargetUnit("playertarget"); else CastSpellByName("Scorpid Sting(Rank 4)"); end
This exact macro casts Scorpid Sting(Rank 4) on my target, but if I have someone mouseovered, it tries to cast the spell on mouseovered target instead. If I have noone in my target, but I got someone mouseovered, it casts the spell on mouseovered target AND takes it as the target in target frame.

Any suggestion to make that macro possible?
Looks like hell of a work :D
Been using simple /cast + /cmcast commands in one macro for raid frames, and had different macro for assist function (target's target with alt modifier) as well. Plus I had to establish spells for self-cast where I could interrupt them for fake-casts, SO I had 3 different macros for 1 spell.
Now I want to have just 2 for each spell (where frames mouseover + 3d mouseover + assist function are in one macro) + second for self-cast.
Or is it even possible to make in one macro? Note that I want /stopcast function on double-usage for every spell which is castable.

By binds perspective it looks like:
Simple usage (target, mouseover (frames + 3d mouseover)) - C
Target's target usage (assist function) - alt + C
Self-usage - ctrl + C
So, I bet it is possible to add 2 modifiers for one macro?

Will pay gold in game if it will be done <3
 
Last edited:
Joined
Apr 27, 2016
Likes
4
#13
Requesting macro!

As a healer, I'd like to have a macro for spells this way -
Lets say, I've got Dispel Magic binded on C, and I want everything in one macro:
1. If I press C, I cast Dispel Magic on my target;
2. If I press C having mouse overed other target, it will cast Dispel Magic on my mouseovered target instead (even having someone targeted in target frame) + if I use mouseover function for raid/party frames, it will cast DIspel Magic by mouseover on selected frame instead (like Luna and DUF compability with mouseover)
3. If I have modifier pressed (alt) and press C, I will cast Dispel Magic on my target's target (assist function).
So! Press C - cast a spell, have a mouseover - cast it on mouseovered target OR frame, if alt is pressed as well - cast on target's target (assist function)

What do I have now? I'm using that macro on my hunter for mouseover function in 3D world (it shouldnt work for frames I suppose, it has different command), as well as I'm using mouseover addon which allows me to use mouseover on frames with /cmcast (spell) command.
Macro for 3D mouseover in world looks like this (note it has prio on mouseover even if you have someone in target):
/script if UnitCanAttack("player","mouseover") then TargetUnit("mouseover");CastSpellByName("Scorpid Sting(Rank 4)");TargetUnit("playertarget"); else CastSpellByName("Scorpid Sting(Rank 4)"); end
This exact macro casts Scorpid Sting(Rank 4) on my target, but if I have someone mouseovered, it tries to cast the spell on mouseovered target instead. If I have noone in my target, but I got someone mouseovered, it casts the spell on mouseovered target AND takes it as the target in target frame.

Any suggestion to make that macro possible?
Looks like hell of a work :D
Been using simple /cast + /cmcast commands in one macro for raid frames, and had different macro for assist function (target's target with alt modifier) as well. Plus I had to establish spells for self-cast where I could interrupt them for fake-casts, SO I had 3 different macros for 1 spell.
Now I want to have just 2 for each spell (where frames mouseover + 3d mouseover + assist function are in one macro) + second for self-cast.
Or is it even possible to make in one macro? Note that I want /stopcast function on double-usage for every spell which is castable.

By binds perspective it looks like:
Simple usage (target, mouseover (frames + 3d mouseover)) - C
Target's target usage (assist function) - alt + C
Self-usage - ctrl + C
So, I bet it is possible to add 2 modifiers for one macro?

Will pay gold in game if it will be done <3
Well i just did it. It's not just 1 macro but still it works as you wanted.(you need to press 1 button)
 
Last edited:

Riplin

New Member
Joined
Jul 9, 2018
Likes
4
#15
I'd love a dispel macro for priests.

1. Cast dispel on me if there is anything to dispel (without losing my target), if not, cast dispel on my target. For even more fun it could contain a mouseover option in the middle. 1. me 2. mouseover (if enemy, exists) 3. target (if enemy, exists).

I don't know if there are calls currently to accomplish this. I read conflicting information.

I know there is Decursive but I try to avoid having to mouse click anything if I possibly can. Keybinds are far more efficient in PvP.
 

Loffi

New Member
Joined
Jul 20, 2018
Likes
0
#16
Rogue macro
I would like a macro that could dismount and stealth. Have little to none experience with macros.
Tried
/dismount
/cast stealth
Did not work.
Can anybody help ?
 

Nvwls

New Member
Joined
Oct 2, 2018
Likes
0
#18
I have a mouse with the 12 numeric buttons on the side. I use these to correspond with my action bar buttons. As a healer I would like to mouse over a unit frame or name plate and be able to cast my spells. I prefer to use a macro rather than addon to do this. I know how to do this in the retail version, but I am not sure how write this macro in vanilla 1.x. In retail I even went one step further and had each button linked to both a help and harm spell depending on my target or mouse over. I am mostly interested in being able to mouse over heal, because it is far more efficient and comfortable to me.
 

Gratch

New Member
Joined
Oct 16, 2018
Likes
0
#19
Hi

I'd like a macro that:
1- checks if I have a focus target
2- if I do, it checks the targets health percentage, if not it goes to point 3
2.1- if below 25% use spell xxx
2.2- if between 25% and 50% use spell yyy
2.3- if above 50% go on to point 3
3- runs through the same order as above but for my current target.

Basically, I'm hoping it will be my healing macro that I can set tank to be the focus, and if I miss noticing he's taken spike damage whilst i'm group healing, it'll heal him first anyway

EDIT: or perhaps I can put players names in myself based on who is the group. Maybe it'd be easier then.
Eg.
If "Adam" is below 25% health cast spell XXX on him, else
If "Bob" is below 25% health cast spell XXX on him, else if Adam is between 25% and 50% cast spell yyy on him, else if Bob etc
 
Last edited:
Top Bottom