rendered paste bodyon $*:TEXT:/^[!@]stats/Si:#: {
if ($2 == $null) && ($readini(botinfo.ini,n,defname,$address($nick,3)) == $null) {
$iif($left($1,1) $+(=,=) @ && $istok($readini(botinfo.ini,n,$chan,channelignore),$chan,32) $+(=,=) $false,msg $chan,notice $nick) *** [ $+ $c1($nick,Error) $+ ]: $c2($nick,You must specify a player or default name.)
halt
}
var %x 1
while ($sock(stats. $+ %x)) {
inc %x
}
var %y 1
while (%y <= $numtok($2-,32)) {
if ($remove($gettok($2-,%y,32),$chr(95),$chr(45)) isalnum) {
var %name %name $gettok($2-,%y,32)
}
elseif ($chr(62) isin $gettok($2-,%y,32)) || ($chr(60) isin $gettok($2-,%y,32)) {
var %ep $gettok($2-,%y,32)
}
elseif ($chr(38) isin $gettok($2-,%y,32)) {
if ($readini(botinfo.ini,n,defname,$address($left($gettok($2-,%y,32),-1),3))) {
var %name $readini(botinfo.ini,n,defname,$address($left($gettok($2-,%y,32),-1),3))
}
else {
$iif($left($1,1) $+(=,=) @ && $istok($readini(botinfo.ini,n,$chan,channelignore),$chan,32) $+(=,=) $false,msg $chan,notice $nick) *** $+($chr(91),$c1($nick,Error),$chr(93)) $c2($nick,The name) $qt($c1($nick,$left($gettok($2-,%y,32),-1))) $c2($nick,does not have a defname set OR is not on the channel.)
halt
}
}
inc %y
}
if (!%name) && ($readini(botinfo.ini,n,defname,$address($nick,3))) {
var %name $readini(botinfo.ini,n,defname,$address($nick,3))
}
elseif (!%name) && (!$readini(botinfo.ini,n,defname,$address($nick,3))) {
$iif($left($1,1) $+(=,=) @ && $istok($readini(botinfo.ini,n,$chan,channelignore),$chan,32) $+(=,=) $false,msg $chan,notice $nick) *** $+($chr(91),$c1($nick,Error),$chr(93)) $c2($nick,You must specify a name to lookup or set a default name.)
halt
}
sockopen $+(stats.,%x) hiscore.runescape.com 80
sockmark $+(stats.,%x) -1 $+ ~ $+ $iif($left($1,1) $+(=,=) @ && $istok($readini(botinfo.ini,n,$chan,channelignore),$chan,32) $+(=,=) $false,msg $chan,notice $nick) $+ ~ $+ %name $+ ~ $+ $nick $+ ~ $+ $iif(%ep,%ep)
}
on *:SOCKOPEN:stats.*: {
sockwrite -n $sockname GET /index_lite.ws?player= $+ $gettok($sock($sockname).mark,3,126) HTTP/1.1
sockwrite -n $sockname Host: hiscore.runescape.com
sockwrite -n $sockname $crlf
}
on *:SOCKREAD:stats.*: {
var %read
sockread %read
if (404 - Page isin %read) {
$gettok($sock($sockname).mark,2,126) *** [ $+ $c1($gettok($sock($sockname).mark,4,126),$upper($replace($gettok($sock($sockname).mark,3,126),$chr(95),$chr(32)))) $+ ]: $c2($gettok($sock($sockname).mark,4,126),does not appear in the high scores list.)
sockclose $sockname
}
if (*,*,* iswm %read) {
var %x $gettok($sock($sockname).mark,1,126)
inc %x
if (-1 !isin %read) {
if ($gettok($sock($sockname).mark,5,126)) {
if ($chr(60) isin $gettok($sock($sockname).mark,5,126)) {
if ($gettok(%read,2,44) < $remove($gettok($sock($sockname).mark,5,126),$chr(60),$chr(62))) {
sockmark $sockname %x $+ ~ $+ $gettok($sock($sockname).mark,2-,126) $+ ~ $c2($gettok($sock($sockname).mark,4,126),$skill(%x)) $c1($gettok($sock($sockname).mark,4,126),$iif($gettok(%read,2,44) == -1,0,$v1)) $chr(124)
}
else {
sockmark $sockname %x $+ ~ $+ $gettok($sock($sockname).mark,2-,126)
}
}
else {
if ($gettok(%read,2,44) > $remove($gettok($sock($sockname).mark,5,126),<,>)) {
sockmark $sockname %x $+ ~ $+ $gettok($sock($sockname).mark,2-,126) $+ ~ $c2($gettok($sock($sockname).mark,4,126),$skill(%x)) $c1($gettok($sock($sockname).mark,4,126),$iif($gettok(%read,2,44) == -1,0,$v1)) $chr(124)
}
else {
sockmark $sockname %x $+ ~ $+ $gettok($sock($sockname).mark,2-,126)
}
}
}
else {
sockmark $sockname %x $+ ~ $+ $gettok($sock($sockname).mark,2-,126) $+ ~ $c2($gettok($sock($sockname).mark,4,126),$skill(%x)) $c1($gettok($sock($sockname).mark,4,126),$iif($gettok(%read,2,44) == -1,0,$v1)) $chr(124)
}
}
else {
sockmark $sockname %x $+ ~ $+ $gettok($sock($sockname).mark,2-,126)
}
if (%x == 24) {
if ($numtok($gettok($sock($sockname).mark,4-,126),32) <= 65) {
$gettok($sock($sockname).mark,2,126) *** [ $+ $c1($gettok($sock($sockname).mark,4,126),$upper($replace($gettok($sock($sockname).mark,3,126),$chr(95),$chr(32)))) $+ ]: $left($remove($gettok($sock($sockname).mark,5-,126),~),-1)
}
else {
$gettok($sock($sockname).mark,2,126) *** [ $+ $c1($gettok($sock($sockname).mark,4,126),$upper($replace($gettok($sock($sockname).mark,3,126),$chr(95),$chr(32)))) $+ ]: $left($remove($gettok($sock($sockname).mark,5-23,126),~),-1)
$gettok($sock($sockname).mark,2,126) *** [ $+ $c1($gettok($sock($sockname).mark,4,126),$upper($replace($gettok($sock($sockname).mark,3,126),$chr(95),$chr(32)))) $+ ]: $left($remove($gettok($sock($sockname).mark,24-,126),~),-1)
}
}
}
}