This part needs evaluating:

Code:
 elseif ([color:red]$([/color]$+(%,protection.,$chan)[color:red],2)[/color] == on) {


The else { halt } is kinda pointless as that's what mIRC does anyway.