Jump to content

Tried To Make A Nicklist


Haggis

Recommended Posts

  • Replies 47
  • Created
  • Last Reply

Top Posters In This Topic

You forget, David. I too am experienced with scripting, myself, and to me it makes some sense to put it there. For one thing it keeps a person from having to move the mouse a little more to get to the scrollbar. Not everyone has a digital mouse, and has to rely on on old mouse using a ball, lol. So, something like this makes perfect sense to use.

 

Also, if you place an mdx scrollbar on the right hand side you will also need to configure it to stay put when the nicklist is stretched. I can do that. However, I won't unless Haggis wants me to. As far as it being silly it may be unique, but please watch what you say about a persons work. You don't have to use it if you don't want, but don't insult someones work just because you don't like it.

Link to comment
Share on other sites

warrior, it was an opinion. I did not intend or come off as being a "flamer" on his work. I gave a valid reason as to why i thought that. I would hope that it was constructive critism, cause if i was to have really flamed it, i could of used a lot more words than that to do so. But I gave my opinion for it.

 

Being that it's critism, you can take it or leave it at your discretion, that is the fun about being human.

 

Btw, isn't there an auto list scroll bar that generally gets created when a list is too long? I don't recall having to make a scroll bar in GD5 for the nicklist, it was there.

Link to comment
Share on other sites

No problem, mate. Thanks for clearing that up.

 

To answer your question, yes there is. However, it is almost inaccessible for some reason when using the style version from mdx. The border hides most of the scrollbar.

Edited by Warrior124
Link to comment
Share on other sites

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
;}

 

 

Link to comment
Share on other sites

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)) {

 

I could be very well wrong but just guessing %x should just be a total number of lines in the nicklist if this is also i would use .dec %x if i already had the line total and just negate the value on the loop. The while loop would cause u to crash it.

 

Correct me if im wrong never really worked with nicklists.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...