rendered paste bodyon $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([!.@]teststats)/Si):#:{
tokenize 32 $iif($me isin $1,$deltok($1-,1,32),$1-)
var %multi = $right($ticks,6)
set %display. [ $+ [ %multi ] ] $iif(@ isin $left($1,1),msg $chan,notice $nick)
set %statsn.uname. [ $+ [ %multi ] ] $iif(!$2,$readini(rsn.ini,RSN,$nick),$iif($2,$replace($2-,$chr(32),$chr(43)),$replace($nick,$chr(95),$chr(43))))
sockopen stats. [ $+ [ %multi ] ] hiscore.runescape.com 80
}
on *:sockopen:stats.*: {
if ($sockerr) { halt }
sockwrite -nt $sockname GET /hiscorepersonal.ws?user1= $+ %statsn.uname. [ $+ [ $right($sockname,6) ] ] HTTP/1.1
sockwrite -nt $sockname Host: hiscore.runescape.com $crlf $+ $crlf
}
on *:sockread:stats.*: {
if ($sockerr) { halt }
else {
var %x = 1
sockread %sx
If (</a></td> isin %sx) { sockread %sx | sockread %sx | inc %x | set $+(%stats,$iif(%x > 17,2)) $+(%stats,$iif(%x > 17,2)) $skill(%x) $htmlfree($v1) }
}
}
}
alias htmlfree {
var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ,&)
return %x
}
alias stskill {
if ($1 == 0) || ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall
elseif ($1 == 1) || ($regex($1,/^at(t|k|tack)$/Si)) return Attack
elseif ($1 == 2) || ($regex($1,/^def(en[cs]e)?$$/Si)) return Defence
elseif ($1 == 3) || ($regex($1,/^str(ength)?$/Si)) return Strength
elseif ($1 == 4) || ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hitpoints
elseif ($1 == 5) || ($regex($1,/^range(r|d|ing)?$/Si)) return Ranged
elseif ($1 == 6) || ($regex($1,/^Pray(er)?$$/Si)) return Prayer
elseif ($1 == 7) || ($regex($1,/^mag(e|ic)$$/Si)) return Magic
elseif ($1 == 8) || ($regex($1,/^cook(ing)?$/Si)) return Cooking
elseif ($1 == 9) || ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) return Woodcutting
elseif ($1 == 10) || ($regex($1,/^fletch(ing)?$/Si)) return Fletching
elseif ($1 == 11) || ($regex($1,/^fish(ing)?$/Si)) return Fishing
elseif ($1 == 12) || ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) return Firemaking
elseif ($1 == 13) || ($regex($1,/^craft(ing)?$/Si)) return Crafting
elseif ($1 == 14) || ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smithing
elseif ($1 == 15) || ($regex($1,/^mine(ing)?$/Si)) return Mining
elseif ($1 == 16) || ($regex($1,/^herb(law|lore)?$/Si)) return Herblore
elseif ($1 == 17) || ($regex($1,/^agil(ity)?$/Si)) return Agility
elseif ($1 == 18) || ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) return Thieving
elseif ($1 == 19) || ($regex($1,/^slay(er|ing)?$/Si)) return Slayer
elseif ($1 == 20) || ($regex($1,/^farm(er|ing)?$/Si)) return Farming
elseif ($1 == 21) || ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) return Runecraft
elseif ($1 == 22) || ($regex($1,/^(construct)(ion|ing)?$/Si)) return Construction
elseif ($1 == 23) || ($regex($1,/^(hunt|hun)(er|ing)?$/Si)) return Hunter
}