Terra's Arcana System Triggers: Difference between revisions

From Velvet Room MUSH Wiki
Jump to navigation Jump to search
Terra (talk | contribs)
Created page with "Hello! I'm Terra, and I poked at some BeipMU* triggers to spawn a new window and tabs for various Arcana System command output. Additionally, I made another that automatically calls <code>+queue<code> whenever you receive an incoming attack, which in tandem with the window-spawning triggers, should switch focus to the Arcana System window's +queue tab. Here's a whole group of them that you can import into BeipMU! This set is all character-agnostic and you can just impor..."
 
Terra (talk | contribs)
Removed +explain from triggers group (for now), it's harder to capture since it doesn't end in a distinct line ...
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
Hello! I'm Terra, and I poked at some BeipMU* triggers to spawn a new window and tabs for various Arcana System command output. Additionally, I made another that automatically calls <code>+queue<code> whenever you receive an incoming attack, which in tandem with the window-spawning triggers, should switch focus to the Arcana System window's +queue tab.
Hello! I'm Terra, and I poked at some BeipMU* triggers to spawn a new window and tabs for various Arcana System command output. Additionally, I made another that automatically calls <code>+queue</code> whenever you receive an incoming attack, which when used in tandem with the <code>+queue</code> window-spawning triggers should switch focus to the Arcana System window's <code>+queue</code> tab.
 
Here's what both triggers look like in practice: the <code>+queue</code> tab on the right should show up whenever you receive an attack. It doesn't necessarily have to show up on the right! You can drag the tab around to anchor it to different parts of the screen or drag it away entirely to be in its own window!
 
[[File:Arcana System Triggers Example.png|800px]]
 
For each set below, you can copy the contents of the preformatted code block, save them into a <code>.txt</code> file, then import them by clicking the <code>Import...</code> button in BeipMU*'s Triggers menu.


Here's a whole group of them that you can import into BeipMU! This set is all character-agnostic and you can just import them as-is.
Here's a whole group of them that you can import into BeipMU! This set is all character-agnostic and you can just import them as-is.
This set spawns windows to reroute the output for the following commands to a tab within an "Arcana System" window:
* <code>+stats</code>
* <code>+inventory</code>
* <code>+weapons</code>
* <code>+armors</code>
* <code>+cards</code>
* <code>+view/frees</code>
* <code>+scan</code>
* <code>+queue</code>
* <code>+attacks</code>
<pre>
<pre>
Version=329
Version=329
Line 27: Line 45:
             Active=true
             Active=true
             Title="+stats"
             Title="+stats"
            CaptureUntil="\\(\\|\\=* HP: [0-9]*\\/[0-9]* \\(TP: [0-9]*\\/[0-9]*\\) SP: [0-9]*\\/[0-9]* Limit: [0-9]*\\/[0-9]* \\=*\\|\\)"
            TabGroup="Arcana System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
        {
          Description="+explain"
          Example="(|========================== Explainer: Character Name ===========================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* Explainer: [a-zA-Z ]* \\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+explain"
             CaptureUntil="\\(\\|\\=* HP: [0-9]*\\/[0-9]* \\(TP: [0-9]*\\/[0-9]*\\) SP: [0-9]*\\/[0-9]* Limit: [0-9]*\\/[0-9]* \\=*\\|\\)"
             CaptureUntil="\\(\\|\\=* HP: [0-9]*\\/[0-9]* \\(TP: [0-9]*\\/[0-9]*\\) SP: [0-9]*\\/[0-9]* Limit: [0-9]*\\/[0-9]* \\=*\\|\\)"
             TabGroup="Arcana System"
             TabGroup="Arcana System"
Line 221: Line 219:




And here's one more trigger to automatically hit '''+queue''' for you when an incoming attack targets you. You'll want to replace '''Your Character''' in the parentheses in the <code>MatchText</code> to be your character name, e.g. since one of my characters is Aigis, I change it to <code>MatchText="^AS:.*\\bhas used\\b.*\\bon\\b.*(Aigis).*"</code>. If you have multiple characters, you can either copy the trigger to make one for each character, or you can separate them by a <code>|</code> character, like for both Tamaki Uchida and Aigis, <code>MatchText="^AS:.*\\bhas used\\b.*\\bon\\b.*(Aigis|Tamaki Uchida).*"</code>.
And here's one more trigger to automatically hit <code>+queue</code> for you when an incoming attack targets you. You'll want to replace <code>Your Character</code> in the parentheses in the <code>MatchText</code> to be your character name, e.g. since one of my characters is Aigis, I change it to <code>MatchText="^AS:.*\\bhas used\\b.*\\bon\\b.*(Aigis).*"</code>. If you have multiple characters, you can either copy the trigger to make one for each character, or you can separate them by a <code>|</code> character, like for both Tamaki Uchida and Aigis, <code>MatchText="^AS:.*\\bhas used\\b.*\\bon\\b.*(Aigis|Tamaki Uchida).*"</code>.


<pre>
<pre>
Line 236: Line 234:
         MatchText="^AS:.*\\bhas used\\b.*\\bon\\b.*(Your Character).*"
         MatchText="^AS:.*\\bhas used\\b.*\\bon\\b.*(Your Character).*"
         RegularExpression=true
         RegularExpression=true
      }
      Spawn
      {
        Title="Targeted"
        TabGroup="Arcana System"
        ShowTab=true
        Copy=true
       }
       }
       Send
       Send
Line 248: Line 239:
         Active=true
         Active=true
         Send="+queue"
         Send="+queue"
      }
    }
  }
}
</pre>
While we're at it, here are some Monad System triggers, too!
This set spawns windows to reroute output to tabs for the following commands:
* <code>+monad</code>
* <code>+challenge/view</code>
* <code>+menu</code>
<pre>
Version=329
Connections
{
  Triggers
  {
    {
      Description="Monad System"
      Disabled=true
      FindString.MatchText=""
      Triggers
      {
        {
          Description="+monad"
          Example="(|========================== +stats: Character Name ===========================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* \\+monad\\: [a-zA-Z ]* \\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+monad"
            CaptureUntil="\\(\\|\\=* Monad [0-9]\\.[0-9] \\=*\\|\\)"
            TabGroup="Monad System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
        {
          Description="+challenge/view"
          Example="(|=============== Monad - Module Name Goes here ================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* Monad \\- .*\\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+challenge/view"
            CaptureUntil="\\(\\|\\=* Monad [0-9]\\.[0-9] \\=*\\|\\)"
            TabGroup="Monad System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
        {
          Description="+menu"
          Example="(|=============== Monad +menu: Character Name ================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* Monad \\+menu\\: .*\\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+menu"
            CaptureUntil="\\(\\|\\=* Monad [0-9]\\.[0-9] \\=*\\|\\)"
            TabGroup="Monad System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
       }
       }
     }
     }

Latest revision as of 15:39, 9 December 2025

Hello! I'm Terra, and I poked at some BeipMU* triggers to spawn a new window and tabs for various Arcana System command output. Additionally, I made another that automatically calls +queue whenever you receive an incoming attack, which when used in tandem with the +queue window-spawning triggers should switch focus to the Arcana System window's +queue tab.

Here's what both triggers look like in practice: the +queue tab on the right should show up whenever you receive an attack. It doesn't necessarily have to show up on the right! You can drag the tab around to anchor it to different parts of the screen or drag it away entirely to be in its own window!

For each set below, you can copy the contents of the preformatted code block, save them into a .txt file, then import them by clicking the Import... button in BeipMU*'s Triggers menu.

Here's a whole group of them that you can import into BeipMU! This set is all character-agnostic and you can just import them as-is.

This set spawns windows to reroute the output for the following commands to a tab within an "Arcana System" window:

  • +stats
  • +inventory
  • +weapons
  • +armors
  • +cards
  • +view/frees
  • +scan
  • +queue
  • +attacks
Version=329
Connections
{
  Triggers
  {
    {
      Description="Arcana System"
      Disabled=true
      FindString.MatchText=""
      Triggers
      {
        {
          Description="+stats"
          Example="(|========================== +stats: Character Name ===========================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* \\+stats\\: [a-zA-Z ]* \\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+stats"
            CaptureUntil="\\(\\|\\=* HP: [0-9]*\\/[0-9]* \\(TP: [0-9]*\\/[0-9]*\\) SP: [0-9]*\\/[0-9]* Limit: [0-9]*\\/[0-9]* \\=*\\|\\)"
            TabGroup="Arcana System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
        {
          Description="+inventory"
          Example="(|========================== Gear Character Name ===========================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* Gear [a-zA-Z ]* \\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+inventory"
            CaptureUntil="\\(\\|\\=* Velvet Room MUSH \\=*\\|\\)"
            TabGroup="Arcana System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
        {
          Description="+weapons"
          Example="(|========================== Weapon List For Character Name ===========================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* Weapon List For [a-zA-Z ]* \\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+weapons"
            CaptureUntil="\\(\\|\\=* Inventory System \\=*\\|\\)"
            TabGroup="Arcana System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
        {
          Description="+armors"
          Example="(|========================== Armor List For Character Name ===========================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* Armor List For [a-zA-Z ]* \\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+armors"
            CaptureUntil="\\(\\|\\=* Inventory System \\=*\\|\\)"
            TabGroup="Arcana System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
        {
          Description="+cards"
          Example="(|========================== Card List For Character Name ===========================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* Card List For [a-zA-Z ]* \\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+cards"
            CaptureUntil="\\(\\|\\=* Inventory System \\=*\\|\\)"
            TabGroup="Arcana System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
        {
          Description="+view/frees"
          Example="(|========================== Pregenned Attack List - Free Attacks ===========================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* Pregenned Attack List - Free Attacks \\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+view/frees"
            CaptureUntil="\\(\\|\\=* These can be renamed freely\\. \\=*\\|\\)"
            TabGroup="Arcana System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
        {
          Description="+scan"
          Example="(|========================== Location Name - +scan ===========================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* [a-zA-Z ]* \\- \\+scan \\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+scan"
            CaptureUntil="\\(\\|\\=* [A-Za-z \\:\\/\\,0-9]* \\=*\\|\\)"
            TabGroup="Arcana System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
        {
          Description="+queue"
          Example="(|========================== +queue ===========================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* \\+queue \\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+queue"
            CaptureUntil="\\(\\|\\=* [a-zA-Z ]* \\=*\\|\\)"
            TabGroup="Arcana System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
        {
          Description="+attacks"
          Example="(|================= Arcana +stats: Character Name, Persona Personaname ==================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* Arcana \\+stats\\: [a-zA-Z ]*, Persona [a-zA-Z ]* \\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+attacks"
            CaptureUntil="\\(\\|\\=* HP: [0-9]*\\/[0-9]* \\(TP: [0-9]*\\/[0-9]*\\) SP: [0-9]*\\/[0-9]* Limit: [0-9]*\\/[0-9]* \\=*\\|\\)"
            TabGroup="Arcana System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
      }
    }
  }
}


And here's one more trigger to automatically hit +queue for you when an incoming attack targets you. You'll want to replace Your Character in the parentheses in the MatchText to be your character name, e.g. since one of my characters is Aigis, I change it to MatchText="^AS:.*\\bhas used\\b.*\\bon\\b.*(Aigis).*". If you have multiple characters, you can either copy the trigger to make one for each character, or you can separate them by a | character, like for both Tamaki Uchida and Aigis, MatchText="^AS:.*\\bhas used\\b.*\\bon\\b.*(Aigis|Tamaki Uchida).*".

Version=329
Connections
{
  Triggers
  {
    {
      Description="Reaction Queue Item Added"
      Example="AS: Weapon! Enemy Name has used the Slash skill Keen Edge on Other Person and Your Character!"
      FindString
      {
        MatchText="^AS:.*\\bhas used\\b.*\\bon\\b.*(Your Character).*"
        RegularExpression=true
      }
      Send
      {
        Active=true
        Send="+queue"
      }
    }
  }
}

While we're at it, here are some Monad System triggers, too!

This set spawns windows to reroute output to tabs for the following commands:

  • +monad
  • +challenge/view
  • +menu
Version=329
Connections
{
  Triggers
  {
    {
      Description="Monad System"
      Disabled=true
      FindString.MatchText=""
      Triggers
      {
        {
          Description="+monad"
          Example="(|========================== +stats: Character Name ===========================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* \\+monad\\: [a-zA-Z ]* \\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+monad"
            CaptureUntil="\\(\\|\\=* Monad [0-9]\\.[0-9] \\=*\\|\\)"
            TabGroup="Monad System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
        {
          Description="+challenge/view"
          Example="(|=============== Monad - Module Name Goes here ================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* Monad \\- .*\\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+challenge/view"
            CaptureUntil="\\(\\|\\=* Monad [0-9]\\.[0-9] \\=*\\|\\)"
            TabGroup="Monad System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
        {
          Description="+menu"
          Example="(|=============== Monad +menu: Character Name ================|)"
          StopProcessing=true
          FindString
          {
            MatchText="\\(\\|\\=* Monad \\+menu\\: .*\\=*\\|\\)"
            RegularExpression=true
          }
          Spawn
          {
            Active=true
            Title="+menu"
            CaptureUntil="\\(\\|\\=* Monad [0-9]\\.[0-9] \\=*\\|\\)"
            TabGroup="Monad System"
            OnlyChildrenDuringCapture=true
            ShowTab=true
            Clear=true
          }
        }
      }
    }
  }
}