i tried to make it multi room but now it seems to crash mirc lol and the nicklist does not show
dialog nicklist {
title "Nick"
size -1 -1 86 314
option dbu
list 1, 10 20 75 293, size extsel hsbar vsbar
text "Room name", 2, 3 2 80 8
text "Chatters:", 3, 3 10 43 8
text "num", 4, 54 11 29 8, right
button "", 5, 1 21 8 283
}
menu channel {
Nicklist: {
if ($dialog(nicklist)) dialog -c nicklist $+ $active nicklist $+ $active
dialog -m nicklist $+ $right(#,-1) nicklist
}
}
on *:dialog:nicklist*:init:*: {
dll dll\mdx.dll MarkDialog $dname
dll dll\mdx.dll SetMircVersion $version
dll dll\mdx.dll SetDialog $dname style
;dll dll\mdx.dll SetFont $dname 1 12 50 verdana
;dll dll\mdx.dll SetColor $dname 1 text $rgb (0,0,139)
dll dll\mdx.dll SetControlMDX $dname 1 ListView report showsel noheader smallicon hottrack single > dll\views.mdx
dll dll\mdx.dll SetControlMDX $dname 5 scrollbar vertical > dll\ctl_gen.mdx
did -i $dname 1 1 headerdims $calc($gettok($dll(dll\nicklist.dll,GetSize,$active),1,38) - 6) $+ :1 0:2
dll dll\nicklist.dll Nicklist $dname $active
did -ra $dname 5 1 0 114 15 2 1
did -i $dname 1 1 iconsize normal small
did -i $dname 1 1 seticon normal c:\mirc\icons\owner.ico
did -i $dname 1 1 seticon normal c:\mirc\icons\host.ico
did -i $dname 1 1 seticon normal c:\mirc\icons\no.ico
did -i $dname 1 1 seticon normal c:\mirc\icons\voice.ico
did -i $dname 1 1 seticon normal c:\mirc\icons\tick.ico
listnicks
}
on *:join:#: listnicks
on *:part:#: listnicks
on *:kick:#: listnicks
alias listnicks {
did -ra nicklist $+ $right(#,-1) 4 $nick($active,0)
did -ra nicklist $+ $right(#,-1) 2 $active
var %x = 1
did -r nicklist $+ $right(#,-1) 1
while ($nick($active,%x)) {
did -az nicklist $+ $right(#,-1) 1 0 + $nickicon($nick($active,%x)) $nick($active,%x)
inc %x
}
.timerresize -m 0 1 resize $active
}
alias relistnicks {
.remove nicklist.txt
var %x = $gettok($calc($did(nicklist $+ $right(#,-1),1).lines * $gettok($did(nicklist $+ $right(#,-1),5).text,1,32) / 100),1,$asc(.))
did -r nicklist $+ $right(#,-1) 1
while ($nick($active,%x)) {
write -l $+ %x nicklist.txt 0 + $nickicon($nick($active,%x)) $nick($active,%x)
inc %x
}
loadbuf -ro nicklist $+ $right(#,-1) 1 nicklist.txt
.timerresize -m 0 1 resize $active
}
alias nickicon {
if ($left($nick($active,$1).pnick,1) == ~) return 1
if ($left($nick($active,$1).pnick,1) == &) || ($left($nick($active,$1).pnick,1) == @) return 2
if ($left($nick($active,$1).pnick,1) == +) return 4
if ($left($nick($active,$1).pnick,1) == %) return 2
else return 3
}
alias resize {
var %achan $1-
if ($dialog(nicklist $+ $right(#,-1)).w $dialog(nicklist $+ $right(#,-1)).h > $dll(dll\nicklist.dll,GetSize,%achan)) || ($dialog(nicklist $+ $right(#,-1)).w $dialog(nicklist $+ $right(#,-1)).h < $dll(dll\nicklist.dll,GetSize,%achan)) {
dll dll\mdx.dll SetDialog nicklist $+ $right(#,-1) coords 0 0 $dll(dll\nicklist.dll,GetSize,%achan)
dll dll\mdx.dll MoveControl nicklist $+ $right(#,-1) 1 * * $gettok($dll(dll\nicklist.dll,GetSize,%achan),1,32) 2000
if ($dialog(nicklist $+ $right(#,-1))) {
did -i nicklist $+ $right(#,-1) 1 1 headerdims $calc($gettok($dll(dll\nicklist.dll,GetSize,%achan),1,38) - 6) $+ :1 0:2
}
listnicks
}
}
;on 1:ACTIVE:*: {
; if ($dialog(nicklist)) dialog -c nicklist nicklist
; dialog -m nicklist nicklist
;}