Yeah, It'd be better to add a timer and trigger flood protection to the current code. And I don't suppose you want to yell at the client that runs the code either:
Code:
on *:text:!yell:#:{
  if (!%x) {
    inc -u5 %x
    var %c_ = $nick(#,0)
    while (%c_) {
      if ($nick(#,%c_) != $me) {
        .timer 1 $calc(%c_* 2) msg # $v1
      }
      dec %c_
    }
  }
}