on $*:TEXT:/^[!@.](rs)?stat(s)?/Si:#: { if ($sock(s)) .sockclose s unset %rsn %s %lvl %r %te %e if ($2 == -r) { set %r jhfdf } set %rsn $replace($iif(%r || %e,$3-,$2-),$chr(32),+) sockopen s hiscore.runescape.com 80 sockmark s $iif(@* iswm $1,msg #,notice $nick) } on *:SOCKOPEN:s: { sockwrite -nt $sockname GET /index_lite.ws?player= $+ %rsn HTTP/1.1 sockwrite -nt $sockname Host: hiscore.runescape.com sockwrite -nt $sockname $crlf } on *:SOCKREAD:s: { var %ee sockread %ee if (*404 - Page not found* iswm %ee) { $sock($sockname).mark $c1(Stats for) $c2(%rsn) $c1(not found.) } else { var %x 0 while (%x <= 26) { if (*,*,* iswm %ee) || (*,* iswm %ee) { inc %s var %lvl %lvl $c1($skill(%x)) $c2($gettok(%ee,$iif(%r,1,2),44)) set %te $calc( %te + $gettok(%ee,3,44) ) sockread %ee } inc %x } if (%s == 29) { $sock($sockname).mark $c2([) $+ $c1($iif(%r,Ranks,Stats)) $c2(for) $c1(%rsn) $+ $c2(]:) $sock($sockname).mark $replace(%lvl,-1,N/A) $sock($sockname).mark $c1(Total Experience:) $c2($bytes(%te,bd)) unset %s sockclose $sockname unset %rsn } } } alias skill { if ($1 == 0) || ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Total: elseif ($1 == 1) || ($regex($1,/^at(t|k|tack)$/Si)) return Attack: elseif ($1 == 2) || ($regex($1,/^def(en[cs]e)?$$/Si)) return Defense: elseif ($1 == 3) || ($regex($1,/^str(ength|enght)?$/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 Range: 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 Woodcut: elseif ($1 == 10) || ($regex($1,/^fletch(ing)?$/Si)) return Fletch: 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 Craft: elseif ($1 == 14) || ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smith: elseif ($1 == 15) || ($regex($1,/^min(e|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 Thieve: 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,/^hunt(er|ing)?$/Si)) return Hunt: elseif ($1 == 23) || ($regex($1,/^(con|construct)(ion|ing)?$/si)) return Con: elseif ($1 == 24) return Duel: } alias -l c1 return $+($chr(3),04,$1-) alias -l c2 return $+($chr(3),10,$1-)