EQ2 Macros and ACT [from the SOE Live Panel]

Discussion in 'Tips, Tricks, FAQs, and New Player Discussion' started by Katanallama, Aug 20, 2014.

  1. Katanallama Well-Known Member

    Hey guys! So as it was a hectic weekend of good times and given the nature of the panel, somewhere in that I was brave enough to say I'd make a forum post about well... Everything. This will include some slight adjustments from the panel thanks to the awesome people we had there, and a little bit extra!

    This is a horribly, terribly long post, but I wanted to go into full detail on a lot of it and show examples step by step where I could. As such, I have split it up amongst posts! So, read at your own pace or skim around, here's a table of contents as to what is in each post:
    1: Where to start - An introduction to macros!
    2: Mount Swap - A guide on the process of creating a mount swap
    3: Alias macros - A guide to what the Alias command is and how to use it
    4: Alias Pt 2 - Extended use!
    5: The AA Swap - A walkthrough of creating a one button AA / hotbar swap
    6: Macros in Review + Macro Icon Set
    <?>: ACT stuff! I haven't written it all down yet in forum-mode, but I'll finish it tomorrow.

    A note on the images: On most of these images I am using automated thumbnails to save on scrolling, but if you click on any image it should take you to the fullsize image.

    So where do we start?

    Macros are a powerful tool in EQ2, they allow us to simplify certain spell casts on ally players, make gear swap macros, and in general help us reduce some repetitive tasks in game. The goal of this thread is to help in understanding certain aspects of macros and to show a couple walkthrough examples.

    One of the best places to start is knowing what makes up a macro:

    So here it is, my glorious macro. Okay so it's not ultra amazing, but it does show the five basic inputs for macros:
    1: Command: Like the chat box, we may enter slash / commands such as /hello, the / is optional
    2: Player Target Ability
    3: Enemy / No Target ABility
    4: Equip Item: This macro step gives you options for left / right, primary / secondary, even appearance!
    5: Use Item: Use items from your bags or even the gear you have equipped

    In addition to this, I placed a custom icon in the top right... The general rule is, if you can drag it, you can use it as a macro icon. You can drag any ability from your spell book, from your hotbars, any item from your bags, even currency such as platinum coins may be used. Just take an item / ability with a nice icon and drag it on top of your new macro's icon.

    Another great thing to know early on is where to find commands. When I need a reference, EQ2 Wikia's Slash Command page is awesome for my needs. However, it doesn't always have every command I'm looking for. When I'm in a pinch trying to figure something out I'll actually use EQ2's chat window:


    In the EQ2 chat window, if you use a slash and type in any word, such as /mount, /aa, /use, /open, etc. And you press TAB on your keyboard, it will find commands associated with the word you just typed in. It's not flawless and can sometimes take a few guesses, but it's a great way to find commands without leaving the EQ2 screen.

    Also, a cool aspect of the fact that the UI is 100% customizable, there are corresponding slash commands to a ton of UI aspects, but we'll get into that later!
  2. Katanallama Well-Known Member

    Leaping in!

    So with any subject, it helps to just leap into things, and on that note let's start with mounts - Rabbit mounts! I love my rabbit mount, I get to hop around everyone and randomly die for no reason, it's great! Unfortunately, swapping back and forth isn't so great: Open mount tab, find bunny, drag to active mount selection, click button twice... Repeat to go back to Sokokar.


    EXHAUSTING! Let's macro this bad boy instead! I want to in one button press, load that bunny mount

    So my first stab at it is to just drag it into the macro, right? use item: bunny

    WRONG! You can't macro mounts from the mount tab *sigh*. But that's easy enough, I'll just drag it over to my bags and try again. EQ2 error given: "You may only use items in your inventory"

    Whoops! So if I'm already on one mount, I can't just click on another one to replace it - I need to cancel the current mount, and then click on the bunny. EQ2 error given: "Not while mounted"

    So the cunning and masterful keyboard wizard that I am, I just need to drag that mount button into the macro window, right? You can hotbar that button, surely I can put it in a macro. . .

    WRONG! You can't macro that button. First time I've ever encountered that, well crap. . . EQ2 error given: "Not a supported macro step"

    Time to find the slash command! My first guess is to check the EQ2 Wikia slash command page, and sure enough it's not there... Bunny nuggets.

    Trial and error time! When even EQ2 Wikia fails me, there is always the glorious chat window, the ray of light shining through those ominous clouds. My first instinct is to type in "/mount" and hit my TAB key to see associated commands, and sure enough... /summon_mount is a command. What was that button in the UI called? Summon Mount?

    We joked a bit about this at the panel, go ahead, put that slash command in, what could possibly go wrong? Well fortunately for us, I try the command and no gnomes died!

    Knowing this is the command I want, my new macro is going to look like this:
    /summon_mount, and then use bunny. This two step macro will cancel that pesky reindeer and then summon the glorious bunny instead.

    So at this point, I do a trial and realize I don't like hitting that UI button twice every time to summon the default mount... So already knowing the command I just created my second macro:
    [IMG] [IMG]

    One that summons the default mount, and the other to summon the bunny! Perfect, now in one button press I can cancel my current mount and summon instead any desired mount I want. Unfortunately, I realized something when changing AAs one day...

    EEK! If I don't have a mount up, that bunny macro will instead summon my default mount! Well fortunately enough, this is just a logic problem. I designed this macro saying:
    1: "Use that Mount Toggle button to cancel what ever mount is up, because I ALWAYS have a mount up"
    2: "Load this specific mount"

    What I need it to say is actually:
    1: "Is a mount up? Good, we're canceling it"
    2: "Whoops! NO! Don't summon that cursed reindeer, ABORT ABORT ABORT!"
    3: "Phew, Bunny time!"

    And fortunately for us, it's as easy as adding /cancel_spellcast to our bunny macro. I want to place it in the middle - after summon mount, but before use bunny item.

    Default mount:
    /summon_mount ~ is a mount up? cancel it!
    /summon_mount ~ No mount is up? Reindeer time!
    Bunny macro:
    /summon_mount ~ Cancel that mount!
    /cancel_spellcast ~ Whoops, that last command is trying to cast the reindeer. ABORT!!!
    <use item: alt mount> ~ any mount you want, just be sure it's in your bags (not the mount tab)

    And sure enough,

    The bunny swap in review:
    So I realize this was a drawn out example for how to place 2 commands and 1 item into 2 macros, but I wanted to give a step by step approach with all of the walls we can run into - overcoming all sorts of errors with mounts / items in general, attacking logic issues and testing our macros.

    To offer one alternate, and credit to Kaiura for recommending it, a lot of the sokokars in this expansion have the spell name of "Call Sokokar" in the maintained window. That bunny macro could also work like this, if you use a ToV sokokar for your flying mount:
    /cancel_maintained call sokokar
    <use item: alt mount>
    So if you have a specific mount you ALWAYS use for flying and only plan to macro one alternate mount, you could cancel the maintained effect instead of having the summon mount + cancel spellcast.
    The side note is, it will ONLY cancel that one specific type of mount.
    Kinya, Dedith, Kuulei and 3 others like this.
  3. Katanallama Well-Known Member

    Alias Macros!

    Quite possibly one of the best macro-ready commands in game, alias allows us to create our own commands. Instead of dragging an ability in and setting a target, or typing something such as "/useabilityonplayer Derptank Omgdeathsave", we can turn it into a shorthand command such as "/savederptank" using alias.

    But why is this important? I can just create a macro step for that command anyways, it's in a macro why do I care?! Well this is true, but you'd be missing out on the best part...

    /alias work with %T

    %T the text shortcut to return your current target, and when I create an alias macro it stores that target's name in the new command. But before we talk about this let's cover the basics.

    How does it work?
    Alias is setup to be a two step process, alias creates a brand new command that you can use. For the purpose of macros, we would have one macro for each command.
    Macro 1:
    /alias {custom name}:{command}

    Macro 2:
    /{custom name}

    So let's say I want to make an alias to say hello to people, so my new command will be named hellothere - that's not taken yet! So when I type /hellothere, I want it to say, "why howdy!" - well that right there tells me everything I need to know!

    /alias hellothere:say "why howdy!"

    And sure enough, it works:

    So! Alias sets the new command, and the newly created command (hellothere) acts on it.

    Let's throw a variable in there, I want to use %T in my command!
    It actually is really easy, if a command calls for a player or target name, we will use %T instead.

    I want to greet only the puppy even if I have that jerk of a squire selected. So, I'm going to change my /hellothere command to include %T. The /alias command will save who ever my current target is when I submit the command <puppy> and use that name whenever /hellothere is used in the future.


    Let's talk about some practical group / raid examples!
    With %T in mind, two strong uses come to mind: Targeting and Ally Temps.

    #1: Targeting.
    In raid we have two types of targeting for the most part - being the Main Assist, and assisting the Main Assist. With some mobs force targeting players, I'll make two types - one to /assist the MA and the other to /target for when I am the MA

    By default, I would normally save a macro as /assist Derpscout... Derpscout is our main assist mostly, but it's also sometimes Derptank or Derpmage, so in alias terms we actually see it as /assist %T - Assist Derpsomeone.

    Now, I need a name for my command - well mainassist is easy enough, let's use that. I create a macro for each command.
    /alias mainassist:assist %T
    So raid is starting, "We're assisting Derpscout tonight!". In the past I had to open up my macros, find that assist macro, open it up and replace the old assist name with the new one. With the new alias setup, I just have to select Derpscout and click on my alias macro that sets /mainassist to use him as a target. Two clicks, easily doable in 2-3 seconds.

    Alternately, let's say I am the aforementioned Derpscout and this mob has specific adds to kill! Well it's a progression mob and I didn't know what the adds were called beforehand, but I'll manage! Here's the command setup I'll use - same as before, just target instead of assist really, and a new name:
    /alias targetMob:target %T

    When that add spawns I'll click on him and first thing I do is click on that /alias targetMob macro to lock it in! No need to type or anything, The instant I target him the first time I can save him to my targetMob macro for when he comes around again in another 45 seconds.

    Use Ability on Player...
    The last thing I wanted to cover with aliases was player temps, such as Gravitas, Bolster, RoA, Holy shield, etc... How can we we setup these buffs like the target macros?

    The first thing I do is research! I check the EQ2 Wikia once again, and sure enough I find the right command:

    /useabilityonplayer {player} {ability}

    So let's say I'm a Dirge, I do a lot of pugs and my group changes a lot in raid... Let's set this up for Gravitas! I want to be able to instantly set my Gravitas every time I join a new group, no need to type or anything.

    So I know the player will be %T, and the ability is Gravitas, now I really just need a name for the command... How about castGravitas?! *it is just saved as castGravitas in the images, but this is just to say you don't have to use the spell' actual name.

    /alias castGravitas:useabilityonplayer %T gravitas

    So I have my command, I set it to Derphealer and then I test it!

    So everything is looking great, but wait... Well bunny nuggets again! It doesn't show the reuse on my hotbars.

    Fortunately enough, it's an easy fix: Gravitas in a macro window has a target option, and if that target can't be found it gets ignored... So I'll just add Gravitas and put some dummy text in the target window!


    So now when I run it...

    Ta-da! It still performs the alias command since reuseDisplay can't be found, and it displays the reuse correctly.

    It doesn't even have to be gravitas, let's say I want RoA:
    /alias castRoA:useabilityonplayer %T Ritual of Alacrity
    /alias castBolster:useabilityonplayer %T Bolster
    And so forth, just replace that ability and find a better name maybe.

    Alias in review:
    As we looked at the alias commands, it took two macros / commands to use: one which will set the command, and the second to act on it. On top of this, you can use %T in place of a player name so that it's instantly changeable for new targets, even mid-combat. With a %T in the alias macro I just need to select a new person and click the /alias macro to change it.
    Prissetta, Grannos, Gharyn and 5 others like this.
  4. Katanallama Well-Known Member

    Alias Expanded!
    Bonus round on this, and a shout out to Gasparr on this. With most EQ2 commands, ; doesn't do anything or it just ends the command there - ; is a programming term for "STOP THIS LINE HERE!" Well, in aliases it makes it so we're not just making a simple command.... but a full macro set. In game, if you were to try something like. . .

    /alias holyshield:useabilityonplayer %T holy shield;tell %T holy shield up!;gsay Holyshield Down

    It will do three things:
    1: Cast holy shield on that person
    2: tell him / her it's up
    3: let group know it's down

    In addition to this, in your EQ2 folder if you add commands to eq2.ini in there - a file typically used for custom UIs - you can preset some alias commands... No slash is needed, we can add to this file to say default targets for our alias commands or even make shorter commands by default:

    alias mainassist:assist Derptank
    alias cal:togglecalendar

    Now when I launch EQ2 I can type /cal to open the calendar, and I'll already have a preset for my main assist button! If you don't have an eq2.ini file, it's easy to make one - just be sure you don't save it as a .txt! EQ2interface has a great write up on it.
    Moonfyre, Kinya, Dedith and 4 others like this.
  5. Katanallama Well-Known Member

    The AA Swapper!

    So this is mostly an example of how far you can push macros, but also a great utility. I play a Swashbuckler, and as such I find myself constantly swapping between the left and right prestige tree for different mobs. I hate opening the AA window, clicking the drop down, selecting the spec, committing it and changing my hotbars every time, so let's do this!

    So, here's what I want to do...
    Load my alternate AA setup (AE to Single Targ / Single Targ to AE)
    commit it!
    load hotbars that have all the AA abilities on it.

    Can we do it? Well let's find out.

    So I have a lot going on with this one, let's go ahead and break this into little chunks -

    #1: Load the correct AA:
    So I don't expect to find anything helpful on this topic from the wikia, let's go ahead and find it using the chat box. As we used earlier on the mount swapper, I'll just try different slash commands and press TAB in my chat window. /achievements? /aa? /alternate? Trial and error mode!

    So trying different commands out with tab, I get lucky on /aa and find some interesting entries:
    I know I got the right commands, profiles sounds right for what they'd name the aa specs server-side. /switch_aa_profile looks good, and when I try it in the chat window I get...
    /switch_aa_profile [personal/server] [profileid]

    Oho! Well AA profiles in the AA window have personal and server options, so after some tinkering I find...
    /switch_aa_profile personal 0-2


    Sure enough, I got the right command! So I know how to load up the different AA profiles, and/commit_aa_profile is plain enough, let's macro this business!

    After a little bit of research, trial and error I found out the commands to macro my AA swap, now it's time to get the hotbars situated!

    #2: Load the correct Hotbars:
    We're half way home on this! All i need is a way to manage my hotbars and I'm golden!

    So at this point I'm sure we get the gist of this whole process, I'm gonna sprint for the finish line

    I find the commands to save and load hotbars,
    /savehotkeys {name}
    /loadhotkeys {name}

    And sure enough, look at that!

    #3: Bringing it home:
    So, I got my AA junk figured out and I know how to load and save hotbars, time to put it all together. An important note on this, saving and loading hotkeys rarely plays nice with macros... With that in mind, here is the order I used for my setup:
    1: Come up with a name for your hotkey files -- one per AA spec, do NOT save them yet.
    2: In our AA swap macros, add that one's /loadhotkeys command.
    3: For the given AA you have up, lay it out however you'd like, but with one important note:
    4: Include the macro to load the opposite AA spec somewhere on your hotbars.
    5: /savehotkeys with your selected name
    6: Load the other AA spec and repeat 3-5.

    If done correctly, you should have something like this:

    If you notice too on there, I set a shortcut key up for that macro swap - I press 'N' on the keyboard and BAM! AA swapped, hotbars laid out, I just need to rebuff and I'm good to go in less than 30 seconds.

    The AA Swapper, in review:
    So yea! All that for two 3 line macros. Well, we did a quick /savehotkey command in there too, but it works and will save me a HUGE amount of time.

    I knew I wanted to swap AAs and my hotbars at the same time, did the research to find out what sort of commands I needed and took it from there: what commands went with the UI buttons, how did the commands work, trial & error. If you know what you're trying to accomplish, it's mostly up to finding the commands and figuring out how they work together.
    Prissetta, Kinya, Dedith and 4 others like this.
  6. Katanallama Well-Known Member

    Macros in Review
    So yea, there you have it! When it comes to macros we have our five basic types of commands:
    command line
    equip item
    use item
    player specific abilities
    no target / enemy target abilities.
    When we're trying to figure out a command, there are a few steps to figure out:
    What am I trying to accomplish?
    What sort of words are associated with the command / interface item?
    What words should I try in the chat box to find it?
    /{word} + TAB key

    What was the order for making macros?
    1: What are we solving?
    2: Research it!
    3: Find the required commands
    4: Learn these commands if we must
    5: Find out how to best group these commands
    6: Trial & Testing
    7: Repeat from step 2 if things break

    Any Icon, Any Background, the In Depth Guide to Macro Icons:
    To close on the whole macro-only section, I wanted to talk about the macro icons in depth since we're familiar now with the commands and workflow (hopefully). Because we can load and save hotkeys, and it saves as a file on your computer.... You can actually load the hotbars of another character. To put it simply, you can use spell icons from other classes on your character's hotbars.

    But it doesn't stop there, There is an amazing download available on eq2interface, featuring all available icons in game (I'll be darned if they're not all there). In addition to this, he even says how to customize it further.

    If you download his files, you can save them to your EQ2 folder and use /loadhotkeys to pull them up in game. Fair warning, save your current hotkeys before doing this.

    A HUGE thank you to Pooka on EQ2Interface for putting all of this up online and figuring this out...

    How icons work in game follows a pretty interesting formula, the simplest way to say it is:

    (background ID) * 65536 + (foreground ID) = Macro Icon's ID Number

    The 65536 number relates to the offset on the texture sheets or... something... 2^16. I'll take Pooka's word for it

    The background ID has to do with what numbers refer to each color:
    312 = green
    313 = blue
    314 = purple
    315 = red
    316 = orange
    317 = yellow

    The foreground ID is basically which icon it is? If you download those icon sets from Pooka, each hotkey actually tells you the foreground number. So! It's math time!

    I like the icon of the feet, the hotbar is telling me it's foreground ID is 303. I want to use this icon and make it...BLUE!

    Blue is 313, so I get my calculator out and math it out: (313 * 65536) + 303. I get the number 20513071, the icon ID for the feet icon with a blue background. Well that's great but what now?! In your EQ2 folder, open up which ever spell hotkey file you're on - spells3 for example - in notepad. You'll see a bunch of entries that look like this:

    0 0 macro 3997996 1 1 offset 300
    beginchatinput 300
    0 1 macro 3997997 1 1 offset 301
    beginchatinput 301

    The giant number on the top lines such as 3997996, 3997997, those are the icon IDs, we're going to replace one of them to say instead:
    0 0 macro 20513071 1 1 offset 300
    beginchatinput 300

    With the change now in, I save the file and /loadhotkeys again in everquest 2. If done correctly, that hotbar slot should now display a pair of feet with a blue background.

    I can then drag it into any macro I want, and go back to my main hotkeys file, it will still be in the macro window.
    Kinya, Dedith, Danejasho and 2 others like this.
  7. Katanallama Well-Known Member

    Just a small thread. . . I'll add the ACT parts tomorrow at some point.
    And oh yea, also a section on some lag control :)
    Avahlynn likes this.
  8. oranges Member

    Nice thread, quick question: Regarding the reuse timer display, is it at all possible to show the reuse on a clickable item being macroed? Eg. I want to macro The Bell Tolls or Killing Chamber and still see the recast on said item.
  9. Katanallama Well-Known Member

    I would love to have items not grey out while casting and for items to be treated like abilities in the macro step - set as primary to have that macro icon show a specific item's reuse. Sadly, I do not currently possess the wizardry to fool a macro into displaying an item's reuse timer.

    Here's an image at least of the current ACT method, which I'll cover in my essay of a thread tomorrow lol. Basically I use dummy commands to trigger specific ACT timers.

    Kinya and Danejasho like this.
  10. Avahlynn Well-Known Member

    Thanks for this! It'll be a great reference to go to time and time again for me, I'm sure.
  11. Thalador Active Member

    Awesome tips dude
  12. Katanallama Well-Known Member

    Utility macros
    The last section for macros is the utility aisle! This is really just a short section on making setting buttons and hotbarring potions.

    Attacking lag:
    There's a lot of stuff going on that adds to your lag, and fortunately there are two options in game to help it out before you start turning your logs off or closing ACT. The first setting is combat filter, which actually tells the server not to send you certain bits of data if I recall correctly from my conversation with Maevianiu at SOE Live. The other is to manually set the particle priority, which lets us go past the intended settings and remove every single particle.

    we have four number settings for this command:
    /combat_filter 0 . . . . . . . No filtering on combat data
    /combat_filter 1 . . . . . . . Limit combat data to only you
    /combat_filter 2 . . . . . . . Limit combat data to your group
    /combat_filter 3 . . . . . . . Limit combat data to your whole raid

    In addition to this, it is actually possible to remove every particle with a command trick:
    /r_particle_priority -1 . . . . . . .Remove ALL of the particles. EVEN RED CIRCLES!
    /r_particle_priority 1 . . . . . . . Restore particles!

    What do we do with these? Macros! Macro ALL the things! I have a macro setup for each individual option on a utility hotbar. It does eat up 6 hotkey slots, but I have all 10 hotbars open anyways, 6/120 isn't too bad when it means instant access to lag fixes.

    [paid advertising] Attacking Cuteness [Brought to you by: Splitpaw.Errorrr and #Duckmount]

    Sometimes it can be a pain in raid to have giant enemies - it becomes hard to see the room, hard to see adds or even positioning. This is not to say that giant, epic bosses are bad but sometimes we need a little bit of assistance with this. Well, if you use /cutemode3 in game it shrinks most bosses and your raid, making the room and positioning that much easier.

    That section nobody thought we'd get to

    If you don't have the Advanced Combat Tracker, it really is an amazing tool for improving your play and tracking others, as well as timing enemy AoEs. It's features allow us to see how good items and abilities perform on certain enemy encounter, and even add triggers with audible feedback and custom timers. I am not going to cover much about setting up ACT or the basics of enemy AEs, but rather on personal triggers and timers for our own added utility.

    The Trigger Tab:
    Triggers are amazing, this section of ACT let's us define what to look for in our logs and what to do once something is found. We're casting nets with this trigger window.
    There are a few important sections to this window for the individual triggers, as well as timers which we will get into in a moment.

    Custom Trigger: That entire line has to deal with the audible response to when an item is triggered. No sound? A beep? A custom audio file from your computer? Or even a Text To Speech (TTS). This will say something the moment it is registered in ACT.

    Regular Expression: This is our net, what phrase are we looking for in our EQ2 logs? It goes so much more beyond this, but I will save that for a later section.

    Category: Grouping! You can use custom group names, Zone names or even Mob names. It also helps to only track certain triggers / disable certain sections to save a little bit of processing power.

    Timer or Tab name: How we link it to a timer. With "Trigger Timer" checked, we're telling this trigger to activate that specific timer.

    The timer window:
    The easy way to access your timers window is to click on "Show Timers" in the top right corner of ACT, and then to right click on the new pop up window on your screen.
    Again, the important things:
    AE/Skill/Custom Trigger Name: what's the name of this timer? If liked to a trigger, this is the same as the Timer or Tab name from the trigger window.

    Timer period in seconds: How long will the timer go on for in seconds?

    Warning point in seconds: Do you want warning at a specific time in this setup? At how many seconds left?

    Remove timer from view at: Can set precisely when a timer will vanish if needed, I usually leave it as 0.

    Show Radial Timer Display: For my needs, I actually uncheck this option. For utility timers I prefer the bar graph

    Display in Panel (A/B): Did you know that ACT has TWO timer windows? Yea, I totally send all of my utility timers to the B panel.

    Category: Grouping again, same as before!

    Custom Timer Start / Warning Sound: Set custom TTSs or audio files for warnings

    Custom Tooptip: If you click on that colored box to the far right, you can change what color the timer will display as!

    Global Settings: Where you enable the B panel at!

    Just a few options, right?
    Kinya, Dedith and Danejasho like this.
  13. Katanallama Well-Known Member

    Diving in: The Charm Tracker
    So I might have cheated a little bit on this, as I've already shown one of the image sets that goes with this but let's start from the beginning!

    I use the Aerakyn Novelty card, so let's go ahead and take a look at it!

    Darn that's a hot charm, for 18 seconds it does nothing with a 2 minute recast, perfect! Okay I might have edited it a little bit, but when we attack the charm trackers I don't really care about the effect: I just want to know how long it's up and what the reuse timer is.

    Knowing that I'm tracking the duration and the reuse, I'm going to need two timers, which also means two triggers.... and two unique EQ2 inputs... yay.

    So there's two ways to attack this, I'll go ahead and do the long way because I'm a masochist (evidence: I wrote this entire thread by myself).

    Well if I want to capture an EQ2 event in ACT, I need a trigger... Do charms cause any text on there own? Of course not, figures. Let's make a macro! We love macros. With a macro I can now add dummy text for ACT to catch, so I'll add my two trigger phrases, /charmrec and /charmsin.


    So now that I have my dummy text in there, I can make two ACT triggers! In the first trigger, I am going to set the Regular Expression to look for charmrec and trigger the timer charmrec, while the second will look for and trigger charmsin.

    Next, the Timers window! I need two timers, the first one is charmrec:
    Charmrec is tracking my recovery time, so the time period is 120 seconds.
    I want an added level of awesomeness to this, so I'll add a warning at the 11 second mark.
    ----> Down at the bottom, I add a custom warning sound saying "tts [charms up in 10]" - my computer will SAY when my charms are about to be up for me - no more staring.
    I make sure to uncheck Show Radial Timer, and make sure I display it in Panel B.
    I go a little bit fancy, and I set the Custom Tooltip to a soft red
    Now I just make sure that the Panel B is visible in the global settings!

    charmsin is easy, it's only 18 seconds long, I don't need any warning, and I use the same display settings.
    The only real change is maybe I use a cyan tooltip instead.

    So! I have the macro, the matching trigger in ACT, and the matching timer... let's see here...

    Yep! It works!

    So, the steps to this were:
    1: What charm am I tracking? What is it's duration / reuse?
    2: Macro it! Add a dummy text for ACT to track, one for the duration (if applicable), the second for reuse.
    3: Make two triggers in ACT, one for each that are linked to their own timers.
    4: Make two timers with the same names used in the triggers
    5: Set my fancy custom warnings / colors as desired, and enjoy!

    But, if you remember right... I took the hard way. Well, there might be a way to trigger a timer directly from in game....
    /act timer {name}

    If I change my in game macro to instead say /act timer charmrec and /act timer charmsin, it bypasses the triggers step and goes right to the timer.

    With this setup, it's just
    1: What charm am I tracking? What is it's duration / reuse?
    2: Macro it! call out the ACT timers, one for the duration (if applicable), the second for reuse.
    3: Make two timers with the same names used in the eq2 macro
    4: Set my fancy custom warnings / colors as desired, and enjoy!
    It might only be one step out, but we are removing a trigger, something that endlessly scours the chat logs until you disable it.
    The Scary Stuff: Tracking Debuffs / Abilities
    So there are times in EQ2 where it'd be nice to have near-perfect precision on certain ability chains, or even just to make sure I maintain my one specific buff. Fortunately, ACT can help!
    Cadence of Destruction and RO
    The first example I'll take is a proper RO, I sometimes dirge it up and I want to get the most out of it. Well, beyond the easier things like holding off on auto attack.. I want to cast RO at the perfect moment after I use Cadence of Destruction, a temp buff that adds potency over time.
    So where do I start? Well sure enough, research! That nasty word.
    Cadence of Destruction lasts for 30 seconds, taking .25 seconds to cast if max cast speed, and RO takes afull second to cast with a duration of 12 seconds...
    This is the information I need: the moment I press Cadence, I want to be casting RO right before the 15 second mark - I'm playing it safe here and giving myself an extra second or two at the end for latency variances. So, in my Cadence of Destruction macro I'll call the timer directly!
    EQ2 Cadence of Destruciton macro:
    /act timer rocountdown
    rocountdown timer:
    Timer: 15 seconds duration
    warning at 5
    warning text to speech: RO soon!
    So, sure enough, I get this:
    I also added a timer to track RO for me, but yea! ACT is keeping track of it quite nicely.
    Eliziana, Kinya, Dedith and 1 other person like this.
  14. Katanallama Well-Known Member

    Traumatic Swipe
    I play a swashbuckler, and as a rogue it's vital to keep up Traumatic Swipe on most nameds... Well, let's make ACT remind me!
    This starts to get into the whole regular expression stuff, which can be quite complex, but for most debuffs I can get away with some simple expression work.
    ACT's triggers are pretty cool, they can actually capture variables!
    In the regular expression, I can type in: (?<name>.+) - which basically will say "Capture something here and save it for later!" This is called a variable, it can be a number, a word, or even a group of words, ACT is saving it for later use.
    Now, in my Custom Trigger I can set it to TTS and add: ${name} to have ACT call out that variable. The format is different, but the name part stayed - so I can have multiple variables, such as:

    All I need to know is that one format saves the variable, the other calls it.
    In addition to this, I need to catch whether or not it was a crit hit, as I might not always crit on a mob - low stats, wrong gear by accident, missing mount buff, what ever it is, I want to be safe!
    I look it up, and an either / or checker is listed as (option 1|option2|option3) - We're telling ACT to only accept these specific words / word combinations in this location of the text.
    So now then, where do I start? For debuffs I can just use a training dummy, why not!? I go to my guild hall, I load up a dummy, and I cast Traumatic Swipe on the dummy and stop attacking instantly. In the chat window, if I find the combat section for outgoing damage I now see something like this:
    [99:99 PM] YOUR Traumatic Swipe critically hits training dummy for 831717414 piercing damage.
    [time stamp ] YOUR [ability] critically hits [enemy] for [number] [dmg type] damage.
    If you do not have combat set to show in here but logs are turned on, you can open your logs found somewhere around EverQuestII/logs/server/character.txt and find it in that word document.
    anyways, I don't care about all of that text, I just care about:
    YOUR [ability] critically hits [enemy] for
    So, I have my ability: Traumatic Swipe, I know what the crit text is: critically hits, the default hit is just: hits,who is the enemy? and the word for - this word is important, without it that variable search (?<name>.+) will save the entire line as the name. Essentially, I'm tracking the word 'for' to tell ACT where the enemy's name ends in the text.
    The regular expression?
    Traumatic Swipe (critically hits|hits) (?<name>.+) for
    I want it to call out who I just cast swipe on just in case, so I'll also throw in a TTS Custom Trigger up above saying:
    ${name} swiped
    All that's left is to create my Timer and I'll have the ability to track Swipe in ACT's Timer window instead!
    So why ACT for this? It shows in the Maintained and all that junk in game... Well, the benefit of this setup is that I have audible confirmation now that my ability landed, and on top of that I can use that warning setting to remind me to recast Swipe if I forget!
    ACT in review
    So yea, I hope this ACT section is helpful. If we want to track certain abilities or items in game it's more than possible through ACT, and we have the extra benefit of adding audio- let our computer tell us when the charms are about to be recastable, or a remind us to cast that important debuff.
    If we're going directly to a timer, /act timer {name} will tell ACT to start a specific timer
    Or, if we're tracking a debuff on a target, we can use triggers as a middleman to catch specific combat data such as who was debuffed.
    More than anything, it's just about figuring out what we want to do:
    What are we tracking?
    Is there text? What is it or how could we name it ourselves?
    Do we need a trigger or can we go straight to a timer?
    What do we want the trigger to catch?
    What customizations can we do to make it easier on ourselves?
    Extra note, trouble shooting:
    So this isn't something I touched on, but there IS a delay between EQ2 writing the log file, ACT parsing it, and ACT displaying it on timers... A general rule of thumb is to just take one second off of any spell duration you are tracking. Swipe, for example, is up for 30 seconds - I saved it in my timer as 29 seconds.
    I would rather ACT be a half second ahead of EQ2 than behind it.
    Kinya, Dedith and Danejasho like this.
  15. Katanallama Well-Known Member

    The Finish Line!
    We made it! *Cheer*
    I know there is a TON of material in this thread, but I wanted to make sure it had the detailed step by step approach so that readers could hopefully learn something from it. And I did write this whole thing myself, so hopefully it's not too bad, if you do have a question on anything please feel free to ask, I'll try my best to help.
    And don't be afraid to post your own ideas / tips! This is a forum after all, let's hear your thoughts and ideas.
    Macros and ACT are awesome!
    Prissetta, Kinya, Dedith and 3 others like this.
  16. Danejasho Member

    Really good information, thanks so much for documenting on the forums.:)
  17. Rotherian Well-Known Member

    Nice. I'm going to request that this thread be stickied (although I'm not sure if that is really a word - Chrome doesn't seem to think so :oops: ).
    Enric_of_Neriak likes this.
  18. Enric_of_Neriak Member

    ^ I second the above comment. This is very useful information. Just the AA macro set-up walk through by itself makes this post invaluable.
    Prissetta likes this.
  19. Rotherian Well-Known Member

    Sticky request sent.

    (By that, I mean the request for them to sticky this thread, not any other possibly embarrassing interpretation. o_O )
  20. Katanallama Well-Known Member

    I don't want to be sticked, there are typos!!! :(

    I'm glad people are finding use out of this, thanks!