on $*: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 (* 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 } }