Skip to content

Triggers

A trigger watches every log line for a pattern and, on a match, can show alert text on the Event Overlay, speak via TTS, start a countdown/countup timer bar, and count matches. The model is a 1:1 port of EQTool's, so trigger behavior matches what EQTool users see; the workflow will feel familiar to GINA users too.

Create and edit triggers in the Trigger Editor; a library of built-ins ships with the app.

The fastest way to make one

Right-click the line in the Console and pick Create trigger from this line…. The editor opens with the search text, display text and test line already filled in, with the character name and a leading mob name turned into {c} and {name} tokens so the trigger fires again next time. Full details, including when no token is offered, are in Create a trigger from a log line.

Search text

  • Plain text (default): a case-insensitive substring match against the log line (without its timestamp).
  • Regex: full regular-expression matching. EQ names can contain backticks and spaces, so name-shaped captures should allow them.

Tokens

Tokens work in the search text and in outputs:

Token In search text In output text
{c} / {C} Your current character's name (updates when you switch characters) Your character's name
{word} (any word) Becomes a named capture matching an EQ name — letters, digits, backticks, spaces The captured value from the match
{COUNTER} The trigger's current match tally

Example — a tell alert:

Search text:  {sender} tells you, '{message}'
Display text: Tell from {sender}
TTS text:     {sender} tells you {message}

Example — counting with {COUNTER}:

Search text:  You have slain {npc}
Display text: Kill #{COUNTER}: {npc}

Outputs

Each trigger can combine any of:

  • Display text — shown large on the Event Overlay in a chosen color (Red, Yellow, Gold, Orange, ForestGreen, SteelBlue, MediumPurple, White), auto-cleared after the alert duration. It is shown exactly as you typed it — no markup, no formatting characters — and long text is shrunk, then scrolled, rather than cut off. If it starts with a short name and a separator (Gorenaire — ENRAGED), that name is drawn as a small gold label above the headline; see how alert text is laid out.
  • Audio — text-to-speech of a separate (usually shorter) phrase, with an optional interrupt speech flag that cuts off any in-progress announcement so this one is heard right away (TTS).
  • Timer — a CountDown or CountUp bar on the Event Overlay (and a row in the Custom Timers section of Spell Timers), with:
  • duration and bar color
  • restart behavior when the trigger fires again mid-timer: start a second timer, restart the running one, or do nothing
  • optional timer ending / timer ended alerts (text and/or speech) — e.g. "10 seconds left on your camp timer"
  • Counter — tallies matches for {COUNTER}; the tally restarts with the trigger.

Zone gating

Triggers can be restricted to specific zones, so a Plane of Growth trigger never fires from someone quoting the emote in the Commonlands. The built-in encounter triggers ship zone-gated.

Character scope

By default every trigger fires for every character. Scope one to specific characters — choose them in the Trigger Editor — and it fires only while one of those characters is logged in: no CH-chain alerts on your warrior, no FTE calls while leveling an alt. Enabling and disabling is automatic as you switch characters, and the default built-ins stay global. The scope is per install and is cleared on export/import — it names your own characters, which mean nothing on someone else's machine.

Sharing triggers (export & import)

Triggers travel as plain JSON files, so you can share them with friends and guildies or keep themed packs around.

Export (Trigger Editor → Export…) writes what's selected in the tree: a selected trigger exports alone, a selected folder exports its triggers, and with nothing selected everything exports. Unmodified built-ins are left out — every install already has them — but built-ins you've customized are included.

Import (Trigger Editor → Import…) reads:

  • nParse+ trigger files (.json) — the format Export writes.
  • GINA trigger packages (.gtp, or their raw XML) — groups become categories, {S}-style tokens and timers carry over as-is. Sound files, clipboard actions, and phrase modifiers are skipped; see Migrating from GINA.

Imported triggers arrive as your own editable copies (never merged into the built-in library), duplicates you already have are skipped, and nothing is kept until you click Apply / Save.

A hand-crafted pack is just JSON — an object with a "format": "nparseplus-triggers" key and a "triggers" list, or even a bare list of trigger objects.

Tips

  • Grab exact log lines from the Console and use the Trigger Editor's test box to check matches before saving.
  • Not sure which trigger just went off? The Trigger Editor's Activity tab logs every fire with its name, folder, and the line that caused it — double-click a row to open that trigger.
  • Coming from GINA? See Migrating from GINA for a concept mapping ({S} → captures, Timer Behaviors → restart behavior, and so on).