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
}


