All pastes #809098 Raw Edit

Someone

public text v1 · immutable
·published 2007-12-08 06:49 UTC
rendered paste body
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 == 27) { 
      $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-)