this is my old msn nicklist.. it used nicklist.dll
i dont test it if its works now.. but u can give a try ..
dialog nick {
title "nick"
size 0 0 200 645
option pixels
box "", 3, 2 -4 203 55
box "", 2, 2 43 203 46
list 1, 2 86 204 475, size
icon 5, 168 8 32 32, $iconz(msn.ico), 0, noborder
text "", 7, 6 59 159 21, center
icon 8, 168 53 30 28, $iconz(cups.bmp), 0
text "", 9, 5 7 161 23, center
text "People Chatting", 10, 53 31 102 16
text "", 11, 25 31 26 16, right
icon 13, 10 564 32 32, $iconz(sp00k.ico), 0, noborder
text "Design And Coded by Devil c0de eX", 14, 43 567 148 45, center
}
alias iconz { return $shortfn($scriptdiricon\ $+ $1 $+ ) }
alias nickdll.c0de { return $shortfn($scriptdirdlls/nicklist.dll) }
alias mdx.c0de { return $shortfn($scriptdirdlls/mdx.dll) }
alias ktools.c0de { return $shortfn($scriptdirdlls/ktools.dll) }
alias views.c0de { return $shortfn($scriptdirdlls/views.mdx) }
alias nicklist {
if ($1) {
set $chr(37) $+ $right($1,-1) $1
set %nicksize $dll($nickdll.c0de,GetSize,$chr(37) $+ $right($1,-1))
if $dialog(nick $+ $1) {
dialog -c nick $+ $1
dialog -m nick $+ $1 nick
}
else {
dialog -m nick $+ $1 nick
}
}
}
on 1:dialog:nick*:init:*: {
dll $mdx.c0de SetMircVersion $version
dll $mdx.c0de MarkDialog $dname
dll $mdx.c0de SetDialog $dname style
dll $mdx.c0de SetBorderStyle 1
dll $mdx.c0de SetControlMDX $dname 1 listview report showsel nosortheader > $views.c0de
did -i $dname 1 1 headerdims $gettok(%nicksize,1,32) $+ :1
did -i $dname 1 1 headertext + 0 $room($right($dname,-4))
did -i $dname 1 1 seticon normal $iconz(msn5.ico)
did -i $dname 1 1 seticon normal $iconz(owner.ico)
did -i $dname 1 1 seticon normal $iconz(host.ico)
did -i $dname 1 1 seticon normal $iconz(spec.ico)
did -i $dname 1 1 seticon normal $iconz(ignore.ico)
did -i $dname 1 1 seticon normal $iconz(cup.ico)
dll $mdx.c0de SetColor 14 text $rgb(0,0,0)
dll $mdx.c0de SetColor 9 text $rgb(0,0,170)
dll $mdx.c0de SetColor 7 text $color($color(normal))
dll $mdx.c0de SetFont 14 14 110 Copperplate Gothic Bold
dll $mdx.c0de SetFont 1 16 110 Verdana
dll $mdx.c0de SetFont 9 17 110 Tahoma Bold
dll $mdx.c0de SetFont 7 16 110 Verdana Bold
did -i $dname 1 1 settxt color $color($color(normal))
did -i $dname 1 1 setbkg color $color($color(background))
did -i $dname 1 1 settxt bgcolor $color($color(background))
dll $nickdll.c0de Nicklist $dname $right($dname,-4)
var %x = 1
while (%x <= $nick($right($dname,-4),0)) {
did -a nick $+ $right($dname,-4) 1 0 + $iconick($nick($right($dname,-4),%x),$right($dname,-4)) $msn.decode($nick($right($dname,-4),%x))
inc %x
}
did -ra $dname 9 $replace($remove($active,$chr(37),$chr(35)),\b,$chr(32))
did -ra $dname 7 $msn.decode($me)
did -ra $dname 11 $nick($active,0)
}
alias iconick {
if ($level($address($1,1)) == Ignore) return 5
elseif (%away. [ $+ [ $1 ] ] == $1) return 6
if (' isin $1) { return 1 }
elseif ($1 isowner $2) { return 2 }
elseif ($1 isop $2) { return 3 }
elseif ($1 !isvo $2) && (m isin $chan($2).mode) { return 4 }
}
on *:dialog:nick*:*click:1: {
did -i $dname 1 1 page event
tokenize 32 $did($dname,1,1)
if ($1 == sclick) {
sline $right($dname,-4) $nick($right($dname,-4),$calc($3 - 1))
}
if ($1 == rclick) {
sline $right($dname,-4) $nick($right($dname,-4),$calc($3 - 1))
dll $nickdll.c0de Popup $right($dname,-4)
}
if ($1 == dclick) {
query $nick($right($dname,-4),$calc($3 - 1))
}
}
on *:part:#: { if ($dialog(nick $+ #) != $null) && ($nick != $me) && (# == $active) .timernick -m 1 50 c0de.nicks $!chr(37) $!+ $right(#,-1) }
on *:kick:#: { if ($dialog(nick $+ #) != $null) && (# == $active) && (# == $active) .timernick $+ # -m 1 50 c0de.nicks $!chr(37) $!+ $right(#,-1) }
on *:op:#: { if ($dialog(nick $+ #) != $null) && (# == $active) && (# == $active) .timernick $+ # -m 1 50 c0de.nicks $!chr(37) $!+ $right(#,-1) }
on *:deop:#: { if ($dialog(nick $+ #) != $null) && (# == $active) .timernick $+ # -m 1 50 c0de.nicks $!chr(37) $!+ $right(#,-1) }
on *:owner:#: { if ($dialog(nick $+ #) != $null) && (# == $active) .timernick $+ # -m 1 50 c0de.nicks $!chr(37) $!+ $right(#,-1) }
on *:deowner:#: { if ($dialog(nick $+ #) != $null) && (# == $active) .timernick $+ # -m 1 50 c0de.nicks $!chr(37) $!+ $right(#,-1) }
on *:voice:#: { if ($dialog(nick $+ #) != $null) && (# == $active) .timernick $+ # -m 1 50 c0de.nicks $!chr(37) $!+ $right(#,-1) }
on *:devoice:#: { if ($dialog(nick $+ #) != $null) && (# == $active) .timernick $+ # -m 1 50 c0de.nicks $!chr(37) $!+ $right(#,-1) }
on *:quit: { if ($dialog(nick $+ #) != $null) && (# == $active) .timernick $+ # -m 1 50 c0de.nicks $!chr(37) $!+ $right(#,-1) }
on *:nick: { if ($dialog(nick $+ #) != $null) && (# == $active) .timernick $+ # -m 1 50 c0de.nicks $!chr(37) $!+ $right(#,-1) }
on *:join:#: {
if ($dialog(nick $+ #) == $null) && ($nick == $me) { .timer $+ # 1 1 nicklist $!chr(37) $!+ $right(#,-1) }
if ($dialog(nick $+ #) != $null) && ($nick != $me) .timernick $+ # -m 1 50 c0de.nicks $!chr(37) $!+ $right(#,-1)
}
alias c0de.nicks {
if ($dialog(nick $+ $1)) {
who $1
var %x = 1
if ($did(nick $+ $1,1).sel) { var %sel = $did(nick $+ $1,1).sel }
while (%x <= $nick($1,0)) {
did -ra nick $+ $1 11 $nick($1,0)
did -o nick $+ $1 1 $calc(%x + 1) 0 + $iconick($nick($1,%x),$1) $msn.decode($nick($1,%x))
inc %x
}
while (%x <= %numnick. [ $+ [ $1 ] ]) {
did -d nick $+ $1 1 $calc(%x + 1)
inc %x
}
if (%sel) { did -c nick $+ $1 1 %sel }
set %numnick. [ $+ [ $1 ] ] $nick($1,0)
}
}
raw 352:*: {
haltdef
if ($left($7,1) == G) { set %away. [ $+ [ $6 ] ] $6 }
elseif ($left($7,1) == H) { unset %away. [ $+ [ $6 ] ] }
}
raw 821:*: { unset %away. [ $+ [ $nick ] ] $nick | if ($dialog(nick $+ #) != $null) .timernick $+ # -m 1 50 c0de.nicks $!chr(37) $!+ $right(#,-1) }
raw 822:*: { set %away. [ $+ [ $nick ] ] $nick | if ($dialog(nick $+ #) != $null) .timernick $+ # -m 1 50 c0de.nicks $!chr(37) $!+ $right(#,-1) }
on *:exit: unset %#*
alias window {
window $1-
if ($dialog(nick $+ $2-) != $null) && ($1 == -a) { nicklist $2- }
}
or u can get the full nicklist addon Here
