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
Teibidh
Beginner


Joined: 09 Nov 2002
Posts: 14

PostPosted: Fri Oct 01, 2010 11:36 pm   

Trigger help...
 
First, I have three packages involved:

carnage.pkg is a module.
main.pkg is a window.
bot.pkg is a window.

I am using this as a trigger command:

Code:
#tr {^@tank {barely|scratches|hits|pounds|slashes|pierces|bludgeons|massacres|annihilates|demolishes|obliterates} %1} {assist @tank;#t- auto.assist} auto.assist


I then move this trigger from whatever window I was in when I type it to the carnage.pkg which contains all the stuff I want shared by both windows, essentially, no variables. The problem is that it will trigger in one window but not the other. Other triggers work just fine, including some triggers that are set up similar to this one in that the trigger is shared but uses variables (@tank) from the window that it's firing in. I was under the impression this was standard functionality for CMUD anyway.

I have used the string tester in the Settings/Trigger window with a cut and paste line from combat and it works fine. Help? Or at least, what info do you need me to provide so you can help?:)
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Sat Oct 02, 2010 12:44 am   
 
Make sure that each window has a check next to carnage in the Window Properties. If there's no checkmark there, triggers in the carnage package won't fire in that window.
_________________
EDIT: I didn't like my old signature
Reply with quote
Teibidh
Beginner


Joined: 09 Nov 2002
Posts: 14

PostPosted: Sat Oct 02, 2010 1:25 am   
 
Yup, one of the first things I checked. There are several triggers in that package, including one other that's in the same class auto.assist is that fire just fine.

Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
  <class name="Assist">
    <trigger priority="3830">
      <pattern>You receive %d xp </pattern>
      <value>#t+ autoassist
row @row
</value>
    </trigger>
    <trigger name="autoassist" priority="4490">
      <pattern>^@tank {hits|scratches|barely|bludgeons|slashes|pounds|crushes|pierces|massacres|annihilates|obliterates|demolishes} *</pattern>
      <value>#t- autoassist
assist  @tank
</value>
    </trigger>
  </class>
</cmud>


The trigger for
Code:
You receive %d xp
works just fine in both windows, and the main window will assist the bot window ... but not the other way around...
Reply with quote
Teibidh
Beginner


Joined: 09 Nov 2002
Posts: 14

PostPosted: Sat Oct 02, 2010 5:30 pm   
 
Okay, updated.. but the issue still persists.

I did realize that I never mentioned I was using beta 3.29...

I realized the original issue I was having was that the trigger would fire in one window, then turn itself off, and since it was in a shared module the trigger wasn't available for the other window to work with. Implementation failure, but easy enough, we just move on to a conditional instead of turning the thing off and on.

Code:
<trigger priority="2100" id="210">
  <pattern>^@tank {misses|scratches|barely|hits|pounds|crushes|bludgeons|slashes|pierces|massacres|pulverizes|annihilates|obliterates|demolishes} %1</pattern>
  <value>#if (!@inCombat &amp;&amp; @autoAssistEnabled) {assist  @tank;inCombat=1}</value>
</trigger>


Code:
<trigger priority="2170" id="217">
  <pattern>^You receive %d xp</pattern>
  <value>inCombat=0</value>
</trigger>


So, the autoAssistEnabled variable is changed via button... that's working beautifully. And once again both of these triggers fire flawlessly in my main window, but not in my bot window. If I click in the bot window, then open the package editor and use the pattern tester I get a match... so I can't see any logical reason why this wouldn't fire. In my mind there's nothing fundamentally wrong with sharing a trigger between two windows as long as the trigger state doesn't change, which it doesn't now.. and they key variables of @tank, @inCombat and @autoAssistEnabled are stored in each window, not in the shared module, so... what might be the problem?


Last edited by Teibidh on Sat Oct 02, 2010 5:56 pm; edited 1 time in total
Reply with quote
complex
Apprentice


Joined: 12 Apr 2004
Posts: 134
Location: USA

PostPosted: Sat Oct 02, 2010 5:42 pm   
 
This may be off base and I'm still new to Cmud code, however I was doing the same sort of thing, sharing triggers between windows; but I think there is an issue with timing. For example if the trigger is called by the line in one window, and called at the same time by the same like in the other window, it already acting due to the first call. In my instance in both windows at the same time I had a trigger to #gag a tells, but it would not gag the second window. After mucking around with various things I simply copied the trigger and placed the clone in the second screen now they both #gag correctly.
_________________
<Clever text here>
Reply with quote
Teibidh
Beginner


Joined: 09 Nov 2002
Posts: 14

PostPosted: Sat Oct 02, 2010 5:55 pm   
 
complex wrote:
This may be off base and I'm still new to Cmud code, however I was doing the same sort of thing, sharing triggers between windows; but I think there is an issue with timing. For example if the trigger is called by the line in one window, and called at the same time by the same like in the other window, it already acting due to the first call. In my instance in both windows at the same time I had a trigger to #gag a tells, but it would not gag the second window. After mucking around with various things I simply copied the trigger and placed the clone in the second screen now they both #gag correctly.


I considered this, but there are two problems with it... One, one of the primary reasons in my understanding for switching to the package based system was precisely the ability to share the contents of packages between sessions and windows. Since the ability exists to attach more than one window and multiple modules to a package I have to assume that it's intended to work. I can certainly understand my first case where the trigger was turning itself off, that was by design, and it was a bad design.

The other issue I have though is that all of my triggers for things like coloration, eating and drinking, even the second trigger I posted above that uses the pattern You receive %d xp works just fine in both windows. Since it does trigger in one I have to assume that the list of damage types is formatted correctly... and the principle behind using the @tank variable is solid... and the conditional statement (#IF) is logically correct. I just don't know what else that leaves...

I appreciate the input, but this is something that worked in zMUD and unless someone chimes in and tells me it's not working in CMUD by design I feel I have to keep at it.
Reply with quote
Teibidh
Beginner


Joined: 09 Nov 2002
Posts: 14

PostPosted: Sat Oct 02, 2010 6:36 pm   
 
And, I hate to keep blowing up my own thread... but I also added another trigger to the same class the other two are in. This one triggers off the character's own hits to toggle the inCombat flag as my MUD implements a 3 round lag for using the assist command whether it's successful or not, I don't want the assist trigger firing if someone's already engaged. This also works in both windows:
Code:
<trigger priority="2180" id="218">
  <pattern>^You {miss|scratch|barely|pierce|slash|pound|bludgeon|crush|massacre|pulverize|annihilate|obliterate|demolish} %1</pattern>
  <value>inCombat=1</value>
</trigger>


So, the whole class is:
Code:
<class name="autoCombat" initenable="true" id="4">
  <trigger priority="2100" id="210">
    <pattern>^@tank {misses|scratches|barely|hits|pounds|crushes|bludgeons|slashes|pierces|massacres|pulverizes|annihilates|obliterates|demolishes} %1</pattern>
    <value>#if (!@inCombat &amp;&amp; @autoAssistEnabled) {assist  @tank;inCombat=1}</value>
  </trigger>
  <trigger priority="2170" id="217">
    <pattern>^You receive %d xp</pattern>
    <value>inCombat=0</value>
  </trigger>
  <trigger priority="2180" id="218">
    <pattern>^You {miss|scratch|barely|pierce|slash|pound|bludgeon|crush|massacre|pulverize|annihilate|obliterate|demolish} %1</pattern>
    <value>inCombat=1</value>
  </trigger>
</class>


The only thing that I can see that might be a problem is if CMUD realizes that it tried to match a variable named @tank already in one window and won't try to match the same variable again in another... to test this theory I copied the assist trigger and changed it to look at @tank2 then set tank2 in the window that the trigger isn't firing in. Still no luck. If I copy the trigger in to the window that's not working properly then it does in fact fire, but I don't want to manage a set of code for each window... that's silly.
Reply with quote
complex
Apprentice


Joined: 12 Apr 2004
Posts: 134
Location: USA

PostPosted: Sat Oct 02, 2010 11:16 pm   
 
In the second window, the tanks window, does the tank see his own name. in the first window it may say

complex misses ....

But in the tank screen does it also say

complex misses, or maybe you miss. In other words is the key you included in as part of the @tank variable?
_________________
<Clever text here>
Reply with quote
Teibidh
Beginner


Joined: 09 Nov 2002
Posts: 14

PostPosted: Sun Oct 03, 2010 2:18 am   
 
No, he does not. I will frame the situation a little better. There are two windows Main and Bot. In Main is Stasheff, in Bot is Teibidh. My primary MUD has mobs that switch targets fairly regularly, in addition to the fact that I switch off whichever one is tanking to let the other regen, so they need to both be able to assist each other or another character. Here is sample combat output from the Bot window, the one that won't fire, before and after I manually enter Teibidh in to the fight.

Code:
[N, E, S]
[Teibidh: Standing / defensive]
[TNL: 51567 HP:399 MV:196 MA:375]>
Stasheff brandishes a holy symbol and chants 'regenerate'
Stasheff begins mumbling under his breath.

[N, E, S]
[Teibidh: Standing / defensive]
[TNL: 51567 HP:399 MV:196 MA:375]>
Stasheff leaves south.
You follow Stasheff.
The Olde Forest Road

  Stasheff the Drunken Priest is here, fighting the large, grey wolf
    Stasheff glows with a bright light!
  The large, grey wolf is here, fighting Stasheff
  The large, grey wolf is here, fighting Stasheff

[N, S, W]
[Teibidh: Standing / defensive]
[TNL: 51567 HP:401 MV:198 MA:375]>
The large, grey wolf misses Stasheff with its bite.
The large, grey wolf misses Stasheff with its bite.
Stasheff slashes the large, grey wolf very hard.
The large, grey wolf misses Stasheff with its bite.
The large, grey wolf misses Stasheff with its bite.

[N, S, W]
[Teibidh: Standing / defensive]
[TNL: 51567 HP:401 MV:198 MA:375]>
The large, grey wolf barely bites Stasheff.
The large, grey wolf misses Stasheff with its bite.
Stasheff slashes the large, grey wolf very hard.
The large, grey wolf misses Stasheff with its bite.
The large, grey wolf scratches Stasheff with its bite.

[N, S, W]
[Teibidh: Standing / defensive]
[TNL: 51567 HP:404 MV:201 MA:375]>
The large, grey wolf misses Stasheff with its bite.
The large, grey wolf barely bites Stasheff.
Stasheff slashes the large, grey wolf very hard.
The large, grey wolf scratches Stasheff with its bite.
The large, grey wolf misses Stasheff with its bite.

[N, S, W]
[Teibidh: Standing / defensive]
[TNL: 51567 HP:404 MV:201 MA:375]>
The large, grey wolf scratches Stasheff with its bite.
The large, grey wolf scratches Stasheff with its bite.
Stasheff slashes the large, grey wolf very hard.
The large, grey wolf barely bites Stasheff.
The large, grey wolf scratches Stasheff with its bite.

[N, S, W]
[Teibidh: Standing / defensive]
[TNL: 51567 HP:404 MV:201 MA:375]>
The large, grey wolf misses Stasheff with its bite.
The large, grey wolf scratches Stasheff with its bite.
Stasheff slashes the large, grey wolf very hard.
The large, grey wolf barely bites Stasheff.
The large, grey wolf barely bites Stasheff.

[N, S, W]
[Teibidh: Standing / defensive]
[TNL: 51567 HP:406 MV:204 MA:375]>headbutt
Who will be your target?

[N, S, W]
[Teibidh: Standing / defensive]
[TNL: 51567 HP:406 MV:204 MA:375]>
The large, grey wolf scratches Stasheff with its bite.
The large, grey wolf misses Stasheff with its bite.
Stasheff slashes the large, grey wolf very hard.
The large, grey wolf barely bites Stasheff.
The large, grey wolf scratches Stasheff with its bite.

[N, S, W]
[Teibidh: Standing / defensive]
[TNL: 51567 HP:406 MV:204 MA:375]>
headbutt wolf
The large, grey wolf misses Stasheff with its bite.
The large, grey wolf misses Stasheff with its bite.
Stasheff slashes the large, grey wolf very hard.
The large, grey wolf misses Stasheff with its bite.
The large, grey wolf barely bites Stasheff.

[N, S, W]
[Teibidh: Standing / defensive]
[TNL: 51567 HP:406 MV:204 MA:375]>
the large, grey wolf defends itself as you attack!
Your potent headbutt knocks the large, grey wolf senseless!

[N, S, W]
[Teibidh: Fighting / defensive]
[TNL: 51567 HP:406 MV:204 MA:375]>
Stasheff massacres the large, grey wolf with his slash.
The large, grey wolf is stunned, but will probably regain consciousness
again.
The large, grey wolf misses Stasheff with its bite.
The large, grey wolf barely bites Stasheff.
You crush the large, grey wolf extremely hard.
The large, grey wolf is stunned, but will probably regain consciousness
again.
You crush the large, grey wolf very hard.
The large, grey wolf is stunned, but will probably regain consciousness
again.
The large, grey wolf is in awful condition.

[N, S, W]
[Teibidh: Fighting / defensive]
[TNL: 51567 HP:409 MV:204 MA:375]>
The large, grey wolf's eyes uncross as it regains its senses.

[N, S, W]
[Teibidh: Fighting / defensive]
[TNL: 51567 HP:409 MV:204 MA:375]>
The large, grey wolf clambers on its feet.
The large, grey wolf scratches Stasheff with its bite.
The large, grey wolf misses Stasheff with its bite.
Stasheff slashes the large, grey wolf very hard.
The large, grey wolf is mortally wounded, and will die soon if not aided.
The large, grey wolf scratches Stasheff with its bite.
The large, grey wolf misses Stasheff with its bite.
You obliterate the large, grey wolf with your crush.
The large, grey wolf is dead! R.I.P.
You receive 4037 xp for the death of the large, grey wolf.
row 500
Your blood freezes as you hear the large, grey wolf's death cry.

-- Auto Filch --
The corpse does not contain the coins.

[N, S, W]
[Teibidh: Standing / defensive]
[TNL: 47530 HP:409 MV:204 MA:375]>
Ok.  You are now in row 500.

[N, S, W]
[Teibidh: Standing / defensive]
[TNL: 47530 HP:409 MV:204 MA:375]>
The large, grey wolf misses Stasheff with its bite.
The large, grey wolf barely bites Stasheff.
Stasheff slashes the large, grey wolf very hard.
assist stasheff

[N, S, W]
[Teibidh: Standing / defensive]
[TNL: 47530 HP:409 MV:204 MA:375]>
You move up to engage your enemy.
You jump into the fray!
the large, grey wolf defends itself as you attack!
You crush the large, grey wolf hard.

[N, S, W]
[Teibidh: Fighting / defensive]
[TNL: 47530 HP:409 MV:204 MA:375]>
The large, grey wolf barely bites Stasheff.
The large, grey wolf barely bites Stasheff.
Stasheff slashes the large, grey wolf very hard.
You crush the large, grey wolf hard.
You get a good hold of the large, grey wolf, giving it the shock of its life.
You crush the large, grey wolf.
The large, grey wolf has quite a few wounds.

[N, S, W]
[Teibidh: Fighting / defensive]
[TNL: 47530 HP:412 MV:204 MA:375]>
The large, grey wolf scratches Stasheff with its bite.
The large, grey wolf misses Stasheff with its bite.
Stasheff slashes the large, grey wolf very hard.
You crush the large, grey wolf hard.
You crush the large, grey wolf hard.
You get a good hold of the large, grey wolf, giving it the shock of its life.
The large, grey wolf has big nasty wounds and scratches.

[N, S, W]
[Teibidh: Fighting / defensive]
[TNL: 47530 HP:412 MV:204 MA:375]>assist stasheff

Stasheff slashes the large, grey wolf very hard.
You crush the large, grey wolf hard.
You crush the large, grey wolf.
You get a good hold of the large, grey wolf, giving it the shock of its life.
The large, grey wolf is in awful condition.
The large, grey wolf scratches you as it bites you.
The large, grey wolf barely bites you.

[N, S, W]
[Teibidh: Fighting / defensive]
[TNL: 47530 HP:406 MV:204 MA:375]>
Stasheff slashes the large, grey wolf very hard.
The large, grey wolf is stunned, but will probably regain consciousness
again.
You crush the large, grey wolf extremely hard.
The large, grey wolf is dead! R.I.P.
You receive 4027 xp for the death of the large, grey wolf.
row 500
Your blood freezes as you hear the large, grey wolf's death cry.

-- Auto Filch --
The corpse does not contain the coins.


The headbutt (with no target, oops...), headbutt wolf and assist stasheff commands were typed by hand. The other two commands that appear, row 500, are triggered by:

Code:
<trigger priority="2170" id="217">
  <pattern>^You receive %d xp</pattern>
  <value>inCombat=0
row @row</value>
</trigger>


This trigger works in both windows at the end of combat when both characters receive experience because they're grouped.

I will be happy to provide XML or whatever other types of dumps anyone wants to help out with this. Thanks for the idea, though.
Reply with quote
Vijilante
SubAdmin


Joined: 18 Nov 2001
Posts: 5182

PostPosted: Sun Oct 03, 2010 11:04 am   
 
Code:
<trigger priority="2100" id="210">
    <pattern>^(%w) {misses|scratches|barely|hits|pounds|crushes|bludgeons|slashes|pierces|massacres|pulverizes|annihilates|obliterates|demolishes} %1</pattern>
    <value>#if(%1=@tank) {
 #if (!@inCombat &amp;&amp; @autoAssistEnabled) {assist  @tank;inCombat=1}
}</value>
  </trigger>
_________________
The only good questions are the ones we have never answered before.
Search the Forums
Reply with quote
Teibidh
Beginner


Joined: 09 Nov 2002
Posts: 14

PostPosted: Sun Oct 03, 2010 2:58 pm   
 
I see the logic there, very straight forward. I have two questions... In your #IF expression you have &amp;&amp; is that the equivalent of && or is that something different? Second question: My understanding is that logically your statement and my statement are ... well, identical. Can you offer any ideas as to why this would work and the one I was using wouldn't?

Don't get me wrong, I'll try it this afternoon when i get a chance to play and if it works i"ll mail you a hug... I'm just curious as to why this would work or ... more accurately... why mine wouldn't?
Reply with quote
Teibidh
Beginner


Joined: 09 Nov 2002
Posts: 14

PostPosted: Sun Oct 03, 2010 9:04 pm   
 
Okay, I figured out what the problem is, but not an elegant solution... actually, I do know a solution, but I need help getting it working.

The trigger only seems to use the @tank variable from the Main window, even though it will accurately use the @inCombat and @autoAssistEnabled variables from the bot window and, in the action resulting from the trigger, the @tank variable from the bot window...

Main Window:
connected character = Ixythik
@tank=drydd
@autoAssistEnabled=1
@inCombat=0

Bot Window:
connected character = Drydd
@tank=Ixythik
@autoAssistEnabled=1
@inCombat=0

In this scenario Ixythik WILL assist Drydd, but Drydd will NOT assist Ixythik unless I take out the ^ (trigger only on newline) from the beginning of the trigger statement and have ixythik say "drydd hits a" which immediately results in Drydd attempting to assist Ixythik... in other words, the actual trigger statement uses the main window's @tank variable but the action resulting from the trigger uses the correct window's @tank...

Now, if we change it so:

Main Window:
@tank=Ixythik
@autoAssistEnabled=0

Bot Window:
@tank=Drydd
@autoAssistEnabled=1

Okay, two things changed here: In Ixythik's window we have set the @tank variable to Ixythik. He will NEVER see "Ixythik hits..." with this MUD... never. The other thing we did was set the @autoAssistEnabled variable in Ixythik's window to 0, which means that in theory if Ixythik did happen to see "Ixythik hits..." he still wouldn't do anything.

Now, if I have Ixythik hit something as soon as Drydd sees "Ixythik scratches..." he jumps in and assists Ixythik, even though the tank variable in his window is set to Drydd. If they were simply flipped around, though, I could almost understand it... but they're obviously not. If Drydd were using all the variables from Ixythik's window then his autoAssistEnabled would be 0, which means that though the pattern would match the #if expression would be false and no assist command would be issued... I'm thinking bug... but below is the XML for my entire session, it's a work in progress, so don't mind the mess... please let me know if you see anything that explains this behavior...

So, the solution I have in mind is instead of simply calling @tank to call @\main\tank and @\bot\tank. I should be able to use the %window function to put the window name in there, but it doesn't work... What should I type to make @\%window\tank a viable variable name that correctly replaces %window with the name of the window it's in (If that even makes sense...)?

Bot window:
Code:
<window name="Bot" dockalign="Right" width="958" height="970" id="2">
  <uid>{FB48AEE8-F3B2-494C-A386-C4C65066E2C1}</uid>
  <dockuid>{8DBC7843-5693-45B8-B737-C7AE2648FE50}</dockuid>
  <packages>English Directions|English Keypad|Clickable URLs|WoC</packages>
  <var name="sessionChar" id="35">Drydd</var>
  <var name="charPos" id="36">Standing</var>
  <var name="charStyle" id="37">standard</var>
  <var name="tnl" id="38">3269</var>
  <var name="hp" id="39">55</var>
  <var name="mv" id="40">98</var>
  <var name="ma" id="41">114</var>
  <var name="typeFood" id="204">mushroom</var>
  <var name="typeDrink" id="205">flask</var>
  <var name="readyFountain" usedef="true" id="206">
    <value>1</value>
    <default>1</default>
  </var>
  <var name="tank" id="212">ixythik</var>
  <var name="autoAssistEnabled" id="214">
    <value>1</value>
    <default>0</default>
  </var>
  <var name="inCombat" id="216">
    <value>0</value>
    <default>0</default>
  </var>
  <var name="row" id="227">500</var>
</window>


Code:
<window name="Main" width="958" height="970" id="1">
  <uid>{8DBC7843-5693-45B8-B737-C7AE2648FE50}</uid>
  <dockuid>{FB48AEE8-F3B2-494C-A386-C4C65066E2C1}</dockuid>
  <packages>English Directions|English Keypad|Clickable URLs|WoC</packages>
  <var name="tnl" id="24">213256</var>
  <var name="hp" id="25">90</var>
  <var name="mv" id="26">113</var>
  <var name="ma" id="27">164</var>
  <var name="charPos" id="31">Standing</var>
  <var name="charStyle" id="32">standard</var>
  <var name="sessionChar" id="33">Ixythik</var>
  <var name="typeDrink" id="201">flask</var>
  <var name="typeFood" id="202">ration</var>
  <var name="readyFountain" id="207">1</var>
  <var name="autoAssistEnabled" id="213">
    <value>1</value>
    <default>0</default>
  </var>
  <var name="inCombat" id="215">
    <value>0</value>
    <default>0</default>
  </var>
  <var name="row" id="226">100</var>
  <var name="hasCreateWater" id="253">1</var>
  <var name="hasCreateFood" id="254">1</var>
  <trigger priority="2560" id="256">
    <pattern>A long sword has arrived.</pattern>
    <value>#gag</value>
  </trigger>
  <var name="tankPet" id="257">2.long</var>
  <var name="tank" id="262">drydd</var>
</window>


WoCShared
Code:


<module name="WoCShared" global="true">
  <uid>{189D4896-7EAC-4B2B-A43D-3D30FD973F19}</uid>
  <packages>English Directions|English Keypad</packages>
  <class name="color" initenable="true" id="3">
    <trigger priority="2330" id="233">
      <pattern>^%w tells you ~(*~),</pattern>
      <value>#cw bold,yellow</value>
    </trigger>
    <trigger priority="2340" id="234">
      <pattern>^You tell %w ~(*~),</pattern>
      <value>#cw bold,yellow</value>
    </trigger>
    <trigger priority="2350" id="235">
      <pattern>^You reply to %w ~(*~),</pattern>
      <value>#cw bold,yellow</value>
    </trigger>
    <trigger priority="2360" id="236">
      <pattern>^%w replies to you ~(*~),</pattern>
      <value>#cw bold,yellow</value>
    </trigger>
    <trigger priority="2370" id="237">
      <pattern>^You are thirsty.</pattern>
      <value>#cw bold,red</value>
    </trigger>
    <trigger priority="2380" id="238">
      <pattern>^You are hungry.</pattern>
      <value>#cw bold,red</value>
    </trigger>
    <trigger priority="2400" id="240">
      <pattern>Your body slows and regains its normal pace.</pattern>
      <value>#cw bold,red</value>
    </trigger>
    <trigger priority="2410" id="241">
      <pattern>The white aura around your body fades.</pattern>
      <value>#cw bold,red</value>
    </trigger>
    <trigger priority="2450" id="245">
      <pattern>^You OOC</pattern>
      <value>#cw bold,red</value>
    </trigger>
    <trigger priority="2460" id="246">
      <pattern>^%w OOCs</pattern>
      <value>#cw bold,red</value>
    </trigger>
  </class>
  <class name="autoCombat" initenable="true" id="4">
    <trigger priority="2170" id="217">
      <pattern>^You receive %d xp</pattern>
      <value>inCombat=0
row @row</value>
    </trigger>
    <trigger priority="2180" id="218">
      <pattern>^You {miss|scratch|barely|pierce|slash|pound|bludgeon|crush|massacre|pulverize|annihilate|obliterate|demolish} %1</pattern>
      <value>inCombat=1</value>
    </trigger>
    <trigger priority="2300" id="230">
      <pattern>%1 knocks you on your butt!</pattern>
      <value>stand</value>
    </trigger>
    <trigger priority="2310" id="231">
      <pattern>Your eyes uncross as you regain your senses.</pattern>
      <value>stand</value>
    </trigger>
    <trigger priority="2320" id="232">
      <pattern>%1 sends you sprawling.</pattern>
      <value>stand</value>
    </trigger>
    <trigger priority="2390" id="239">
      <pattern>^Your attempt to headbutt %1 meets with air and you topple over.</pattern>
      <value>stand</value>
    </trigger>
    <trigger name="autoAssist" priority="2610" id="261">
      <pattern>^@tank {misses|scratches|barely|hits|crushes|pounds|bludgeons|slashes|pierces|freezes|massacres|pulverizes|annihilates|obliterates|demolishes} %1</pattern>
      <value>#if (@autoAssistEnabled &amp;&amp; !@incombat) {assist @tank;inCombat=1}</value>
    </trigger>
  </class>
  <class name="autoBuff" initenable="true" id="5"/>
  <class name="autoMaint" initenable="true" id="6">
    <trigger name="autoFountain" priority="2030" id="203">
      <pattern>^{The Marketplace Center|A fountain on main Street|The Market of the Gargoyle}</pattern>
      <value>#if (@readyFountain) {drink 40*fountain;fill @typeDrink fountain;fill 2.@typeDrink fountain;readyFountain=0}
#wait 600000
readyFountain=1
</value>
    </trigger>
    <trigger priority="2420" id="242">
      <pattern>^You are hungry.</pattern>
      <value>drink 5*@typeDrink
eat  @typeFood</value>
    </trigger>
    <trigger priority="2430" id="243">
      <pattern>^You are thirsty.</pattern>
      <value>drink  2*@typeDrink</value>
    </trigger>
    <trigger priority="2440" id="244">
      <pattern>^(%w) drops {a water|the} ({barrel|flask|skin}).</pattern>
      <value>get %2;cast 'create water' %2;give %2 %1</value>
    </trigger>
  </class>
  <class name="char" id="7">
    <class name="Stasheff" id="8">
      <var name="stHasHead" id="13">1</var>
      <var name="stHasCreateFood" id="14">1</var>
      <var name="stHasCreateWater" id="15">1</var>
      <var name="stTypeDrink" id="22">skin</var>
      <var name="stTypeFood" id="23">mush</var>
    </class>
    <class name="teibidh" id="9">
      <var name="stHasHead" id="16">1</var>
      <var name="stTypeDrink" id="20">flask</var>
      <var name="stTypeFood" id="21">mushroom</var>
    </class>
  </class>
  <class name="autoSet" id="28">
    <alias name="setupPrompt" id="29">
      <value><![CDATA[prompt <blueBg><gray><bold>[<shortExits>]<newLine>[<name>: <position> / <fightStyle>]<newLine>[TNL: <expNeeded> HP:<hits> MV:<moves> MA:<mana>]>
]]></value>
    </alias>
    <trigger name="getName" priority="300" id="30">
      <pattern>^~[%1~: %2 / %3~]</pattern>
      <value>sessionChar=%1;charPos=%2;charStyle=%3</value>
    </trigger>
    <trigger priority="340" id="34">
      <pattern>^Welcome to the Worlds of Carnage. Beware... Death roams the lands!</pattern>
      <value>setupPrompt</value>
    </trigger>
    <alias name="setupChar" id="200">
      <value>typeDrink=@//wocshared/char/%1/stTypeDrink
typeFood=@//wocshared/char/%1/stTypeFood</value>
    </alias>
  </class>
  <class name="spells" initenable="true" id="42">
    <alias name="afriend" id="43">
      <value>cast 'animal friendship' %-1</value>
    </alias>
    <alias name="atrain" id="44">
      <value>cast 'animal training' %-1</value>
    </alias>
    <alias name="bdoor" id="45">
      <value>cast 'bash door' %-1</value>
    </alias>
    <alias name="carmour" id="46">
      <value>cast 'craft armour' %-1</value>
    </alias>
    <alias name="cweapon" id="47">
      <value>cast 'craft weapon' %-1</value>
    </alias>
    <alias name="splash" id="48">
      <value>cast 'acid splash' %-1</value>
    </alias>
    <alias name="arecall" id="49">
      <value>cast 'advanced recall' %-1</value>
    </alias>
    <alias name="animate" id="50">
      <value>cast 'animate dead' %-1</value>
    </alias>
    <alias name="am" id="51">
      <value>cast 'antimagic' %-1</value>
    </alias>
    <alias name="armour" id="52">
      <value>cast 'armour' %-1</value>
    </alias>
    <alias name="agolem" id="53">
      <value>cast 'armour golem' %-1</value>
    </alias>
    <alias name="blades" id="54">
      <value>cast 'blades' %-1</value>
    </alias>
    <alias name="bless" id="55">
      <value>cast 'bless' %-1</value>
    </alias>
    <alias name="blind" id="56">
      <value>cast 'blindness' %-1</value>
    </alias>
    <alias name="bbull" id="57">
      <value>cast 'boon of the bull' %-1</value>
    </alias>
    <alias name="beagle" id="58">
      <value>cast 'boon of the eagle' %-1</value>
    </alias>
    <alias name="belk" id="59">
      <value>cast 'boon of the elk' %-1</value>
    </alias>
    <alias name="bhorse" id="60">
      <value>cast 'boon of the horse' %-1</value>
    </alias>
    <alias name="btiger" id="61">
      <value>cast 'boon of the tiger' %-1</value>
    </alias>
    <alias name="bturtle" id="62">
      <value>cast 'boon of the turtle' %-1</value>
    </alias>
    <alias name="bwolf" id="63">
      <value>cast 'boon of the wolf' %-1</value>
    </alias>
    <alias name="burn" id="64">
      <value>cast 'burning hands' %-1</value>
    </alias>
    <alias name="call" id="65">
      <value>cast 'cause light' %-1</value>
    </alias>
    <alias name="cac" id="66">
      <value>cast 'cause critical' %-1</value>
    </alias>
    <alias name="cas" id="67">
      <value>cast 'cause serious' %-1</value>
    </alias>
    <alias name="chain" id="68">
      <value>cast 'chain lightning' %-1</value>
    </alias>
    <alias name="ccloak" id="69">
      <value>cast 'chaos cloak' %-1</value>
    </alias>
    <alias name="charmm" id="70">
      <value>cast 'charm monster' %-1</value>
    </alias>
    <alias name="charm" id="71">
      <value>cast 'charm person' %-1</value>
    </alias>
    <alias name="chill" id="72">
      <value>cast 'chill touch' %-1</value>
    </alias>
    <alias name="clair" id="73">
      <value>cast 'clairvoyance' %-1</value>
    </alias>
    <alias name="cspray" id="74">
      <value>cast 'colour spray' %-1</value>
    </alias>
    <alias name="command" id="75">
      <value>cast 'command' %-1</value>
    </alias>
    <alias name="comprehension" id="76">
      <value>cast 'comprehension' %-1</value>
    </alias>
    <alias name="conjure" id="77">
      <value>cast 'conjure espirit' %-1</value>
    </alias>
    <alias name="light" id="78">
      <value>cast 'continual light' %-1</value>
    </alias>
    <alias name="cweather" id="79">
      <value>cast 'control weather' %-1</value>
    </alias>
    <alias name="cwalk" id="80">
      <value>cast 'corpse walk' %-1</value>
    </alias>
    <alias name="corrupt" id="81">
      <value>cast 'corrupt' %-1</value>
    </alias>
    <alias name="cfood" id="82">
      <value>cast 'create food'
get mushroom
give mushroom %1</value>
    </alias>
    <alias name="cwater" id="83">
      <value>cast 'create water' %-1</value>
    </alias>
    <alias name="cblind" id="84">
      <value>cast 'cure blindness' %-1</value>
    </alias>
    <alias name="cc" id="85">
      <value>cast 'cure critical' %-1</value>
    </alias>
    <alias name="cl" id="86">
      <value>cast 'cure light' %-1</value>
    </alias>
    <alias name="cs" id="87">
      <value>cast 'cure serious' %-1</value>
    </alias>
    <alias name="csick" id="88">
      <value>cast 'cure sickness' %-1</value>
    </alias>
    <alias name="curse" id="89">
      <value>cast 'curse' %-1</value>
    </alias>
    <alias name="dance" id="90">
      <value>cast 'dancing sword' %-1
group %-1</value>
    </alias>
    <alias name="fog" id="91">
      <value>cast 'dark fog' %-1</value>
    </alias>
    <alias name="dark" id="92">
      <value>cast 'darkness' %-1</value>
    </alias>
    <alias name="dp" id="93">
      <value>cast 'deadly poison' %-1</value>
    </alias>
    <alias name="dd" id="94">
      <value>cast 'deaths door' %-1</value>
    </alias>
    <alias name="freeze" id="95">
      <value>cast 'deep freeze' %-1</value>
    </alias>
    <alias name="depravity" id="96">
      <value>cast 'depravity' %-1</value>
    </alias>
    <alias name="detaura" id="97">
      <value>cast 'detect aura' %-1</value>
    </alias>
    <alias name="detinvis" id="98">
      <value>cast 'detect invisibility' %-1</value>
    </alias>
    <alias name="detmagic" id="99">
      <value>cast 'detect magic' %-1</value>
    </alias>
    <alias name="detpoison" id="100">
      <value>cast 'detect poison' %-1</value>
    </alias>
    <alias name="devil" id="101">
      <value>cast 'dispel evil' %-1</value>
    </alias>
    <alias name="dmagic" id="102">
      <value>cast 'dispel magic' %-1</value>
    </alias>
    <alias name="quake" id="103">
      <value>cast 'earthquake' %-1</value>
    </alias>
    <alias name="enchant" id="104">
      <value>cast 'enchant weapon' %-1</value>
    </alias>
    <alias name="drain" id="105">
      <value>cast 'energy drain' %-1</value>
    </alias>
    <alias name="feeble" id="106">
      <value>cast 'feeble mind' %-1</value>
    </alias>
    <alias name="feign" id="107">
      <value>cast 'feign death' %-1</value>
    </alias>
    <alias name="fetid" id="108">
      <value>cast 'fetid luminescence' %-1</value>
    </alias>
    <alias name="vortex" id="109">
      <value>cast 'fiery vortex' %-1</value>
    </alias>
    <alias name="fb" id="110">
      <value>cast 'fireball' %-1</value>
    </alias>
    <alias name="fs" id="111">
      <value>cast 'firestorm' %-1</value>
    </alias>
    <alias name="fists" id="112">
      <value>cast 'fists of fury' %-1</value>
    </alias>
    <alias name="flame" id="113">
      <value>cast 'flame blade' %-1</value>
    </alias>
    <alias name="fly" id="114">
      <value>cast 'fly' %-1</value>
    </alias>
    <alias name="fretreat" id="115">
      <value>cast 'forest retreat' %-1</value>
    </alias>
    <alias name="fumble" id="116">
      <value>cast 'fumble' %-1</value>
    </alias>
    <alias name="gate" id="117">
      <value>cast 'gate' %-1</value>
    </alias>
    <alias name="grow" id="118">
      <value>cast 'grow' %-1</value>
    </alias>
    <alias name="hand" id="119">
      <value>cast 'hand of god' %-1</value>
    </alias>
    <alias name="harm" id="120">
      <value>cast 'harm' %-1</value>
    </alias>
    <alias name="heal" id="121">
      <value>cast 'heal' %-1</value>
    </alias>
    <alias name="word" id="122">
      <value>cast 'holy word' %-1</value>
    </alias>
    <alias name="ice" id="123">
      <value>cast 'iceball' %-1</value>
    </alias>
    <alias name="id" id="124">
      <value>cast 'identify' %-1</value>
    </alias>
    <alias name="illum" id="125">
      <value>cast 'illuminate' %-1</value>
    </alias>
    <alias name="incin" id="126">
      <value>cast 'incindary missile' %-1</value>
    </alias>
    <alias name="infra" id="127">
      <value>cast 'infravision' %-1</value>
    </alias>
    <alias name="inhibit" id="128">
      <value>cast 'inhibit decay' %-1</value>
    </alias>
    <alias name="insanity" id="129">
      <value>cast 'insanity' %-1</value>
    </alias>
    <alias name="invis" id="130">
      <value>cast 'invisibility' %-1</value>
    </alias>
    <alias name="invuln" id="131">
      <value>cast 'invulnerability' %-1</value>
    </alias>
    <alias name="lead" id="132">
      <value>cast 'leadership' %-1</value>
    </alias>
    <alias name="lich" id="133">
      <value>cast 'lich touch' %-1</value>
    </alias>
    <alias name="bolt" id="134">
      <value>cast 'lightning bolt' %-1</value>
    </alias>
    <alias name="lcreature" id="135">
      <value>cast 'locate creature' %-1</value>
    </alias>
    <alias name="lobject" id="136">
      <value>cast 'locate object' %-1</value>
    </alias>
    <alias name="mm" id="137">
      <value>cast 'magic missile' %-1</value>
    </alias>
    <alias name="mouth" id="138">
      <value>cast 'magic mouth' %-1</value>
    </alias>
    <alias name="mheal" id="139">
      <value>cast 'major heal' %-1</value>
    </alias>
    <alias name="mdrain" id="140">
      <value>cast 'mana drain' %-1</value>
    </alias>
    <alias name="mshield" id="141">
      <value>cast 'mana shield' %-1</value>
    </alias>
    <alias name="ma" id="142">
      <value>cast 'mental attack' %-1</value>
    </alias>
    <alias name="shower" id="143">
      <value>cast 'meteor shower' %-1</value>
    </alias>
    <alias name="flay" id="144">
      <value>cast 'mind flay' %-1</value>
    </alias>
    <alias name="mzombie" id="145">
      <value>cast 'monster zombie' %-1</value>
    </alias>
    <alias name="morale" id="146">
      <value>cast 'morale' %-1</value>
    </alias>
    <alias name="multi" id="147">
      <value>cast 'multiplicity' %-1</value>
    </alias>
    <alias name="marrows" id="148">
      <value>cast 'multiply arrows' %-1</value>
    </alias>
    <alias name="poison" id="149">
      <value>cast 'poison' %-1</value>
    </alias>
    <alias name="pgas" id="150">
      <value>cast 'poison gas' %-1</value>
    </alias>
    <alias name="portal" id="151">
      <value>cast 'portal' %-1</value>
    </alias>
    <alias name="familiar" id="152">
      <value>cast 'possess familiar' %-1</value>
    </alias>
    <alias name="prism" id="153">
      <value>cast 'prismic missile' %-1</value>
    </alias>
    <alias name="pfe" id="154">
      <value>cast 'protection from evil' %-1</value>
    </alias>
    <alias name="purify" id="155">
      <value>cast 'purify air' %-1</value>
    </alias>
    <alias name="pvampire" id="156">
      <value>cast 'purify vampire' %-1</value>
    </alias>
    <alias name="pwf" id="157">
      <value>cast 'pword fear' %-1</value>
    </alias>
    <alias name="pwk" id="158">
      <value>cast 'pword kill' %-1</value>
    </alias>
    <alias name="pws" id="159">
      <value>cast 'pword stun' %-1</value>
    </alias>
    <alias name="recharge" id="160">
      <value>cast 'recharge' %-1</value>
    </alias>
    <alias name="regen" id="161">
      <value>cast 'regenerate' %-1</value>
    </alias>
    <alias name="regroup" id="162">
      <value>cast 'regroup' %-1</value>
    </alias>
    <alias name="rcurse" id="163">
      <value>cast 'remove curse' %-1</value>
    </alias>
    <alias name="rdp" id="164">
      <value>cast 'remove deadly poison' %-1</value>
    </alias>
    <alias name="rp" id="165">
      <value>cast 'remove poison' %-1</value>
    </alias>
    <alias name="res" id="166">
      <value>cast 'resurrection' %-1</value>
    </alias>
    <alias name="revitalize" id="167">
      <value>cast 'revitalize' %-1</value>
    </alias>
    <alias name="right" id="168">
      <value>cast 'righteousness' %-1</value>
    </alias>
    <alias name="rune" id="169">
      <value>cast 'rune' %-1</value>
    </alias>
    <alias name="sanc" id="170">
      <value>cast 'sanctuary' %-1</value>
    </alias>
    <alias name="sane" id="171">
      <value>cast 'sane mind' %-1</value>
    </alias>
    <alias name="séance" id="172">
      <value>cast 'seance' %-1</value>
    </alias>
    <alias name="sense" id="173">
      <value>cast 'sense life' %-1</value>
    </alias>
    <alias name="shock" id="174">
      <value>cast 'shocking grasp' %-1</value>
    </alias>
    <alias name="shrink" id="175">
      <value>cast 'shrink' %-1</value>
    </alias>
    <alias name="shroud" id="176">
      <value>cast 'shroud of darkness' %-1</value>
    </alias>
    <alias name="sick" id="177">
      <value>cast 'sickness' %-1</value>
    </alias>
    <alias name="silence" id="178">
      <value>cast 'silence' %-1</value>
    </alias>
    <alias name="sleep" id="179">
      <value>cast 'sleep' %-1</value>
    </alias>
    <alias name="smoke" id="180">
      <value>cast 'smokescreen' %-1</value>
    </alias>
    <alias name="ss" id="181">
      <value>cast 'soul strike' %-1</value>
    </alias>
    <alias name="strans" id="182">
      <value>cast 'spirit transfer' %-1</value>
    </alias>
    <alias name="strength" id="183">
      <value>cast 'strength' %-1</value>
    </alias>
    <alias name="striking" id="184">
      <value>cast 'striking' %-1</value>
    </alias>
    <alias name="suggest" id="185">
      <value>cast 'suggest' %-1</value>
    </alias>
    <alias name="summon" id="186">
      <value>cast 'summon' %-1</value>
    </alias>
    <alias name="tport" id="187">
      <value>cast 'teleport' %-1</value>
    </alias>
    <alias name="turn" id="188">
      <value>cast 'turn undead' %-1</value>
    </alias>
    <alias name="twistedres" id="189">
      <value>cast 'twisted resurrection' %-1</value>
    </alias>
    <alias name="uword" id="190">
      <value>cast 'unholy word' %-1</value>
    </alias>
    <alias name="vent" id="191">
      <value>cast 'ventriloquate' %-1</value>
    </alias>
    <alias name="vigour" id="192">
      <value>cast 'vigour' %-1</value>
    </alias>
    <alias name="darkwalk" id="193">
      <value>cast 'walk in darkness' %-1</value>
    </alias>
    <alias name="breath" id="194">
      <value>cast 'water breath' %-1</value>
    </alias>
    <alias name="waterwalk" id="195">
      <value>cast 'water walk' %-1</value>
    </alias>
    <alias name="weaken" id="196">
      <value>cast 'weaken' %-1</value>
    </alias>
    <alias name="wwind" id="197">
      <value>cast 'whirlwind' %-1</value>
    </alias>
    <alias name="windwalk" id="198">
      <value>cast 'wind walk' %-1</value>
    </alias>
    <alias name="recall" id="199">
      <value>cast 'word of recall' %-1</value>
    </alias>
    <alias name="cal" id="260">
      <value>cast 'cause light' %-1</value>
    </alias>
  </class>
  <class name="multiplay" id="219">
    <alias name="awake" id="220">
      <value>:main:wake
:main:stand
:main:order followers wake
:main:order followers stand
:bot:wake
:bot:stand
:bot:order followers wake
:bot:order followers stand</value>
    </alias>
    <alias name="asleep" id="221">
      <value>:main:order followers sleep
:main:slee
:bot:order followers sleep
:bot:slee
</value>
    </alias>
    <alias name="arest" id="222">
      <value>:main:order followers rest
:main:rest
:bot:order followers rest
:bot:rest</value>
    </alias>
    <alias name="bhead" id="229">
      <value>:bot:headbutt %-1</value>
    </alias>
    <alias name="main" id="250">
      <value>:main: %-1</value>
    </alias>
    <alias name="bot" id="251">
      <value>:bot: %-1</value>
    </alias>
  </class>
  <class name="Pet" id="248">
    <trigger priority="2470" id="247">
      <pattern>^A clod of dirt lies on the ground.</pattern>
      <value>get clod;put clod box</value>
    </trigger>
    <alias name="attack" id="255">
      <value>order  @tankPet hit %-1;order followers hit %-1</value>
    </alias>
  </class>
  <var name="allskills" type="Literal" enabled="false" id="258">animal friendship|animal training|arcana|archery|artisan|backstab|bash|bash door|bludgeon|campfire|case|combat|commune|craft armour|craft weapon|craftsmanship|disguise|dodge|double shot|draw|dual wield|evade|finesse|forage|gouge|ground smash|gtell|headbutt|hide|hunt|judge|kick|listen|lock|parry|peek|picklock|pierce|piety|rampage|repair armour|repair artifact|repair weapon|reply|rescue|retreat|second attack|shide|slash|slip|slit throat|snare|sneak|steal|stealth|stomp|sweep|third attack|thrash|throw|triple shot|twin stab|woodcraft|acid splash|advanced recall|animate dead|antimagic|armour|armour golem|blades|bless|blindness|boon of the bull|boon of the eagle|boon of the elk|boon of the horse|boon of the tiger|boon of the turtle|boon of the wolf|burning hands|call lightning|cause critical|cause light|cause serious|chain lightning|chaos cloak|charm monster|charm person|chill touch|clairvoyance|colour spray|command|comprehension|conjure espirit|continual light|control weather|corpse walk|corrupt|create food|create  ess|cure critical|cure light|cure serious|cure sickness|curse|dancing sword|dark fog|darkness|deadly poison|deaths door|deep freeze|depravity|detect aura|detect invisibility|detect magic|detect poison|dispel evil|dispel magic|earthquake|enchant weapon|energy drain|feeble mind|feign death|fetid luminescence|fiery vortex|fireball|firestorm|fists of fury|flame blade|fly|forest retreat|fumble|gate|grow|hand of god|harm|heal|holy word|iceball|identify|illuminate|incindary missile|infravision|inhibit decay|insanity|invisibility|invulnerability|leadership|lich touch|lightning bolt|locate creature|locate object|magic missile|magic mouth|major heal|mana drain|mana shield|mental attack|meteor shower|mind flay|monster zombie|morale|multiplicity|multiply arrows|poison|poison gas|portal|possess familiar|prismic missile|protection from evil|purify air|purify vampire|pword fear|pword kill|pword stun|recharge|regenerate|regroup|remove curse|remove deadly poison|remove poison|resurrection|revitalize|righteousness|rune|sanctua e|sense life|shocking grasp|shrink|shroud of darkness|sickness|silence|sleep|smokescreen|soul strike|spirit transfer|strength|striking|suggest|summon|teleport|turn undead|twisted resurrection|unholy word|ventriloquate|vigour|walk in darkness|water breath|water walk|weaken|whirlwind|wind walk|word of recall</var>
  <alias name="testPrac" id="259">
    <value>#log %-1;#for  @allskills {prac %i}; #log</value>
  </alias>
</module>
Reply with quote
Vijilante
SubAdmin


Joined: 18 Nov 2001
Posts: 5182

PostPosted: Mon Oct 04, 2010 2:29 am   
 
Teibidh wrote:
I see the logic there, very straight forward. I have two questions... In your #IF expression you have &amp;&amp; is that the equivalent of && or is that something different?

Yes they are equivalent. Look at your own posts, that was exactly copied from your posts.

Quote:
Second question: My understanding is that logically your statement and my statement are ... well, identical. Can you offer any ideas as to why this would work and the one I was using wouldn't?

Not entirely identical. When a trigger is compiled its pattern is compiled as 1 action and its script is compiled as another. Both of those things are held so that work only has to be done once per session. Your original trigger uses a variable reference in the pattern, which causes CMud to fetch the variable then compile the pattern. Your original trigger was being compiled by executing in the "main" window and the pattern becomes set with the value of "tank" in the context of "main". Then the pattern is never evaluated and compiled with the "bot" window value of "tank", which means that it would match in the "bot" window with the "tank" value from the "main" window.

Scripts operate slightly differently and have more complex notions of context and scope. Moving the comparison with the "tank" variable into the script allows it employ the full scoping rules and apply the correct window specific value. This is why my version will work as you want.
_________________
The only good questions are the ones we have never answered before.
Search the Forums
Reply with quote
Teibidh
Beginner


Joined: 09 Nov 2002
Posts: 14

PostPosted: Mon Oct 04, 2010 1:18 pm   
 
And it does work, perfectly. Thank you again, and thank you for the explanation. This will likely prevent many new holes in my wall from head bashing in to it in the future.
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