All pastes #76876 Raw Edit

RS !void help

public text v1 · immutable
·published 2006-07-02 06:05 UTC
rendered paste body
on $*:text:/^[!@`]void */Si:#: { 
  if $sock(server) { /sockclose server } 
  /sockopen server hiscore.runescape.com 80 
} 
on *:Sockopen:void:{ 
  //sockopen -n $sockname GET /lang/en/aff/runescape/hiscorepersonal.ws?user1= $+ $($+(%,stats.rsn.,%ID),2) HTTP/1.1 
  //sockopen -n $sockname Host: hiscore.runescape.com $+ $crlf $+ $crlf 
  //sockopen -nt $sockname 
} 
on *:sockread:void.*: { 
  sockread &Incoming 
  bwrite $sockname -1 -1 &Incoming 
  if ($bfind(&Incoming, 1, </html>).text) makehash $sockname 
  elseif ($bfind(&Incoming, 1, does not feature in the hiscores.).text) { 
    $($+(%,stats.display.,%ID),2) $c1(The nick) $c2($($+(%,stats.rsn.,%ID),2)) $c1(Does not appear in the hiscores for Combat) 
    cleanup $gettok($sockname,2,46) 
  } 
}
alias void {
  var %att = $calc(%level * %level / 6)
  var %def = $calc(%level * %level / 6)
  var %str = $calc(%level * %level / 6)
  var %range = $calc(%level * %level / 6) 
  var %mage = $calc(%level * %level / 6) 
  var %prayer = $calc($level * $level / 12)  
}
alias -l makehash { 
  var %file = $1 
  bread %file 1 $file(%file).size &stats 
  var %currentstat, %x = 1 
  while (%x) { 
    var %x = $bfind(&stats,$calc(%x + 1),<a href="overall.ws?table=) 
    var %currentstat = $striptags($bvar(&stats,%x,200).text) 
    tokenize 32 %currentstat 
    hadd -m %file $1 $2 $3 $4 $xp2next($3,$4) 
  } 
  process %file 
} 
alias process { 
  var %table = $1, %id = $gettok($1,2,46), %x = 0, $& 
    %display = $($+(%,stats.display.,%ID),2), $& 
    %rsn = $($+(%,stats.rsn.,%ID),2), $& 
    %skill = $($+(%,stats.skill.,%ID),2), $& 
    %style = $($+(%,stats.style.,%ID),2
}
alias -1 void {
  if ($1 == 0) || ($regex($1,/^at(t|k|tack)$/Si)) return Attack 
  elseif ($1 == 1) || ($regex($1,/^def(en[cs]e)?$$/Si)) return Defence 
  elseif ($1 == 2) || ($regex($1,/^str(ength)?$/Si)) return Strength 
  elseif ($1 == 3) || ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hitpoints 
  elseif ($1 == 4) || ($regex($1,/^rang(e|r|d|ing)?$/Si)) return Ranged 
  elseif ($1 == 5) || ($regex($1,/^Pray(er)?$$/Si)) return Prayer 
  elseif ($1 == 6) || ($regex($1,/^mag(e|ic)$$/Si)) return Magic 
}