1. %VariableThatDoesNotExist is null.

Code:
      echo $chan this part triggers
      if ($eval($+(%,VariableThatDoesNotExist,$nick),2) != $null) {
        blah blah
      }
      echo $chan this part triggers
      else {
        echo $chan This part does not trigger.
        }


Since it does not triger for the != $null, it should trigger for else { }, right?

Rather than using else, I've even used:

Code:
      if ($eval($+(%,VariableThatDoesNotExist,$nick),2) == $null) {
        echo $chan This does not trigger
      }


Still same.

So how do I get it to work? I put the bottom if statement on top of the top if statement.

And then it works.

In other words, this part works:

Code:
      if ($eval($+(%,VariableThatDoesNotExist,$nick),2) == $null) {
        blah blah
      }
      elseif ($eval($+(%,VariableThatDoesNotExist,$nick),2) != $null) {
        blah blah
      }


In other words, order matters (whether %null != $null or %null == $null).

2.

mIRC goes crazy when it comes to variables that does not exist.

I have.

%seenchans #list,#of,#channels

If I have.

elseif (($istok(%seenchans,$target,44)) || ($target == $me)) {

Will only trigger for %seenchannels.

But if I have..

elseif (($istok(%seenchans,$target,44)) || ($target == $me)) && ($istok(%VariableThatDoesNotExist,$target,44)) !ison $target) {

It will trigger for all channels.

So that's a bummer...

And then of course, the flood protection.

If I have a paste editor that will paste in N cs, then I will see my flood output at N cs.

But if I don't use a flood script and enable flood protection in Alt O, my flood slows down but I don't see it as slowing down, so that's a bummer. A mIRC script should not be better than a default mIRC feature.

-Neal.