Evolution Posted August 18, 2009 Report Share Posted August 18, 2009 humms o well ill leave it to the pros lol .. good job sofar tho looks nice Link to comment Share on other sites More sharing options...
Warrior124 Posted August 18, 2009 Report Share Posted August 18, 2009 (edited) The following code will make it for multiple rooms...  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:   .Turn Nicklist On: {   ;This will turn the nicklist on for each channel you use it in.     if ($dialog(nicklist $+ $active)) dialog -c nicklist $+ $active nicklist     dialog -m nicklist $+ $active nicklist   ;The codes above will determine if the nicklist for a channel is already running. If it is it will close, and reactivate it.   }   .Turn Nicklist off: dialog -c nicklist $+ $active 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 ;The code above transforms the button above into a vertical scrollbar.   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 ;The code above attaches your custom nicklist to the one in mIRC.   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 *:dialog:nicklist*:*:*: {   if ($devent == sclick) {     if ($did == 1) echo -a $did(1).seltext     if ($did == 5) relistnicks   }   elseif ($devent == close) .timerresize. $+ $remove($dialog(nicklist*),nicklist) off } on *:join:#: listnicks on *:part:#: listnicks on *:kick:#: listnicks alias listnicks {   did -ra nicklist $+ $active 4 $nick($active,0)   did -ra nicklist $+ $active 2 $active   var %x = 1   did -r nicklist $+ $active 1   while ($nick($active,%x)) {     did -az nicklist $+ $active 1 0 + $nickicon($nick($active,%x)) $nick($active,%x)     inc %x   }   .timerresize. $+ $active -m 0 1 resize $active ;This code resizes the nicklist if it needs to. Otherwise, it won't do anything. } ;This code is used for scrolling with the scrollbar. It deletes the top names from the list while scrolling down, and readds them when scrolling up. It calculates the position of the scrollbar to determine which nicknames to add, and which to delete. Therefore giving it a scrolling perspective. alias relistnicks {   .remove nicklist.txt   var %x = $gettok($calc($did(nicklist $+ $active,1).lines * $gettok($did(nicklist $+ $active,5).text,1,32) / 100),1,$asc(.))   did -r nicklist $+ $active 1   while ($nick($active,%x)) {     write -l $+ %x nicklist.txt 0 + $nickicon($nick($active,%x)) $nick($active,%x)     inc %x   }   loadbuf -ro nicklist $+ $active 1 nicklist.txt   .timerresize. $+ $chan -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 } ;The following alias checks to see if the nicklist needs to be resized for whatever reason. If the nicklist isn't the size of mIRC's nicklist it will resize to compensate. alias resize {   var %achan $1-   if ($dialog(nicklist $+ %achan)) {     if ($dialog(nicklist $+ %achan).w $dialog(nicklist $+ %achan).h > $dll(dll\nicklist.dll,GetSize,%achan)) || ($dialog(nicklist $+ %achan).w $dialog(nicklist $+ %achan).h < $dll(dll\nicklist.dll,GetSize,%achan)) {       dll dll\mdx.dll SetDialog nicklist $+ %achan coords 0 0 $dll(dll\nicklist.dll,GetSize,%achan)       dll dll\mdx.dll MoveControl nicklist $+ %achan 1 * * $gettok($dll(dll\nicklist.dll,GetSize,%achan),1,32) 2000       if ($dialog(nicklist $+ %achan)) {         did -i nicklist $+ %achan 1 1 headerdims $calc($gettok($dll(dll\nicklist.dll,GetSize,%achan),1,38) - 6) $+ :1 0:2       }       listnicks     }   } } Edited August 19, 2009 by Warrior124 Link to comment Share on other sites More sharing options...
The Gate Keeper Posted August 18, 2009 Report Share Posted August 18, 2009 warrior, maybe we should point out what modifications took place to have the code work? It may be beneficial for others to know what you did. I could probably work it out, but yea, not sure everyone here could. Link to comment Share on other sites More sharing options...
Haggis Posted August 18, 2009 Author Report Share Posted August 18, 2009 i got it by looking at the code i had and seeing what warrior had put  i find this a good way as it lets me see what i did wrong and why it is wrong Link to comment Share on other sites More sharing options...
Warrior124 Posted August 18, 2009 Report Share Posted August 18, 2009 Yes, with some people it is beneficial, but if you tell people straight off how to do it then most of the times they don't look over the code. Haggis is doing a terrific job by looking over the code to learn. If I ever give out any code that someone doesn't understand they can always ask me how to do it, and I'll definitely help out that way, too. However, I find the best way to learn is actually to dig in, and see what does what. That is how I learned, lol. Link to comment Share on other sites More sharing options...
The Gate Keeper Posted August 18, 2009 Report Share Posted August 18, 2009 yea i am the same warrior. I pretty much did that with all my languages as well. Link to comment Share on other sites More sharing options...
err0r Posted August 18, 2009 Report Share Posted August 18, 2009 but if you label it like ; this line does this or that  it becomes more than an example to help one person..  it becomes a tutorial to help a lot of ppl Link to comment Share on other sites More sharing options...
Warrior124 Posted August 18, 2009 Report Share Posted August 18, 2009 That's true, lol. I'll try it like that. Link to comment Share on other sites More sharing options...
Warrior124 Posted August 19, 2009 Report Share Posted August 19, 2009 (edited) The code has been modified to include an explaination of what was added. Click here Edited August 19, 2009 by Warrior124 Link to comment Share on other sites More sharing options...
err0r Posted August 19, 2009 Report Share Posted August 19, 2009 nice job 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