All pastes #631967 Raw Edit

Miscellany

public text v1 · immutable
#631967 ·published 2007-07-24 14:29 UTC
rendered paste body
on $*:TEXT:/^[!@](rsstats|stats)/Si:#:{ 
  if ($len($2-) > 12) { .notice $nick $c1(Username too long!) | halt }
  if (!$2-) { .notice $nick $c1(Specify a username!) | halt } 
  var %x = $right($ticks,6) 
  set $+(%,out,.,%x) $iif($left($1,1) == @, .msg $chan, .notice $nick)   
  set $+(%,rsn,.,%x) $replace($2-,$chr(32),+)
  sockopen $+(rsstats,.,%x) hiscore.runescape.com 80
}
on *:SOCKOPEN:rsstats.*:{
  sockwrite -nt $sockname GET $+(/index_lite.ws?player=,%rsn,.,$right($sockname,6)) HTTP/1.1
  sockwrite -nt $sockname Host: hiscore.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:rsstats.*:{
  if ($sockerr) { .notice $nick $+($c1(Error:),$chr(32),$c2($sockerr),$chr(32),$c1(Please report this error to ZeroS)) | sockclose $sockname halt }
  else {
    var %x
    sockread %x
    if (<html>* iswm %x) { %out. [ $+ [ $right($sockname,6) ] ]  $+($c2(%rsn. [ $+ [ $right($sockname,6) ] ]),$chr(32),$c1(does not feature in the hiscores.)) | sockclose $sockname | halt }
    elseif (*,* iswm %x) {
      tokenize 32 $remove(%x,$chr(44))
      %out. [ $+ [ $right($sockname,6) ] ] $+($c1(Username:),$chr(32),$c2(%rsn. [ $+ [ $right($sockname,6) ] ]),$chr(32),$c1(Overall rank:),$chr(32),$c2($1),$chr(32),$c1(Total level:),$chr(32),$c2($2))
      %out. [ $+ [ $right($sockname,6) ] ] $+($c1(Attack:),$chr(32),$c2($5),$chr(32),$c1(Defence:),$chr(32),$c2($8),$chr(32),$c1(Strength:),$chr(32),$c2($11),$chr(32),$c1(Hitpoints:),$chr(32),$c2($14),$chr(32),$c1(Ranged:),$chr(32),$c2($17),$chr(32),$c1(Prayer:),$chr(32),$c2($20),$chr(32),$c1(Magic:),$chr(32),$c2($23))
      %out. [ $+ [ $right($sockname,6) ] ] $+($c1(Cooking:),$chr(32),$c2($26),$chr(32),$c1(Woodcutting:),$chr(32),$c2($29),$chr(32),$c1(Fletching:),$chr(32),$c2($32),$chr(32),$c1(Fishing:),$chr(32),$c2($35),$chr(32),$c1(Firemaking:),$chr(32),$c2($38),$chr(32),$c1(Crafting:),$chr(32),$c2($41),$chr(32),$c1(Smithing:),$chr(32),$c2($44),$chr(32),$c1(Mining:),$chr(32),$c2($47),$chr(32),$c1(Herblore:),$chr(32),$c2($50),$chr(32),$c1(Agility:),$chr(32),$c2($53),$chr(32),$c1(Thieving:),$chr(32),$c2($56),$chr(32),$c1(Slayer:),$chr(32),$c2($59),$chr(32),$c1(Farming:),$chr(32),$c2($62),$chr(32),$c1(Runecraft:),$chr(32),$c2($65),$chr(32),$c1(Hunter:),$chr(32),$c2($68),$chr(32),$c1(Construction:),$chr(32),$c2($71))
      sockclose $sockname
    }
  }
}
alias -l c1 { return $+($chr(3),15,$1-) }
alias -l c2 { return $+($chr(3),04,$1-) }