this is what im using now.


Code:
on *:join:#:{ 
  .write $qt($scriptdirtracker.txt) ( $time(HH:nn:ss) on $adate ) - $address - $nick 
}
on *:text:!find*:#:{ 
  find $nick $2
} 
alias find { 
  if !$2 {    .notice $1 Usage !find <nick>  } 
  else { 
    if !$read($qt($scriptdirtracker.txt),w,$+(*,$2)) { 
      .notice $1 No matches for $2 found 
    } 
    else { 
      var %a = 1, %b = $lines($qt($scriptdirtracker.txt)), %match = 0
      while %a <= %b { 
        inc %match 
        .timer 1 %match msg $1 $read($qt($scriptdirtracker.txt),w,$+(*,$2),%a) 
        ;%a = $readn 
        inc %a 
      } 
    } 
  } 
}  


@PuNktured change the "%a = $readn" he add a ";".. ";%a = $readn" .. and this ->
Quote:
var %a = 1, %b = $lines($qt($scriptdirtracker.txt)), %match


he add a - = 0 in end of it.

Quote:
var %a = 1, %b = $lines($qt($scriptdirtracker.txt)), %match = 0


and still this code has a Break issue. -> while %a <= %b { in Line 15.
but still won't work..