All pastes #830335 Raw Edit

manu

public text v1 · immutable
#830335 ·published 2007-12-23 22:11 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 == 29) {
      $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-)