All pastes #564043 Raw Edit

douche

public text v1 · immutable
·published 2007-06-13 12:41 UTC
rendered paste body
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 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
    }
  }
}