Mushclient Questions

by Esano

Back to Mechanic's Corner.

Dynami2010-07-18 05:31:42
QUOTE (Esano @ Jul 18 2010, 01:12 AM) <{POST_SNAPBACK}>
ALT+3, check the "Log Notes" checkbox.

What about lines that are highlighted with a background colour? I can't get the the background colour to appear.
Felicia2010-07-18 06:27:16
QUOTE (Anisu @ Jul 17 2010, 04:55 PM) <{POST_SNAPBACK}>
enquiring minds want to know if you are willing to sell this plugin for a democratic price


Well, if you want a way to capture chat channels (including all the features I mentioned previously) and don't mind that it's not done through miniwindows, I can attempt to create a plug-in (or simply post instructions) for accomplishing it with a dummy world window.

Here's what it looks like:


Eh? Eh?

I love it, don't know how I lived without it now. If there's interest in this, I'll try to release it for public use. It captures every long-distance aether and private message in the game automatically.

EDIT: I lied in the picture, by the way, because I did change it back to the standard 9 pt. Lucida Console font Treant uses so people can see what it looks like in Treant default.
Svorai2010-07-18 07:50:29
QUOTE (Felicia @ Jul 18 2010, 04:27 PM) <{POST_SNAPBACK}>
Well, if you want a way to capture chat channels (including all the features I mentioned previously) and don't mind that it's not done through miniwindows, I can attempt to create a plug-in (or simply post instructions) for accomplishing it with a dummy world window.

Here's what it looks like:
INSERT AWESOME PICTURE HERE

Eh? Eh?

I love it, don't know how I lived without it now. If there's interest in this, I'll try to release it for public use. It captures every long-distance aether and private message in the game automatically.

EDIT: I lied in the picture, by the way, because I did change it back to the standard 9 pt. Lucida Console font Treant uses so people can see what it looks like in Treant default.


Yes, oh yes. Even just rough instructions would be wonderful!

On a similar note, I've wanted a map gag window thingy for mushclient, but haven't been able to work it out thus far. I would pay credits for such a marvel.

Anisu2010-07-18 08:01:07
QUOTE (Felicia @ Jul 18 2010, 08:27 AM) <{POST_SNAPBACK}>
Well, if you want a way to capture chat channels (including all the features I mentioned previously) and don't mind that it's not done through miniwindows, I can attempt to create a plug-in (or simply post instructions) for accomplishing it with a dummy world window.

Here's what it looks like:


Eh? Eh?

I love it, don't know how I lived without it now. If there's interest in this, I'll try to release it for public use. It captures every long-distance aether and private message in the game automatically.

EDIT: I lied in the picture, by the way, because I did change it back to the standard 9 pt. Lucida Console font Treant uses so people can see what it looks like in Treant default.

I already have one of those, though I absolutely must have mine on top (I want buttons on my right!), I want miniwindows because the window break annoys me

yes I am wierd
Felicia2010-07-18 09:11:15
QUOTE (Svorai @ Jul 18 2010, 03:50 AM) <{POST_SNAPBACK}>
On a similar note, I've wanted a map gag window thingy for mushclient, but haven't been able to work it out thus far. I would pay credits for such a marvel.


You get this for free as a plug-in with basic Treant, and I don't think you even need Treant to install it. I'm not sure if telling you how to install plugins would constitute giving out free Treant support, but it should be pretty easy to figure out anyway. I'm not sure about aetherspace.... chin.gif

Now, as for the chat-capturing dummy world window, simply do this easy part first:

QUOTE (Nick Gammon)
You need to create (and open) a new world, , and give it an IP address of '0.0.0.0'. This tells MUSHclient to not try to actually connect to it, so it stays closed. However you can still script text to go into its window.


Now, paste this group of three triggers (customized by myself from Nick's basic template) into your trigger list (the matching terms do not use regex):

CODE

     enabled="y"
   group="Chats"
   match="(*):*say*"
   omit_from_output="y"
   send_to="14"
   sequence="100"
  >
  
local w = GetWorld ("chat")  -- get "chat" world

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

end -- world found


  
     enabled="y"
   group="Chats"
   match="* tells you, *"
   omit_from_output="y"
   send_to="14"
   sequence="100"
  >
  
  
local w = GetWorld ("chat")  -- get "chat" world

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

end -- world found


  
     enabled="y"
   group="Chats"
   match="You tell *,*"
   omit_from_output="y"
   send_to="14"
   sequence="100"
  >
  
  
local w = GetWorld ("chat")  -- get "chat" world

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

end -- world found


  


And that should be all you need to do, other than drag, resize and configure the actual dummy world window.

This line is extremely jury-rigged: w:ColourNote ("black", "black", " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ."). What it does is create that black space between every individual message, by putting exactly 80 black dots and spaces after every message. It all works perfectly for me, but make sure the dummy world window is set to wrap at 80 characters.

Oh, and if you want to hear noises when you get various different messages, paste this below the jury-rigged w:ColourNote line in one or more of the three triggers. You need to have the .wav file you're using in the "sound" folder of the MUSHclient main directory:

CODE
w:PlaySound (1, "name.wav", false, -9, 0)
Svorai2010-07-19 06:41:08
(I love you)

I realised it wasn't working because I made the world called 'Chats', but the triggers pointed to 'Chat', but... fixed that.

Moving on... That's perfect! Thank you so much! Well, almost perfect, if I can bother you with one more question. It seems to only pick up one line of text and send it to the 'Chat' world, leaving the rest in the main world window...? Have I done something wrong? Multi-line match is greyed out as an option for the triggers.

For example, if something like this pops up:

QUOTE
The Portal of Fate flashes as PERSON steps through, now ready to begin a fresh life in Lusternia.
(Shadowmaze): Please welcome PERSON who has just enrolled into the Shadowmaze to learn the ways of the Nekotai!
(Glomdoring): Please welcome PERSON who just stepped out of the Portal of Fate as a new commune member!


It won't pick up the second and third lines. If I know how to make it match all lines, then I'll be set. (I'll bet it's a simple toggle thing... >.>)
Esano2010-07-19 07:07:53
You need to adjust your trigger match. As there's no-one saying anything in the second and third lines, it won't match.
Shaddus2010-07-19 07:24:31
QUOTE (Svorai @ Jul 19 2010, 01:41 AM) <{POST_SNAPBACK}>
(I love you)

I realised it wasn't working because I made the world called 'Chats', but the triggers pointed to 'Chat', but... fixed that.

Moving on... That's perfect! Thank you so much! Well, almost perfect, if I can bother you with one more question. It seems to only pick up one line of text and send it to the 'Chat' world, leaving the rest in the main world window...? Have I done something wrong? Multi-line match is greyed out as an option for the triggers.

For example, if something like this pops up:



It won't pick up the second and third lines. If I know how to make it match all lines, then I'll be set. (I'll bet it's a simple toggle thing... >.>)

I don't want to be an ass when I say this, but please don't trigger this to (CGT Hello "name"! Blah blah.) I like to mess with someone who does this and illusion people coming through the portal with odd names, and others do it as well.
Calixa2010-07-19 09:21:58
QUOTE (Shaddus Mes'ard @ Jul 19 2010, 09:24 AM) <{POST_SNAPBACK}>
I don't want to be an ass when I say this, but please don't trigger this to (CGT Hello "name"! Blah blah.) I like to mess with someone who does this and illusion people coming through the portal with odd names, and others do it as well.


That's mean ... I like it laugh.gif But I think what Svorai wants is simply move line two and three to the chat window. Which should be solved by CONFIG PROMPT ADD LINEBREAK.

Which is something that does annoy me about the chat window. When you omit from output you will still have the prompt appear. So if a lot of chatting is going on, you get a lot of prompt + blankline spam in the main window.

So I got thinking, and considered putting the prompt in the status bar and just have it always there. But that is probably going to make Treant break dry.gif

Would gagging out the prompt and blankline after a chat redirect be the only solution then? Or is that also a bad idea combat-wise?
Unknown2010-07-19 11:09:22
Sarvasti's issue has nothing to do with the prompt (or with Shaddus' illusion). You just need additional triggers to match those two lines, if you want to redirect them.

You can easily gag the prompt in Treant. It's a built-in function.
Svorai2010-07-19 12:49:33
QUOTE (Calixa @ Jul 19 2010, 07:21 PM) <{POST_SNAPBACK}>
But I think what Svorai wants is simply move line two and three to the chat window. Which should be solved by CONFIG PROMPT ADD LINEBREAK.


That's all I want to do -- move the lines over to the chat window so I catch them (instead of it being caught up in other spam).

The example I gave was a poor example - I can make a trigger to pick up those lines if I needed. My problem is that any tell or aether message that is longer than my current wrapwidth is split in two -- the first line appears in the 'Chats' window, the rest of it stays in my output.

Picture below explains the dilemma! The last thing in the chat window (right) only shows half of the message sent by Bobbins. The rest, which would be on the second line of my world window, wasn't transferred over.



I'll keep playing with it, but if someone knows the trick here...?

Esano2010-07-19 12:51:59
Simplest solution: CONFIG WRAPWIDTH 0, use client-side wrapping (which is done after triggers are matched).
Svorai2010-07-19 13:01:00
QUOTE (Esano @ Jul 19 2010, 10:51 PM) <{POST_SNAPBACK}>
Simplest solution: CONFIG WRAPWIDTH 0, use client-side wrapping (which is done after triggers are matched).



So... yes. Thank you so much. I don't know why I changed that in the first place.

Thanks for your help, guys!
Felicia2010-07-20 02:32:50
QUOTE (Svorai @ Jul 19 2010, 09:01 AM) <{POST_SNAPBACK}>
So... yes. Thank you so much. I don't know why I changed that in the first place.

Thanks for your help, guys!


Yeah, WRAPWIDTH 0/client-side wrap is an absolute necessity for clean triggering.

As for those "X has joined the commune" messages, I forgot about them when writing the instructions! I simply leave them in my primary output window, considering them to be more a type of announcement than actual chat. As for greeting novices... I'm supposed to do that in my capacity as an undersecretary, too, but someone always beats me to it. I HONORS people first and start typing longhand. I'll have to make a (non-automatic) greeting alias sometime with a variable for their name. tongue.gif

I'm glad you like your new chat window! I love mine, too.
Unknown2010-07-22 18:03:52
Not sure if this is possible or not, on Nexus, when you write a letter or edit a help file a seperate window pops up. Can you do this in MUSHclient? Like have a seperate window pop up to compose/edit something like a help file/letter etc.
Unknown2010-07-22 18:10:19
It is theoretically possible, but it could also take a lot of coding to make it happen smoothly.

Honestly, I think it's just as easy to edit your document in Notepad or some other simple text editor and just copy/paste the contents into the in-game editor. You just need to leave out carriage returns in the middle of a sentence/paragraph and it wraps very nicely.
Unknown2010-07-22 18:53:46
Ahh, fair enough!
Unknown2010-07-26 10:54:38
I'm using Mushclient and Treant, and a couple of days ago Mushclient decided to stop working. sad.gif

What happens is when I open my shortcut to run Mushclient, the program starts and immediately give out the stuck program error (using windows 7), and I have to kill it.
If I change the start directory of the shortcut, Mushclient works just fine.

I have no idea where to start looking, since the problem occurs before loading a saved world.

I had the problem once before, and what I did was remove the Treant directory, redownload it and reconfigure everything, but doing this wipes out everything I added, so I prefer not doing it again if anyone knows of a simpler solution.
Kante2010-07-27 19:42:38
Can someone tell me what I'm doing wrong?


enabled="y"
match=""Thy time within the Basin has come to a close." you sing, playing a rousing march on a forestal violin decorated with chimes."
send_to="12"
sequence="100"
>
world.DoAfter (30, "world.ColourNote ('red', '176 Seconds Till Song Ends')")




The DoAfter function is working, but it keeps printing the ColourNote as a raw string.
Razenth2010-07-27 19:46:51
Think you need to get rid of the quotes around world.ColourNote. If that breaks, you might need a different DoAfter function.