The & does not stop the input going to channel, ill tell you that flat out right now.
try this, on a clean mirc
scrip1.mrc
on *:INPUT:#:{ if (FRED isin $1-) { echo -a BLOCKED BECAUSE OF FRED | haltdef } }
script2.mrc
on &*:INPUT:#:{ if (FRED isin $1-) { echo -a BLOCKED BECAUSE OF FRED (&* copy) | haltdef } }
script3.mrc
on *:INPUT:#:{ if (FRED isin $1-) { echo -a SENDING IN CAPS BECAUSE OF FRED | msg $chan $upper($1-) } }
now go to a channel and say "my name is fred the dog"
it should come back with
BLOCKED BECAUSE OF FRED
SENDING IN CAPS BECAUSE OF FRED
if u got a second client in channel it well also see
<firstclient> MY NAME IS FRED THE DOG
The & blocks only the script its attached to running if that events been previously halted, i would have to assume something is displaying the text to channel in an event that maybe isnt halted?