rendered paste bodyon $*:TEXT:/(Symptora \s)?[\.@!]stats */Si:#: {
if (!$2) { /notice $nick Incorrect parameters. $left($1,1) $+ stats name | /return }
var %x 1
while ($sock(rsstats. $+ %x)) {
inc %x
}
if ($regex($1-,(Symptora \s)?\.)) { set % $+ rsstats. $+ %x $+ .return .msg $nick }
if ($regex($1-,(Symptora \s)?\@)) { set % $+ rsstats. $+ %x $+ .return msg $chan }
if ($regex($1-,(Symptora \s)?\!)) { set % $+ rsstats. $+ %x $+ .return .notice $nick }
set % $+ rsstats. $+ %x $regsubex($2-,(Symptora \s)?[\.!@]stats,)
sockopen rsstats. $+ %x hiscore.runescape.com 80
}
on *:SOCKOPEN:rsstats.*: {
sockwrite -nt $sockname GET /index_lite.ws?player= $+ $(% $+ $sockname,2) HTTP/1.1
sockwrite -nt $sockname HOST: hiscore.runescape.com
sockwrite -nt $sockname
}
on *:SOCKREAD:rsstats.*: {
if ($sockerr) {
$(% $+ $sockname $+ .return,2) Socket error while looking up $(% $+ $sockname,2) $+ : $sockerr
/cleanup $sockname
/return
}
var %read
/sockread %read
if (<html>* iswm %read) {
$(% $+ $sockname $+ .return,2) User $(% $+ $sockname,2) is not on the hiscores.
/cleanup $sockname
/return
}
inc % $+ $sockname $+ .inc
set % $+ $sockname $+ .stat. $+ $(% $+ $sockname $+ .inc,2) %read
if ($(% $+ $sockname $+ .inc,2) >= 35) { /results $sockname }
}
alias -l results {
var %x $chr(91) %statcolr $+ $(% $+ $1,2) $+ $chr(93)
var %s $chr(124)
var %i 1
while (%i <= 24) {
var % $+ x. $+ %i %statcolr $+ $gettok($(% $+ $1 $+ .stat. $+ $calc(11 + %i),2),2,44) $+
inc %i
}
$(% $+ $1 $+ .return,2) Stats: %x Total %x.1 %s Attack %x.2 %s Defence %x.3 Strength %x.4 %s HP %x.5 %s Range %x.6 %s Prayer %x.7 %s Magic %x.8 %s Cooking %x.9 %s Woodcutting %x.10 %s Fletching %x.11 %s Fishing %x.12 %s Firemaking %x.13 %s Crafting %x.14 %s Smithing %x.15 %s Mining %x.16 %s Herblore %x.17 %s Agility %x.18 %s Theiving %x.19 %s Slayer %x.20 %s Farming %x.21 %s Runecrafting %x.22 %s Hunter %x.23 %s Construction %x.24
/cleanup $1
}
alias -l cleanup {
/unset % $+ $1 $+ *
if ($sock($1)) { /sockclose $1 }
}