All pastes #586672 Raw Edit

Someone

public text v1 · immutable
#586672 ·published 2007-06-23 23:39 UTC
rendered paste body
on $*:TEXT:$(/^(\Q $+ $me $+ \E,? )?[!@.]Rank/Si):#:{
  if ($readini(Status.ini,$network,$chan) == DChan && $remove($1,$chr(44)) != $me) { halt }
  else {
    var %i = $rand(10000,99999)
    set %display $&
      $iif($left($iif($remove($1,$chr(44)) == $me,$iif($nick ison $.chan,$2),$1),1) == @,$iif($remove($1,$chr(44)) != $me && $readini(Status2.ini,$network,$chan),.notice $nick,msg $chan),.notice $nick)
    if (!$iif($remove($1,$chr(44)) == $me,$3-,$2-)) { $($+(%,rank,.,display,.,%i),2) $logo $c1(You must provide an Skill!) | Halt }
    if (!$iif($remove($1,$chr(44)) == $me,$4-,$3-)) { $($+(%,rank,.,display,.,%i),2) $logo $c1(You must provide an User!) | Halt }
    if ($chr(42) !isin $2-) {
      set %nick $+ rank. $+ %i $+ . $+ 1 $nick      
      set %rank.rank. $+ %i $+ . $+ 1 $iif($remove($1,$chr(44)) == $me,$4,$3)
      set %rank.skill. $+ %i $+ . $+ 1 $skillsnumba($iif($remove($1,$chr(44)) == $me,$3,$2))
      sockopen rank. $+ %i $+ . $+ 1 hiscore.runescape.com 80
    }
    Else {
      var %z = 1
      while (%z <= $calc($count($1-,$chr(42)) +1)) {
        var %i = $rand(10000,99999)
        if (%z > 3) {
          var %z = $calc($count($1-,$chr(42)) +2)
        }
        else {
          set %nick $+ rank. $+ %i $+ . $+ %z $nick  
          set %rank.rank. $+ %i $+ . $+ %z $gettok($iif($remove($1,$chr(44)) == $me,$4-,$3-),%z,42)
          set %rank.skill. $+ %i $+ . $+ %z $skillsnumba($gettok($iif($remove($1,$chr(44)) == $me,$3-,$2-),%z,42))
          sockopen rank. $+ %i $+ . $+ %z hiscore.runescape.com 80
          inc %z
        }
      }
    }
  }
}
on *:SOCKOPEN:rank*: {
  Sockwrite -nt $sockname GET /overall.ws?table= $+ $($+(%,rank,.,skill,.,$gettok($sockname,2,46),.,$gettok($sockname,3,46)),2) $+ &rank= $+ $($+(%,rank,.,rank,.,$gettok($sockname,2,46),.,$gettok($sockname,3,46)),2) HTTP/1.1 
  Sockwrite -nt $sockname Host: hiscore.runescape.com
  Sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:rank*: {
  var %sockread
  sockread %sockread
  if (*<font color="#AA0022">* iswm %sockread) {
    set %rank.xp. $+ $gettok($sockname,2,46) $+ . $+ $gettok($sockname,3,46) $($+(%,answers,.,$gettok($sockname,2,46),.,$gettok($sockname,3,46)),2) $htmlfree(%sockread)
  }
  if (*<span style="color:#AA0022;">* iswm %sockread) {
    if ($htmlfree(%sockread) isnum 1-99) {
      set %rank.level. $+ $gettok($sockname,2,46) $+ . $+ $gettok($sockname,3,46) $($+(%,answers,.,$gettok($sockname,2,46),.,$gettok($sockname,3,46)),2) $htmlfree(%sockread)
    }
    else {
      set %rank.name. $+ $gettok($sockname,2,46) $+ . $+ $gettok($sockname,3,46) $($+(%,answers,.,$gettok($sockname,2,46),.,$gettok($sockname,3,46)),2) $htmlfree(%sockread)
    }
  }
  if (*<img src="http://www.runescape.com/img/hiscores/arrow_up.gif" alt="Scroll Up">* iswm %sockread) {
    $($+(%,rank,.,display,.,$gettok($sockname,2,46)),2) $logo $c1(Rank) $c2($chr(35) $+ $($+(%,Rank,.,Rank,.,$gettok($sockname,2,46),.,$gettok($sockname,3,46)),2)) $c1(for) $c2($skillsname($($+(%,Rank,.,skill,.,$gettok($sockname,2,46),.,$gettok($sockname,3,46)),2))) $c1(is) $c2($($+(%,Rank,.,name,.,$gettok($sockname,2,46),.,$gettok($sockname,3,46)),2)) $c1(at level) $c2($($+(%,Rank,.,level,.,$gettok($sockname,2,46),.,$gettok($sockname,3,46)),2)) $c1(with) $c2($($+(%,Rank,.,xp,.,$gettok($sockname,2,46),.,$gettok($sockname,3,46)),2)) $c1(EXP)
    unset %rank.*. $+ $gettok($sockname,2,46)),2)
    unset %rank.*. $+ $gettok($sockname,2,46)),2) $+ .*
  }
}
alias skillsnumba {
  if ($1 == 0) || ($regex($1,/^(st|(skill)?total|overall)$/Si)) return 0
  elseif ($1 == 1) || ($regex($1,/^at(t|k|tack)$/Si)) return 1
  elseif ($1 == 2) || ($regex($1,/^def(en[cs]e)?$$/Si)) return 2
  elseif ($1 == 3) || ($regex($1,/^str(ength)?$/Si)) return 3
  elseif ($1 == 4) || ($regex($1,/^hp|hit(s|points?)?$/Si)) return 4
  elseif ($1 == 5) || ($regex($1,/^r(ng|ange|anged|angeing|anger)?$/Si)) return 5
  elseif ($1 == 6) || ($regex($1,/^Pray(er)?$$/Si)) return 6
  elseif ($1 == 7) || ($regex($1,/^mag(e|ic)$$/Si)) return 7
  elseif ($1 == 8) || ($regex($1,/^cook(ing)?$/Si)) return 8
  elseif ($1 == 9) || ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) return 9
  elseif ($1 == 10) || ($regex($1,/^fletch(ing)?$/Si)) return 10
  elseif ($1 == 11) || ($regex($1,/^fish(ing)?$/Si)) return 11
  elseif ($1 == 12) || ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) return 12
  elseif ($1 == 13) || ($regex($1,/^craft(ing)?$/Si)) return 13
  elseif ($1 == 14) || ($regex($1,/^(smith|smelt)(ing)?$/Si)) return 14
  elseif ($1 == 15) || ($regex($1,/^mine(ing)?$/Si)) return 15
  elseif ($1 == 16) || ($regex($1,/^herb(law|lore)?$/Si)) return 16
  elseif ($1 == 17) || ($regex($1,/^agil(ity)?$/Si)) return 17
  elseif ($1 == 18) || ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) return 18
  elseif ($1 == 19) || ($regex($1,/^slay(er|ing)?$/Si)) return 19
  elseif ($1 == 20) || ($regex($1,/^farm(er|ing)?$/Si)) return 20
  elseif ($1 == 21) || ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) return 21
  elseif ($1 == 22) || ($regex($1,/^(con)(struct)?(ion|ing)?$/Si)) return 23
  elseif ($1 == 23) || ($regex($1,/^(hunt)(er|ing)?$/Si)) return 22
}
alias skillsname {
  if ($1 == 0) || ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall
  elseif ($1 == 1) || ($regex($1,/^at(t|k|tack)$/Si)) return Attack
  elseif ($1 == 2) || ($regex($1,/^def(en[cs]e)?$$/Si)) return Defence
  elseif ($1 == 3) || ($regex($1,/^str(ength)?$/Si)) return Strength
  elseif ($1 == 4) || ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hitpoints
  elseif ($1 == 5) || ($regex($1,/^r(ng|ange|anged|angeing|anger)?$/Si)) return Ranged
  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 Woodcutting
  elseif ($1 == 10) || ($regex($1,/^fletch(ing)?$/Si)) return Fletching
  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 Crafting
  elseif ($1 == 14) || ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smithing
  elseif ($1 == 15) || ($regex($1,/^mine(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 Thieving
  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,/^(con)(struct)?(ion|ing)?$/Si)) return Construction
  elseif ($1 == 23) || ($regex($1,/^(hunt)(er|ing)?$/Si)) return Hunter
}