Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » zMUD General Discussion
divido
Newbie


Joined: 21 Oct 2003
Posts: 3
Location: USA

PostPosted: 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..
Reply with quote
LightBulb
MASTER


Joined: 28 Nov 2000
Posts: 4817
Location: USA

PostPosted: 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.
Reply with quote
divido
Newbie


Joined: 21 Oct 2003
Posts: 3
Location: USA

PostPosted: 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
Reply with quote
LightBulb
MASTER


Joined: 28 Nov 2000
Posts: 4817
Location: USA

PostPosted: 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.
Reply with quote
Rehcra
Novice


Joined: 10 Oct 2000
Posts: 43

PostPosted: 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)]
Reply with quote
the_dustmite
Newbie


Joined: 30 Dec 2003
Posts: 4

PostPosted: 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.
Reply with quote
Oofy
Newbie


Joined: 25 Jan 2004
Posts: 3

PostPosted: 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
}
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » zMUD General Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net