on *:SOCKOPEN:Stats.*:{ sockwrite -nt $sockname GET /hiscorepersonal.ws?user1= $+ $hr($hget($sockname,user)) HTTP/1.0 sockwrite -nt $sockname Host: $+(hiscore.runescape.com,$str($crlf,2)) } on *:SOCKREAD:Stats.*:{ while ($sock($sockname).rq) { sockread &rst bwrite $sockname -1 -1 &rst } bread $sockname 0 $file($sockname).size &rst if ($bfind(&rst,1,)) { if ($bfind(&rst,1,does not feature)) { $hget($sockname,sendway) $+($c1,[,$flc($hget($sockname,user)),$c2 does not feature in the highscores for,$c1 any skill]) } elseif ($regex($hget($sockname,skill),/^P\.(.+)$/i)) { hadd -m $sockname result $htmlfree($replace($bvar(&rst,$bfind(&rst,$bfind(&rst,1,$regsubex($right($hget($sockname,skill),-2),/(.)/g,$+($asc(\1),$chr(32)))),),100).text,$chr(10),$chr(32))) if (($numtok($hget($sockname,result),32) < 3) || (),100).text,$chr(10),$chr(32))) hadd -m $sockname rgoal $iif($hget($sockname,goal),$v1,$calc($gettok($hget($sockname,result),2,32) + 1)) if (($numtok($hget($sockname,result),32) < 3) || ()) { inc %k if ($regex($gettok($htmlfree($replace($bvar(&rst,$calc($bfind(&rst,%c,gif">) + ($len($hget($sockname,user)) + 50)),150).text,$chr(10),$chr(32))),1,32),/^(fletch|herb|agil|thiev|slay|farm|cont|constr)/i)) { if (Not Ranked !isin $htmlfree($replace($bvar(&rst,$calc($bfind(&rst,%c,gif">) + ($len($hget($sockname,user)) + 50)),150).text,$chr(10),$chr(32)))) { hadd -m $sockname p2pxp $calc($hget($sockname,p2pxp) + $remove($gettok($htmlfree($replace($bvar(&rst,$calc($bfind(&rst,%c,gif">) + ($len($hget($sockname,user)) + 40)),150).text,$chr(10),$chr(32))),5,32),$chr(44))) hadd -m $sockname p2p $hget($sockname,p2p) $+($c2,$gettok($v2,1,32),:,$c1 $gettok($v2,3,32) |) hadd -m $sockname p2plv $calc($hget($sockname,p2plv) + $remove($gettok($htmlfree($replace($bvar(&rst,$calc($bfind(&rst,%c,gif">) + ($len($hget($sockname,user)) + 40)),150).text,$chr(10),$chr(32))),4,32),$chr(44))) } } if ($regex($gettok($htmlfree($replace($bvar(&rst,$calc($bfind(&rst,%c,gif">) + ($len($hget($sockname,user)) + 50)),150).text,$chr(10),$chr(32))),1,32),/^(att|def|str|hit|ran|pra|mag|coo|woo|fis|fir|craf|smi|min|run)/i)) { if (Not Ranked !isin $htmlfree($replace($bvar(&rst,$calc($bfind(&rst,%c,gif">) + ($len($hget($sockname,user)) + 50)),150).text,$chr(10),$chr(32)))) { hadd -m $sockname f2pxp $calc($hget($sockname,f2pxp) + $remove($gettok($htmlfree($replace($bvar(&rst,$calc($bfind(&rst,%c,gif">) + ($len($hget($sockname,user)) + 40)),150).text,$chr(10),$chr(32))),5,32),$chr(44))) hadd -m $sockname f2p $hget($sockname,f2p) $+($c2,$gettok($v2,1,32),:,$c1 $gettok($v2,3,32) |) hadd -m $sockname f2plv $calc($hget($sockname,f2plv) + $remove($gettok($htmlfree($replace($bvar(&rst,$calc($bfind(&rst,%c,gif">) + ($len($hget($sockname,user)) + 40)),150).text,$chr(10),$chr(32))),4,32),$chr(44))) } } if (%k isnum 1-7) { hadd -m $sockname cmb $hget($sockname,cmb) $iif(Not Ranked !isin $gettok($htmlfree($replace($bvar(&rst,$calc($bfind(&rst,%c,gif">) + ($len($hget($sockname,user)) + 40)),150).text,$chr(10),$chr(32))),1-4,32),$gettok($v2,4,32),$iif(%k == 4,10,1)) hadd -m $sockname cmbp $calc($hget($sockname,cmbp) + $remove($gettok($htmlfree($replace($bvar(&rst,$calc($bfind(&rst,%c,gif">) + ($len($hget($sockname,user)) + 40)),150).text,$chr(10),$chr(32))),5,32),$chr(44))) } hadd -m $sockname allxp $calc($hget($sockname,allxp) + $remove($gettok($htmlfree($replace($bvar(&rst,$calc($bfind(&rst,%c,gif">) + ($len($hget($sockname,user)) + 40)),150).text,$chr(10),$chr(32))),5,32),$chr(44))) if (Not Ranked !isin $htmlfree($replace($bvar(&rst,$calc($bfind(&rst,%c,gif">) + ($len($hget($sockname,user)) + 40)),150).text,$chr(10),$chr(32)))) hadd -m $sockname stats $hget($sockname,stats) $+($c2,$gettok($v2,2,32),:,$c1 $gettok($v2,4,32) |) var %c = $bfind(&rst,%c,gif">) + 10 } if ($hget($sockname,skill) == Combatp) { $hget($sockname,sendway) $+($c1,[,$c2,Combat Percentage for,$c1 $flc($hget($sockname,user)),] [,$c2,Combat:,$c1 $bytes($hget($sockname,cmbp),b) Exp,$c1 $chr(40),$c2,$round($calc(($hget($sockname,cmbp) / $remove($iif($gettok($hget($sockname,overall),3,32),$v1,$bytes($hget($sockname,allxp),b)),$chr(44))) * 100),2),$c1,%,$chr(41) |,$c2 Non Combat:,$c1 $bytes($calc($remove($iif($gettok($hget($sockname,overall),3,32),$v1,$bytes($hget($sockname,allxp),b)),$chr(44)) - $hget($sockname,cmbp)),b) Exp,$c1 $chr(40),$c2,$calc(100 - $round($calc(($hget($sockname,cmbp) / $remove($iif($gettok($hget($sockname,overall),3,32),$v1,$bytes($hget($sockname,allxp),b)),$chr(44))) * 100),2)),$c1,%,$chr(41) |,$c2 Total:,$c1 $iif($gettok($hget($sockname,overall),3,32),$v1,$bytes($hget($sockname,allxp),b)) Exp]) } elseif ($hget($sockname,skill) == Combat) { hadd -m $sockname skills Att Def Str Hits Ranged Pray Magic hadd -m $sockname combatt $cmb($hget($sockname,cmb)) $hget($sockname,sendway) $+($c1,[,$c2,Combat for,$c1 $flc($hget($sockname,user)),] [,$c2,Combat:,$c1 $hget($sockname,combatt),] [,$left($regsubex($hget($sockname,cmb),/([0-9]+)/g,$+($c2,$gettok($hget($sockname,skills),\n,32),:,$c1 \1 |)),-2),]) if ($floor($hget($sockname,combatt)) < 126) $hget($sockname,sendway) $+($c1,[,$c2,Levels to,$c1 $ceil($hget($sockname,combatt)) combat,] [,$iif($gettok($hget($sockname,combatt),2,32) == melee,$+($c2,Attack/Strength:,$c1 $cc1($hget($sockname,combatt)))),$iif($gettok($hget($sockname,combatt),2,32) == Ranged,$+($c2,Range:,$c1 $cc3($hget($sockname,combatt)))),$iif($gettok($hget($sockname,combatt),2,32) == magic,$+($c2,Magic:,$c1 $cc1($hget($sockname,combatt)))),$chr(32),|,$c2 Hitpoints/Defence:,$c1 $cc2($hget($sockname,combatt)) |,$c2 Prayer:,$c1 $cc4($hget($sockname,combatt)),]) } elseif ($hget($sockname,skill) == overall) { $hget($sockname,sendway) $+($c1,[,$c2,Overall for,$c1 $flc($hget($sockname,user)),] [,$c2,Total:,$c1 $iif(!$hget($sockname,overall),Not Ranked,$+($gettok($hget($sockname,overall),2,32) |,$c2 Rank:,$c1 $gettok($hget($sockname,overall),1,32) |,$c2 Exp:,$c1 $gettok($hget($sockname,overall),3,32))),] [,$c2,Combat:,$c1 $cmb($hget($sockname,cmb)),$c1,]) $hget($sockname,sendway) $+($c1,[,$left($hget($sockname,stats),-2),]) } elseif ($hget($sockname,skill) == p2p) { $hget($sockname,sendway) $+($c1,[,$c2,Member stats for,$c1 $hget($sockname,user),] [,$c2,Total level:,$c1 $iif(!$hget($sockname,overall),Not Ranked,$+($bytes($hget($sockname,p2plv),b),/,$bytes($gettok($hget($sockname,overall),2,32),b))) $chr(40),$c2,$round($calc(($hget($sockname,p2plv) / $remove($gettok($hget($sockname,overall),2,32),$chr(44))) * 100),2),$c1,%,$chr(41) |,$c2 Exp:,$c1 $bytes($hget($sockname,p2pxp),b),/,$gettok($hget($sockname,overall),3,32) $chr(40),$c2,$round($calc(($hget($sockname,p2pxp) / $remove($gettok($hget($sockname,overall),3,32),$chr(44))) * 100),2),$c1,%,$chr(41),]) $hget($sockname,sendway) $+($c1,[,$left($hget($sockname,p2p),-2),]) } elseif ($hget($sockname,skill) == f2p) { $hget($sockname,sendway) $+($c1,[,$c2,Non Member stats for,$c1 $hget($sockname,user),] [,$c2,Total level:,$c1 $iif(!$hget($sockname,overall),Not Ranked,$+($bytes($hget($sockname,f2plv),b),/,$bytes($gettok($hget($sockname,overall),2,32),b))) $chr(40),$c2,$round($calc(($hget($sockname,f2plv) / $remove($gettok($hget($sockname,overall),2,32),$chr(44))) * 100),2),$c1,%,$chr(41) |,$c2 Exp:,$c1 $bytes($hget($sockname,f2pxp),b),/,$gettok($hget($sockname,overall),3,32) $chr(40),$c2,$round($calc(($hget($sockname,f2pxp) / $remove($gettok($hget($sockname,overall),3,32),$chr(44))) * 100),2),$c1,%,$chr(41),]) $hget($sockname,sendway) $+($c1,[,$left($hget($sockname,f2p),-2),]) } } .remove $sockname .hdel -sw $sockname * sockclose $sockname } }