tglogo.png

Downloading File

Filename: Hover Info
raw 352:*:{ if (%iwho.hide == 1) { .tokenize 32 $2- | iwho dis $1- | haltdef } }
raw 315:*:{ if (%iwho.hide == 1) haltdef }

on ^*:HOTLINK:*:*: {
  if (!$timer(iwho)) {
    var %g 1
    .tokenize 32 $strip($1-)
    while (%g <= $nick($active,0)) {
      var %gh $nick($active,%g)
      if (%gh isin $1) {
        var %gq 1
        while ($nick($active,$calc(%g + %gq)) isin $1) {
          var %ghc 1
          inc %gq
        }
        if (%ghc == 1) {
          var %gq $calc(%gq - 1)
          var %gh $nick($active,$calc(%g + %gq))
          goto one
        }
      }
      if (%gh isin $1 && $calc($len(%gh)-2) <= $len($1)) goto one
      inc %g
    }
  }
  halt
  :one
  .timeriwho 1 1 iwho %gh
  set %iwho.nick %gh
  set %iwho.x $calc($mouse.dx -1)
  set %iwho.y $calc($mouse.dy -1)
  halt
}

alias iwho {
  if ($isid) return
  if ($1 != dis) {
    if ($calc($mouse.dy - %iwho.y) <= 10) && ($calc($mouse.dy - %iwho.y) >= -6) {
      if ($calc($mouse.dx - %iwho.x) <= 20) && ($calc($mouse.dx - %iwho.x) >= -20) {
        set %iwho.hide 1
        who $1
      }
    }
  }
  else if ($6 == %iwho.nick) {
    var %iwho.chan $2
    .tokenize 32 $+($3,@,$4) $5-
    if ($window(@UserInfo)) clear @UserInfo
    var %iwho.len.add $calc($len($1)*6)
    var %iwho.len.name $calc($len(Name $6-)*6)
    var %iwho.len.serv $calc($len(Server: $2)*6)
    var %iwho.len.nick $calc($len(User info for $3 $+ :)*6)
    var %iwho.height 80
    var %iwho.extra 0
    if (r isincs $4) {
      var %iwho.height $calc(%iwho.height + 15)
      inc %iwho.extra
    }
    if (* isin $4) {
      var %iwho.height $calc(%iwho.height + 15)
      var %iwho.len.oper $calc($len($3 is an operator.)*6)
      var %iwho.cor.oper $calc((15 * %iwho.extra) + 60)
      inc %iwho.extra
    }
    else { var %iwho.len.oper 0 }
    if (B isincs $4) {
      var %iwho.height $calc(%iwho.height + 15)
      var %iwho.len.net $calc($len(This is a bot on $network $+ .)*6)
      var %iwho.cor.net $calc((15 * %iwho.extra) + 60)
      inc %iwho.extra
    }
    else { var %iwho.len.net 0 }
    if (G isincs $4) {
      var %iwho.height $calc(%iwho.height + 15)
      var %iwho.len.away $calc($len($3 is marked as away.)*6)
      var %iwho.cor.away $calc((15 * %iwho.extra) + 60)
      inc %iwho.extra
    }
    else { var %iwho.len.away 0 }
    if ($me ison %iwho.chan && $nick(%iwho.chan,$3).idle < $nick($active,$3).idle) var %iwho.idle $nick(%iwho.chan,$3).idle
    else var %iwho.idle $nick($active,$3).idle
    if (%iwho.idle >= 60) {
      if ($ifmatch >= 3600) {
        if ($ifmatch >= 86400) {
          var %iwho.idle.day $gettok($calc(%iwho.idle / 86400),1,46)
          var %iwho.idle.hour $gettok($calc((%iwho.idle - (%iwho.idle.day * 86400)) / 3600),1,46)
          var %iwho.idle.min $gettok($calc((%iwho.idle - (%iwho.idle.day * 86400) - (%iwho.idle.hour * 3600)) / 60),1,46)
          var %iwho.idle.sec $calc(%iwho.idle - (%iwho.idle.day * 86400) - (%iwho.idle.hour * 3600) - (%iwho.idle.min * 60))
          var %iwho.idle Idle: %iwho.idle.day day(s), %iwho.idle.hour hour(s), %iwho.idle.min minute(s), and %iwho.idle.sec second(s).
        }
        else {
          var %iwho.idle.hour $gettok($calc(%iwho.idle / 3600),1,46)
          var %iwho.idle.min $gettok($calc((%iwho.idle - (%iwho.idle.hour * 3600)) / 60),1,46)
          var %iwho.idle.sec $calc(%iwho.idle - (%iwho.idle.hour * 3600) - (%iwho.idle.min * 60))
          var %iwho.idle Idle: %iwho.idle.hour hour(s), %iwho.idle.min minute(s), and %iwho.idle.sec second(s).
        }
      }
      else {
        var %iwho.idle.min $gettok($calc(%iwho.idle / 60),1,46)
        var %iwho.idle.sec $calc(%iwho.idle - (%iwho.idle.min * 60))
        var %iwho.idle Idle: %iwho.idle.min minute(s), and %iwho.idle.sec second(s).
      }
    }
    else {
      var %iwho.idle.sec %iwho.idle
      var %iwho.idle Idle: %iwho.idle.sec second(s).
    }
    var %iwho.len.idle $calc($len(%iwho.idle)*6)
    if ($ial($address($3,4),0) > 1) {
      var %iwho.clones $ifmatch
      var %iwho.clone 1
      var %iwho.height $calc(%iwho.height + 15)
      while (%iwho.clone <= %iwho.clones) {
        var %iwho.clonea $ial($address($3,4),%iwho.clone).nick
        if (%iwho.clonea != $3) {
          var %iwho.clone.tok $addtok(%iwho.clone.tok,%iwho.clonea,32)
          var %iwho.height $calc(%iwho.height + 15)
        }
        inc %iwho.clone
      }
    }
    if ($greatest(%iwho.len.add,%iwho.len.name,%iwho.len.serv,%iwho.len.nick,%iwho.len.net,%iwho.len.oper,%iwho.len.away,%iwho.len.idle) <= 180) window -adBpow0 +feL @UserInfo %iwho.x %iwho.y 180 %iwho.height
    else window -adBpow0 +feL @UserInfo %iwho.x %iwho.y $ifmatch %iwho.height
    drawfill -r @UserInfo $rgb(236,233,216) $rgb(236,233,216) 0 0
    drawtext @UserInfo 1 Arial 11 0 0 User info for $3 $+ :
    drawtext @UserInfo 1 Arial 11 0 15 Name: $6-
    drawtext @UserInfo 1 Arial 11 0 30 $1
    drawtext @UserInfo 1 Arial 11 0 45 Server: $2
    if (r isincs $4) drawtext @UserInfo 1 Arial 11 0 60 This is a registered nick.
    if (* isincs $4) drawtext @UserInfo 1 Arial 11 0 %iwho.cor.oper $3 is an operator.
    if (B isincs $4) drawtext @UserInfo 1 Arial 11 0 %iwho.cor.net This is a bot on $network $+ .
    if (G isincs $4) drawtext @UserInfo 1 Arial 11 0 %iwho.cor.away $3 is marked as away.
    if ($numtok(%iwho.clone.tok,32) > 0) {
      drawtext @UserInfo 1 Arial 11 0 $calc((%iwho.height - 35)-($numtok(%iwho.clone.tok,32)*15)) %iwho.idle
      drawtext @UserInfo 1 Arial 11 0 $calc((%iwho.height - 20)-($numtok(%iwho.clone.tok,32)*15)) Possible clones:
      var %iwho... 0
      while (%iwho... <= $numtok(%iwho.clone.tok,32)) {
        drawtext @UserInfo 1 Arial 11 5 $calc((%iwho.height - 20)-(%iwho... * 15)) $gettok(%iwho.clone.tok,$calc(%iwho... + 1),32)
        inc %iwho...
      }
    }
    else drawtext @UserInfo 1 Arial 11 0 $calc(%iwho.height - 20) %iwho.idle
    unset %iwho.nick
    .timeriwho1 1 1 unset %iwho*
  }
}

on *:ACTIVE:*: { if ($lactive == @UserInfo) window -c @UserInfo }
on *:APPACTIVE: { if ($window(@UserInfo)) window -c @UserInfo }

alias greatest {
  if (!$isid) halt
  var %o 1
  var %ao 0
  while (%o <= $0) {
    if ($ [ $+ [ %o ] ] >= %ao) var %ao $ifmatch
    inc %o
  }
  return %ao
}

Related Files

by Akishoot
by Lindrian

Please note that on our website we use cookies necessary for the functioning of our website, cookies that optimize the performance. To learn more about our cookies, how we use them and their benefits, please read our Cookie Policy.
I Understand