|
divido Newbie
Joined: 21 Oct 2003 Posts: 3 Location: USA
|
Posted: Tue Oct 21, 2003 7:52 pm
Advanced Conversation Window |
This is probably an unreasonable request, if so just let me know..
I want to use triggers to draw out all conversation on the MUD in any of dozens of channels (OOC, say, tell, etc.). The original motivation for this is twofold: I want to be able to see conversation that I missed because of combat, and I want to be able to display OOC text in white. However, I also want to format the string some also.. For example, a string on the mud:
Person OOCs 'a message'
should end up in the chat window as:
Person: a message
Where Person is in yellow (indicating OOC) and a message is in white.
This I have accomplished with the basic trigger
#TRIGGER {(%w) OOCs '&{Convo}'} {#WINDOW Chat %ansi(yellow)%1: %ansi(white)%quote(@Convo)}
with additional triggers for other channels that changes the color of the name..
In case you were wondering, the &{Convo} was used instead of (*) because commas in the text would cause the #WINDOW to screw up and not display anything after the comma.
Two problems exist:
First, colors are not displayed. If the person OOCs in color, I want the color to be copied over also. The Best approach here, I think, would be able to replace the default color with white. This maintains the origianl motivation that it is hard to read the dark color of OOC and also displays the colors of the OOC that the user included.
Second, Special control characters screw up zMUD. For example, if someone OOCed '<something> fdslkfj' then the somthing gets lost. Unfortuneately, my MUD has this tendency to include your clan name at the beginning of OOC, so <>, [], {} are all popular.
If this is possible or if you have any insight as to how to solve these problems, please let me know.. |
|
|
|
LightBulb MASTER
Joined: 28 Nov 2000 Posts: 4817 Location: USA
|
Posted: Wed Oct 22, 2003 2:50 am |
The simplest solution is to use #CAPTURE instead of #WINDOW. This preserves the colors and special characters from the MUD.
The best choice for changing the channel color is to do it on your MUD. Many MUDs provide a method of selecting your own default channel colors, but many others don't. If yours doesn't, the next best choice would be to change the color assignment for that color in the Chat window, using Prefs/Colors/Foreground Mapping. |
|
|
|
divido Newbie
Joined: 21 Oct 2003 Posts: 3 Location: USA
|
Posted: Wed Oct 22, 2003 6:44 pm |
#CAPTURE, unfortunately, seems to be resistant to my formatting of the output.. Is there a way to #CAPTURE the last line, but only characters x1 through x2? That would solve the problem
|
|
|
|
LightBulb MASTER
Joined: 28 Nov 2000 Posts: 4817 Location: USA
|
Posted: Wed Oct 22, 2003 9:48 pm |
Sorry, but the answer is no.
If you are more interested in reformatting the line, use #WINDOW.
If you are more interested in maintaining the original colors and other MUD formatting, use #CAPTURE.
Your choice. |
|
|
|
Rehcra Novice
Joined: 10 Oct 2000 Posts: 43
|
Posted: Thu Oct 23, 2003 6:21 pm |
I use a set of triggers like this:
#TRIGGER {^(%a) tells the group '(*)} {#window conversation {Grp:%1:'%2}}
#TRIGGER {You tell the group '(*)} {#window conversation {Grp:You:'%1}}
#TRIGGER {^--> (%a) tells you '(*)} {#window conversation {Tell:%1:'%2}}
#TRIGGER {You tell (%a) '(*)} {#window conversation {Rply:%1:'%2}}
You loose all the colors. But if you right click in the 'conversation' window, and attach a cmd line. You can paste in a set of triggers, just for that window. Then turn off the cmd line.
#TRIGGER {Grp:*} {#color bold,green}
#TRIGGER {Rply:*} {#color green}
#TRIGGER {Tell:*} {#color green}
Make sure you have auto-save settings turned on. This will create a seperate conversation.mud file just for those settings, and color the lines for you.
<EDIT> Hmm... Sadly I re-read what you wanted, and this doesn't do it. So ignore it. [:o)] |
|
|
|
the_dustmite Newbie
Joined: 30 Dec 2003 Posts: 4
|
Posted: Wed Jan 07, 2004 9:52 pm |
My triggers look like this:
Code: |
pantern -- (*) tells the group '(*)'$
#gag
:chat:#show {%ansi( red)%1%ansi( green)" tells the group '"%2"'"} |
just make sure you do a #window on connect to make sure a window is actually open. the colors work just fine for me. you might switch the wildcards... they work for my mud, i dont know about yours.
dustmite. |
|
|
|
Oofy Newbie
Joined: 25 Jan 2004 Posts: 3
|
Posted: Sun Feb 22, 2004 10:34 am |
This is what I did based on the different posts I've read on here on multi-line capturing. I'm still tweaking it, but you'll get the general idea. I was wondering if there's a way to tell it to have an attached command line when using the #makewindow command?
First I made a class called "tell"
#CLASS {tell}
#TRIGGER {$} {
#CR
#T- tell
}
#TRIGGER {^*$} {
:@person:#SAYP %time( hh:mm)%char( 32)
#CAP @person
}
#CLASS 0
Then I made 2 general trigs for receiving and sending tells, each with the same value:
Trigger 1: (%w) tells you Trigger 2: You tell (%w)
Value for Both Triggers:
#VAR person %1
#IF (%window( @person)) {
:@person: #SAYP %time( hh:mm)%char( 32)
#T+ tell
} {
#MAKEWINDOW @person open title=@person|scrolling=yes|left=50%|top=0|width=30%|height=45%|persistant
:@person: #SAYP %time( hh:mm)%char( 32)
#T+ tell
} |
|
|
|
|
|