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 in the highscores for,$c1 any skill,])
.hdel -sw $sockname *
sockclose $sockname
}
if ($hget($sockname,stat) == combat) {
var %a 1
while ($bfind(&stats,%a,gif"></td>)) {
tokenize 32 $htmlfree($replace($bvar(&stats,$v1,300).text,$chr(10),$chr(32)))
if ($2 !isin $hget($sockname,cmb)) && ($4 isnum 1-99) && ($regex($2,/^(att|def|str|hit|ran|pra|mag)/i)) hadd -m $sockname cmb $hget($sockname,cmb) $htmlfree($iif(Not ranked isin $1-7,$null,$+($c2,$2,:,$c1 $4 |)))
if ($2 !isin $hget($sockname,cmb)) && ($regex($2,/^(att|def|str|hit|ran|pra|mag)/i)) hadd -m $sockname clvl $hget($sockname,clvl) $htmlfree($iif($4 isnum 1-99,$4,$iif($regex($2,/^hit/i),10,1)))
var %a = $bfind(&stats,%a,gif"></td>) + 10
}
}
if ($bfind(&stats,%a,</table>)) && ($hget($sockname,stat) == combat) {
$hget($sockname,sendway) $+($c1,[,$left($remove($hget($sockname,cmb),<a,<td,colspan="3,style="text-align:right;font-s),-2),]) $cmb($hget($sockname,clvl))
.hdel -sw $sockname *
sockclose $sockname
}
if ($hget($sockname,stat) == stats) {
var %a 1
while ($bfind(&stats,%a,gif"></td>)) {
tokenize 32 $htmlfree($replace($bvar(&stats,$v1,300).text,$chr(10),$chr(32)))
if ($2 !isin $hget($sockname,stats)) && ($4 isnum 1-99) hadd -m $sockname stats $hget($sockname,stats) $htmlfree($iif(Not ranked isin $1-7,$null,$+($c2,$2,:,$c1 $4 |)))
var %a = $bfind(&stats,%a,gif"></td>) + 10
}
if ($bfind(&stats,1,&user= $+ $hget($sockname,lookup))) {
tokenize 32 $htmlfree($replace($bvar(&stats,$v1,300).text,$chr(10),$chr(32)))
if ($4 isnum) && ($2 == overall) hadd -m $sockname overall $+([,$c2,$hget($sockname,stat) for,$c1 $flc($hget($sockname,lookup)),]) $+([,$c2,Total: ,$c1,$chr(32) $4 |,$chr(32) $c2,Rank:,$c1 ,$chr(32) $3 |,$chr(32) $c2,Exp:,$c1 ,$chr(32) $5,])
}
}
if ($bfind(&stats,%a,</table>)) && ($hget($sockname,stat) == stats) {
if ($hget($sockname,overall)) {
$hget($sockname,sendway) $v1
$hget($sockname,sendway) $+($c1,[,$left($remove($hget($sockname,stats),<a,<td,colspan="3,style="text-align:right;font-s),-2),])
.hdel -sw $sockname *
sockclose $sockname
}
else {
$hget($sockname,sendway) $+([,$c2,$hget($sockname,stat) for,$c1 $flc($hget($sockname,lookup)),]) $+([,$c2,Total: ,$c1,$chr(32) Not Ranked |,$chr(32) $c2,Rank:,$c1 ,$chr(32) N.A |,$chr(32) $c2,Exp:,$c1 ,$chr(32) N.A,])
$hget($sockname,sendway) $+($c1,[,$left($remove($hget($sockname,stats),<a,<td,colspan="3,style="text-align:right;font-s),-2),])
.hdel -sw $sockname *
sockclose $sockname
}
}
if ($bfind(&stats,1,$iif($hget($sockname,stat) == overall,&user= $+ $hget($sockname,lookup),$hget($sockname,stat)))) {
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
}
}
}