hello all,

okay this has been bugging me for quite a long time now.. and i'm stummped. i havn't been scripting in a while so i'm rusty as is but, i'm having problems removing a nick from a custom window list box.. i have no idea why its not doing what i want.. secondly i'm not sure on how to remove a second propety while using $nick().pnick to keep th @ sysmble only if the person is oped and voiced. right now it looks like @+smith i only want it to look like @smith in the lsitbox

heres the code
Code:
alias -l opchat.ACTION {
  .notice @ $+ %opchat.Chan ACTION: $1-
  var %clr =  $+ $colour(action)
  echo -i2 %opchat.WinName $opchat.CS(%clr,*) $me $1- 
}
alias -l opchat.TEXT {
  .notice @ $+ %opchat.Chan $1-
  echo -i2 %opchat.WinName $iif(%opchat.TimeStamp,$time(hh:nn:stt)) < $+ $me $+ > $1-
}
alias -l opchat.CS { if ( %opchat.TimeStamp ) { return $1 $+ $time(hh:nn:stt)) $2 } | else { return $1 $+ $2 } }
alias -l opchat.Open {
  if ($window(@opchat.Win)) { return }
  window -eSl11k0 %opchat.WinName %opchat.x %opchat.y $&
    %opchat.w %opchat.h %opchat.WinName
  titlebar %opchat.WinName %opchat.Chan OP Chat Line
  opchat.Nick.Refresh
}
alias -l opchat.Nick.Refresh {
  var %ptr = 1- $+ $line(%opchat.WinName,0,1)
  dline -l %opchat.WinName $remove(%ptr,@)
  %ptr = $nick(%opchat.Chan,0,o).pnick
  while (%ptr) {
    var %opnick = $nick(%opchat.Chan,%ptr,o).pnick
    if ($istok(%opchat.Bots,$remove(%opnick,@),44) != $true) { aline -l %opchat.WinName %opnick }
    dec %ptr
  }
}
alias -l opchat.Nick.Add {
  if ($istok(%opchat.Bots,$remove($1,@),44) != $true) { aline -l %opchat.WinName $1 }
}
alias -l opchat.Nick.Remove {
  var %ptr = $fline(%opchat.WinName,$remove($1,@),1,1)
  if (%ptr) { dline -l %opchat.WinName $remove(%ptr,@) }
}

on *:OP:%opchat.Chan:{
  opchat.Nick.Refresh
 }
on *:DEOP:%opchat.Chan:{
  opchat.Nick.Refresh
  }
on *:PART:%opchat.Chan:{
  opchat.Nick.Refresh
  }
on *:QUIT:%opchat.Chan:{
  opchat.Nick.Refresh
    }
  


the alias opchat.Nick.Refresh does seem to be working fine but, the opchat.nick.remove doesn't. i know i only have the nick.refresh alias in the events but thats because i was testing..
can anyone help sort out these problems it'll be much appreaciated.
thanks in advance!