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
sponge-bob
Beginner


Joined: 10 Nov 2001
Posts: 18

PostPosted: Wed Dec 12, 2001 4:08 am   

Trigger Help
 
In a trigger I have multible #if statements, is there a way to end a trigger if one of the #if statements is true, for example(this is off the top of my head)

Input:
this color is red

Trigger:
^this color is ({red|blue|green})

Script:
#if (%1="red") {%1=~%ansi~(high,red~)%1} {%1=~%ansi~(gray~)the default color}
#if (%1="blue") {%1=~%ansi~(high,blue~)%1} {%1=~%ansi~(gray~)the default color}
#if (%1="green") {%1=~%ansi~(high,green~)%1} {%1=~%ansi~(gray~)the default color}
#show this is @%1

Now if the input was "this color is red" then the output would end up being "this color is the default color" because in the scipt theres multible if so...

#if (%1="red") {%1=~%ansi~(high,red~)%1} {%1=~%ansi~(gray~)the default color}
the above would be true so then var %1 = (red) %1 then it goes to the next if

#if (%1="blue") {%1=~%ansi~(high,blue~)%1} {%1=~%ansi~(gray~)the default color}
sense %1 = (red) %1 from the first if statement this if statement is false so it make %1 = (gray) the default color, on to the next if

#if (%1="green") {%1=~%ansi~(high,green~)%1} {%1=~%ansi~(gray~)the default color}
sense %1 = (gray) the default color this statement is false so %1 = (gray) the default color again :) so after all that
Input: this is red
turns out
Output: this is (gray)the default color

the only way for this to turn out the way its sapose to be is if the input was this is green because in the script the last if statement is true so theres nothing to modify it, so i need a way to stop the trigger from continuing if a #if statement is true or a better easier way to do this cause im pretty sure there probably is a way :p thanks
Reply with quote
Aennor
Apprentice


Joined: 06 Dec 2001
Posts: 131
Location: USA

PostPosted: Wed Dec 12, 2001 4:31 am   
 
quote:
In a trigger I have multible #if statements, is there a way to end a trigger if one of the #if statements is true
I believe the #abort command would fit this bill:

#if (%1="red") {%1=~%ansi~(high,red~)%1} {#abort}{%1=~%ansi~(gray~)the default color}

.... etc.

Yout last comand then would never fire however so you would need to set a variable if true then execute an alias to do the #show command.

Hope that makes sense... very tired. Bad toothach, painkillers.... d r i f t i n g off...

If that doesn't do it and nobody else has popped up with the correct answer I'll look at it again in the Am after I get back from the dentist.

--
Aennor the Paragon of Gratuitous Agony
Staff on WoTMUD
wotmud.org 2222
Reply with quote
sponge-bob
Beginner


Joined: 10 Nov 2001
Posts: 18

PostPosted: Wed Dec 12, 2001 2:15 pm   
 
Ok thanks I get what your trying to say although you said it wrong ;p I think the correct way would be
#if (%1="red") {%1=~%ansi~(high,red~)%1;(alias here to show it);#abort} {%1=~%ansi~(gray~)the default color}
Reply with quote
Kjata
GURU


Joined: 10 Oct 2000
Posts: 4379
Location: USA

PostPosted: Wed Dec 12, 2001 4:30 pm   
 
Also, you can change the structure of your if's to have them all in one big if. Example:
#IF (@a=1) {@a=1 - do something} {#IF (@2=2) {@a=2 - do something} {#IF (@2=3) {@a=3 - do something} {@a is neither 1, 2 or 3 - do something}}}

Kjata
Reply with quote
LightBulb
MASTER


Joined: 28 Nov 2000
Posts: 4817
Location: USA

PostPosted: Wed Dec 12, 2001 6:14 pm   
 
We already know it's not the default color because your trigger phrase requires it to be red, blue, or green. Therefore, it's only necessary to determine which of the three it is and act accordingly. As it turns out, there's no need for any #IF statements.

#TR {^this color is ({red|blue|green})} {%ansi(high,%1);#SHOW this is %1}

LightBulb
Reply with quote
Aennor
Apprentice


Joined: 06 Dec 2001
Posts: 131
Location: USA

PostPosted: Wed Dec 12, 2001 7:59 pm   
 
Yeah that. :P

Sorry was deep into pain killers at the time. Oh well, that's why this is a community right? :-)



--
Aennor the Paragon of Gratuitous Agony
Staff on WoTMUD
wotmud.org 2222
Reply with quote
sponge-bob
Beginner


Joined: 10 Nov 2001
Posts: 18

PostPosted: Wed Dec 12, 2001 9:51 pm   
 
I like kjata's way :) never thought of it that way
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