Code:
on @*:TEXT:*:#: {
  if ($nick isop $chan) return

  ;*** Flood protection *** 
  inc -u5 $+(%,flood.,$chan,.,$nick) 1
  if ($($+(%,flood.,$chan,.,$nick),2) > 3) {
    inc $+(%,warn.,$chan,.,$nick) 1 
    mode $chan +m
    mode $chan -v $nick
    msg $chan You aint allowed to flood on this channel, $nick ! 
    timer 1 5 mode $chan -m 
  }

  ;*** Repeat Protection ***
  if ($1- == $($+(%,rep.t.,$chan,.,$nick),2)) {
    inc $+(%,rep.c.,$chan,.,$nick)
    if ($($+(%,rep.c.,$chan,.,$nick),2) > 3) {
      inc $+(%,warn.,$chan,.,$nick) 1
      mode $chan +m
      mode $chan -v $nick
      msg $chan You aint allowed to repeat on this channel, $nick !
      .timer 1 5 mode $chan -m
    }
  }
  else set $+(%,rep.t.,$chan,.,$nick) $1-

  ;*** Kick/ban for repeated offenses ***
  if ($($+(%,warn.,$chan,.,$nick),2) == 2) kick $chan $nick Last warning...
  elseif ($($+(%,warn.,$chan,.,$nick),2) >= 3) ban -ku1800 $chan $nick 2 Guess you can't take a hint
}


(Untested)

I altered the code so that it was nick/chan-specific.

-genius_at_work