I tested your code, and found a problem in it..
as you see i changed the line:
if ($6 !ison $1) { return }
to
if ($2 !ison $1) { return }
That working fine untill it comes to my nick "have oper status on the network", for some reason when it comes to me it return the ident insted of the nick as $2, and after that the script halts, i also tested to bring in a clone and give that too oper status, same thing with that one, it return the ident insted of the nick, and the only way i can see what it return, then i have to comment out the line if ($2 !ison $1) { return }, any ideas what cosing this? and i also needed to remove the halt at the end of raw 352:*:{ , if i didnt the script wouldent color any nick in the channel.
$2 is identd not the nick.
Its the same order as the original who reply, just one number lower... $7 becomes $6, $6 becomes $5, etc...
Edit:
alias -l who_cols_ {
if ($me !ison $1) { return }
if ($5 !ison $1) { return }
var %a
if (G isin $6) { %a = $clinecol(aw) }
if (* isin $6) { %a = $clinecol(po) }
if %a { cline -l %a $1 $5 }
else cline -r $1 $5
}