If you want it to go to all players then you need a loop.
If you were using the old DLL then I could have made the loop user friendly, but, your using the old one. ._.
elseif ($2 == !ann) || ($2 == !pmann) {
  if ($vcmp.cmdcheck(!ann,%id) == fail) !halt
  elseif (!$3) vcmp.msg %id Error - Missing Information, $2 <text>
  else {
    var %a = 0
    while (%a <=  50) {
      if ($vcmp.name(%a) != Unknown) {
        vcmp.announce  %a ~y~ $3-
      }
      !inc %a
    }
  }
}