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 }