Advanced Macros

Have a friend that you always want to wave to? Or a friend that waves at you but you can never catch them before they fly away? Here's a macro that can help you wave to your friend!

On your "Hello" macro, click in the command box and push down what you've written so far (which should be the "/hello" that you typed in earlier) by pushing your [Enter] key on your keyboard. Next, type in:

/target (your friend's name here)

Be sure to click the "Save" button above the command box to save what you've written, otherwise once you exit the macro interface you will lose what you just wrote. This will macro will now _target_ your friend and give them a hearty hello at
the same time!

Tip: "/target" and "/tar" do the same command. You will see a lot of commands with different ways to write it. Another example is "/emote", which is elso written as "/e", "/em" and "/me". They all do the same thing, but it's up to you, the
player, to write it how you want!

Tip: Another way you can write this macro is by typing "/hello YourFriend'sName".

Another tip: See how you pushed down the "/hello" command and then you typed _"/target ("your friend's name here")_? Remember that macros will always do in order, unless you tell them to go out of order, which we'll get into later. If you
typed in "/hello" before you targeted your friend, it wouldn't have been as effective.

Here's a way to write this if your friend as already flown away and you don't want to give anyone a hearty hello:

/tar MyFriend<br />/stopmacro [noexists]<br />/hello<br />
What is this "[]" you might ask? This is what a macro calls a "condition". There are a lot of conditions that a macro can contain, it's up to you what conditions the macro looks for. In this case, it looks for if the target exists, and if it doesn't, then the
macro stops. If the target does exist, then I will give my friend a hearty hello! Conditionals are important for telling your macro what to look for. It prioritizes what's important from left to right. For example:

 

/tar focus ; MyFriend<br />/stopmacro [noexists,nodead]<br />/hello

What does this macro do? Let's go through this line by line:

  1. It looks at my command, "/target", after that, it looks at my conditions, which means it's looking for my focus target. If I don'thave a focus target, then it goes to the next best thing, which happens to be "MyFriend".
  2. If neither of those exists, the macro stops completely, but what's this "nodead"? This means if my focus target, my friend or even my current target, isn't dead, then the macro will stop go through with the "/hello". Even if the target doesn't exist, one of the coniditions is true, so the macro will go through.
  3. Last, if all the conditions are met and I have a target to emote to, then I will give my focus target or my friend a hearty hello!

/tar focus ; MyFriend<br />/stopmacro [noexists] [nodead]<br />/hello

What does this one do? Now the "nodead" is in a condition outside of the "noexists", which matters. This will do the same thing as the previous example, except it says that both conditions need to be true in order for the macro to work.

Here's a shortened way to write this example, except there's a flaw with it, try to guess what it is:

/hello [target=focus] ; MyFriend

What happens if I use this macro when I don't have a target or my friend around? That's right, it will give everyone around me a hearty hello! But notice how it's written: the command "/hello" is on the same line as the targets I want to say hello to. This is probably more efficient than the other ways of writing it.

Here is my final version of the macro, I've added in another command that will help me if my targets aren't around and I just want to say hello to my focus target or my friend:

/cleartarget<br />/tar MyFriend ; focus<br />/stopmacro [noexists] [dead] <br />/hello<br />

What happened when I switched "MyFriend" with "focus"? That's right, now it prioritized if my friend is around, it will target them first, if notthen it will target my focus target and say hello to them. But, if both were in the same place, it would target my friend first! I changed "[nodead]" to "[dead]" because if my friend was around town and they were still alive, the "[nodead]" condition would stop the macro; putting "[dead]" in instead
makes it so that I will wave to them if they're not dead.

You can use macros with almost every function in the game. Read on for a list of some of the commands you can use...