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

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD General Discussion
missinglink
Beginner


Joined: 09 Feb 2010
Posts: 15

PostPosted: Tue Feb 09, 2010 4:29 pm   

Filtering / gagging
 
Hi all,

i'm new to cMud / zScript, so apologies for any silly questions.

I need to be able to filter a lot of the text coming back to me, as well as send commands which do not echo to the screen.

At the moment i'm using regular expression triggers with the #Gag command, however since there is a fair bit coming back (and quite regularly), this method is producting the result of the screen occasionally jumping (for maybe 1/10th of a second) as the text comes in, you can see the text for that fraction of time, then it gets removed.

Doesn't seem quite that annoying until it is happening every ~6 seconds, and with the screen jumping around it makes it tough to read. I'm running a core i7 with 6gb ram so i don't think processing power is the problem. Anyone know of a way to filter incoming text more effectively?

For my other problem, i'm using #sendraw. is this the best thing to use or is there something better?

Thanks for any help,

m-L
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Tue Feb 09, 2010 5:50 pm   
 
It's a "bug" in the 2.37 version. The 3.x beta versions handle #GAG more effectively. You'll just need to wait until the 3.x public release in another month or so.
Reply with quote
missinglink
Beginner


Joined: 09 Feb 2010
Posts: 15

PostPosted: Tue Feb 09, 2010 11:48 pm   
 
Hi Zugg,

thanks for your prompt response. and congrats on writing a brilliant mud client. The features in cMud have enticed me to start using it, away from my previous client which i have been using for about 8 years.

I will look forward then to the 3.x release. I am at the moment using the 3.12beta, if that makes any difference.

I think however it may also be the way i'm parsing the trigger. It is a 3-line trigger, which is probably why it is writing to the screen the first two lines for that fraction of a second before it receives the third. i have been able to stop the "jumping" by keeping the 3line trigger (where all the code is), and then creating 3 additional triggers with only #GAG in them, which filters them as they come in. However now i have the problem that the 3line trigger doesn't fire at all. I've tried modifying the "priority" of the triggers but that doesn't seem to help. I've made sure the "stop further processing" is not selected.

Should i just break up the code of the 3line trigger into it's individual line components, or should the individual triggers with just #gag still allow the 3line trigger to fire?

Thanks for your help.
Reply with quote
GeneralStonewall
Magician


Joined: 02 Feb 2004
Posts: 364
Location: USA

PostPosted: Wed Feb 10, 2010 12:51 am   
 
You should try using a multistate trigger, one state for each line.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Wed Feb 10, 2010 5:34 pm   
 
Yeah, if you use a 3-line trigger, you'll definitely have trouble. Because CMUD sends each line to the trigger processor, and if the line isn't gagged, then it gets displayed on the screen. So in a 3-line trigger, the first two lines will be displayed on the screen before they get gagged. Even with a multistate trigger you might have trouble with that. There just isn't any way to tell CMUD not to display text on the screen when you don't know it will be gagged until several lines later.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD 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