Do yourself a favour.. pick one format for the information on your protect list, and stick with it. mIRC's /protect command has an optional [type] parameter, so you can fill that parameter in with the number that corresponds with the mask format you wish to use.
See /help $mask for a list of numbers and their corresponding formats.
It'll make writing any script that references your protect list a lot easier.
If you have a lot of entries on your protect list, I'll see what I can do about writing a conversion script, but I'll need to know what format you actually want to use.
Doing a quick think on this, based on this additional information, I think the following code would work
alias msg2 {
if $chan && $$1 {
var %a = 1, %b = $nick($chan,0)
while %a <= %b {
set %msg2 $addtok(%msg2,$nick($chan,%a),44)
var %c = 0, %d = 19
while %c <= %d {
if $protect($address($nick($chan,%a),%c)) {
set %msg2 $remtok(%msg2,$nick($chan,%a),1,44)
}
if $ignore($address($nick($chan,%a),%c)) {
set %msg2 $remtok(%msg2,$nick($chan,%a),1,44)
}
inc %c
}
inc %a
}
.msg %msg2 $1-
}
}
Usage: /msg2 common message here