If anyone can manage it I am very thankful.

Code: Select all
alias stats {
if ($1) {
/var %i 1
while ($sock(stats. $+ %i)) {
/inc %i
}
/set %stats. $+ %i $+ .user $1-
/set %stats. $+ %i $+ .self 1
/sockopen stats. $+ %i hiscore.runescape.com 80
}
}
#stats on
on *:TEXT:!stats *:*:{
if ($2) {
/var %i 1
while ($sock(stats. $+ %i)) {
/inc %i
}
/set %stats. $+ %i $+ .user $2-
if ($chan) {
/set %stats. $+ %i $+ .target $chan
}
else {
/set %stats. $+ %i $+ .target $nick
}
/sockopen stats. $+ %i hiscore.runescape.com 80
}
}
#stats end
on *:SOCKOPEN:stats.*:{
/sockwrite -t $sockname GET /lang/en/aff/runescape/hiscorepersonal.ws?user1= $+ $eval(% $+ $sockname $+ .user, 2) HTTP/1.1 $+ $crlf
/sockwrite -t $sockname Host: hiscore.runescape.com $+ $crlf
/sockwrite -t $sockname $crlf
}
on *:SOCKREAD:stats.*:{
if ($sockerr) {
if ($eval(% $+ $sockname $+ .self, 2)) {
/echo -s Socket error while looking up $eval(% $+ $sockname $+ .user, 2) $+ : $sockerr
}
else {
/msg $eval(% $+ $sockname $+ .target, 2) Socket error while looking up $eval(% $+ $sockname $+ .user, 2) $+ : $sockerr
}
/cleanup $sockname
}
else {
/sockread &read
/bwrite $sockname -1 -1 &read
if ($bfind(&read, 1, </html>).text) {
/results $sockname
}
}
}
on *:SOCKCLOSE:stats.*:{
/cleanup $sockname
}
alias -l results {
if ($1) {
/bread $1 1 $file($1).size &statspage
/var %statsstring $chr(91) 04 $+ $upper($eval(% $+ $1 $+ .user, 2)) $+ $chr(93) $+ :
if ($bfind(&statspage, 1, does not feature in the hiscores.).text) {
%statsstring = %statsstring does not feature in the hiscores.
}
else {
/var %currentstat
/var %i 0
while (1) {
%i = $bfind(&statspage, $calc(%i + 1), <td align="left"><a href="overall.ws?table=).text
if (!%i) {
/break
}
%currentstat = $striphtml($bvar(&statspage, %i, 150).text)
if ($gettok(%currentstat, 3, 32)) {
%statsstring = %statsstring $gettok(%currentstat, 1, 32) 02 $+ $gettok(%currentstat, 3, 32) $+ $chr(124)
}
}
%statsstring = $left(%statsstring, -2)
}
if ($eval(% $+ $1 $+ .self, 2)) {
/echo -s %statsstring
}
else {
/msg $eval(% $+ $1 $+ .target, 2) %statsstring
}
/cleanup $1
}
}
alias -l striphtml {
/var %charcount 1
/var %tag 0
/var %strippedstring
while (%charcount <= $len($1-)) {
if ($mid($1-, %charcount, 1) == <) {
%tag = 1
}
elseif ($mid($1-, %charcount, 1) == >) {
%tag = 0
}
elseif (!%tag) {
if ($mid($1-, %charcount, 1) == $chr(32)) {
%strippedstring = %strippedstring $chr(32)
}
else {
%strippedstring = %strippedstring $+ $mid($1-, %charcount, 1)
}
}
/inc %charcount 1
}
/return %strippedstring
}
alias -l cleanup {
if ($1) {
/.remove $1
/unset % $+ $1 $+ .*
/sockclose $1
}
}
<@Hamish> !stats hamish150
-ClanBot- Hamish150: Overall 913 | Attack 62 | Defence 60 | Strength 58 | Hitpoints 60 | Ranged 50 | Prayer 41 | Magic 50 | Cooking 61 | Woodcutting 50 | Fletching 34 | Fishing 61 | Firemaking 40 | Crafting 47 | Mining 55 | Agility 40 | Thieving 37