All pastes #153464 Raw Edit

Untitled

public text v1 · immutable
#153464 ·published 2006-08-29 16:58 UTC
rendered paste body
on *:TEXT:?*:#:{
  if ($istok(Overall|Attack|Defence|Strength|Hitpoints|Ranged|Magic|Fletching|Smithing|Mining|Construction|Farming|Slayer|Woodcutting|Firemaking|Cooking|Fishing|Crafting|Runecrafting|Agility|Theiving|Herblore|Prayer,$remove($1,$left($1,1)),124) == $true) {
    inc %skillsid 1
    set %skill [ $+ [ %skillsid ] ] $remove($1,$left($1,1))
    set %skillschar [ $+ [ %skillsid ] ] $left($1,1)
    set %skillsnick [ $+ [ %skillsid ] ] $nick
    if (!$2) { set %skillsname [ $+ [ %skillsid ] ] $nick }
    else {
      set %skillsname [ $+ [ %skillsid ] ] $2
    }
    set %skillschan [ $+ [ %skillsid ] ] $chan
    sockopen skills [ $+ [ %skillsid ] ] altscripts.trap17.com 80
  }
}
on *:SOCKOPEN:skills*:{
  sockwrite -nt $sockname GET /rsparsers/highscores.php?rsn= $+ %skillsname [ $+ [ $right($sockname,-6) ] ] HTTP/1.1
  sockwrite -nt $sockname Host: altscripts.trap17.com
  sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:skills*:{
  if ($sockerr) {
    msg %skillschan [ $+ [ $right($sockname,-6) ] ] There has been a socket error. This could mean RuneScape have changed their highscore page.
  }
  else {
    var %read
    sockread -f %read
    if (!$sockbr) { break }
    if ((%skill [ $+ [ $right($sockname,-6) ] ] $+ :* iswm %read) && (*-* !iswm %read)) {
      set %skillsdone [ $+ [ $right($sockname,-6) ] ] isranked
      set %skilllevel [ $+ [ $right($sockname,-6) ] ] $remove($gettok(%read,2,58),<br />)
      set %skillname [ $+ [ $right($sockname,-6) ] ] $remove($gettok(%read,1,58),<br />)
      var %skillrank $remove($gettok(%read,4,58),<br>)
      set %skillrank2 [ $+ [ $right($sockname,-6) ] ] $remove(%skillrank,$chr(44))
      var %skillexpcurrent $remove($gettok(%read,3,58),<br />,$chr(44))
      var %skillexpnext $getxp($calc(%skilllevel [ $+ [ $right($sockname,-6) ] ] + 1))
      set %skillexp2next [ $+ [ $right($sockname,-6) ] ] $calc(%skillexpnext - %skillexpcurrent)
      set %skillexpcurrent [ $+ [ $right($sockname,-6) ] ] $remove($gettok(%read,3,58),<br />,$chr(44))
    }
    if ((*<br />* iswm %read) && (%skillsdone [ $+ [ $right($sockname,-6) ] ] == isranked)) {
      if (%skillschar [ $+ [ $right($sockname,-6) ] ] == @) {
        msg %skillschan [ $+ [ $right($sockname,-6) ] ] 5 $+ %skillname [ $+ [ $right($sockname,-6) ] ] info for2 %skillsname [ $+ [ $right($sockname,-6) ] ] $+ 5:
        msg %skillschan [ $+ [ $right($sockname,-6) ] ] 5Level:2 %skilllevel [ $+ [ $right($sockname,-6) ] ] 5Current exp:2 $bytes(%skillexpcurrent [ $+ [ $right($sockname,-6) ] ],bd) 5Exp till next level:2 $bytes($iif(%skilllevel [ $+ [ $right($sockname,-6) ] ] => 127,N/A, $+ %skillexp2next [ $+ [ $right($sockname,-6) ] ] $+ ),bd) 5Ranked:2 $ord( $+ $bytes(%skillrank2 [ $+ [ $right($sockname,-6) ] ],bd) $+ ) $+ 
      }
      if (%skillschar [ $+ [ $right($sockname,-6) ] ] == !) {
        notice %skillsnick [ $+ [ $right($sockname,-6) ] ] 5 $+ %skillname [ $+ [ $right($sockname,-6) ] ] info for2 %skillsname [ $+ [ $right($sockname,-6) ] ] $+ 5:
        notice %skillsnick [ $+ [ $right($sockname,-6) ] ] 5Level:2 %skilllevel [ $+ [ $right($sockname,-6) ] ] 5Current exp:2 $bytes(%skillexpcurrent [ $+ [ $right($sockname,-6) ] ],bd) 5Exp till next level:2 $bytes($iif(%skilllevel [ $+ [ $right($sockname,-6) ] ] => 127,N/A, $+ %skillexp2next [ $+ [ $right($sockname,-6) ] ] $+ ),bd) 5Ranked:2 $ord( $+ $bytes(%skillrank2 [ $+ [ $right($sockname,-6) ] ],bd) $+ ) $+ 
      }
    }
    elseif ((*<br />* iswm %read) && (%skillsdone [ $+ [ $right($sockname,-6) ] ] != isranked)) {
      if (%skillschar [ $+ [ $right($sockname,-6) ] ] == @) {
        msg %skillschan [ $+ [ $right($sockname,-6) ] ] 2 $+ %skillsname [ $+ [ $right($sockname,-6) ] ] $+ 's5 %skill [ $+ [ $right($sockname,-6) ] ] isn't ranked.
      }
      if (%skillschar [ $+ [ $right($sockname,-6) ] ] == !) {
        notice %skillsnick [ $+ [ $right($sockname,-6) ] ] 2 $+ %skillsname [ $+ [ $right($sockname,-6) ] ] $+ 's5 %skill [ $+ [ $right($sockname,-6) ] ] isn't ranked.
      }
    }
  }
}

alias getxp {
  var %x = 1, %level = $calc($1 - 1), %xp = 0
  while (%x <= %level) {
    var %TempXp = $calc($floor($calc(%x + 300 * 2 ^ (%x / 7))) / 4)
    inc %xp %TempXp
    inc %x
  }
  return $int(%xp)
}