 |
missinglink Beginner
Joined: 09 Feb 2010 Posts: 15
|
Posted: 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 |
|
|
|
 |
Zugg MASTER

Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: 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.
|
|
|
|
 |
missinglink Beginner
Joined: 09 Feb 2010 Posts: 15
|
Posted: 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. |
|
|
|
 |
GeneralStonewall Magician
Joined: 02 Feb 2004 Posts: 364 Location: USA
|
Posted: Wed Feb 10, 2010 12:51 am |
You should try using a multistate trigger, one state for each line.
|
|
|
|
 |
Zugg MASTER

Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: 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.
|
|
|
|
 |
|
|
|
|
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
|
|