Haggis Posted August 15, 2009 Report Share Posted August 15, 2009 its working and puts in icons etc but when i tried to dock it i t does this here is my code dialog nicklist { title "Nick" size -1 -1 86 250 option dbu list 1, 1 20 83 330, size vsbar text "Room name", 2, 3 2 80 8 text "Chatters:", 3, 3 10 43 8 text "num", 4, 54 11 29 8, right } menu channel { Nicklist: /dialog -m nicklist nicklist } on *:dialog:nicklist:init:*: { listnicks } on *:dialog:nicklist:sclick:1: { echo -a $did(1).seltext } alias listnicks { dll dll\rebar.dll Dock $dialog(nicklist).hwnd > right dll dll\mdx.dll SetMircVersion $version dll dll\mdx.dll MarkDialog $dname 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 noheader smallicon hottrack single > dll\views.mdx 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 did -ra nicklist 4 $nick($active,0) did -ra nicklist 2 $active did -r nicklist 1 var %x = 1 while ($nick($active,%x)) { did -a nicklist 1 0 + $nickicon($nick($active,%x)) $nick($active,%x) inc %x } } alias nickicon { if ($left($nick($active,$1).pnick,1) == ~) return 1 if ($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 } Link to comment Share on other sites More sharing options...
err0r Posted August 15, 2009 Report Share Posted August 15, 2009 you are better off docking it with nicklist dll another thing is you should use nicklist.channelname as the name of the dialog and nicklist.* init so you can have them in multiple rooms Link to comment Share on other sites More sharing options...
Kronicdreamer Posted August 16, 2009 Report Share Posted August 16, 2009 everytime i see someone post something like this it makes me wana break out the mirc again lol! i may just do it later tonight Link to comment Share on other sites More sharing options...
Warrior124 Posted August 16, 2009 Report Share Posted August 16, 2009 (edited) Yes, when you use rebar.dll you will need your regular mirc nicklist hidden, because rebar does not dock to the nicklist. In order to dock to the nicklist you will need nicklist.dll to accomplish that. Here is the edited version for you... dialog nicklist { title "Nick" size -1 -1 86 314 option dbu list 1, 2 20 83 293, size 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 } menu channel { Nicklist: /dialog -m nicklist nicklist } on *:dialog:nicklist:init:*: { dll dll\mdx.dll SetMircVersion $version dll dll\mdx.dll MarkDialog $dname 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 noheader smallicon hottrack single > dll\views.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 -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 *:dialog:nicklist:sclick:1: { echo -a $did(1).seltext } on *:join:#: listnicks on *:part:#: listnicks on *:kick:#: listnicks alias listnicks { did -ra nicklist 4 $nick($active,0) did -ra nicklist 2 $active var %x = 1 did -r nicklist 1 while ($nick($active,%x)) { did -a nicklist 1 0 + $nickicon($nick($active,%x)) $nick($active,%x) inc %x } .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).w $dialog(nicklist).h > $dll(dll\nicklist.dll,GetSize,%achan)) || ($dialog(nicklist).w $dialog(nicklist).h < $dll(dll\nicklist.dll,GetSize,%achan)) { dll dll\mdx.dll SetDialog nicklist coords 0 0 $dll(dll\nicklist.dll,GetSize,%achan) dll dll\mdx.dll MoveControl nicklist 1 * * $dll(dll\nicklist.dll,GetSize,%achan) if ($dialog(nicklist)) { did -i nicklist 1 1 headerdims $calc($gettok($dll(dll\nicklist.dll,GetSize,%achan),1,38) - 6) $+ :1 0:2 } listnicks } } Edited August 16, 2009 by Warrior124 Link to comment Share on other sites More sharing options...
Haggis Posted August 16, 2009 Author Report Share Posted August 16, 2009 cool i made those changes but now it look slike this and also its flashing all the time Link to comment Share on other sites More sharing options...
Warrior124 Posted August 16, 2009 Report Share Posted August 16, 2009 (edited) Ahh, I see what happened. Replace the init part of the code with this... 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 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 -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 } It should look like this now... Edited August 16, 2009 by Warrior124 Link to comment Share on other sites More sharing options...
Haggis Posted August 16, 2009 Author Report Share Posted August 16, 2009 cool thanks i will give that a try when i get home Link to comment Share on other sites More sharing options...
Warrior124 Posted August 16, 2009 Report Share Posted August 16, 2009 No problem. So far it only works for one channel, but you can make it to work for others as err0r suggested, or making it to where it would close, and then reopen on active. Link to comment Share on other sites More sharing options...
Ozzy10 Posted August 16, 2009 Report Share Posted August 16, 2009 put code exactly as you had it before and turn off mircs nicklist or use nicklist.dll to dock it rather than rebar Link to comment Share on other sites More sharing options...
Haggis Posted August 16, 2009 Author Report Share Posted August 16, 2009 why does it do this Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now