Why not simply /names the channel whenever you wish to see how many are left that have been there since you joined? Any nicks that come after your own have been there longer than you.

Code:
[color:green];  Usage: /RemainingUsers [#]<channel>
;  [/color]
alias RemainingUsers {
     [color:green]
  ;  Create the matchtext field for raw 353 and 366 to trigger on
  ;  [/color]
  set -u600 %353 $me & #$$1 *
  set -u600 %366 $me #$1 End of /NAMES list.
     [color:green]
  ;  Open a minimized, hidden desktop listwindow to store the nicks; it's entirely possible that this
  ;  alias might be used on a channel with a large number of nicks (like 2500) which makes storing
  ;  the nicks in a variable untenable. And since (join) order is quite likely important, a hash table
  ;  wouldn't be the best idea either. That leaves either a file (slow access) or a hidden @window.
  ;  [/color]
  window -nhdl @RemainingUsers
     [color:green]
  ;  Now request the join order from /NAMES.
  ;  [/color]
  .raw names #$1
}
   [color:green]
;  353 RPL_NAMREPLY
;  [/color]
raw 353:%353:{
     [color:green]
  ;  Remove the @'s and +'s from in front of nicks. If your network uses additional symbols in front
  ;  of nicks, add them to the list of symbols inside the $remove().
  ;  [/color]
  var %rnicks = $remove($4-, @, +)
     [color:green]
  ;  Check to see if there are already nicks in @RemainingUsers, which would mean that we've found $me
  ;  somewhere in a previous 353.
  ;  [/color]
  if $line(@RemainingUsers, 0) {
       [color:green]
    ;  Since $me is already in @RemainingUsers, add all these new nicks to variable.
    ;  [/color]
    var %nicks = %rnicks
  
  }
     [color:green]
  ;  Or if $me is found in this line, then we can start processing nicks
  ;  [/color]
  elseif $istok(%rnicks, $me, 32) {
       [color:green]
    ;  Chop off any nicks prior to $me.
    ;  [/color] 
    var %nicks = $gettok(%rnicks, $+($findtok(%rnicks, $me, 1, 32), -), 32)
  
  }
     [color:green]
  ;  Now check to see if we need to process this 353 any more.
  ;  [/color]
  if %nicks {
       [color:green]
    ;  Add each nick to @RemainingUsers
    ;  [/color]
    var %i = 1
    while $gettok(%nicks, %i, 32) {
  
      aline @RemainingUsers $ifmatch
      inc %i
  
    }
  }
     [color:green]
  ;  Halt the normal display.
  ;  [/color]
  halt
}
   [color:green]
;  Echoing alias for /filter -k used in RPL_ENDOFNAMES to display the nicks.
;  [/color]
alias -l f_echo {
  
  echo -gtic info2 $gettok(%366, 2, 32) $1
  
}
   [color:green]
;  366 RPL_ENDOFNAMES
;  [/color]
raw 366:%366:{
     [color:green]
  ;  Get rid of the first line, which will be equal to $me.
  ;  [/color]
  dline @RemainingUsers 1
     [color:green]
  ;  Display the list however you like. This example uses /filter with an alias to echo.
  ;  [/color]
  filter -wk @RemainingUsers f_echo
     [color:green]
  ;  Clean up the /set variables used and close the data window.
  ;  [/color]
  unset %353 %366
  window -c @RemainingUsers
     [color:green]
  ;  Halt the normal display.
  ;  [/color]
  halt
}

/RemainingUsers #mIRC

cool


DALnet: #HelpDesk and #m[color:#FF0000]IR[color:#EEEE00]C