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


Joined: 31 May 2004
Posts: 54
Location: USA

PostPosted: Wed Jun 09, 2004 8:53 pm   

#COND Problem
 
I don't want to clutter anyone elses posts anymore with stuff not concerning their post.

Ok, Nexela and LightBulb have been exceedingly helpful with a few questions and triggers. Hopefully this one will be as easy, seemingly, as the others.

quote:
Originally posted by LightBulb

#TR {^(%w) {arrives|flies in|floats in} from} {#CASE %random {:MyCharacter~#1:sayto %1 GreetMessage} {:MyCharacter~#2:sayto %1 GreetMessage} {:MyCharacter~#1:greet %1 warmly} {:MyCharacter~#2:greet %1 warmly} {#NOOP} {#NOOP}}
#COND {} {} {Wait:Param=30000}



Alright, here is my situation.

I entered this exactly as it is, but the #COND {} {} {Wait:Param=3000} does not seem to work with the trigger correctly.

Using the above trigger (slightly changed) that LightBulb wrote, this is what I see when I have ECHO TRIGGERS, ECHO MESSAGES, ECHO SCRIPTS enabled.

*Censored* flies in from the southeast.
*Censored* floats in from the southeast.


Results in the following...

*Censored* flies in from the southeast.
[^(%w) {arrives|flies in|floats in} from {the west|the southeast}->
#VAR PC *Censored*
:CharName: #VAR PC *Censored*
:CharName: #VAR PC *Censored*
#CASE %random {:CharName:sayto @PC GreetMessage} {#NOOP} {:CharName:sayto @PC GreetMessage} {:CharName:save} {:CharName:save} {#NOOP} {:CharName:save} {:CharName:sayto @PC GreetMessage} {:CharName:sayto @PC GreetMessage}
#COND {} {} {Wait:Param=20000}]

*Censored* floats in from the southeast.
[^(%w) {arrives|flies in|floats in} from {the west|the southeast}-> #VAR PC *Censored*
:CharName: #VAR PC *Censored*
:CharName: #VAR PC *Censored*
#CASE %random {:CharName:sayto @PC GreetMessage} {#NOOP} {:CharName:sayto @PC GreetMessage} {:CharName:save} {:CharName:save} {#NOOP} {:CharName:save} {:CharName:sayto @PC GreetMessage} {:CharName:sayto @PC GreetMessage}
#COND {} {} {Wait:Param=20000}]


You sayto *Censored*, 'GreetMessage'
You sayto *Censored*, 'GreetMessage'


I am not sure what is happening, but it may be something I did wrong. The trigger I used before used #WAIT and #T-/#T+ but as some people feel strongly, ZuggSoft included it seems, against using #WAIT as a stand alone, I tried it the way LightBulb showed me. Any help appreciated.

By the way, I've seen people use the following.
#COND {} {} {Wait:Param=1000}
and
#COND {} {} {Wait|Param=1000}
Is there a difference in using that bar | and using colon : ??

~Zener
Reply with quote
mr_kent
Enchanter


Joined: 10 Oct 2000
Posts: 698

PostPosted: Wed Jun 09, 2004 10:12 pm   
 
Use the 'pipe'(|) symbol or "bar".

You've got a lot of redirection going on there and I think Lightbulb was just in the habit of typing colons(:s) as a result.

If it still doesn't work after changing that character, someone else will have to help you...
#COND {} {} {Wait|Param=1000} should suspend the entire trigger for one second and then revert to the first state, making it ready for the next person to enter.

Also, there is nothing wrong with using your +T/-T structure. The problem was the #WAIT. If you want to turn classes on and off, use an #ALARM to suspend your triggering instead of #WAIT.
Reply with quote
Xphere
Beginner


Joined: 08 Jun 2004
Posts: 26
Location: USA

PostPosted: Wed Jun 09, 2004 10:29 pm   
 
ah ha, #alarm was the command i was thinking of before.. cause i used to use wait.. and. right.. thanks for the reminder mr_kent. i forgot that wait kinda pauses everything.. well trigger wise at least
Reply with quote
LightBulb
MASTER


Joined: 28 Nov 2000
Posts: 4817
Location: USA

PostPosted: Wed Jun 09, 2004 11:09 pm   
 
It looks to me like you pasted the script into the VALUE section of a trigger in the Settings Editor, instead of pasting it into the COMMAND LINE as it was designed for. This is a common mistake although one that still baffles me. When you see a script in this forum which doesn't specifically say which part belongs in which box of the Settings Editor it is almost always because it's written for the Command Line rather than the Settings Editor. Except for Buttons, I almost never write scripts for the Settings Editor because they require more work on my part and more work on your part.

The #CONDITION is not part of the trigger's value, it's the second state (state 1, since numbering starts with 0) of the trigger with it's own Pattern (blank) and Value (also blank) and Options (which is the important part of this one). If you want to do this in the Settings Editor, you must create a second state to paste the CONDITION's pattern and value into and to set its Options.

Yes, the : between Wait and 30000 was a typo and should have been a |.

Anyway, here's the thing rewritten for the Settings Editor

State 0:
Pattern: ^(%w) {arrives|flies in|floats in} from
Value:
#CASE %random {:MyCharacter~#1:sayto %1 GreetMessage} {:MyCharacter~#2:sayto %1 GreetMessage} {:MyCharacter~#1:greet %1 warmly} {:MyCharacter~#2:greet %1 warmly} {#NOOP} {#NOOP}

State 1:
Pattern:
Value:
Options Tab
Type: Wait
Param: 30000
Reply with quote
Zener
Wanderer


Joined: 31 May 2004
Posts: 54
Location: USA

PostPosted: Thu Jun 10, 2004 5:39 am   
 
Beautiful LightBulb, thank ya thank ya.
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