Actions file format
Actions file contains control rules for you characters.
The syntax of actions file.
- Define character block.
- Define variables.
- Define object variables.
- Define enum.
- Define function.
- Define macro substitution.
- Include content of file.
- Group actions.
- Handle key press.
- Handle game event.
- Interval action.
- Party status check with interval.
- Enter world, right after character selection.
- Enter world and load settings.
Syntax:
- :CharName[/class] Define the start of block for specified character. Then follows the rules for that character.
- *You could use * intead of character name to define rules for any character.
- classYou could specify class id, so rules will be active only when your character has specified class.
Examples:
- :VasyaDefine the start of block for character Vasya.
Syntax:
- V[:] var1, var2... Define the list of used variables. These variables are used in Assign action and function env.
- V:When V: is used variables are defined localy, otherwise variables are defined globally, NOT for the current character only. The value of variable is unique for every loaded character in any case.
Examples:
- V maDefine the variable "ma".
Syntax:
- VO[:] ovar1, ovar2... Define the list of used object variables. These variables are used in AssignObject action and function get.
- VO:When VO: is used object variables are defined localy, otherwise object variables are defined globally, NOT for the current character only. The value of variable is unique for every loaded character in any case.
Examples:
- VO badTillDefine the object variable "badTill".
Syntax:
- E[:] e1, e2... Define the sequence of ordinal constant. The first contant gets value 0, next 1 etc.
- E:When E: is used contants are defined localy, otherwise variables are defined globally, NOT for the current character only.
Examples:
- E zero,one,two,threezero=0, one=1, two=2, three=3
Syntax:
- F[:] name(args) = expression Define the function with specified name and arguments.
- F:When F: is used functions are defined localy, otherwise functions are defined globally, NOT for the current character only.
Examples:
- F dmg(actor) = maxhp(actor) - hp(actor)
Syntax:
- %alias value Define alias for value. All entries of %alias will be replaced by value.
- $$To escape % and $ in actions write them twice in row.
Syntax:
- include file.actions Include one actions file in another actions file.
Examples:
- include subfile.actionsInclude subfile.actions into current file.
Syntax:
- { action } Actions could be groupped with {}.
Examples:
- +A Cast $SelfHeal > { Assign castStart = now ; Assign castFinish = castStop(me) }
Syntax:
- [>]<+|#|^>|<_> letter/digit/Fn/space/tab/` [condition :] action
- >The rule will be executed only when the appropriate window is active.
- _If the key is pressed without Alt, Ctrl, Shift.
- +If key is pressed with Ctrl.
- #If key is pressed with Alt.
- ^If key is pressed with Shift.
Examples:
- >+Q Select (listAt("major", 0))on Ctrl+Q the enemy with highest priority will be selected.
- #^W Assist Mage > Cast $ManaBurncast Mana Burn on target of Mage, when Alt+Shift+W is pressed.
- >_F5 isEquiped(10738) : UseItem 10722
>_F5 isEquiped(10722) : UseItem 10738weapon will by switched between Angel Slayer {PvP} [Critical Damage] and Draconic Bow {PvP} [Focus] by F5. The switch will have place only when apropriate window is active.
Syntax:
- ~0123456789*/-+.R action
Examples:
- ~1 ForceSkills onby 1(End) on numpad - turn on the mode of forcing all skills.
Syntax:
- @Event filter : action The action is executed when filter for event is evaluated to true.
Examples:
- @CharInfo detected : AutoTarget nosel ; PlaySound enemyWhen enemy appears trace him with quest arrow and play alert
- @MagicSkillUser casting(me, $Hurricane) or casting(me, $ShadowFlare) : UseItem 3949Use BSSC when your character casts Hurricane or ShadowFlare.
Syntax:
-
T(interval[, pause]) filter : action
Interval is defined in milliseconds, one seconds consists of 1000 milliseconds.
When pause is specified and filter triggered, then next check will be in interval specified by pause.
Examples:
- T(50) eatCP(250) : UseItem 5591 ; UseItem 5592Spam cp/gcp.
- T(1000) safeBtm(1000, 1500) : Cast $BodyToMindCast BTM in favourable conditions.
Syntax:
-
P(Interval[, Pause]) Filter : Action
Works similar to T, but filter is checked against every party member.
To access checked party member use function actor.
When check is required for your character also, PT could be used instead of P. In this case actor will run through me.
Examples:
- P(500, 2000) php(actor) < 30 : Select (actor) > Cast $MajorHealheals party members that have less than 30% hp with Major Heal
Syntax:
- S Действие
Examples:
- S EnableGroup spam offTurn off group spam by default
Syntax:
- L Действие
Examples:
- L Assign ma = "Vasya"Assign character Vasya as main assist.
You could assign group to any action, you are using. In this case the action will be executed when group has approriate value.
- You could switch group value between 0 and 1 using EnableGroup.
- The detailed group state could be specified with GroupState and GroupNextState.
- The state of groups is independent for each character.
- By default all groups has value 1.
Syntax:
- {?[(value)]|!}group Check Actions If only ? is specified then action is executed only when group has value 1. Otherwise it is executed when group value matches specified value. If ! is used then action will be executed only when group state is 0.
Examples:
- ?gcp T(50) eatCP(250) : UseItem 5591 ; UseItem 5592
+W EnableGroup gcpTurn cp/gcp spam by pressing Ctrl+W.
See also:



