Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.
 Entire forum ➜ MUSHclient ➜ Tips and tricks ➜ How to make a separate chats window

How to make a separate chats window

It is now over 60 days since the last post. This thread is closed.     Refresh page


Pages: 1  2  3  4  5  6  7 8  

Posted by Quinas   (2 posts)  Bio
Date Reply #90 on Fri 01 Jun 2012 12:01 AM (UTC)
Message
Hi, I'm trying to filter out the following to a new window:

Quote:
=====================<+CDB Info for Jan (1473) - Male PC>=====================
Fullname: Jan Marbrand
Family: Son of Ser Joslan Marbrand and Janysa Falwell. Unmarried.

Age: 22 (b. 9-11-140) Religion: The Seven
House: Marbrand Allegiance: Marbrand
Region: The Westerlands Location: King's Landing
------------------------------------------------------------------------------
Status: A scion of a lesser lordly house.
Title: Knight
------------------------------------------------------------------------------
Hair: Dark Auburn Height: 1.88m/6'02"
Eyes: Grey Weight: 80kg/176lbs

Shortdesc: A rangy young man with dark auburn hair and grey eyes, clad in
simple but fine clothing.
==============================================================================


This is my code:

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE muclient>
<!-- Saved on Thursday, May 31, 2012, 4:48 PM -->
<!-- MuClient version 4.73 -->

<!-- Plugin "CBDRedirect" generated by Plugin Wizard -->

<muclient>
<plugin
   name="CBDRedirect"
   author="NY"
   id="2a58766aa2f7611113dbbcbc"
   language="Lua"
   purpose="To redirect CDB"
   date_written="2012-05-31 16:48:13"
   requires="4.73"
   version="1.0"
   >

</plugin>


<!--  Triggers  -->

<triggers>

  <trigger
   enabled="y"
   match="CDB"
   omit_from_output="y"
   regexp="y"
   script="redirect"
   sequence="100"
  >
  </trigger>
  
  <trigger
   enabled="n"
   match="*"
   omit_from_output="y"
   script="redirect"
   name="multi_line_chat"
   sequence="10"
  >
  </trigger>
  
</triggers>

<!--  Script  -->


<script>
<![CDATA[
chat_world = "BoD cdb"
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
	
-- if ends with quote, end of multi-line chat
  if line:sub (-1) == '==============================================================================' then
    EnableTrigger ("multi_line_chat", false)  -- no more lines to go
  else
    EnableTrigger ("multi_line_chat", true)  -- capture subsequent lines
  end -- if	

  end -- world found

end -- function redirect 

]]>
</script>




</muclient>


I can get it to filter the text I want, but after that it filters everything else coming from the 'main' world. Am I missing a command to switch the multi-line filter off?

Thanks
Top

Posted by Nick Gammon   Australia  (23,102 posts)  Bio   Forum Administrator
Date Reply #91 on Fri 01 Jun 2012 03:17 AM (UTC)
Message

  if line:sub (-1) == '==============================================================================' then


Testing this:


line = "=============================================================================="
print (line:sub(-1))


This prints "=".

You are comparing the last character of the line to a whole lot of equals signs, which won't match.

Maybe:


  if line == '==============================================================================' then


- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Quinas   (2 posts)  Bio
Date Reply #92 on Fri 01 Jun 2012 04:32 AM (UTC)
Message
Perfect. That fixed it!
Top

Posted by Squeegy   (1 post)  Bio
Date Reply #93 on Thu 03 Jan 2013 09:45 PM (UTC)
Message
Having a slight problem; I'm trying to filter out emotes on channels as well, but it isn't catching them because they don't end with '. How would I capture that with this?

<?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="2.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="^(\(.+\): )?[A-Za-z +]+ (CHATS|GOSSIPS|GRATZS|WIZS|QUESTCHATS|INFOS|IMCCHATS|AUCTIONS|WIZINFOS|CLANTALKS) '"
regexp="y"
script="chat_redirect"
omit_from_output="y"
sequence="100"
>
</trigger>

<trigger
enabled="y"
match="^[(CHAT|GOSSIP|GRATZ|WIZ|QUESTCHAT|INFO|IMCCHAT|AUCTION|WIZINFO|CLANTALK)] "
regexp="y"
script="chat_redirect"
omit_from_output="y"
sequence="100"
>
</trigger>

<trigger
enabled="y"
match="^You (CHAT|GOSSIP|GRATZ|WIZ|QUESTCHAT|INFO|IMCCHAT|AUCTION|WIZINFO|CLANTALK) '"
regexp="y"
script="chat_redirect"
omit_from_output="y"
sequence="100"
>
</trigger>

<trigger
enabled="n"
match="*"
omit_from_output="y"
script="chat_redirect"
name="multi_line_chat"
sequence="10"
>
</trigger>

<trigger
enabled="n"
match="*"
omit_from_output="y"
script="chat_redirect"
name="prompt"
sequence="10"
>
</trigger>

</triggers>

<!-- Script -->


<script>
<![CDATA[
chat_world = "Chat"
who_world = "Who List"

require "getworld" -- handles finding the world, and sending the line

-- chat redirector
function chat_redirect (name, line, wildcards, styles)

send_to_world (chat_world, styles)

-- if ends with quote, end of multi-line chat
if line:sub (-1) == "'" then
EnableTrigger ("multi_line_chat", false) -- no more lines to go
else
EnableTrigger ("multi_line_chat", true) -- capture subsequent lines
end -- if

end -- function chat_redirect

]]>
</script>
</muclient>


Example:
[CHAT] Blackjack just wants things to work as close to perfectly as possible,
is that really too much to ask

It will catch it, but it will also catch the newline after it, or even both the newline and the prompt, which I don't want cluttering up the place. Any advice?
Top

Posted by Alkain   (4 posts)  Bio
Date Reply #94 on Sun 17 Mar 2013 04:20 PM (UTC)

Amended on Sun 17 Mar 2013 04:25 PM (UTC) by Alkain

Message
Hi, I'm trying(And failing) to adapt this to a MUCK I play on. Sadly, I can't get anything to show up on the "Chat World"

The standard channels are;

<OOC> <name> says
<OOC> <name> <does something>
[Public] <name> says
[Public] <name> <does something>
says
page

If anyone can help, it'd be greatly appreciated :)


EDIT: With exception to the <OOC> itself, the things in <> are variables, just in case it isn't clear :P
Top

Posted by Nick Gammon   Australia  (23,102 posts)  Bio   Forum Administrator
Date Reply #95 on Sun 17 Mar 2013 08:43 PM (UTC)
Message
@Squeegy - sorry, I missed this question.

You need to identify what is different about the line that is not the chat line, so it can stop when it hits it. Perhaps post an example chat with an example of what follows it?




@Alkain - can you post what you tried?

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Alkain   (4 posts)  Bio
Date Reply #96 on Sun 17 Mar 2013 08:55 PM (UTC)
Message
Nick Gammon said:


@Alkain - can you post what you tried?



Sadly I erased it all, but I tried several of the fixes listed here with slight modifications.

I did set up the chat world as specified and made sure the script pointed to it.

I just fiddled with the match= line though, but I can't remember what I did exactly :/
Top

Posted by Nick Gammon   Australia  (23,102 posts)  Bio   Forum Administrator
Date Reply #97 on Mon 18 Mar 2013 03:51 AM (UTC)
Message
I think there are a few versions over the life of this thread. Take then one you tried, try to get it working, and then post what you have.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Alkain   (4 posts)  Bio
Date Reply #98 on Tue 19 Mar 2013 12:43 AM (UTC)
Message
I would, but I really have no idea what I'm doing. I'm new to Mushclient and have no coding experience :/
Top

Posted by Alkain   (4 posts)  Bio
Date Reply #99 on Thu 28 Mar 2013 03:11 AM (UTC)

Amended on Thu 28 Mar 2013 09:23 AM (UTC) by Alkain

Message
Soooo, it's been a while... Any help would be appreciated, I'm also looking for how to make a clock or something similar.


EDIT: Thanks to a friend, I was able to get it working. THanks for the help though
Top

Posted by Kaidesa   (2 posts)  Bio
Date Reply #100 on Thu 15 Aug 2013 08:23 AM (UTC)
Message
Hello!

I've been using this script, albeit highly modified, for quite some time now. I've come to a scenario where I want to send my information messages (info messages from the client, not from the M* I'm connected to) to a separate window.

Is this possible with the current script? If not, is there anything I can use to do such?

I'd appreciate it if anyone could help!
Top

Posted by Kaidesa   (2 posts)  Bio
Date Reply #101 on Thu 15 Aug 2013 02:46 PM (UTC)
Message
I suppose I used the wrong term. Rather than information, I suppose notes would be the proper term. Sorry for the confusion, if any.
Top

Posted by Nick Gammon   Australia  (23,102 posts)  Bio   Forum Administrator
Date Reply #102 on Fri 16 Aug 2013 08:22 AM (UTC)
Message
It could probably be done one way or another. You could intercept "Note" function calls and make them do something else, if that is where the notes are coming from.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Fiendish   USA  (2,533 posts)  Bio   Global Moderator
Date Reply #103 on Sun 18 Aug 2013 06:42 AM (UTC)
Message
I use the CallPlugin interface.

https://github.com/fiendish/aardwolfclientpackage
Top

Posted by Trynn   (1 post)  Bio
Date Reply #104 on Tue 03 Sep 2013 12:44 AM (UTC)
Message
This is a great plugin and all, and I use it quite successfully on the Discworld MUD.. However, how can I put this exact same redirect script into a mini window with a context menu to choose which channels/chats to echo in the main output (like the Aardwolf chat window), instead of a world window?
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


397,045 views.

This is page 7, subject is 8 pages long:  [Previous page]  1  2  3  4  5  6  7 8  [Next page]

It is now over 60 days since the last post. This thread is closed.     Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.