Legends of the Jedi Forums Newbie Watering Hole capture script for mushclient
This topic has 24 replies, 7 voices, and was last updated 13 years ago by Anastasius.
Viewing 15 posts - 1 through 15 (of 25 total)
    • Anastasius Member
      November 10, 2009 at 4:30 am #12365

      So I found this script on the gammon site. This is by Nick himself with some of my editing so it will fit lotj. Currently I only have it set up to redirect ooc channels If you need help adding a channel let me know.

      First, let’s make a new MUSHclient world window, which is going to receive chat messages.

      * Go to the Connection menu -> Quick Connect (Ctrl+Alt+Shift+K).

      * Enter a "chat" world name … I used "lotj chats", but you ca use anything, provided you modify the plugin slightly.

      * Enter "0.0.0.0" for the TCP/IP address – this stops MUSHclient from trying to actually connect to this world.

      * Hit OK to create this world.

      * Press Ctrl+G or Alt+Enter to enter the world configuration, and change the font size (in Appearance -> Output) to be small enough to fit the chat window on your screen alongside the main world. Maybe change the "wrap column" to be smaller if necessary.

      * Go to the File menu -> Save World Details (Ctrl+S).

      * Save as the suggested name "lotj chats.mcl".

      You now have somewhere for the chats to appear. You can move it to one side, to make room for the "real" world window.

      Now we need to redirect appropriate chat messages (eg. ooc, tell, talk etc.) into the other window. To do this, go to the "main" world (the one that connects to the MUD), and copy the plugin below, paste into a blank notepad window, and save as Chat_Redirector.xml.

      If you called your chat world something different from "lotj chats", change the single line:

      chat_world = "lotj chats"

      … to be the name you chose.

      [code:1qewrpk0]
      <?xml version="1.0" encoding="iso-8859-1"?>
      <!DOCTYPE muclient>
      <!– Saved on Saturday, June 30, 2007, 10:48 –>
      <!– MuClient version 4.13 –>

      <!– Plugin "Chat_Redirector" generated by Plugin Wizard –>

      <!–
      Edit plugin and change "chat_world" variable to be the name of the
      world you want chats to go to.
      –>

      <muclient>
      <plugin
      name="Chat_Redirector"
      author="Nick Gammon"
      id="cb84a526b476f69f403517da"
      language="Lua"
      purpose="Redirects chat messages to another world"
      date_written="2007-06-30 10:45:35"
      requires="4.08"
      version="1.0"
      >
      <description trim="y">
      <![CDATA[
      Redirects chats to the specified world.

      Add or modify "chat" triggers to capture different sorts of message.

      Change the variable "chat_world" to be the name of the world chats are to go to.
      ]]>
      </description>

      </plugin>

      <!– Triggers –>

      <triggers>

      <trigger
      enabled="y"
      match="(OOC) *"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="(NEWBIE) *"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="(IMM) *"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="(RPC) *"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      </triggers>

      <!– Script –>

      <script>
      <![CDATA[
      chat_world = "lotj chats"
      local first_time = true

      function redirect (name, line, wildcards, styles)

      — try to find "chat" world
      local w = GetWorld (chat_world) — get "chat" world

      — if not found, try to open it
      if first_time and not w then
      local filename = GetInfo (67) .. chat_world .. ".mcl"
      Open (filename)
      w = GetWorld (chat_world) — try again
      if not w then
      ColourNote ("white", "red", "Can’t open chat world file: " .. filename)
      first_time = false — don’t repeatedly show failure message
      end — can’t find world
      end — can’t find world first time around

      if w then — if present
      for _, v in ipairs (styles) do
      w:ColourTell (RGBColourToName (v.textcolour),
      RGBColourToName (v.backcolour),
      v.text)
      end — for each style run
      w:Note ("") — wrap up line

      end — world found

      end — function redirect

      ]]>
      </script>

      </muclient>

      [/code:1qewrpk0]

      If you want the messages to only appear in the other window, and not the main window, add this line to (all) triggers:

      omit_from_output="y"

      In other words, the first trigger would now look like this:
      [code:1qewrpk0]
      <trigger
      enabled="y"
      match="(OOC) *"
      omit_from_output="y"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>
      [/code:1qewrpk0]

      You can now use the File menu -> Plugins, to install this new plugin.

      Once installed, as soon as a chat message causes the trigger to fire, it should attempt to locate the "chat" world, and send the chat to it. Any colouring in the chat message should be preserved.

      If the chat world is not open, the plugin attempts to open it for you. This functionality is only available in version 4.08 onwards of MUSHclient, so you will need to install that.

    • Anastasius Member
      November 10, 2009 at 4:34 am #12366

      forgot this is what it looks like

      [img:2hs5mrow]http://i67.photobucket.com/albums/h320/theonlynutz/chat_redirector.jpg[/img:2hs5mrow]

    • Anastasius Member
      November 10, 2009 at 2:16 pm #12375

      I’ve edited my script to have two windows one for ic and ooc. If there is a request ill post both and give the information on the mushclient world files you will need. How ever if you wish to edit this on your own and add channels as you see fit go for it. Also if you need help editing it let me know.

      Further more I would like feedback on this if anyone can or cant get it to work and what they think.

    • Anastasius Member
      November 10, 2009 at 3:03 pm #12376

      Someone requested a way to trigger in enemy hp. I set one up but its not all that great. It will work on more then battle, if you look glance at anyone and see there hp it will reflect it in the window. Anyway here is the trigger set

      [code:1t4waz3s]
      <trigger
      enabled"* is leaking guts."
      omit_from_output="y"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="* is slightly scratched."
      omit_from_output="y"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="* has a few bruises."
      omit_from_output="y"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="* has many nasty wounds."
      omit_from_output="y"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="* has several wounds."
      omit_from_output="y"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="* is DYING."
      omit_from_output="y"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="* is almost dead."
      omit_from_output="y"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="* is bleeding freely."
      omit_from_output="y"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="* is covered in blood."
      omit_from_output="y"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="* has some cuts."
      omit_from_output="y"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="* is unconcious."
      omit_from_output="y"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="* is dead."
      omit_from_output="y"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      [/code:1t4waz3s]

    • Kora Participant
      November 11, 2009 at 1:57 am #12394

      Yaaaaaaaay I got it working!
      I’m probably more excited about this than I should be.
      Now all my comlink chatter is in another window and I can ignore it if I want or talk to people while I move around! x_x

      =]=]=]=]

    • Anastasius Member
      November 11, 2009 at 2:04 am #12395

      Im glad you like it. I left the script mostly open. Im not making a plugin so people can edit it and do what they want. If you would like to see what is possible this is how I am set up currently.

      [img:3pks6sa6]http://i67.photobucket.com/albums/h320/theonlynutz/screenshot2.jpg[/img:3pks6sa6]

      As you can see all my ooc chats go up top right, ic chats including clan go right side, prompt is floating on the bottom. It sits there and updates itself normally. Since its a 2 line window it seems like its autoupdated and a great illusion for me. The yellow line you see is my gold, I have it set with a timer to update every minute.

    • Anastasius Member
      November 12, 2009 at 7:08 pm #12399

      Okay people have asked how to do clantalk on the capture.
      It confused me at first because each clan has a set adjective that is different per clan. Now you can capture the adjective but I found out it would not capture clan_message because that channel drops said adjective. So I played with it and made the trigger to add for clantalk.
      [code:1vbsz7xf]
      <trigger
      enabled="y"
      match="*{*}<*>[*]*"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>
      [/code:1vbsz7xf]

      Now if your like me and a competionest.. your gonna want the brackets for incoming and outgoing

      [code:1vbsz7xf]
      <trigger
      enabled="y"
      match="[Incoming Transmission from *]"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="[Outgoing Transmission to *]"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>
      [/code:1vbsz7xf]

      there ya go guys.

    • Anastasius Member
      September 29, 2010 at 3:50 pm #11935

      I’m bumping cause I was showing the link to people on ooc today.

    • Kirash Participant
      September 29, 2010 at 8:53 pm #11942

      That just seems like too much to look at for me. It does look like it would be nice for keeping track of channels though. I might just have to take a look at it.

    • Anastasius Member
      September 30, 2010 at 8:38 am #11951

      I broke the instructions down to fairly simple terms. But I have shown a number of players how to do it. I’m no scripter by any means. But I was able to modify this. If you want help I can walk you through it step by step and explain it as I do.

    • Kirash Participant
      September 30, 2010 at 2:00 pm #11956

      I got the basic working right (moving OOC channels over to the other window), but I would like to move IC over to another window as well (talk, droid translations, clan chat) since my main window is usually full of spam anyway.

    • Anastasius Member
      September 30, 2010 at 2:31 pm #11957

      No problem, this is a simple fix. You are going to add triggers into the script.

      If you open the script and read through it in notepad you will find triggers for OOC RPC and IMM.

      [code:3oagi4c1]
      <trigger
      enabled="y"
      match="(NEWBIE) *"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>
      [/code:3oagi4c1]

      That is an example, that trigger captures the newbie channel.

      Lets say you wanted to add Talk.

      You need to match="CommNet*:*"

      Where CommNet will be the trigger * for name and channel : * for what they say.

      It will look like.
      [code:3oagi4c1]
      <trigger
      enabled="y"
      match="CommNet*:*"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>
      [/code:3oagi4c1]

      Useing this you can add any channel in the game.
      Clan was harder to figure out for me. Ill post you that one too.
      [code:3oagi4c1]
      <trigger
      enabled="y"
      match="*{*}<*>[*]*:*"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>
      [/code:3oagi4c1]
      As you can see match="*{*}<*>[*]*:*"
      Adjective{division}<rank>[Name]tone:speech

    • Kirash Participant
      October 1, 2010 at 3:15 am #11962

      Works like a charm. Now find a way to make says go to the IC window without putting osays, rpcto, and mortchat there too and we’ll be golden. =P

    • Anastasius Member
      December 11, 2010 at 5:22 pm #16301

      This morning I re did most of this from scratch curse this new comp. Anyway I had help discovering all the ic channels I think I did get them all. If I missed one let me know but here is the trigger set.

      [code:1z1eo6ov]
      <trigger
      enabled="y"
      match="*{*}<*>[*]*"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="[Incoming Transmission from *]"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="[Outgoing Transmission to *]"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="[Hail from *]*: *"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="[Broadcasting Hail to *]*: *"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="Broadcasting Network [*]*:*"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="[INTERCOM:*]*: ‘*’"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="You radio, ‘*’"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="CommNet * [*]*: *"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="*say*’*’"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="*ask*’*’"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="*exclaim*’*’"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="*’*’*say*"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="*’*’*exclaim*"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="*’*’*exclaim*"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="* radios, ‘*’"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="You*yell, ‘*’"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="You*whisper to * ‘*’"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="*whispers to you ‘*’"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="* yells, ‘*’"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="*speaks in your mind,*"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="You speak through your mind,*"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="A distant voice whispers to you*"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      <trigger
      enabled="y"
      match="A voice inside your mind says*"
      regexp="n"
      script="redirect"
      sequence="100"
      >
      </trigger>

      [/code:1z1eo6ov]

Viewing 15 posts - 1 through 15 (of 25 total)
You must be logged in to reply to this topic.