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
Dagnimaer
Wanderer


Joined: 05 Apr 2003
Posts: 60
Location: USA

PostPosted: Fri Aug 08, 2003 3:16 am   

Trigger Question for Imperian
 
ok, in Imperian/Achaea/Aetolia there are classes that can illusion, sometimes we can pick it up. I was wandering if there was a way to have it ignore capturing and triggering a text. here is what it looks like from my screen.

** Illusion **
A *****ly, stinging sensation spreads through your body.
** Illusion **


I only want to ignore the text between the ** Illusion ** messages.

Thanks
Reply with quote
LightBulb
MASTER


Joined: 28 Nov 2000
Posts: 4817
Location: USA

PostPosted: Fri Aug 08, 2003 3:29 am   
 
#CLASS TriggersThatShouldIgnoreIllusions enable
#CLASS 0
#TR {^~*~* Illusion ~*~*} {#IF %class( TriggersThatShouldIgnoreIllusions) {#T- TriggersThatShouldIgnoreIllusions} {#T+ TriggersThatShouldIgnoreIllusions}}
Reply with quote
Dagnimaer
Wanderer


Joined: 05 Apr 2003
Posts: 60
Location: USA

PostPosted: Mon Aug 11, 2003 3:09 am   
 
ok, I found out now that there are 3 different messages.

** Illusion **
You stumble and it becomes very difficult to concentrate on your coordination.


You stumble and it becomes very difficult to concentrate on your coordination.
** Illusion **

and finally

** Illusion **
You stumble and it becomes very difficult to concentrate on your coordination.
** Illusion **

is there a way to config the trigger to look for this pattern and act accordingly?
Reply with quote
Dagnimaer
Wanderer


Joined: 05 Apr 2003
Posts: 60
Location: USA

PostPosted: Mon Aug 11, 2003 3:19 am   
 
I was thinking of doing a simple skip command, but sometimes there are 2 lines of text instead of one.
Reply with quote
LightBulb
MASTER


Joined: 28 Nov 2000
Posts: 4817
Location: USA

PostPosted: Mon Aug 11, 2003 5:48 am   
 
As the number of variations increase, the difficulty of designing a matching trigger does also. It's especially difficult to design a trigger to take action on something that happened BEFORE the trigger's pattern.

Apparently ** Illusion ** can apply to EITHER the line before it, or the line after it, with no way to tell which of those two lines it applies to. I can't think of any reasonable approach to script for that. Sorry.
Reply with quote
Caled
Sorcerer


Joined: 21 Oct 2000
Posts: 821
Location: Australia

PostPosted: Mon Aug 11, 2003 10:35 am   
 
#TR {^~*~* Illusion ~*~*} {illusionalert=1}
#TR "prompttrig" {prompt trig} {#IF (!@illusionalert) {@cure //variable containing whatever command you want the affliction trigger to do};illusionalert=0;#T- prompttrig} {prompt}
#TR {You stumble and it becomes very difficult to concentrate on your coordination.} {cure={#CO 23};#T+ prompttrig}

Thats just a rough one. You have to, I think, do something with a %exec or similar to force parsing of commands in expanding variables. I havn't kept up to date with that though sorry. Anyway... the idea is, that your trigger fires... and the actions you want it to do are stored in a variable. Next time a prompt is seen, IF the illusion variable is zero, the actions in that variable are executed. The #CO 23 is just a base example.

Another way to do it is applicable only if you autocure. Have the affiction trigger add it to you to-be-cured list.. but not to cure it. Have the prompt run the commands to cure it..or, if illusionalert is true (1), to delete that affliction from the to-be-cured list.

Oh... and the prompt trigger has to fire only once of course, so dont forget the line ensuring that it disables itself.
Reply with quote
Dagnimaer
Wanderer


Joined: 05 Apr 2003
Posts: 60
Location: USA

PostPosted: Mon Aug 11, 2003 11:46 am   
 
ok, instead of trying to get for all 3 of them. what about just so it feeds off of the first one?

so it would work for both

** Illusion **
You stumble and it becomes very difficult to concentrate on your coordination.

and

** Illusion **
You stumble and it becomes very difficult to concentrate on your coordination.
** Illusion **


I am not a very good programmer/scripter. I just know basics. So Caled, I really do appreciate your help, but at the moment its getting a little ahead of me. I used to manual cure, but due to medical reasons, being forced to a more and more automated healing system. In time I think I will be able to eventually work your idea out but if possible, just want a quick and dirty one so I don' keep dieing to serps.

Thanks.
Reply with quote
Kjata
GURU


Joined: 10 Oct 2000
Posts: 4379
Location: USA

PostPosted: Mon Aug 11, 2003 2:44 pm   
 
Change the pattern for each of your affliction triggers to include the line right before and right after it:
(*)$You stumble and it becomes very difficult to concentrate on your coordination.$(*)

Then have the code of the trigger check if either of the two lines says that it is an illusion. If one of them does, do nothing. Otherwise, heal:
#IF (("%1" <> "** Illusion **") and ("%2" <> "** Illusion **")) {heal affliction}

As a side note, and somewhat off-topic, Achaea really ticks me off sometimes. However, I have yet to see a trigger-preventing system of theirs that we have not been able to defeat here.
Reply with quote
Dagnimaer
Wanderer


Joined: 05 Apr 2003
Posts: 60
Location: USA

PostPosted: Mon Aug 11, 2003 9:49 pm   
 
Thanks Kjata, and Caled and Lightbulb, it put me in the right direction.
Reply with quote
Dagnimaer
Wanderer


Joined: 05 Apr 2003
Posts: 60
Location: USA

PostPosted: Tue Aug 12, 2003 4:59 pm   
 
ok, I found out what was slowing my system down..
Trigger: (*)${T|*}{e|*}{r|*}{r|*}{o|*}{r|*} {t|*}{a|*}{k|*}{e|*}{s|*}*$(*)

Action is: #IF (("%1" <> "** Illusion **") and ("%2" <> "** Illusion **")) {#cw 5706;paralysis = 1;paralyzedaffliction;#if {@herbbalance AND NOT @anorexia} {outr maidenhair;eat maidenhair}}

It works, but it appears to really slow down my system. any way arond that?
Reply with quote
LightBulb
MASTER


Joined: 28 Nov 2000
Posts: 4817
Location: USA

PostPosted: Tue Aug 12, 2003 7:57 pm   
 
This pattern might be faster, although it's less precise. If you need to increase the precision, make those two words %2 and %3 with the third line as %4, and check the length of those two words.

(*)$[Tero*] [takes*] *$(*)
Reply with quote
Dagnimaer
Wanderer


Joined: 05 Apr 2003
Posts: 60
Location: USA

PostPosted: Tue Aug 12, 2003 11:55 pm   
 
I'm confused on where to put the %1, %2, %3 and %4. I know its basic, but for me, scripting is difficult because my mind thinks in a very non-linear way.

So, do I have %1 and %4 in the (("%1" <> "** Illusion **") and ("%2" <> "** Illusion **")) spots?
Reply with quote
Dagnimaer
Wanderer


Joined: 05 Apr 2003
Posts: 60
Location: USA

PostPosted: Tue Aug 12, 2003 11:57 pm   
 
Oh well, i'll just have to do it the old fashioned way and trigger each one. Thanks for the help
Reply with quote
Dagnimaer
Wanderer


Joined: 05 Apr 2003
Posts: 60
Location: USA

PostPosted: Tue Aug 12, 2003 11:58 pm   
 
Oh well, i'll just have to do it the old fashioned way and trigger each one because even that slows it down.


Thanks for ALL the help.
Reply with quote
Caled
Sorcerer


Joined: 21 Oct 2000
Posts: 821
Location: Australia

PostPosted: Thu Aug 14, 2003 3:52 pm   
 
To beat the mangled curare message thing, read the final reply in this thread, and feel free to ask any questions you wish.

http://zuggsoft.com/forum/topic.asp?TOPIC_ID=3085&SearchTerms=achaea
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