Custom Who by CaliMonk — File Browser

CustomWhobyCaliMonkv1.0 / CustomWhobyCaliMonkv1.0 / who.mrc

who.mrc — 6.89 KB — Download this file

;  This script was made by CaliMonk 
;  Calimonk@most-wanted.com
; Special thanks to Codemastr for fixing some bugs!
; For any comments you may have, mail me!

ON *:LOAD:{
  if $version < 5.61 { echo -a Please goto www.mirc.com\get.html and download mIRC 5.61, becayse this script needs mIRC 5.61 ;) | .unload -rs who.mrc }
  else {
    echo -a  This Addon is a part of 15»14,15»1,14»9,1Ø11per9§11cript©1,14«14,15«15,0« 1which will be released in a while.
    echo -a  OperScript is a Script for Users/IRCops/CSops/Higher, it has alot of usefull stuff, but is still under construction.
    echo -a  In the mean while enjoy yourself with this! (Just use the /wh0 command to see it work! (ie. /wh0 $me $+ ) (Or use the popups in nicklist, channel or menubar!)
  }
  .linkz
}
dialog Who {
  title "Who"
  size -1 -1 200 190
  option dbu
  list 1, 5 15 60 140,sort
  button "Ok",2,80 180 20 20,ok
  button "Cancel",3,100 180 30 20,Cancel
  text "Nickname:",4,70 16 30 20,center 
  edit "NickName",5,105 15 55 10
  text "Address:",6,72 46 30 20,center 
  edit "Address",7,105 45 80 10
  text "Server:",8,74 71 30 20,center 
  edit "Server Name",9,105 70 70 10
  text "Away:",10,75 121 30 20,center 
  edit "Away Status",11,105 120 55 10
  button "DNS",12,185 46 14 8
  edit "DNS'ed",13,105 55 55 10
  text "Real Name:",14,70 26 30 20
  edit "Name",15,105 25 55 10
  text "Ident:",16,84 36 30 10
  edit "Ident",17,105 35 55 10
  button "Connect",18,176 70 25 10
  text "Your Server:",19,67 101 30 10
  edit "Your Server",20,105 100 55 10
  text "Hops:",21,164 101 20 10
  edit "Hops",22,180 100 15 10
  combo 23,105 80 70 80,drop
  button "Connect",24,176 80 25 10
  box "Custom Who by CaliMonk -- CaliMonk@most-wanted.com for comments.",25,1 2 202 160
  text "Status:",26,81 111 20 10
  edit "User/IRCop",27,105 110 55 10
}
alias linkz { .enable #links | .links | .set %i 1 | .set %linkz $true }
alias s { .dialog -m who who }
alias wh0 { 
  .enable #who
  .raw who $1- 
  .set %i 1 
  .set -u4 %temp $1- 
  .s
}
#links off
raw 364:*:{
  .writeini links.ini Servers $gettok($server,$calc($numtok($server,46) - 1),46) $+ . $+ $gettok($server,$numtok($server,46),46) $+ %i $2
  inc %i
  .haltdef
}
raw 365:*:{
  .haltdef
  .disable #links
}
#links end

#who off
raw 352:*:{    
  haltdef
  .set -u5 %zz $true
  if (* isin $7) { .set %status2 IRCop }
  else { .set %status User }
  if (H isin $7) { .set %status2 Here }
  if (G isin $7) { .set %status2 Away }
  .did -a who 1 $6
  .set %who.nick. $+ $6 $6
  .set %who.address. $+ $6 $4
  .set %who.ident. $+ $6 $3
  .set %who.server. $+ $6 $5
  .set %who.realname. $+ $6 $9-
  .set %who.hops. $+ $6 $8
  .set %who.status2. $+ $6 %status2
  .set %who.status. $+ $6 %status
}
raw 315:*:{ 
  haltdef 
  .disable #who
  if (%zz != $true) { timer -m 1 1 .nomatch | .dialog -x who who }
} 
#who end

ON *:DIALOG:who:sclick:12:{
  .dns %who.address. [ $+ [ %x ] ] 
}
ON *:DNS:{
  if (%dialog == $true) { 
    .did -o who 13 1 $raddress 
    if ($raddress == $null) { did -o who 13 1 Unable to DNS }
    goto end
  }
  else goto end 
  :end
}

ON *:DIALOG:who:sclick:1:{
  .did -r who 13
  .set %x $did($dname,$did,$did($dname,$did).sel) 
  .did -o who 5 1 %who.nick. [ $+ [ %x ] ] 
  .did -o who 7 1 %who.address. [ $+ [ %x ] ] 
  .did -o who 9 1 %who.server. [ $+ [ %x ] ]
  .did -o who 11 1 %who.status2. [ $+ [ %x ] ] 
  .did -o who 15 1 %who.realname. [ $+ [ %x ] ]  
  .did -o who 17 1 %who.ident. [ $+ [ %x ] ]
  .did -o who 22 1 %who.hops. [ $+ [ %x ] ]
  .did -o who 27 1 %who.status. [ $+ [ %x ] ]
}
ON *:DIALOG:who:dclick:1:{
  .query $did($dname,$did,$did($dname,$did).sel) 
  .dialog -x who who
}
ON *:DIALOG:who:INIT:0:{
  .set %i 1
  :loop
  .set %yy $gettok($server,$calc($numtok($server,46) - 1),46) $+ . $+ $gettok($server,$numtok($server,46),46)
  .set %z %yy $+ %i
  .set %y $readini links.ini servers %z
  .did -a who 23 %y
  inc %i
  if (%y) { goto loop }
  :next
  unset %i
  .did -m who 5
  .did -m who 7
  .did -m who 9
  .did -m who 11
  .did -m who 13
  .did -m who 15
  .did -m who 17
  .did -m who 20
  .did -m who 22
  .did -m who 27
  .did -o who 20 1 $server
  .set %dialog $true
}
ON *:DIALOG:who:sclick:18:{
  if (%who.server. [ $+ [ %x ] ] == $server) { .timer -m 1 1 changeserver }
  else { 
    .timer -m 1 1 switchserver2
  }
}
ON *:DIALOG:who:sclick:24:{
  .set -u2 %serv $server
  if (%serv == $did(who,23)) { .timer -m 1 1 changeserver | halt }
  if (Services isin $did(who,23)) { .timer -m 1 1 servicesserver | halt }
  if (Stats isin $did(who,23)) { .timer -m 1 1 servicesserver | halt }
  else { .timer -m 1 1 switchserver | halt }
}
alias -l switchserver {
  set %changeserver $?!="You are currently connected to  $&
  $crlf $+ $server $+ , $& 
  $crlf $+ Change to $did(who,23) $+ ?"
  if %changeserver == $true { .server $did(who,23) }
  unset %changeserver
}
alias -l switchserver2 {
  set %changeserver $?!="You are currently connected to  $&
  $crlf $+ $server $+ , $& 
  $crlf $+ Change to $did(who,9) $+ ?"
  if %changeserver == $true { .server $did(who,9) }
  unset %changeserver
}
alias -l changeserver {
  set %changeserver $?!="You are currently already connected to  $&
  $crlf $+ $server $+ , so changing $&
  $crlf $+ to this server has no use $&
  $crlf $&
  $crlf $+ Change to Server anyway?"
  if %changeserver == $true { .server $server }
  unset %changeserver
}
alias -l servicesserver {
  set %changeserver $?!="That Server is for Services only  $&
  $crlf $+ ( $+ $did(who,23) $+ ) $+ , No connections to this $&
  $crlf $+ Server are allowed. $&
  $crlf $&
  $crlf $+ Connect anyway?"
  if %changeserver == $true { .server $server }
  unset %changeserver
}
alias -l nomatch {
  .set %nomatches $?!="There we no search matches for $chr(91) $+ %temp $+ $chr(93)  $&
  $crlf $+ i'd advice you to try something like $&
  $crlf $+ /who *nickname* or /who *isp.net $&
  $crlf $&
  $crlf $+ (look out for the large ISPs, they $&
  $crlf $+ could seriously lag you!) $&
  $crlf $&
  $crlf $+ Do you want to search again?"
  if %nomatches == $true {
    .set -u10 %search $?="Search Parameter?" 
    if (%search != $null) { 
      .who %search 
    }
    else {
      echo -a You have to give a parameter if you want to search again!
    }
  }
  else {
    echo -a If you want to search again sometime just use /wh0 $+ ! 
    .dialog -x who who
  }
}
ON *:DIALOG:who:sclick:3:{
  .unset %who.*
  .unset %dialog
}
ON *:DIALOG:who:sclick:2:{
  .unset %who.*
  .unset %dialog
}
menu channel,status,menubar {
  who:{ .set -u4 %temp $?="nickname or search string?" 
    if (%temp != $null) { .wh0 %temp }
    else { echo -a You have to give a Nickname or Search String, ie calimonk or  $+ $chr(42) $+ aol.com | halt }
  }
  Get links:.linkz
  Help:.run help.txt 
}
menu nicklist {
  who:.wh0 $1
  Help:.run help.txt 
}