mIRC - Modified Nicklist - Sorted By Idle and Colored

By ProIcons on Oct 06, 2012

Well it was actually Requested Here:
http://www.hawkee.com/phpBB2/viewtopic.php?p=122088#122088
If it is able to color a NIcklist or sort, without dll. Well it is able to do this but only on custom windows.
I Implemented 1 NickList.dll, that allow you to put a dialog in the place of the nicklist
I also implemented MDX DLl that allowed me to embed a Window's Nicklist in the Dialog
And i used WhileFix.dll to prevent any possible "freezes" during this operation.
Its not the perfect way to do this, since everytime this is remaking the whole nicklist from the begin. So in channels with more than 150 users it will freeze beside whilefix. I Mean your gui it won't freeze but every else command will. Anyway there are better ways to do this with the Niclust3.dll but i prefered... the Window Mode.
that is more natural even it creates More lags and etc.

U Simply load the script. If it won't start just type /loaddat . You don't need to download any dll. it downoad them its self.
[b][size=20]ITS VERY important this script to be loaded in seperate file and the FIRST line of this code to be on THE 1st LINE of the Script FILE that you will add this script

[/size][/b]
mIRC Downloader by hixxy
DLL: Nicklist2.dll By Epsilon
DLL: MDX.dll By DragonZap
DLL: WhileFix.dll By bamaboy

ALSO Be noticed you must place this script in a sparate script file, because after the download procedure is cleaning up the useless code...

Changelog:
Version 0.1 Beta

  • Initial Version. Used only Nicklist.dll by Jano
    Version 0.2 Beta
    -Found some bugs with nicklist.dll by Janno, and possible crashes so i implemented Nicklist.dll by Epsilon / MDX.dll by Dragon Zap and WhileFix.dll by bamaboy
    Version 0.3 Beta
    -Seemed that users with Ops, and voice together were shown 2 times on the nicklist., Bug Fixed anyway
    Version 0.4 Beta
    -Found a typo in the whole code that didn't download required dlls as result to dissfucntion the script.
alias -l raisemessage {
  if ($line($active,0)) && (($show) || ($1 == -e)) { linesep -a }
  echo $colour(info) -a $+ $iif($1 != -e,q $1-,$chr(32) $2-)
  if ($show) || ($1 == -e) { linesep -a }
  halt
}

alias download {
  var %overwrite, %ssl
  if ($isid) { raisemessage -e * /download: Should be called as a command }
  if ($0 < 3) && (!$istok(-c -p -r,$1,32)) { raisemessage -e * /download: Insufficient parameters }
  if (-* iswm $1) {
    if ((c isincs $1) || (p isincs $1) || (r isincs $1)) && (!$sock(download_ $+ $2)) { raisemessage -e * /download: No such download ' $+ $2' }
    if (c isincs $1) {
      if ($isfile($gettok($sock(download_ $+ $2).mark,3-,32))) { .remove $qt($gettok($sock(download_ $+ $2).mark,3-,32)) }
      if (http:* iswm $gettok($sock(download_ $+ $2).mark,2,32)) {
        sockclose download_ $+ $2
        .signal download $2 cancel
        raisemessage * /download: Cancelled download ' $+ $2'
      }
      elseif (ftp:* iswm $gettok($sock(download_ $+ $2).mark,2,32)) {
        sockclose download_ $+ $2
        sockclose ftp_download_ $+ $2
        sockclose ftpc_download_ $+ $2
        .signal download $2 cancel
        raisemessage * /download: Cancelled download ' $+ $2'
      }
    }
    elseif (p isincs $1) {
      if (http:* iswm $gettok($sock(download_ $+ $2).mark,2,32)) && (!$sock(download_ $+ $2).pause) {
        sockpause download_ $+ $2
        .signal download $2 pause
        raisemessage * /download: Paused download ' $+ $2'
      }
      elseif (ftp:* iswm $gettok($sock(download_ $+ $2).mark,2,32)) && (!$sock(download_ $+ $2).pause) {
        sockpause download_ $+ $2
        if ($sock(ftpc_download_ $+ $2)) { sockpause ftpc_download_ $+ $2 }
        .signal download $2 pause
        raisemessage * /download: Paused download ' $+ $2'
      }
    }
    elseif (r isincs $1) {
      if (http:* iswm $gettok($sock(download_ $+ $2).mark,2,32)) && ($sock(download_ $+ $2).pause) {
        sockpause -r download_ $+ $2
        .signal download $2 resume
        raisemessage * /download: Resumed download ' $+ $2'
      }
      elseif (ftp:* iswm $gettok($sock(download_ $+ $2).mark,2,32)) && ($sock(download_ $+ $2).pause) {
        sockpause -r download_ $+ $2
        if ($sock(ftpc_download_ $+ $2)) { sockpause -r ftpc_download_ $+ $2 }
        .signal download $2 resume
        raisemessage * /download: Resumed download ' $+ $2'
      }
    }
    if (e isincs $1) { var %ssl = $true }
    if (o isincs $1) { var %overwrite = $true }
    tokenize 32 $2-
  }
  if ($sock(download_ $+ $1)) { raisemessage -e * /download: Download exists ' $+ $1' }
  if ($isfile($3-)) && (!%overwrite) { raisemessage -e * /download: File exists ' $+ $3-' }
  if ($nopath($3-) == $null) { raisemessage -e * /download: No filename supplied ' $+ $3-' }
  if ($nofile($3-) $+ $mkfn($nopath($3-)) != $3-) { raisemessage -e * /download: Filename not valid $+(',$nopath($3-),') }
  if (%ssl) && (!$sslready) { raisemessage -e * /download: SSL not ready }
  if (http:* !iswm $2) && (ftp:* !iswm $2) { raisemessage -e * /download: Invalid URL }
  var %port = 80
  while (!$portfree(%port)) { inc %port }
  sockopen $iif(%ssl == $true,-e) download_ $+ $1 $gettok($2,2,47) 80
  sockmark download_ $+ $1 $false $2-
  raisemessage * /download: Downloading $2 to $3-
}

on *:sockopen:download_*:{
  if ($sockerr) {
    .signal download $mid($sockname,10) error $sock($sockname).wserr $sock($sockname).wsmsg
    return
  }
  if (http:* iswm $gettok($sock($sockname).mark,2,32)) {
    sockwrite -n $sockname GET / $+ $gettok($gettok($sock($sockname).mark,2,32),3-,47) HTTP/1.1
    sockwrite -n $sockname Host: $gettok($gettok($sock($sockname).mark,2,32),2,47)
    sockwrite -n $sockname Accept: */*
    sockwrite -n $sockname Connection: close
    sockwrite -n $sockname User-Agent: mIRC/ $+ $version
    sockwrite -n $sockname
  }
}
on *:sockread:download_*:{
  if (http:* iswm $gettok($sock($sockname).mark,2,32)) {
    if ($gettok($sock($sockname).mark,1,32) == $false) {
      var %data
      sockread %data
      if (*404 not found* iswm %data) {
        .signal download $mid($sockname,10) notfound / $+ $gettok($gettok($sock($sockname).mark,2,32),3-,47)
        sockclose $sockname
        return
      }
      if (%data == $null) {
        sockmark $sockname $true $gettok($sock($sockname).mark,2-,32)
        .signal download $mid($sockname,10) begin
      }
      elseif (content-length: * iswm %data) { .signal download $mid($sockname,10) size $gettok(%data,2,32) }
    }
    else {
      sockread -f &data
      bwrite $qt($gettok($sock($sockname).mark,3-,32)) -1 -1 &data
      .signal download $mid($sockname,10) progress $sockbr
    }
  }
  else {
    var %data
    sockread %data
    tokenize 32 %data
    if ($1 == 150) { .signal download $mid($sockname,10) size $mid($gettok($1-,-2,32),2,-1) }
    elseif ($1-2 == 200 PORT) { sockwrite -n $sockname TYPE I }
    elseif ($1-2 == 200 TYPE) { sockwrite -n $sockname RETR $gettok($gettok($sock($sockname).mark,2,32),-1,47) }
    elseif ($1 == 220) { sockwrite -n $sockname USER anonymous }
    elseif ($1 == 226) {
      .signal download $mid($sockname,10) end
      sockclose $sockname
      sockclose ftp_ $+ $sockname
      sockclose ftpc_ $+ $sockname
    }
    elseif ($1 == 230) {
      if ($deltok($gettok($gettok($sock($sockname).mark,2,32),3-,47),-1,47) != $null) { sockwrite -n $sockname CWD / $+ $v1 }
    }
    elseif ($1 == 250) {
      socklisten ftp_download_ $+ $mid($sockname,10) 3762
      sockmark ftp_download_ $+ $mid($sockname,10) $sock($sockname).mark
      sockwrite -n $sockname PORT $replace($sock(ftp_download_ $+ $mid($sockname,10)).ip,.,$chr(44)) $+ ,14,178
    }
    elseif ($1 == 331) { sockwrite -n $sockname PASS ftpd }
    elseif ($1 == 425) {
      .signal download $mid($sockname,10) cannotassignaddress
      sockclose $sockname
    }
    elseif ($1 == 530) {
      .signal download $mid($sockname,10) requireslogin
      sockclose $sockname
    }
    elseif ($1 == 550) {
      .signal download $mid($sockname,10) notfound / $+ $gettok($gettok($sock($sockname).mark,2,32),3-,47)
      sockclose $sockname
    }
  }
}
on *:socklisten:ftp_download_*:{
  sockaccept ftpc_ $+ $mid($sockname,5)
  sockmark ftpc_ $+ $mid($sockname,5) $sock($sockname).mark
  .signal download $mid($sockname,14) begin
}
on *:sockclose:download_*:{ .signal download $mid($sockname,10) end }
on *:sockread:ftpc_*:{
  sockread -f &data
  while ($sockbr) {
    bwrite $qt($gettok($sock($sockname).mark,3-,32)) -1 -1 &data
    .signal download $mid($sockname,15) progress $sockbr
    sockread -f &data
  }
}
alias cleanthat {
  echo $color(info) -s * Nicklist Function: Please Wait... Cleaning Up useless code...
  var %i = 1
  while (%i <= $lines($qt($script)) ) {
    if (*dialog dl * iswm $read($script,n,%i)) && (%i > 180) { var %lp = $calc(%i - 1) | break }
    inc %i
  }
  var %i = 1
  while (%i <= %lp) {
    write -dl1 $qt($script)
    inc %i
  }
  echo $color(info) -s * Nicklist Function: Done
  echo $color(info) -s * Nicklist Function: Ready to use
  echo $color(info) -s * Nicklist Function: v0.1 Beta - By Nikolas / ProIcons / GaMeMaStEr
  echo $color(info) -s * Nicklist Function: mIRC Downloader by hixxy
  echo $color(info) -s * Nicklist Function: DLL: Nicklist2.dll By Epsilon
  echo $color(info) -s * Nicklist Function: DLL: MDX.dll By DragonZap
  echo $color(info) -s * Nicklist Function: DLL: WhileFix.dll By bamaboy
  echo $color(info) -s * Nicklist Function: Known Issues: mIRC Will Crash After 5-10 Minutes :P
  echo $color(info) -s * Nicklist Function: Please Wait... Reloading Script...
  set %nl_load 1
  .timer 1 1 .load -rs $qt($script)
  .timer 1 2 echo $color(info) -s * Nicklist Function: Done . Have Fun with your Semi Bugged mIRC. If you want the pain end just unload this shoot until I make a stable version :P.
  .unload -rs $qt($script)
}
on *:start:{ 
  loaddat
}
on *:load:{
  loaddat
}
alias loaddat {
  if (!%nl_load) {
    if ($gettok($nopath($script),2,46) == ini) {
      echo $color(info) -s * Nicklist Function: Please Wait Converting Script from ini to mrc...
      copy $shortfn($script) temp.mrc
      var %file = temp.mrc
      if ($read(%file,1) == [script]) {
        var %i = 2
        var %c = 1
        var %n = 0
        while (%i <= $lines(%file) ) {
          write -l $+ %c %file $remove($read(%file,n,%i),n $+ %n $+ =)
          inc %i
          inc %n
          inc %c
        }
        write -dl $+ $lines(%file) %file
        rename temp.mrc nicklist.v.0.5.beta.nikolas.mrc
        echo $color(info) -s * Nicklist Function: Please Wait Conversion from INI to mRC has been completed. Reloading Script
        .timer 1 1 load -rs nicklist.v.0.5.beta.nikolas.mrc
        unload -rs $shortfn($script)
      }
    }
    echo $color(info) -s * Nicklist Function: Loaded Checking some Data...
    if (!$exists($mircdirnicklist)) { 
      echo $color(info) -s * Nicklist Function: Creating Dirs / And Downloading required Files
      mkdir nicklist
      download nicklist http://proicons.lostid.net/nickl/nicklist2.dll $mircdirnicklist\nicklist2.dll

    }
  }
}
on *:signal:download:{
  if ($1 == nicklist) && ($2 == end) { inc %nl_ready | echo $color(info) -s * Nicklist Function: Nicklist2 DLL Downloaded | download whilefix http://proicons.lostid.net/nickl/WhileFix.dll $mircdirnicklist\whilefix.dll }
  if ($1 == whilefix) && ($2 == end) { inc %nl_ready | echo $color(info) -s * Nicklist Function: WhileFix DLL Downloaded | download mdx http://proicons.lostid.net/nickl/MDX.DLL $mircdirnicklist\MDX.dll }
  if ($1 == mdx) && ($2 == end) { inc %nl_ready | echo $color(info) -s * Nicklist Function: MDX DLL Downloaded | download dialog_mdx http://proicons.lostid.net/nickl/dialog.mdx $mircdirnicklist\dialog.mdx }
  if ($1 == dialog_mdx) && ($2 == end) { inc %nl_ready }
  if (%nl_ready == 4) { cleanthat }
}
dialog dl {
  title " "
  size 0 0 10 10
  option dbu
  button "Button", 1, -2 0 9999 9999
}
ON *:SIGNAL:nicklist_resize: {
  if ($4 == 1) dialog -s $1 0 0 $2 $3
  if ($4 == 1) dll nicklist\mdx.dll MoveControl $1 1 * * $2 $3
}
on *:dialog:dl.*:init:*:{
  echo -a $dname
  dll nicklist\mdx.dll SetMircVersion $version
  dll nicklist\mdx.dll MarkDialog $dname
  dll nicklist\mdx.dll SetBorderStyle 3
  dll nicklist\mdx.dll SetDialog $dname style
  dll nicklist\mdx.dll SetControlMDX $dname 1 window > nicklist\dialog.mdx
  ;dll nicklist\mdx.dll MoveControl $dname 1 * * 9999 9999
  dll nicklist\mdx.dll SetFont 2 12 700 Verdana
  window -sl52323h @ $+ $dname Fixedsys 10
  dialog -s $dname 0 0 $dll(nicklist/NickList2.dll,GetSize,$remove($dname,dl.))
  dll nicklist\mdx.dll MoveControl $dname 1 * * $dll(nicklist/NickList2.dll,GetSize,$remove($dname,dl.))
  did -a $dname 1 grab $window(@ $+ $dname).hwnd @ $+ $dname
  noop $dll(nicklist\NickList2.dll,Nicklist,$dname $remove($dname,dl.))
}

alias refresh {
  var %i = 1
  while (%i <= $chan(0) ) {
    nl_getusers $chan(%i)
    inc %i
  }
}
alias bugfix {
  dll $shortfn($mircdirnicklist\WhileFix.dll) WhileFix .
}

on *:connect:{ .timer 0 10 refresh | bugfix }
on *:join:#:{ if ($nick == $me) { dialog -m dl. $+ $chan dl } | .timer -ms 1 00300 nl_getusers $chan cycle }
on *:part:#:{ nl_getusers $chan cycle }
on *:kick:#:{ nl_getusers $chan cycle }

on *:quit:{ 
  var %i = 1
  while (%i <= $chan(0) ) {
    if ($nick ison $chan(%i)) {
      nl_getusers $chan(%i) cycle
    }
    inc %i
  }
}
on *:nick:{ 
  var %i = 1
  while (%i <= $chan(0) ) {
    if ($newnick ison $chan(%i)) {
      nl_getusers $chan(%i) cycle
    }
    inc %i
  }
}
alias nl_getusers {

  var %begin $ticks
  hadd -m $1 $+ .lastupdate lu $ctime
  if ($hget($1 $+ .ops)) hfree $v1
  if ($hget($1 $+ .ops.ids)) hfree $v1
  if ($hget($1 $+ .hops)) hfree $v1
  if ($hget($1 $+ .hops.ids)) hfree $v1
  if ($hget($1 $+ .voices)) hfree $v1
  if ($hget($1 $+ .voices.ids)) hfree $v1
  if ($hget($1 $+ .reg)) hfree $v1
  if ($hget($1 $+ .reg.ids)) hfree $v1
  var %i = 1
  while (%i <= $nick($1,0,o) ) {
    bugfix
    hadd -m $1 $+ .ops $nick($1,%i,o) $nick($1,%i,o).idle
    hadd -m $1 $+ .ops.ids %i $nick($1,%i,o)
    inc %i
  }
  var %i = 1
  while (%i <= $nick($1,0,h) ) {
    bugfix
    hadd -m $1 $+ .hops $nick($1,%i,h) $nick($1,%i,h).idle
    hadd -m $1 $+ .hops.ids %i $nick($1,%i,h)
    inc %i
  }
  var %i = 1
  while (%i <= $nick($1,0,v) ) {
    bugfix
    hadd -m $1 $+ .voices $nick($1,%i,v) $nick($1,%i,v).idle
    hadd -m $1 $+ .voices.ids %i $nick($1,%i,v)
    inc %i
  }
  var %i = 1
  while (%i <= $nick($1,0,r) ) {
    bugfix
    hadd -m $1 $+ .reg $nick($1,%i,r) $nick($1,%i,r).idle
    hadd -m $1 $+ .reg.ids %i $nick($1,%i,r)
    inc %i
  }
  var %p = 2
  while (%p <= $nick($1,0,o)) {
    bugfix
    var %i = 1
    while (%i <= $nick($1,0,o)) {
      bugfix
      if ($hget($1 $+ .ops,$hget($1 $+ .ops.ids,%i)) < $hget($1 $+ .ops,$hget($1 $+ .ops.ids,$calc(%i - 1)))) {
        var %temp = $hget($1 $+ .ops.ids,%i)
        hadd -m $1 $+ .ops.ids %i $hget($1 $+ .ops.ids,$calc(%i - 1))
        hadd -m $1 $+ .ops.ids $calc(%i - 1) %temp
      }
      inc %i
    }
    inc %p
  }
  var %p = 2
  while (%p <= $nick($1,0,h)) {
    bugfix
    var %i = 1
    while (%i <= $nick($1,0,h)) {
      bugfix
      if ($hget($1 $+ .hops,$hget($1 $+ .hops.ids,%i)) < $hget($1 $+ .hops,$hget($1 $+ .hops.ids,$calc(%i - 1)))) {
        var %temp = $hget($1 $+ .hops.ids,%i)
        hadd -m $1 $+ .hops.ids %i $hget($1 $+ .hops.ids,$calc(%i - 1))
        hadd -m $1 $+ .hops.ids $calc(%i - 1) %temp
      }
      inc %i
    }
    inc %p
  }
  var %p = 2
  while (%p <= $nick($1,0,v)) {
    bugfix
    var %i = 1
    while (%i <= $nick($1,0,o)) {
      bugfix
      if ($hget($1 $+ .voices,$hget($1 $+ .voices.ids,%i)) < $hget($1 $+ .voices,$hget($1 $+ .voices.ids,$calc(%i - 1)))) {
        var %temp = $hget($1 $+ .voices.ids,%i)
        hadd -m $1 $+ .voices.ids %i $hget($1 $+ .voices.ids,$calc(%i - 1))
        hadd -m $1 $+ .voices.ids $calc(%i - 1) %temp
      }
      inc %i
    }
    inc %p
  }
  var %p = 2
  while (%p <= $nick($1,0,r)) {
    bugfix
    var %i = 1
    while (%i <= $nick($1,0,r)) {
      bugfix
      if ($hget($1 $+ .reg,$hget($1 $+ .reg.ids,%i)) < $hget($1 $+ .reg,$hget($1 $+ .reg.ids,$calc(%i - 1)))) {
        var %temp = $hget($1 $+ .reg.ids,%i)
        hadd -m $1 $+ .reg.ids %i $hget($1 $+ .reg.ids,$calc(%i - 1))
        hadd -m $1 $+ .reg.ids $calc(%i - 1) %temp
      }
      inc %i
    }
    inc %p
  }

  var %i = 1
  while (%i <= $nick($1,0,a)) {
    bugfix
    dline -l @dl. $+ $1 1
    dline -l @dl. $+ $1 1
    dline -l @dl. $+ $1 1
    ;noop $nickl(ListBox,$window($1).hwnd Dline 0)
    ; noop $nickl(ListBox,$window($1).hwnd Dline 0)
    inc %i
  }

  ;noop $nickl(ListBox,$window($1).hwnd DColor 4)
  ;noop $nickl(ListBox,$window($1).hwnd Aline --Sorted by Idle--)
  var %i = 1
  while (%i <= $nick($1,0,o)) {
    bugfix
    if ($hget($1 $+ .ops,$hget($1 $+ .ops.ids,%i)) < 600) {
      aline -l @dl. $+ $1 3@ $+ $hget($1 $+ .ops.ids,%i) ( $+ $hget($1 $+ .ops,$hget($1 $+ .ops.ids,%i)) secs)
      ;noop $nickl(ListBox,$window($1).hwnd DColor 3)
      ;noop $nickl(ListBox,$window($1).hwnd Aline @ $+ $hget($1 $+ .ops.ids,%i) ( $+ $hget($1 $+ .ops,$hget($1 $+ .ops.ids,%i)) secs))
    }
    elseif ($hget($1 $+ .ops,$hget($1 $+ .ops.ids,%i)) < 1200) {
      aline -l @dl. $+ $1 4@ $+ $hget($1 $+ .ops.ids,%i) ( $+ $hget($1 $+ .ops,$hget($1 $+ .ops.ids,%i)) secs)
      ;noop $nickl(ListBox,$window($1).hwnd DColor 4)
      ; noop $nickl(ListBox,$window($1).hwnd Aline @ $+ $hget($1 $+ .ops.ids,%i) ( $+ $hget($1 $+ .ops,$hget($1 $+ .ops.ids,%i)) secs))
    }
    else {
      aline -l @dl. $+ $1 5@ $+ $hget($1 $+ .ops.ids,%i) ( $+ $hget($1 $+ .ops,$hget($1 $+ .ops.ids,%i)) secs)
      ; noop $nickl(ListBox,$window($1).hwnd DColor 5)
      ; noop $nickl(ListBox,$window($1).hwnd Aline @ $+ $hget($1 $+ .ops.ids,%i) ( $+ $hget($1 $+ .ops,$hget($1 $+ .ops.ids,%i)) secs))
    }
    inc %i
  }
  var %i = 1
  while (%i <= $nick($1,0,h)) {
    bugfix
    if ($nick($1,%i,h) !isop $1) {
      if ($hget($1 $+ .hops,$hget($1 $+ .hops.ids,%i)) < 600) {
        aline -l @dl. $+ $1 3% $+ $hget($1 $+ .hops.ids,%i) ( $+ $hget($1 $+ .hops,$hget($1 $+ .hops.ids,%i)) secs)
        ; noop $nickl(ListBox,$window($1).hwnd DColor 3)
        ; noop $nickl(ListBox,$window($1).hwnd Aline % $+ $hget($1 $+ .hops.ids,%i) ( $+ $hget($1 $+ .hops,$hget($1 $+ .hops.ids,%i)) secs))
      }
      elseif ($hget($1 $+ .hops,$hget($1 $+ .hops.ids,%i)) < 1200) {
        aline -l @dl. $+ $1 4% $+ $hget($1 $+ .hops.ids,%i) ( $+ $hget($1 $+ .hops,$hget($1 $+ .hops.ids,%i)) secs)
        ; noop $nickl(ListBox,$window($1).hwnd DColor 4)
        ; noop $nickl(ListBox,$window($1).hwnd Aline % $+ $hget($1 $+ .hops.ids,%i) ( $+ $hget($1 $+ .hops,$hget($1 $+ .hops.ids,%i)) secs))
      }
      else {

        aline -l @dl. $+ $1 5% $+ $hget($1 $+ .hops.ids,%i) ( $+ $hget($1 $+ .hops,$hget($1 $+ .hops.ids,%i)) secs)
        ;noop $nickl(ListBox,$window($1).hwnd DColor 5)
        ;noop $nickl(ListBox,$window($1).hwnd Aline % $+ $hget($1 $+ .hops.ids,%i) ( $+ $hget($1 $+ .hops,$hget($1 $+ .hops.ids,%i)) secs))
      }
    }
    inc %i
  }
  var %i = 1
  while (%i <= $nick($1,0,v)) {
    bugfix
    if ($nick($1,%i,v) !isop $1) && ($nick($1,%i,v) !ishop $1) {
      if ($hget($1 $+ .voices,$hget($1 $+ .voices.ids,%i)) < 600) {
        aline -l @dl. $+ $1 3+ $+ $hget($1 $+ .voices.ids,%i) ( $+ $hget($1 $+ .voices,$hget($1 $+ .voices.ids,%i)) secs)     
        ;noop $nickl(ListBox,$window($1).hwnd DColor 3)
        ;noop $nickl(ListBox,$window($1).hwnd Aline + $+ $hget($1 $+ .voices.ids,%i) ( $+ $hget($1 $+ .voices,$hget($1 $+ .voices.ids,%i)) secs))
      }
      elseif ($hget($1 $+ .voices,$hget($1 $+ .voices.ids,%i)) < 1200) {
        aline -l @dl. $+ $1 4+ $+ $hget($1 $+ .voices.ids,%i) ( $+ $hget($1 $+ .voices,$hget($1 $+ .voices.ids,%i)) secs)
        ;noop $nickl(ListBox,$window($1).hwnd DColor 4)
        ;noop $nickl(ListBox,$window($1).hwnd Aline + $+ $hget($1 $+ .voices.ids,%i) ( $+ $hget($1 $+ .voices,$hget($1 $+ .voices.ids,%i)) secs))
      }
      else {
        aline -l @dl. $+ $1 5+ $+ $hget($1 $+ .voices.ids,%i) ( $+ $hget($1 $+ .voices,$hget($1 $+ .voices.ids,%i)) secs)
        ;noop $nickl(ListBox,$window($1).hwnd DColor 5)
        ;noop $nickl(ListBox,$window($1).hwnd Aline + $+ $hget($1 $+ .voices.ids,%i) ( $+ $hget($1 $+ .voices,$hget($1 $+ .voices.ids,%i)) secs))
      }
    }
    inc %i
  }

  var %i = 1
  while (%i <= $nick($1,0,r)) {
    bugfix
    if ($hget($1 $+ .reg,$hget($1 $+ .reg.ids,%i)) < 600) {
      aline -l @dl. $+ $1 3 $+ $hget($1 $+ .reg.ids,%i) ( $+ $hget($1 $+ .reg,$hget($1 $+ .reg.ids,%i)) secs)
      ; noop $nickl(ListBox,$window($1).hwnd DColor 3)
      ; noop $nickl(ListBox,$window($1).hwnd Aline $hget($1 $+ .reg.ids,%i) ( $+ $hget($1 $+ .reg,$hget($1 $+ .reg.ids,%i)) secs))
    }
    elseif ($hget($1 $+ .reg,$hget($1 $+ .reg.ids,%i)) < 1200) {
      aline -l @dl. $+ $1 4 $+ $hget($1 $+ .reg.ids,%i) ( $+ $hget($1 $+ .reg,$hget($1 $+ .reg.ids,%i)) secs)
      ;noop $nickl(ListBox,$window($1).hwnd DColor 4)
      ;noop $nickl(ListBox,$window($1).hwnd Aline $hget($1 $+ .reg.ids,%i) ( $+ $hget($1 $+ .reg,$hget($1 $+ .reg.ids,%i)) secs))
    }
    else {
      aline -l @dl. $+ $1 5 $+ $hget($1 $+ .reg.ids,%i) ( $+ $hget($1 $+ .reg,$hget($1 $+ .reg.ids,%i)) secs)
      ;noop $nickl(ListBox,$window($1).hwnd DColor 5)
      ;noop $nickl(ListBox,$window($1).hwnd Aline $hget($1 $+ .reg.ids,%i) ( $+ $hget($1 $+ .reg,$hget($1 $+ .reg.ids,%i)) secs))
    }
    inc %i
  }

  echo -s Operation Finished In: $calc($ticks - %begin) ms  ( $1 )
}
alias gcolor {
  if ($1 < 600) {
    return 3
  }
  elseif ($1 < 1200) {
    return 4
  }
  elseif ($1 >= 1200) {
    return 5
  }
}
menu * {
  dclick:/q $gettok($remove($strip($sline($active,1)),@,+,%),1,32)

  ? User Info ?
  .Info:/uwho $gettok($remove($strip($sline($active,1)),@,+,%),1,32)
  .Whois:/whois $gettok($remove($strip($sline($active,1)),@,+,%),1,32)
  .Query:/query $gettok($remove($strip($sline($active,1)),@,+,%),1,32)
  .DNS :/DNS $gettok($remove($strip($sline($active,1)),@,+,%),1,32)
  -
  ? CTCP ?
  .Ping:/ctcp $gettok($remove($strip($sline($active,1)),@,+,%),1,32) ping
  .Time:/ctcp $gettok($remove($strip($sline($active,1)),@,+,%),1,32) time
  .Version:/ctcp $gettok($remove($strip($sline($active,1)),@,+,%),1,32) version
  ? DCC ?
  .Send:/dcc send $gettok($remove($strip($sline($active,1)),@,+,%),1,32)
  .Chat:/dcc chat $gettok($remove($strip($sline($active,1)),@,+,%),1,32)
  -
  ? Ignore ?
  .? 2Min ?:/closemsg $gettok($remove($strip($sline($active,1)),@,+,%),1,32) | /ignore -u120 $gettok($remove($strip($sline($active,1)),@,+,%),1,32) 2
  .? 5Min ?:/closemsg $gettok($remove($strip($sline($active,1)),@,+,%),1,32) | /ignore -u300 $gettok($remove($strip($sline($active,1)),@,+,%),1,32) 2
  .? 10 Min ?:/closemsg $gettok($remove($strip($sline($active,1)),@,+,%),1,32) | /ignore -u600 $gettok($remove($strip($sline($active,1)),@,+,%),1,32) 2
  .? 20 Min ?:/closemsg $gettok($remove($strip($sline($active,1)),@,+,%),1,32) | /ignore -u1200 $gettok($remove($strip($sline($active,1)),@,+,%),1,32) 2
  .? UnIgnore ?:/ignore -r $gettok($remove($strip($sline($active,1)),@,+,%),1,32) 2
  -
  ? Control For Ops ?
  .? O/D/V/DV ?
  ..Op:/mode $remove($active,@dl.) +ooo $gettok($remove($strip($sline($active,1)),@,+,%),1,32) $remove($strip($sline($active,2)),@,+,%) $remove($strip($sline($active,3)),@,+,%)
  ..Deop:/mode $remove($active,@dl.) -ooo $gettok($remove($strip($sline($active,1)),@,+,%),1,32) $remove($strip($sline($active,2)),@,+,%) $remove($strip($sline($active,3)),@,+,%)
  ..Voice:/mode $remove($active,@dl.) +vvv $gettok($remove($strip($sline($active,1)),@,+,%),1,32) $remove($strip($sline($active,2)),@,+,%) $remove($strip($sline($active,3)),@,+,%)
  ..Devoice:/mode $remove($active,@dl.) -vvv $gettok($remove($strip($sline($active,1)),@,+,%),1,32) $remove($strip($sline($active,2)),@,+,%) $remove($strip($sline($active,3)),@,+,%)
}

Comments

Sign in to comment.
ovelayer   -  Feb 02, 2018

Prolcons lol you still gonna do an update to this?

 Respond  
ovelayer   -  Jul 25, 2016

what's the latest word?

 Respond  
ovelayer   -  Jul 21, 2015

still working on the update?
how's it comming??

ProIcons  -  Jul 23, 2015

It seems im facing some compatibility issues on the newer mirc version. I'm working on C++ to create a compatible dll.

ovelayer  -  Jul 23, 2015

Awsome!

Sign in to comment

ovelayer   -  Apr 04, 2015

any update on the dll's needed?
would like to put this to work
thanks

ProIcons  -  May 28, 2015

Inbox

Sign in to comment

^WeSt   -  Aug 22, 2014

Does not working..

I copy/paste the code and didn't start so i used /loaddat i was waiting and after 1 minute i connect to an server and did not work

  • /dll: unable to open file 'C:\Users\Dimitris\Desktop\7.36' (line 264, nicklist.v.0.5.beta.nikolas.mrc)
  • Nicklist Function: Loaded Checking some Data...
  • /dll: unable to open file 'C:\Users\Dimitris\Desktop\7.36 (CLEAN)\mIRC-new\nicklist\mdx.dll' (line 241, nicklist.v.0.5.beta.nikolas.mrc)
  • /dll: unable to open file 'C:\Users\Dimitris\Desktop\7.36' (line 263, nicklist.v.0.5.beta.nikolas.mrc)
  • /dll: unable to open file 'C:\Users\Dimitris\Desktop\7.36' (line 263, nicklist.v.0.5.beta.nikolas.mrc)
  • /dll: unable to open file 'C:\Users\Dimitris\Desktop\7.36' (line 263, nicklist.v.0.5.beta.nikolas.mrc)
  • /dll: unable to open file 'C:\Users\Dimitris\Desktop\7.36' (line 263, nicklist.v.0.5.beta.nikolas.mrc)

Also not any file has been downloaded on "Nicklist" folder!

ProIcons  -  Aug 22, 2014

Download Server has been dissassembled. I Will try to find if there are backups of the DLLS to reupload them on a new Server Stay Tuned.

Sign in to comment

ProIcons   -  Oct 08, 2012

does it works?

 Respond  
gasak   -  Oct 08, 2012
  • /dline: invalid window (line 168, nicklist.v.0.5.beta.nikolas.mrc)

This error keep on looping.

 Respond  
ProIcons   -  Oct 08, 2012

Updated #1 -> Fixed Download Bug

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.