Useful custom triggers for ACT/Rift!

October 28, 2011

Hello everyone, some people have asked me about the custom trigger feature of Advanced Combat Tracker (ACT), so I thought I would write a quick guide on it and share some of my personal triggers I find super helpful!

Bluedots also have an excellent guide on ACT triggers as well, you should check it out also if you can!

Introduction (skip if you know what ACT and triggers are)

Advanced Combat Tracker is an alternative to Riftjunkies or Xanadu parser. It is a more polished, developed DPS meter with more features than just being a DPS meter. It has the ability to create custom triggers, which is the topic of this guide.

If you are not sure how to install ACT, check out this guide here on Bluedots.

Once you have ACT installed, you will want to head to the  Custom Triggers Tab. Make sure you have /log and /combatlog enabled in Rift or these triggers won’t work.

What is a trigger? A trigger is something that can capture a text in game and produce a sound (either a beep, .wav file of your choice, or TTS- Text To Speech). For example, if I say “I just dropped a cake!” in raid chat, a trigger can be programmed to recognize what I just said and put out an alert in the person running ACT.

Why use a trigger? Sometimes, the screen might be too busy for you to read a certain white text on the screen, having ACT calling something out can save your butt sometimes! Also, if you are like me, you prolly have multiple tabs filtering different chat channels. Stuff like zone event announcements, tells, auction items sold can be missed!

Log vs Combat log: /combatlog in Rift mostly collects data about stuff like DPS and HPS. All other chat messages usually go through /log. Make sure both of these are on.

Creating triggers 101

Setting up triggers is very simple. Take a look at this screenshot here.

Step 1: In the window next to Regular Expression, You see the following .*?A Very annoying attack hits Sess.*

Anything in blue can be replaced with whatever text you want but the stuff in red must be present in your trigger!  (.*? is a regular expression and means match any character from 0 to infinite times. This means ACT will pick up this trigger phase even though it is part of a much longer sentence).

.*?REPLACE ME.*   (use this as a template)

Step 2: Once you have enter whatever text you want into that window, take look at the Custom Trigger section. There are a few options you can select, None (no sound), beep, .wav (custom .wav file in your computer) or TTS (text to speech). I typically use text to speech but if there is a sound file you like to use then this is the place to select them.

Step 3: Next you see the field called Category – Type a category here to organize your triggers or be lazy and use General as your category.

Step 4: Make sure Restrict to category zone is unchecked, this option does not work well in Rift.


Step 5: This part is a bit complicated so pay attention!

Triggers can create a timer with a fixed duration that ticks up and disappears when the time expires unless the trigger is triggered again. Say Boss X cast a spell called Fireball every 60 seconds and everytime he cast that fireball, he emotes “I am casting a big fireball!”. You will want to to tick the box called Trigger timer and put a name under Timer or Tab name (i.e. Fireball). I will show you how to config the timer window in a minute.

Other triggers do not need a timer and you simply want to know how many times it occur for example within a certain time. This is where the Results tab come into play. Say for example you want to keep track of all the zone events when you are logged into the game. You can create a trigger for zone event announcements and have a tab that would filter all the zone event stuff into a tab so you can tab over and see which event you might have missed or ongoing. If this is the feature you desire, check Add Results Tab and put a name under Timer or Tab name (i.e. Zone events).

Step 6: Click Add/Edit. remember everytime you make a change to your trigger, you need to press this button to make sure the changes are saved.

Triggers that store data

Lets take the zone events example, you want to keep track of all the zone events and have ACT calls out when a zone event occurs so you don’t miss it.

You want to put this into the regular expression window (erase everything in there and just paste the following into the input window).

.*The zone event \[(?<event>.+?)\] has started in \[(?<zone>.+?)\]!.*

Typically, zone events are announced in level 50 chat as the following manner.

The zone event [Forest King] has started in [Stillmoor]!

The trigger basically recognizes The zone event […] has started in […]! text in the level 50 chat and create an alert.

Now the interesting part, this trigger can store data. Forest King is stored as event and Stillmoor is stored as zone. Both event and zone are arbitrary names, you can call them dogs and cats if you wish. You get to decide! (note that [ and ] are special chars so we have to use \[ and \] for them respectively).

What are these data stored? Remember when I said for these triggers, you need to check Add Results Tab and put a name under Timer or Tab name?. When you do that, modiify the custom trigger settings and click on the Add/Edit button, you will see a new tab being created. This tab will have whatever name you decided to put under Timer or Tab name.

Here is the full trigger for you viewing.


If you click under the tab Zone events, you will see this.


Now for another example, this time something different. This is the trigger to alert you to a tell and store it in a tab in ACT.

\[NCL\]\[(?<player>.+?)\] whispers: (?<message>.+)

Tells are done in this manner: [player] whispers: message

We start off with \[NCL\]\[(?<player>.+?)\] rather than .* as in the previous example because this time we know this kind of sentence always start off with [player]. There is nothing that comes before [player] so there is no need to put .* in there to match any text that comes before [player] as there is none.

\[NCL\] is needed because ACT reads the non combat logs as [NCL][player] whispers: message so we needed to put the [NCL] there.

Alternatively, if you prefer the way we did it earlier, this trigger will work too!

.*\[(?<player>.+?)\] whispers: (?<message>.+)

Note what is different from last trigger is the lack of ? in the .+) at the end. ? means to match the preceding character 0 or 1 times only and if we put ? in as in .+?) the tells we get in act would have only 1 character.

In general, if you suspect there might be an empty space, put a ? in there. If you need to match /capture something, put .+

So for example, if you suspect there might be a space between [ and player, you put [?<player>

You need to capture whatever is inside the brackets to <player> so you put .+ after <player> and then you need ? as there might be a space to the ] symbol.

A lot of the expressions here seems confusing. It is very confusing to me too. To get a good understanding of it, you need to know regular expressions, which is something beyond me at this point! Hopefully this will help you out a bit!

Expression What it means
? The ? (question mark) matches the preceding character 0 or 1 times only, for example, colou?r will find both color (0 times) and colour (1 time).
* The * (asterisk or star) matches the preceding character 0 or more times, for example, tre* will find tree (2 times) and tread (1 time) and trough (0 times).
+ The + (plus) matches the previous character 1 or more times, for example, tre+ will find tree (2 times) and tread (1 time) but not trough (0 times).
. The . (period) means any character(s) in this position, for example, ton. will find tons, tone and tonneau but not wanton because it has no following character.

Triggers with timer window

Sometimes you might be interested in the emote that a boss mob make when they use a special ability. Soulrender’s Grasp in Hammerknell is a good example. Whenever he emotes "Soulrender Zilas surges with the power of Death!", he is about to cast his beam of death. The time between each emote is exactly 60 seconds. Knowing this, you can create a trigger with a timer for this.

First, you want to copy this into your regular expression window.

.*?Soulrender Zilas surges with the power of Death!.*

Next, setup the rest of the trigger as follows.


Now go to Show Timers at the top right of the ACT window. A window called Spell Timers will pop up.

Right click it, this window will pop up.


Under AE/Skill/Custom Trigger Name, put in exactly the name you put under Timer or Tab name (i.e. Soulrender grasp in this case).

Under Timer period in seconds, put in 60.

Under Remove timer from view at , put in 0.

Under Show radial timer display, uncheck it (this will save space, especially if you have multiple timers running at once.

Under Category, enter a category, this does not have to match the category for triggers.

You can adjust the timer start sound, warning sound etc.. at the bottom.

Here is what the triggers will look like once they are trigger in the soulrender fight! Second pic shows when it goes below 10 secs.


I am lazy, I don’t want to make my own triggers, I want to import/export them!

Export single trigger: This is simple, you just right click on your trigger and click on “Copy as sharable XML” and paste it on a web page or something.


Export all triggers:  Go to options tab, click on Configuration Import/Export and then click on Export.


Check off the stuff I checked off below and click on Save.


This will save all the triggers/timers as a XML file which you can upload and share with your friends!

Import a single trigger: Go to options tab, click on XML share snippets and then paste the trigger you copied into the white space there and click on import above data.


Import a lot of triggers : Download the XML file containing all the triggers, then go to Options, click on Configuration Import/Export and then click on Import and select that XML file.


Useful triggers!

Zone events – alert you to zone events by playing a TTS sound (OMG zone event). You can edit the sound if you like. There is also a tab called Zone event that will keep track of them.

<Trigger R=".*The zone event \[(?&lt;event&gt;.+?)\] has started in \[(?&lt;zone&gt;.+?)\]!.*" SD="OMG zone event" ST="3" CR="F" C="General" T="F" TN="Zone events" Ta="T" />

Tells – keeps track of the tells you get and put them into a tab call tells.

<Trigger R="\[NCL\]\[(?&lt;player&gt;.+?)\] whispers: (?&lt;message&gt;.+)" SD="${player} whispers ${message}" ST="0" CR="F" C="General" T="F" TN="tells" Ta="T" />

Auctions – Keeps track of your auctions in a tab called AH (courtesy of Bluedots)

<Trigger R="\[NCL\]Your auction item \[(?&lt;item&gt;.+?)\] has been sold\." SD="${item} sold" ST="3" CR="F" C="General" T="F" TN="AH" Ta="T" />

For more triggers, including specific ones for certain fights, please refer to Bluedot’s guide here (scroll to the bottom)


  1. […] Read this guide here […]

  2. can you help me with a trigger for ember island RR? look for words like LFM,T2rr etc?

  3. would it be possible to update this since the new ACT update? none of my 20+ triggers work anymore 😦

  4. Can anyone help with this

    I thought I should see only like False Shark in the “fish” tab but instead i get the full blown :[NCL]You received;[False Shark] where did I get it wrong ?

    • sorry this was left out

  5. “”

  6. https://dl.dropbox.com/u/18674078/trigger.txt
    This is my trigger , sorry tried to paste it in.

  7. I’m gone to inform my little brother, that he should also visit this webpage on regular basis to get updated from hottest gossip.

  8. I like the helpful info you provide in your articles.
    I will bookmark your weblog and check again here frequently.
    I’m quite certain I’ll learn many new stuff right here!
    Good luck for the next!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: