It can be simplified but I have to go out..

Code:
on ^*:text:*:#: {
  if ($nick isop $chan) { echo -t $chan $+([,$chr(3), 04, @, $chr(3),$nick) $1- }
  if ($nick ishop $chan) { echo -t $chan $+([,$+($chr(3), 04, %, $chr(3)),$nick,]) $1- }
  if ($nick isvoice $chan) { echo -t $chan $+([,$+($chr(3), 04, +, $chr(3)),$nick,]) $1- }
  if ($nick isreg $chan) { echo -t $chan $+([,$nick,]) $1- }
  haltdef
}

On *:Input:#: {
  .msg $chan $1-
  if ($me isop $chan) { echo -t $chan $+([,$chr(3), 04, @, $chr(3),$me) $1- }
  if ($me ishop $chan) { echo -t $chan $+([,$+($chr(3), 04, %, $chr(3)),$me,]) $1- }
  if ($me isvoice $chan) { echo -t $chan $+([,$+($chr(3), 04, +, $chr(3)),$me,]) $1- }
  if ($me isreg $chan) { echo -t $chan $+([,$me,]) $1- }
  halt
}



-Andy