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