Actions

Difference between revisions of "Triggers"

From Iron Realms Nexus Client Documentation

 
(34 intermediate revisions by 2 users not shown)
Line 13: Line 13:
== How to Create a New Trigger ==
== How to Create a New Trigger ==


This page we will demonstrate how to create a new trigger and explains the various settings.  
Triggers are a reflex. They are created and managed from the Reflexes tab in the settings window. To open the settings window, click on the gear icon [[File:Settings_icon.jpg|text-bottom]] in the lower right part of your main game screen
 
Examples of triggers are linked at the bottom of the page. These examples will help you better understand triggers.


=== Step 1. Open the settings page and click the 'Reflexes' tab. ===


=== Step 1. Open the settings page and click the 'Reflexes' tab. ===
To create a new trigger, open your settings window by clicking on the gear icon [[File:Settings_icon.jpg|text-bottom]] in the lower right part of your game screen. This will popup a new window in your browser.  


Reflexes is a term for all of the settings used to automate the game experience. In order to create a new trigger you must first click on the 'Reflexes' tab as shown in the image below.
In the settings window, click on the 'Reflexes' tab as shown in the image below.


[[File:tab-reflexes.png]]
[[File:tab-reflexes.png|frame|center|Setting window displaying the reflexes tab.]]


=== Step 2. Click the 'Add' Button and select 'Add a Trigger'. ===
=== Step 2. Click the 'Add' Button and select 'Add a Trigger'. ===
Line 28: Line 27:
There are several different reflexes you can create. We want to create a trigger. In order to do this, click the 'Add' button located in the left pane and then click on 'Add a Trigger'. This will create a new, undefined trigger.
There are several different reflexes you can create. We want to create a trigger. In order to do this, click the 'Add' button located in the left pane and then click on 'Add a Trigger'. This will create a new, undefined trigger.


[[File:Trigger-create.png]]
Should you want to delete a trigger, you can select the trigger from the list, and then click the 'Remove' button.


[[File:Trigger-create.png|frame|center|Example of creating a new trigger.]]


=== Step 3. Triggers Options ===
=== Step 3: Triggers Options. ===


There are two main sections of a trigger setting; '''Matching''' and '''Actions'''.
There are two main option sections for triggers; '''Matching''' and '''Actions'''.
 
'''Enabled''' This checkbox marks if the trigger is currently being used by the system. If unchecked, this trigger will not be used.


'''Matching''' is used to find the text you would like to use for this trigger. When the game sends text to your character that matches, it will automatically send the action defined below it.
'''Matching''' is used to find the text you would like to use for this trigger. When the game sends text to your character that matches, it will automatically send the action defined below it.


'''Actions''' what will happen when the trigger matches text from the game. Actions can be used to automatically send text to the game, highlight you want to stand out, create complicated functions, and other things.
'''Actions''' is what will happen when the trigger matches text from the game. Actions can be used to automatically send text to the game, highlight you want to stand out, create complicated functions, and other things.


[[File:trigger-blank.png]]
[[File:trigger-blank.png|frame|center|This is a blank trigger. It will not do anything until you add text to match and an action to do when that text is matched.]]


 
== Matching Options Explained ==
==== Matching Options ====


Matching is used to find text sent from the game to create an action for. You can match entire lines of text, single words, partial lines, and lines of text with variable words.
Matching is used to find text sent from the game to create an action for. You can match entire lines of text, single words, partial lines, and lines of text with variable words.
Line 50: Line 51:
There are five options for matching text.
There are five options for matching text.


===== Trigger Text =====
=== Trigger Text ===


This field is required and contains the text to match.  
This field is required and contains the text to match.  
   
   
Examples:
Examples of Trigger Text:
* You have recovered balance.
* You have recovered balance.
* You have recovered
* You have recovered
Line 60: Line 61:
* You have recovered balance.
* You have recovered balance.


This works hand in hand with the 'Matching Type' option. See below.
This works hand in hand with the '''Matching Type''' option. See below.
 
You can match text that may not always be the same using regular expressions. For example, you may want to match 'Jeremy enters from the north.'. However, maybe the name or the direction is not always going to be the same. This is more complicated and you can review the examples at the bottom of the page for more information.
 
===== Whole Words Only =====


If checked, the trigger will only match whole words.
==== Wildcards in Trigger Text  ====


For example:
This is a very powerful feature in the Nexus client that you will want to understand.


You create a trigger with matching set to 'You have recovered bal'.
There are times when you'll want to use wildcard matches in your triggers. Most messages you will want to trigger will vary slightly. Character names, item number, and more.


In this case, if the game sends the text - You have recovered balance. - it will NOT match, because 'balance.' is a different whole word than 'bal'.
For example, let's say someone is entering the room you are in.


If I uncheck 'Whole words only', then the trigger would work.  
You can the name in <>'s to allow the trigger to fire. You can also assign the name to a variable. If an example line is ''Jeremy enters from the north'', you could configure your trigger to match on ''<person> enters from the <direction>''. As an added bonus, you can then use @person and @direction as variables in the trigger actions.


In almost all cases you will just want to keep 'Whole words only' turned on and be sure to include the full trigger text. Remember that whole words are separated by spaces and punctuation is considered part of a word.
These simplified triggers do not work with regular expressions, and if using this advanced feature, you'll want to ensure that you're using the correct syntax.


===== Case Sensitive =====
[[WildcardMatching|Here is a full example of a basic wildcard match.]]


If checked, capitalization must match.
=== Matching Type ===
 
For example, if checked, 'You have recovered balance' is not the same as 'You HAVE reCOvered balance'.
 
If unchecked, the example above will work.
 
===== Trigger Name =====
 
(Optional) The name of the trigger. The name is an identifier that will show up in your list of triggers. It is not required for your trigger and has nothing to do with the actual operation of the trigger.
 
===== Matching Type =====


There are four options for matching text.
There are four options for matching text.


* Contains: This will match any line that has your trigger text in it.
* '''Contains''': This will match any line that has your trigger text in it.
* Begins with: Will only match a line that starts with your trigger text in it.
* '''Begins with''': Will only match a line that starts with your trigger text in it.
* Exact match: Will only match a line that matches exactly like your trigger text.
* '''Exact match''': Will only match a line that matches exactly like your trigger text.
* Regular expression: This will match any regular expression patterns. This is advanced, but good to learn.  
* '''Regular expression''': This will match any regular expression patterns. This is advanced, but good to learn.  


In most cases you will want to use 'Contains' unless you have more complicated situations.
In most cases you will want to use ''Contains'' option unless you have more complicated situations.


=== Whole Words Only ===


==== Action Options ====
If checked, the trigger will only match whole words.


Once you have matched text from the game, you will want to send an action back.  
For example; you create a trigger with trigger text set to 'You have recovered bal'.


[[File:trigger-actions.png]]
If the game sends the text - You have recovered balance. - it will '''NOT''' match, because 'balance.' is a different whole word than 'bal'.


If I uncheck 'Whole words only', the trigger would work.


There are eight different action options.
In almost all cases you will just want to keep 'Whole words only' turned on and be sure to include the full trigger text. Remember that whole words are separated by spaces and punctuation is considered part of a word.


===== Send a command =====
=== Match Case ===  
This is the most basic and commonly used action. The trigger will automatically send text back to the game.


[[File:action-send.png]]
If checked, capitalization must match.  


For example, if checked, 'You have recovered balance' is not the same as 'You HAVE reCOvered balance'.


===== Show a notice =====
If unchecked, the example above will work.
The action will just display a notice using whatever colors you choose. Typically players use these to get something to pop out at them so they know it has happened, but they may not want to automatically respond.


[[File:action-notice.png]]
=== Trigger Name ===


(Optional) The name of the trigger. The name is an identifier that will show up in your list of triggers. It is used for organizing your triggers. It is not required for your trigger and has nothing to do with the actual operation of the trigger.


===== Wait =====
== Action Options Explained ==
The wait action is usually used in conjunction with other actions. In the example below, we wait 3 seconds and then attack the rat.


[[File:action-wait.png]]
Once you have matched text from the game, you can initiate a single action, or a series of multiple actions. Actions will fire in the order they are listed.


[[File:trigger-actions.png]]


===== Hide the line =====
Above is a simple example of three separate actions that will happen when a trigger fires.
You can also opt to just hide any line that matches you trigger. Sometimes this is good for text that you see over and over again and are tired of reading.
 
This is also refereed to as a gag or gagging.


[[File:action-hide.png]]
=== Simplified Scripting ===


The Nexus client allows for fifteen different [[SimplifiedScripting|simplified scripting]] actions. In most cases instantly returning a command is the best option. However, the Nexus client will allow you to loop through commands, use if statements, wait commands, highlight text, and much more.


===== Highlight =====
All of these options, with full explanations and examples can be found here: [[SimplifiedScripting|simplified scripting]].
This will highlight the text you have matched. There are more options here to highlight the text around the trigger as well.


[[File:action-highlight.png]]
=== Advanced Scripting ===


 
There are two main [[AdvancedScripting|advanced scripting]] options. You can ''Call function'' or you can ''Execute script''. Both options allow for the use of javascript. You can learn more and [[functions]] here and more about [[javascript]] here.
===== Rewrite =====
A rewrite will change the trigger text into whatever your would like. Players will typically use this to shorten long messages in combat.
 
[[File:action-rewrite.png]]
 
 
===== Modify variable =====
The modify variable action is used to modify a certain variable - you can assign a fixed value to it, modify (increase / decrease / ...) it by some value, assign the value of another variable to it, or modify it by the value of another variable. You can also assign the matched text or a captured part of it.
 
 
===== If =====
This action allows you to branch the execution of your script based on what is going on - you can specify a condition to check, and actions to perform if the condition is, or is not, true. You can compare two variables, or a variable and a fixed value. You can also compare against the matched text or a captured part of it. When the check succeeds or fails, you can choose whether the script should continue running normally, stop, or continue running from a Label action.
 
 
===== Repeat =====
This action allows you to repeat a block of actions multiple times. All actions up to a label that you specify will be repeated.
 
 
===== Disable this reflex =====
This simple action disables the current reflex.
 
 
===== Disable reflex =====
This action disables a reflex of your choice. The reflex must have a name.
 
 
===== Enable reflex =====
This action enables a reflex of your choice. The reflex must have a name.
 
 
===== Label =====
This action does nothing at all. It is used together with the If, Repeat, and Goto actions to do conditional execution and looping.
 
 
===== Goto =====
This action causes a jump to the label of your choice. It is best used inside an If or Repeat block, so you don't create an endless loop (the client does offer protection against these).
 
 
===== Wait for =====
This action is essentially a temporary trigger. It allows you to specify a line or pattern to wait for. Once encountered, the script will continue executing normally. If not encountered within the specified timeout, the script is aborted.
 
===== Call function =====
Functions are used when you may be doing something more complicated and would like to use some javascript to make it happen. You can read more about functions here: [[Functions]].
 
[[File:action-function.png]]
 
 
===== Execute Script =====
Scripts are just like functions, but you write them in the box provided. You can read more about writing scripts and functions here: [[Functions]].
 
[[File:action-script.png]]


== Examples ==
== Examples ==
 
You can view some example triggers on the [[examples]] page.
 
[[Balance Recovery Attack]]: This is an example of a trigger to automatically attack a target when you recover balance.
 


== Regular Expression Help ==
== Regular Expression Help ==
* http://www.regular-expressions.info/
* http://www.regular-expressions.info/

Latest revision as of 18:11, 15 September 2016

Triggers are a very powerful and versatile type of reflexes. Triggers allow you to automatically react when text (and other events) is sent to your character from the game.

A few brief examples of things triggers can do:

  • Automatically send commands to the game when certain text is received.
  • Hide unimportant lines you don't want to see.
  • Highlight lines of text you do not want to accidentally miss.
  • Modify portions of the lines received from the game.
  • Save data in a variable for later use. Such as how much gold you picked up or the name of a player that hit you.

The basic usage of triggers is similar to that of aliases or keybinds. One thing to be careful of is that by default, triggers can match anywhere in the received text, not only at the beginning (you can change the Matching Type accordingly, if desired).

How to Create a New Trigger

Triggers are a reflex. They are created and managed from the Reflexes tab in the settings window. To open the settings window, click on the gear icon Settings icon.jpg in the lower right part of your main game screen

Step 1. Open the settings page and click the 'Reflexes' tab.

To create a new trigger, open your settings window by clicking on the gear icon Settings icon.jpg in the lower right part of your game screen. This will popup a new window in your browser.

In the settings window, click on the 'Reflexes' tab as shown in the image below.

Setting window displaying the reflexes tab.

Step 2. Click the 'Add' Button and select 'Add a Trigger'.

There are several different reflexes you can create. We want to create a trigger. In order to do this, click the 'Add' button located in the left pane and then click on 'Add a Trigger'. This will create a new, undefined trigger.

Should you want to delete a trigger, you can select the trigger from the list, and then click the 'Remove' button.

Example of creating a new trigger.

Step 3: Triggers Options.

There are two main option sections for triggers; Matching and Actions.

Enabled This checkbox marks if the trigger is currently being used by the system. If unchecked, this trigger will not be used.

Matching is used to find the text you would like to use for this trigger. When the game sends text to your character that matches, it will automatically send the action defined below it.

Actions is what will happen when the trigger matches text from the game. Actions can be used to automatically send text to the game, highlight you want to stand out, create complicated functions, and other things.

This is a blank trigger. It will not do anything until you add text to match and an action to do when that text is matched.

Matching Options Explained

Matching is used to find text sent from the game to create an action for. You can match entire lines of text, single words, partial lines, and lines of text with variable words.

Trigger-matching.png

There are five options for matching text.

Trigger Text

This field is required and contains the text to match.

Examples of Trigger Text:

  • You have recovered balance.
  • You have recovered
  • recovered balance.
  • You have recovered balance.

This works hand in hand with the Matching Type option. See below.

Wildcards in Trigger Text

This is a very powerful feature in the Nexus client that you will want to understand.

There are times when you'll want to use wildcard matches in your triggers. Most messages you will want to trigger will vary slightly. Character names, item number, and more.

For example, let's say someone is entering the room you are in.

You can the name in <>'s to allow the trigger to fire. You can also assign the name to a variable. If an example line is Jeremy enters from the north, you could configure your trigger to match on <person> enters from the <direction>. As an added bonus, you can then use @person and @direction as variables in the trigger actions.

These simplified triggers do not work with regular expressions, and if using this advanced feature, you'll want to ensure that you're using the correct syntax.

Here is a full example of a basic wildcard match.

Matching Type

There are four options for matching text.

  • Contains: This will match any line that has your trigger text in it.
  • Begins with: Will only match a line that starts with your trigger text in it.
  • Exact match: Will only match a line that matches exactly like your trigger text.
  • Regular expression: This will match any regular expression patterns. This is advanced, but good to learn.

In most cases you will want to use Contains option unless you have more complicated situations.

Whole Words Only

If checked, the trigger will only match whole words.

For example; you create a trigger with trigger text set to 'You have recovered bal'.

If the game sends the text - You have recovered balance. - it will NOT match, because 'balance.' is a different whole word than 'bal'.

If I uncheck 'Whole words only', the trigger would work.

In almost all cases you will just want to keep 'Whole words only' turned on and be sure to include the full trigger text. Remember that whole words are separated by spaces and punctuation is considered part of a word.

Match Case

If checked, capitalization must match.

For example, if checked, 'You have recovered balance' is not the same as 'You HAVE reCOvered balance'.

If unchecked, the example above will work.

Trigger Name

(Optional) The name of the trigger. The name is an identifier that will show up in your list of triggers. It is used for organizing your triggers. It is not required for your trigger and has nothing to do with the actual operation of the trigger.

Action Options Explained

Once you have matched text from the game, you can initiate a single action, or a series of multiple actions. Actions will fire in the order they are listed.

Trigger-actions.png

Above is a simple example of three separate actions that will happen when a trigger fires.

Simplified Scripting

The Nexus client allows for fifteen different simplified scripting actions. In most cases instantly returning a command is the best option. However, the Nexus client will allow you to loop through commands, use if statements, wait commands, highlight text, and much more.

All of these options, with full explanations and examples can be found here: simplified scripting.

Advanced Scripting

There are two main advanced scripting options. You can Call function or you can Execute script. Both options allow for the use of javascript. You can learn more and functions here and more about javascript here.

Examples

You can view some example triggers on the examples page.

Regular Expression Help