alias statsclear { unset %printline1 | unset %stats.* } alias stat_check { if (%printline1 != $null) { if (%stats.color.strip == on) { %stats.send %stats.text %stat.name | %stats.send $strip(%printline1,cb) | statsclear | halt } if (%stats.color.strip == $null) { %stats.send %stat.color1 $+ %stats.text $+ %stat.color2 %stat.name | %stats.send %printline1 | statsclear | halt } } else { %stats.send %stat.color1 $+ This person doesnt appear on the hiscores for any skill currently listed on the hiscores. | statsclear | halt } } on $*:text:/^[!@.](stats) .{1,13}$/Si:#:{ if ($sock(stats).status != $null) { notice $nick The stats script is currently in use. Try again.... now! | halt } if ($left($1,1) == @) && ($left($remove($chan(#).mode,+),1) == c) || ($left($remove($chan(#).mode,+),2) == c) { set %stats.color.strip on } set %stats.nick $nick | set %stats.send $iif($left($1,1) == @,msg $chan,notice $nick) | set %stats.name $replace($2-,$chr(32),+) | set %stat.color1 $chr(3) $+ 14 | set %stat.color2 $chr(3) $+ 4 sockopen stats vulcan.ueuo.com 80 } on *:sockopen:stats:{ sockwrite -nt $sockname GET /geniestats.php?rsname= $+ %stats.name HTTP/1.0 sockwrite -nt $sockname Host: vulcan.ueuo.com $+ $crlf $+ $crlf } on *:sockread:stats:{ if ($sockerr > 0) { .notice %stat.called.nick Error: Try again later. | halt } var %read | sockread %read if (Personal isin %read) { set %stat.name $remove(%read,Personal $+ $chr(32),Scores $+ $chr(32),For $+ $chr(32),,) | set %stats.text $remove(%read,,) | set %stats.text $left(%stats.text,- $+ $len(%stat.name)) } tokenize 124 $remove(%read,Genie:) if ($0 == 4) { set %printline1 %printline1 $eval($+(%stat.color1,$1,:,%stat.color2),2) $3 | set %stats. $+ $1 $+ .level $3 } } on *:sockclose:stats:{ stat_check } alias c1 { return $+(01,$1-) } alias c2 { return $+(12,$1-) } on *:text:*:#: { tokenize 32 $strip($1-) if ($left($1,1) !isin @!`) halt if ($right($1,-1) == stats) var %style = astats elseif ($regex($1,/co?mb(at)?/Si)) var %style = combat elseif ($setskill($remove($1,@,!,`))) var %style = istat, %skill = $setskill($remove($1,@,!,`)) elseif ($right($1,-1) == setrsn) && ($2) { if ($2 == -h) { writeini DefRSN.ini RSNs $mask($fulladdress,3) $replace($3-,$chr(32),-) .notice $nick You're default RSN for the host $mask($fulladdress,3) has been set to $3- } else { writeini DefRSN.ini RSNs $nick $replace($2-,$chr(32),-) .notice $nick You're default RSN for the nick $nick has been set to $2- } halt } else halt inc %ID if ($len($2-) > 12) { $($+(%,stats.display.,%ID),2) $c1(The nick) $c2($2-) $c1(is too long) cleanup %ID halt } elseif ($2) set $+(%,stats.rsn.,%ID) $replace($2-,$chr(32),-) elseif ($readini(DefRSN.ini,RSNs,$mask($fulladdress,3))) set $+(%,stats.rsn.,%ID) $ifmatch elseif ($readini(DefRSN.ini,RSNs,$nick)) set $+(%,stats.rsn.,%ID) $ifmatch else set $+(%,stats.rsn.,%ID) $nick set $+(%,stats.style.,%ID) %style set $+(%,stats.skill.,%ID) %skill set $+(%,stats.display.,%ID) $iif($left($1,1) == @,msg $chan, msg $chan) set $+(%,stats.display.,%ID) $iif($left($1,1) == `,msg $chan, msg $chan) set $+(%,stats.display.,%ID) $iif($left($1,1) == !,notice $nick, msg $chan) sockopen $+(stats.,%ID) hiscore.runescape.com 80 } on *:sockopen:stats.*: { var %id = $gettok($sockname,2,46) sockwrite -n $sockname GET /lang/en/aff/runescape/hiscorepersonal.ws?user1= $+ $($+(%,stats.rsn.,%ID),2) HTTP/1.1 sockwrite -n $sockname Host: hiscore.runescape.com $+ $crlf $+ $crlf } on *:sockread:stats.*: { sockread &Incoming bwrite $sockname -1 -1 &Incoming if ($bfind(&Incoming, 1, ).text) makehash $sockname elseif ($bfind(&Incoming, 1, does not feature in the hiscores.).text) { $($+(%,stats.display.,%ID),2) $c1(The nick) $c2($($+(%,stats.rsn.,%ID),2)) $c1(Does not appear in the hiscores) cleanup $gettok($sockname,2,46) } } alias -l makehash { var %file = $1 bread %file 1 $file(%file).size &stats var %currentstat, %x = 1 while (%x) { var %x = $bfind(&stats,$calc(%x + 1),