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

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » Finished MUD Scripts Goto page 1, 2  Next
Caled
Sorcerer


Joined: 21 Oct 2000
Posts: 821
Location: Australia

PostPosted: Tue Oct 22, 2002 12:18 pm   

Achaean channel capture - Mod from Lalaynya's
 
I took Lalaynya's script, and got it working, but decided that I wanted it to work differently. I found the multiple windows to be cluttering (each to their own, I suppose). Until I saw Lalaynya's though, I never understood how to do a channel capture script. Anyhoo...

What I wanted was for all channels to be captured to a single window, for each to be timestamped and to show which channel it belongs to (necessary since they're all in the same window). I also didn't want it gagged from the main window, and I wanted tells to be captured as well.

I wouldn't have bothered putting it here, since essentially anyone could modify it from Lalaynya's, but a couple of people already asked me about how to change it (it was in fact due to their questions that I decided to change it in the first place).

#CLASS {Communication}
#TRIGGER {^~((%w)~):(*)} {#var cap "%1";#class cap 1}
#TRIGGER {^(%w) tells you,} {#T+ cap}
#TRIGGER {^You tell} {#T+ cap}
#CLASS 0
#CLASS {Communication|Cap} {disable}
#TRIGGER {*} {#CAPTURE Channels}
#CLASS 0


The following should go in the settings file for the window named "Channels"

#CLASS 0
#TRIGGER {^~((%w)~):} {#SUBSTITUTE {"["%time( hh:mm)"] ("%1"):"}}
#TRIGGER {You tell (*), ~"} {#SUBSTITUTE {%ansi( 12)"["%time( hh:mm)"] - You tell" %1 ","}}
#TRIGGER {(%w) tells you,} {#SUBSTITUTE {%ansi( 12)"["%time( hh:mm)"]" %1 "tells you,"}}


Notes:
(1) If you want it to gag captured stuff from the main window, change: "#TRIGGER {*} {#CAPTURE Channels}" to "#TRIGGER {*} {#CAPTURE Channels;#GAG}"

(2) If a bug occurs where sometimes a tell you make yourself is not all captured (i.e. the first line of your tell), the bug is in the trigger pattern I coloured red for you, the fault being the use of (*), ". I think I fixed it, but if it occurs, thats where the prob will be.

(3) I've got the %ansi(12) in there because I like to see tells in red, but someone sends a tell, and their name is coloured something else by zMud (from an allies list), then the whole line was captured in the colour. If you don't like red, change it.

Caled
Reply with quote
Amylon
Novice


Joined: 31 Jan 2003
Posts: 49
Location: Australia

PostPosted: Wed Feb 05, 2003 4:25 pm   
 
Any idea why this catches anything I type in the command line??

Amylon

--------------------
#trigger {(*) tells you, '} {tell %1 NO}
--------------------
Reply with quote
Caled
Sorcerer


Joined: 21 Oct 2000
Posts: 821
Location: Australia

PostPosted: Sun Feb 09, 2003 5:47 am   
 
Probably because it also needs the command #T- cap in a trigger that fires off the prompt.

Caled
Reply with quote
russtops
Newbie


Joined: 04 Mar 2003
Posts: 2
Location: USA

PostPosted: Sat Mar 08, 2003 10:12 pm   
 
I don't understand how to put it in a settings file for a channel window.

conjure illusion The Pixie Queen sticks her tongue out and blows a raspberry at you.
Reply with quote
Caled
Sorcerer


Joined: 21 Oct 2000
Posts: 821
Location: Australia

PostPosted: Sat Mar 08, 2003 10:49 pm   
 
Go to the command line.
Enter: #WIN channels

That will create a child window. It will, by default, not have an attached command line, but that doesn't matter. Resize this window to where you want it. I have mine on the right side of the screen, about half as high as the screen, and sized with a width that means it doesn't interfere with me reading the main mud window. Using comic sans as your font in the main window gives you a lot more horizontal room on screen. You will probably want to click on the "stay on top" button for that window, as well.

Then, copy the stuff that needs to go into the settings file for that child window. Click on the child window. Paste it with ctrl+v. Press enter. Alternatively, you could click on the child window, then click on preferences... find the option "attached command line" and check it, which will give the child window an attached command line. Than you just paste the settings to the command line and press enter. Same thing.

To open the settings file for the child window - to make sure they were created right, select the window by clicking on it, then open the settings editor. Check its all good, then save the settings and get out of there.

The last thing you need to know, is how to save the position of the window. You have to click on the window to select it, -then- save layout. Just saving layout normally, doesnt save the position of the child window.

Caled
Reply with quote
Larkin
Wizard


Joined: 25 Mar 2003
Posts: 1113
Location: USA

PostPosted: Tue Mar 25, 2003 4:46 am   
 
Is there any way I can turn off the extra prompts I see? I have the channels gagged, but I get all of these annoying extra prompts instead. I don't really want to gag all of my prompts, so I'm hoping to find another way.

Thanks,
Larkin
Reply with quote
Caled
Sorcerer


Joined: 21 Oct 2000
Posts: 821
Location: Australia

PostPosted: Wed Jul 30, 2003 4:33 am   
 
Possibly.. hehe. You aren't seeing extra prompts I dont think.. its just that you're gagging a block of text between two prompts.. giving you double prompts. I'm not going to write the solution for you, since I don't gag the tells anyway, but if I were going to.. I'd consider making the prompt trig that does
#T- cap
A temporary trigger created when the capturing begins... and adding a #GAG to the temp trig.
Reply with quote
kyishi
Novice


Joined: 08 Oct 2003
Posts: 31
Location: United Kingdom

PostPosted: Wed Oct 08, 2003 8:18 pm   
 
Do you know how i stop it from not capturing the whole text from the channels and tells and so on. And how do i stop it from not capturing all the tells that there are, i was sent a tell and it captured it and then when i got the next one it did not display it in the child window?? Got any ideas??
Reply with quote
itsacat
Newbie


Joined: 11 Oct 2003
Posts: 5

PostPosted: Sat Oct 11, 2003 9:45 pm   
 
Heres the script I wrote for redirecting text in achaea, it does a different colour for tells and clans.

It works and it only gets confused when someone has a tell as their warcry... i just havent got round to sorting it out. If you want to use it, import then disable the chattxt subfolder before connecting.

#CLASS {chat}
#CLASS 0

#CLASS {chat|chattxt}
#TRIGGER {*} {#VAR lineend %rightback( %trigger, 1);#if (@lineend = %char( 34)) {#WIN speech %trigger;#CO bold,red;#gag;#T- chattxt;#T+ chattrig};#if (@lineend <> %char( 34)) {#WIN speech %trigger;#CO bold,red;#gag}}
#CLASS 0

#CLASS {chat|chattrig}
#TRIGGER {*tells you*} {#VAR speechcol "red";#VAR lineend %rightback( %trigger, 1);#WIN speech %trigger;#gag;#if (@lineend <> %char( 34)) {#T- chattrig;#T+ chattxt}}
#TRIGGER {You tell*} {#VAR speechcol "red";#VAR lineend %rightback( %trigger, 1);#WIN speech %trigger;#gag;#if (@lineend <> %char( 34)) {#T- chattrig;#T+ chattxt}}
#TRIGGER {~(*~)~:*} {#VAR speechcol "yellow";#VAR lineend %rightback( %trigger, 1);#WIN speech %trigger;#gag;#if (@lineend <> %char( 34)) {#T- chattrig;#T+ chattxt}}
#CLASS 0



thats it.. btw i used to have a trigger for each clan/guildchan etc which meant i could have a different colour for each one. just disable the ~(*~)~:* trigger and add triggers for the different clans and use the same code. eg #TRIGGER {~(Dwarves of Kongol Drak~)*}

Itsacat - aka Tacasti :P
Reply with quote
itsacat
Newbie


Joined: 11 Oct 2003
Posts: 5

PostPosted: Sat Oct 11, 2003 9:56 pm   
 
uhhh sorry two things with that code, first you dont need the "#co bold,red;" lines in the * trigger (i was playing around forgot to remove them) and secondly you need this in your speech window settings to do the colour.

#TRIGGER {*} {#CO @speechcol,bold}
Reply with quote
quicksilver85
Beginner


Joined: 16 Jan 2004
Posts: 15
Location: USA

PostPosted: Fri Jan 16, 2004 5:09 am   
 
I downloaded the mudreader plugin. I am attempting to use this script to capture the channels and then have mudreader read them out to me. When it captures to a window it also captures my prompt despite my trigger to disable at next prompt. What can I do?
Also, as a side note, how do I permanently close a child window?
Reply with quote
Firey
Wanderer


Joined: 30 Dec 2003
Posts: 61
Location: Norway

PostPosted: Wed Feb 25, 2004 1:20 pm   
 
ummm.... why doesn't anyone do it the easy way????

Do this:

#TRIGGER {You tell %1} {#CAPTURE TELLS}

#TRIGGER {%1 tells you} {#CAPTURE TELLS}

It works completely fine for me... Then I'll get all those tells I send and I get on a window over the mud.... I made the horenzital split thing.
Reply with quote
Lirril
Novice


Joined: 23 Oct 2000
Posts: 44
Location: Ireland

PostPosted: Wed Feb 25, 2004 6:38 pm   
 
One reason might be because this doesn't deal properly with tells and channel says that are longer than one line. Perhaps one of those clever multistate triggers would be of use in this scenario.

- Lirril
Reply with quote
Askar
Newbie


Joined: 24 Jan 2003
Posts: 2

PostPosted: Mon Mar 01, 2004 2:25 pm   
 
Here is a simular set I personally use for channels, for multiple possible channel ... each can goto seperate windows or combined in one.

#trigger {%1 tells you '%2'} {#window tells %time("dd-mm-yyyy hh.nn.ss") - (%1): %2}
#trigger {You tell %1 '%2'} {#window tells %time("dd-mm-yyyy hh.nn.ss") - (You tell %1): %2}

with minor changes for each channel ie, You say '%1' ... You say to %1 '%2' ... %1 says '%2' ... %1 says to you '%2' ... out to Says chat window using variables contained in the lines to report the info.

Only prob with these 2 triggers is that if you recieve a line with zmud prompt variables you may lose some info in the transfer. ie text following some of the following characters @ $ ; : . ^ ? <> [] {} () %
Reply with quote
discordia
Newbie


Joined: 05 Dec 2003
Posts: 8
Location: USA

PostPosted: Thu Mar 11, 2004 9:19 pm   
 
I love capturing my channels and tells in Achaea, cleaned up on my spam, however I like to log what I do on Achaea and does anyone have a tip for gettng the child windows to log without having to manually do it each time I log in?
Reply with quote
Kelemvor
Newbie


Joined: 23 Mar 2004
Posts: 4
Location: United Kingdom

PostPosted: Tue Mar 23, 2004 8:18 pm   
 
I have used the script from the original message, but it is capturing every thing the MUD(Aetolia) send to the main window.
Any ideas??????

Kel
Reply with quote
Zulithe
Newbie


Joined: 16 Jul 2002
Posts: 8
Location: USA

PostPosted: Sat Mar 27, 2004 8:43 am   
 
Kelemvor I am having the *exact* same problem. Perhaps some changes in the scripting lately (since that script was made in 2002...)

I'm using zMUD 7.04 and I'm very new at scripting... can someone please help :) Achaea is such a cool mud and this script will be so useful :)
Reply with quote
Kelemvor
Newbie


Joined: 23 Mar 2004
Posts: 4
Location: United Kingdom

PostPosted: Sat Mar 27, 2004 9:45 am   
 
I have managed to find my problem yours might be the same

#CLASS {Communication|Cap} {disable}
#TRIGGER {*} {#CAPTURE Channels}
#CLASS 0

The problem i found was that this trigger was not put into the cap class so the #T- cap was not turning it of, check this trigger for its class if it has none change it to cap.

That solved my trouble

hope it helps


Kel
Reply with quote
discordia
Newbie


Joined: 05 Dec 2003
Posts: 8
Location: USA

PostPosted: Tue Mar 30, 2004 1:04 am   
 
When I updated to Zmud v 7.04 I to had a lot of issues with the capture script.

This is my update to it. Not 'totally' perfect but it should work out for you. If you run REFERENDUM (to see it's command arguments in Achaea) you'll end up pulling them up into your chat window. However, it seems to work fine everywhere else.
Code:

#CLASS {chat}
#CLASS 0
#CLASS {chat|chattrig}
#TRIGGER {^~(*~)~:*} {
  #MAKEWINDOW chat "scrolling=yes|align=top|tight=chat"
  #VARIABLE lineend {%rightback( %trigger, 1)}
  #IF (@lineend = %char( 34)) {
    #CAPTURE chat
    #GAG
    } {
    #T+ chattext
    #T- chattrig
    }
  }
#TRIGGER {^~<~<*~>~>~:*} {
  #MAKEWINDOW chat "scrolling=yes|align=top|tight=chat"
  #VARIABLE lineend {%rightback( %trigger, 1)}
  #IF (@lineend = %char( 34)) {
    #CAPTURE chat
    #GAG
    } {
    #CAPTURE chat
    #GAG
    #T+ chattext
    #T- chattrig
    }
  }
#CLASS 0
#CLASS {chat|chattext}
#TRIGGER {*} {
  #VARIABLE lineend {%rightback( %trigger, 1)}
  #IF (@lineend <> %char( 34)) {
    #CAPTURE chat
    #GAG
    } {
    #CAPTURE chat
    #GAG
    #T+ chattrig
    #T- chattext
    }
  }
#CLASS 0

Hope it helps. It pulls the ansi from Achaea directly to your chat window, without need for colouring/triggering each channel.

Let me know if you have any probs. (Now if I could just get it to LOG automatically *grin*)

discordia/Belynia (achaea)
Reply with quote
Eric Freeman
Newbie


Joined: 11 May 2003
Posts: 5
Location: USA

PostPosted: Sun May 02, 2004 10:28 am   
 
quote:
Originally posted by discordia

I love capturing my channels and tells in Achaea, cleaned up on my spam, however I like to log what I do on Achaea and does anyone have a tip for gettng the child windows to log without having to manually do it each time I log in?



Just wondering if anyone answered this guys question. I would like to do the same thing and have the window setup when i first log in. Also the command line on the bottom of the window doesnt need to be there at all.
-Eric Freeman
Reply with quote
Eric Freeman
Newbie


Joined: 11 May 2003
Posts: 5
Location: USA

PostPosted: Sun May 02, 2004 10:41 am   
 
nevermind did another search and found the answer here:
http://www.zuggsoft.com/forum/topic.asp?TOPIC_ID=15521&SearchTerms=child%2Cwindow%2Csave
thanx anyway :)
-Eric
Reply with quote
fannwyl
Newbie


Joined: 14 May 2004
Posts: 1

PostPosted: Fri May 14, 2004 9:09 am   
 
I loaded discordia's script, and I really like it, but I am still seeing the "extra" prompts in the main window. I am a super-newb with this stuff (just upgraded from 3.62 *boggle*) and I have been able to deceifer what to do.

If someone could give me a really straightforward answer on how to take care of that, it would be VERY much appreciated.

Thanks! Fannwyl
Reply with quote
Bobert
Beginner


Joined: 01 Apr 2004
Posts: 20
Location: Purdue University

PostPosted: Wed Jun 09, 2004 2:41 am   
 
I'm using discordia's script and am quite happy with it, don't mind the extra prompts simply because I get a note when something has been spoken on a channel.

However, I would like to know if there was a way to change the size of the text in the new window, so that I could make it even smaller without destroying the formatting.

Thanks for any help
Reply with quote
Chim
Beginner


Joined: 06 Jan 2004
Posts: 13
Location: Canada

PostPosted: Wed Jun 09, 2004 2:46 am   
 
Could you give me an example of how I'd cautpre a channel? For instance, say I wanted to capture the Ashtan channel? It's always preceded by "(Ashtan)" so I just need to know where to put that in the script.
Reply with quote
Foilhat
Newbie


Joined: 13 Jun 2004
Posts: 3

PostPosted: Sun Jun 13, 2004 3:01 am   
 
quote:
Originally posted by fannwyl

I loaded discordia's script, and I really like it, but I am still seeing the "extra" prompts in the main window. I am a super-newb with this stuff (just upgraded from 3.62 *boggle*) and I have been able to deceifer what to do.



I'm the same boat (new to zmud and unhappy with the extra prompts), but I think I have a solution based on Lalaynya's code. This script, assuming I haven't broken it while cleaning it up, should capture each channel to a new window and suppress the extra prompts. Tip: Windows can be docked into other windows so that you get a tab for each channel that indicates when you've got a new message with a green light - nice touch Zugg!

#CLASS {Chat}
#VAR channel {chat} {chat}
#TRIGGER {^~((%w)~):(*)} {
#VAR channel %1
#CAP @channel
#GAG
#T+ cap
}
#CLASS {Chat|cap} {disable}
#REGEX {^(?!d+h, d+m.*-).*} {
#CAP @channel
#GAG
}
#REGEX {^d+h, d+m.*-} {
#GAG
#T- cap
}
#CLASS 0


Here's a couple of extras that allow you to have zmud beep when you get a new message on a channel (enabled with speed menu) and replace the channel name with a timestamp. Note that these have to go in the settings of the CHANNEL windows:

#VAR soundon {0} {0}
#VAR soundaction {Enable} {Enable}

#TRIGGER {^~(*~)~:} {#if (@soundon) {#beep}}
#TRIGGER {^~((%w)~): } {#sub {"("%time(hh:mm)") "}}

#MENU {@soundaction audio notifications} {
#mat soundon not(@soundon)
#if (@soundon) {
#say Audio notifications are now ENABLED
#var soundAction Disable
} {
#say Audio notifications are now DISABLED
#var soundAction Enable
}
} ""


All of this is working like a charm here, so if you run into problems please reply. I might have broken something when I cleaned it up.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » Finished MUD Scripts All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
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