Code:
on *:text:!regnick*:#channel:{
  var %x = 1
  while (%x <= $lines(filter.txt)) {
    if ($left($read(filter.txt,n,%x),1) == @) || ($v1 == +) { inc %x }
    else { .timer 1 1 msg # $read(filter.txt,n,%x) }
    inc %x
  }
}


That's because the code above sets all timers to 1 second,and since the script finishes almost instantaneously, they all end after 1 second. A fix for both your problems should be:

Code:
on *:text:!regnick*:#channel:{
  var %y = 1
  while ($read(filter.txt,n,1)) {
    if ($left($read(filter.txt,n,1),1) != @) && ($v1 != +) { .timer 1 %y msg $chan $read(filter.txt,n,1) | inc %y }
    write -dl1 filter.txt
  }
}

Last edited by 5618; 19/10/07 01:36 PM.