The checkneeds, checkneeds2 and checkneedscw loops also seem to be susceptible to the read() loop issues. Can you suggest a better way to do this, and I'll re-write all three? I'm a programmer (C/Verilog/Perl/etc.) but not all that familiar with the mIRC scripting language.