All pastes #474193 Raw Edit

Mine

public text v1 · immutable
·published 2007-05-06 17:54 UTC
rendered paste body
alias s.num { 
  if ($regex($1,/^(overall|total|st|skillt|stotal|skilltotal)$/Si)) { return 0 } 
  if ($regex($1,/^(at|att|attack|atk)$/Si)) { return 1 } 
  if ($regex($1,/^(de|def|defence|dfnc)$/Si)) { return 2 } 
  if ($regex($1,/^(st|str|strength)$/Si)) { return 3 } 
  if ($regex($1,/^(hp|hits|hitpoints|hitpoint|hpoint|hitp)$/Si)) { return 4 } 
  if ($regex($1,/^(ranged|range|arch|archery|arching)$/Si)) { return 5 } 
  if ($regex($1,/^(prayer|pray|faith)$/Si)) { return 6 } 
  if ($regex($1,/^(magic|mage|mag|mgk|mgc|spell)$/Si)) { return 7 } 
  if ($regex($1,/^(cooking|cook|food|ck)$/Si)) { return 8 } 
  if ($regex($1,/^(wc|wood|woodcut|woodcutting|wcut|woodc)$/Si)) { return 9 } 
  if ($regex($1,/^(fletch|fletching|fl)$/Si)) { return 10 } 
  if ($regex($1,/^(fish|fishing|fsh|fi)$/Si)) { return 11 } 
  if ($regex($1,/^(firemaking|fm|fire|firemake|firem|fmake)$/Si)) { return 12 } 
  if ($regex($1,/^(craft|crafting|cr)$/Si)) { return 13 } 
  if ($regex($1,/^(smith|sm|smithing)$/Si)) { return 14 } 
  if ($regex($1,/^(mine|mining|mi)$/Si)) { return 15 } 
  if ($regex($1,/^(herb|herblore|herbal)$/Si)) { return 16 } 
  if ($regex($1,/^(agil|agility|agile|ag)$/Si)) { return 17 } 
  if ($regex($1,/^(thieving|thiev|thief|steal)$/Si)) { return 18 } 
  if ($regex($1,/^(slay|slayer|slaying)$/Si)) { return 19 } 
  if ($regex($1,/^(farm|farming|frm)$/Si)) { return 20 } 
  if ($regex($1,/^(rc|rune|runecraft|runecrafting|runec|rcraft)$/Si)) { return 21 } 
  if ($regex($1,/^(hunt|hunter|hunting)$/Si)) { return 22 } 
  if ($regex($1,/^(constr|construction|build)$/Si)) { return 23 } 
  else { return 0 } 
} 
alias nohtml { 
  var %x,%i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x) 
  %x = $replace(%x,&nbsp;,$null) 
  return %x 
} 
alias c1 { return $chr(3) $+ $iif($readini(Colors.ini,Color1, %nick ),$v1,1) $+ $1 } 
alias c2 { return $chr(3) $+ $iif($readini(Colors.ini,Color2, %nick ),$v1,12) $+ $1 }
on $*:TEXT:/^[!@](rank|rnk|place|spot) */Si:#: { 
  if (%scriptson. [ $+ [ $chan ] ] == off) halt
  set %nick $nick
  if ($sock(rank)) { halt } 
  .unset %rank.* 
  .set %rank.out $iif($left($1,1) == @,msg $chan,notice $nick) 
  var %r.num = $regex($2,/([0-9]+)/Si) 
  .set %rank.num $replace($regml(1),m,000000,k,000)
  .set %rank.skill $remove($2-,$regml(1),$chr(32)) 
  .sockopen rank hiscore.runescape.com 80 
} 
on *:SOCKOPEN:rank: { 
  if ($sockerr) { echo 4 -s ** SockOpen Error ** $sock($sockname).wsmsg | return } 
  .sockwrite -n rank GET /lang/en/aff/runescape/overall.ws?table= $+ $s.num(%rank.skill) $+ &rank= $+ %rank.num HTTP/1.1 
  .sockwrite -n rank Host: hiscore.runescape.com $+ $crlf $+ $crlf 
} 
on *:SOCKREAD:rank: { 
  if ($sockerr) { echo 4 -s ** SockRead Error ** $sock($sockname).wsmsg | return } 
  .sockread %rank.r 
  if (*#AA0022* iswm %rank.r && %rank.lvl && !%rank.exp) { .set %rank.exp $nohtml(%rank.r) } 
  if (*#AA0022* iswm %rank.r && %rank.name && !%rank.lvl) { .set %rank.lvl $nohtml(%rank.r) } 
  if (*#AA0022* iswm %rank.r && %rank.rank && !%rank.name) { .set %rank.name $nohtml(%rank.r) } 
  if (*#AA0022* iswm %rank.r && !%rank.rank) { .set %rank.rank $nohtml(%rank.r) } 
} 
on *:SOCKCLOSE:rank: { 
  if (!%rank.lvl) { %rank.out $c1(No user found as rank) $c2(%rank.num) } 
  else { %rank.out $c1(Skill:) $c2(%rank.skill) $c1(Rank:) $c2(%rank.rank) $c1(User:) $c2(%rank.name) $c1(Level:) $c2(%rank.lvl) $c1(Exp:) $c2(%rank.exp) } 
  unset %nick
}