rendered paste bodyon *:sockopen:bstats.*:{
.remove stats
sockwrite -nt $sockname GET /hiscorepersonal.ws?user1= $+ $hr($hget($sockname,lookup)) HTTP/1.0
sockwrite -nt $sockname Host: hiscore.runescape.com
sockwrite -nt $sockname $crlf
}
on *:sockread:bstats.*:{
while ($sock($sockname).rq) {
sockread &stats
bwrite stats -1 -1 &stats
}
bread stats 0 $file(stats).size &stats
if ($bfind(&stats,1,does not feature)) {
$hget($sockname,sendway) $+([,$flc($hget($sockname,lookup)),$c2 does not feature for any skill,$c1,])
.hdel -sw $sockname *
sockclose $sockname
}
if ($bfind(&stats,1,$iif($hget($sockname,stat) == overall,&user= $+ $hget($sockname,lookup),$hget($sockname,stat)))) && (!$regex($hget($sockname,stat),/^(stats|combat(p)?)/i)) {
tokenize 32 $htmlfree($replace($bvar(&stats,$v1,300).text,$chr(10),$chr(32)))
if ($3 == not) || (!$3) || (!$5) {
$hget($sockname,sendway) $+([,$flc($hget($sockname,lookup)),$c2 had no,$c1 $hget($sockname,stat),$c2 info on highscores,$c1,])
.hdel -sw $sockname *
sockclose $sockname
}
else {
$hget($sockname,sendway) $+([,$c2,$hget($sockname,stat) for,$c1 $flc($hget($sockname,lookup)),]) $+([,$c2,Level: ,$c1,$chr(32) $4 |,$chr(32) $c2,Rank:,$c1 ,$chr(32) $3 |,$chr(32) $c2,Exp:,$c1 ,$chr(32) $5,])
.hdel -sw $sockname *
sockclose $sockname
}
}
}
if ($statsid($1)) {
inc %sc
var %name = $+(bstats.,%sc)
hadd -m %name sendway $iif($left($1,1) == @,msg $chan,notice $nick)
hadd -m %name lookup $iif($2,$2-,$iif($readini(C:\program files\mircmight\defname.ini,Defname,$address($nick,2)),$v1,$nick))
hadd -m %name stat $statsid($1)
sockopen %name hiscore.runescape.com 80
}
alias StatsID {
if ($regex($1,/^[@!.](overall?|total)$/Si)) return Overall
elseif ($regex($1,/^[@!]stats$/Si)) return Stats
elseif ($regex($1,/^[@!]co?mb(at)?%$/Si)) return Combatp
elseif ($regex($1,/^[@!]co?mb(at)?$/Si)) return Combat
elseif ($regex($1,/^[@!]at[tk](ack)?$/Si)) return Attack
elseif ($regex($1,/^[@!]de[fv](en[cs]e)?$/Si)) return Defence
elseif ($regex($1,/^[@!]str(eng(ht|th))?$/Si)) return Strength
elseif ($regex($1,/^[@!]h(p|it(points?|s))$/Si)) return Hitpoints
elseif ($regex($1,/^[@!]range?d?$/Si)) return Ranged
elseif ($regex($1,/^[@!]pray(er)?$/Si)) return Prayer
elseif ($regex($1,/^[@!]mag(ic|e)$/Si)) return Magic
elseif ($regex($1,/^[@!]cook(e|ing)?$/Si)) return Cooking
elseif ($regex($1,/^[@!]w(ood)?c(utting)?$/Si)) return Woodcutting
elseif ($regex($1,/^[@!]flet(ch|hc)(ing|e)?$/Si)) return Fletching
elseif ($regex($1,/^[@!]fish(ing|e)?$/Si)) return Fishing
elseif ($regex($1,/^[@!]f(ire)m(ak(e|ing))?$/Si)) return Firemaking
elseif ($regex($1,/^[@!]craft(ing|er?)?$/Si)) return Crafting
elseif ($regex($1,/^[@!]smith(ing|er?)?$/Si)) return Smithing
elseif ($regex($1,/^[@!]min(ing|er?)?$/Si)) return Mining
elseif ($regex($1,/^[@!]herb(lor[ye])?$/Si)) return Herblore
elseif ($regex($1,/^[@!]agi(lity)?$/Si)) return Agility
elseif ($regex($1,/^[@!]th(ie|ei)[fv](ing|er)?$/Si)) return Thieving
elseif ($regex($1,/^[@!]slay(ing|er?)$/Si)) return Slayer
elseif ($regex($1,/^[@!]farm(ing|er?)$/Si)) return Farming
elseif ($regex($1,/^[@!]r(une)?c(raft(ing|er?)?)?$/Si)) return Runecraft
elseif ($regex($1,/^[@!]hunt(ing|er?)?$/Si)) return Hunter
elseif ($regex($1,/^[@!]cons?(truct(ion)?)?$/Si)) return Construction
}