All pastes #198107 Raw Edit

etn0r

public text v1 · immutable
#198107 ·published 2006-10-11 19:29 UTC
rendered paste body
;###############################################
;# RuneScape Hiscore Lookup Script -Aug 25, 06 #
;# Made by Ajay_Haley (crashstash@hotmail.com) #
;# And Smooth_dudes (mc.kingo@ofir.dk)         #
;###############################################

on *:TEXT:!stats*:*: { rsprofile $2- global $nick } 
on *:TEXT:!overall*:*: { rsprofile $2- overall $nick }
on *:TEXT:!attack*:*: { rsprofile $2- attack $nick }
on *:TEXT:!defence*:*: { rsprofile $2- defence $nick }
on *:TEXT:!strength*:*: { rsprofile $2- strength $nick }
on *:TEXT:!hitpoints*:*: { rsprofile $2- hitpoints $nick }
on *:TEXT:!ranged*:*: { rsprofile $2- ranged $nick }
on *:TEXT:!prayer*:*: { rsprofile $2- prayer $nick }
on *:TEXT:!magic*:*: { rsprofile $2- magic $nick }
on *:TEXT:!cooking*:*: { rsprofile $2- cooking $nick }
on *:TEXT:!woodcutting*:*: { rsprofile $2- woodcutting $nick }
on *:TEXT:!fletching*:*: { rsprofile $2- fletching $nick }
on *:TEXT:!fishing*:*: { rsprofile $2- fishing $nick }
on *:TEXT:!firemaking*:*: { rsprofile $2- firemaking $nick }
on *:TEXT:!crafting*:*: { rsprofile $2- crafting $nick }
on *:TEXT:!smithing*:*: { rsprofile $2- smithing $nick }
on *:TEXT:!mining*:*: { rsprofile $2- mining $nick }
on *:TEXT:!herblore*:*: { rsprofile $2- herblore $nick }
on *:TEXT:!agility*:*: { rsprofile $2- agility $nick }
on *:TEXT:!thieving*:*: { rsprofile $2- thieving $nick }
on *:TEXT:!slayer*:*: { rsprofile $2- slayer $nick }
on *:TEXT:!farming*:*: { rsprofile $2- farming $nick }
on *:TEXT:!runecraft*:*: { rsprofile $2- runecraft $nick }
on *:TEXT:!construction*:*: { rsprofile $2- construction $nick }

alias rsprofile {
  set %rsp.user $upper($left($1,1)) $+ $lower($right($1,-1))
  set %rsp.exit1 $2
  set %rsp.exit2 $3

  ;###################################################
  ;### What to say if they're not on the hiscores? ###
  ;###################################################
  set %rsp.0 Not Listed

  set %rsp.rank.overall %rsp.0 | set %rsp.lvl.overall %rsp.0 | set %rsp.xp.overall %rsp.0
  set %rsp.rank.attack %rsp.0 | set %rsp.lvl.attack %rsp.0 | set %rsp.xp.attack %rsp.0
  set %rsp.rank.defence %rsp.0 | set %rsp.lvl.defence %rsp.0 | set %rsp.xp.defence %rsp.0
  set %rsp.rank.strength %rsp.0 | set %rsp.lvl.strength %rsp.0 | set %rsp.xp.strength %rsp.0
  set %rsp.rank.hitpoints %rsp.0 | set %rsp.lvl.hitpoints %rsp.0 | set %rsp.xp.hitpoints %rsp.0
  set %rsp.rank.ranged %rsp.0 | set %rsp.lvl.ranged %rsp.0 | set %rsp.xp.ranged %rsp.0
  set %rsp.rank.prayer %rsp.0 | set %rsp.lvl.prayer %rsp.0 | set %rsp.xp.prayer %rsp.0
  set %rsp.rank.magic %rsp.0 | set %rsp.lvl.magic %rsp.0 | set %rsp.xp.magic %rsp.0
  set %rsp.rank.cooking %rsp.0 | set %rsp.lvl.cooking %rsp.0 | set %rsp.xp.cooking %rsp.0
  set %rsp.rank.woodcutting %rsp.0 | set %rsp.lvl.woodcutting %rsp.0 | set %rsp.xp.woodcutting %rsp.0
  set %rsp.rank.fletching %rsp.0 | set %rsp.lvl.fletching %rsp.0 | set %rsp.xp.fletching %rsp.0
  set %rsp.rank.fishing %rsp.0 | set %rsp.lvl.fishing %rsp.0 | set %rsp.xp.fishing %rsp.0
  set %rsp.rank.firemaking %rsp.0 | set %rsp.lvl.firemaking %rsp.0 | set %rsp.xp.firemaking %rsp.0
  set %rsp.rank.crafting %rsp.0 | set %rsp.lvl.crafting %rsp.0 | set %rsp.xp.crafting %rsp.0
  set %rsp.rank.smithing %rsp.0 | set %rsp.lvl.smithing %rsp.0 | set %rsp.xp.smithing %rsp.0
  set %rsp.rank.mining %rsp.0 | set %rsp.lvl.mining %rsp.0 | set %rsp.xp.mining %rsp.0
  set %rsp.rank.herblore %rsp.0 | set %rsp.lvl.herblore %rsp.0 | set %rsp.xp.herblore %rsp.0
  set %rsp.rank.agility %rsp.0 | set %rsp.lvl.agility %rsp.0 | set %rsp.xp.agility %rsp.0
  set %rsp.rank.thieving %rsp.0 | set %rsp.lvl.thieving %rsp.0 | set %rsp.xp.thieving %rsp.0
  set %rsp.rank.slayer %rsp.0 | set %rsp.lvl.slayer %rsp.0 | set %rsp.xp.slayer %rsp.0
  set %rsp.rank.farming %rsp.0 | set %rsp.lvl.farming %rsp.0 | set %rsp.xp.farming %rsp.0
  set %rsp.rank.runecraft %rsp.0 | set %rsp.lvl.runecraft %rsp.0 | set %rsp.xp.runecraft %rsp.0
  set %rsp.rank.construction %rsp.0 | set %rsp.lvl.construction %rsp.0 | set %rsp.xp.construction %rsp.0
  sockopen rslookup hiscore.runescape.com 80
}

on *:sockopen:rslookup: { 
  sockwrite -nt $sockname GET /lang/en/aff/runescape/hiscorepersonal.ws?user1= $+ %rsp.user HTTP/1.1
  sockwrite -nt $sockname Host: hiscore.runescape.com $+ $crlf $+ $crlf
}

on *:sockread:rslookup: {
  if ($sockerr) {
    echo -a Error.
    halt
  }
  else {
    var %rsp.html
    sockread %rsp.html
    if (<td align="right">*</td> iswm %rsp.html) {
      if (%rsp.stage == 1) {
        set %rsp.rank. $+ %rsp.skill $remove(%rsp.html,<td align="right">,</td>)
        inc %rsp.stage
      }
      elseif (%rsp.stage == 2) {
        set %rsp.lvl. $+ %rsp.skill $remove(%rsp.html,<td align="right">,</td>)
        inc %rsp.stage
      }
      elseif (%rsp.stage == 3) {
        set %rsp.xp. $+ %rsp.skill $remove(%rsp.html,<td align="right">,</td>)
        inc %rsp.stage
      }
    }
    if (<td align="left"><a href="overall.ws?table=*&user=*">*</a></td> iswm %rsp.html) {
      set %rsp.skill $lower($remove(%rsp.html,%rsp.user,<td align="left"><a href="overall.ws?table=,1,2,3,4,5,6,7,8,9,0,&user=,">,</a></td>))
      set %rsp.stage 1
    }
    if (*"mainscroll-bottom"* iswm %rsp.html) {

      ;#####################################################
      ;## Main Configuration                              ##
      ;## Alter defaults or make your own query returns.  ##
      ;##                                                 ##
      ;## Feel free to make use of the these variables:   ##
      ;##  %rsp.user -- RS Username being queried         ##
      ;##  %rsp.rank.{skill} -- Returns player's rank     ##
      ;##  %rsp.lvl.{skill} -- Returns player's level     ##
      ;##  %rsp.xp.{skill} -- Returns player's experience ##
      ;##  %rsp.exit1 -- Skill being queried              ##
      ;##  %rsp.exit2 -- Channel to return query to       ##
      ;##                                                 ##
      ;## Replace "{skill}" with any skill name.          ##
      ;#####################################################

      if (%rsp.exit1 != global) {
        set %rsp.colour 7,2
        set %rsp.colour1 13,2
        set %rsp.colour2 11,2
        ;###################################################
        ;## How will you return individual skill lookups? ##
        ;###################################################
        notice %rsp.exit2 %rsp.colour1 %rsp.user $+ 's $upper($left(%rsp.exit1,1)) $+ $lower($right(%rsp.exit1,-1)) $+ %rsp.colour2 Level: $+ %rsp.colour %rsp.lvl. [ $+ [ %rsp.exit1 ] ] $upper($left(%rsp.exit1,1)) $+ $lower($right(%rsp.exit1,-1)) $+ %rsp.colour2 Exp: $+ %rsp.colour %rsp.xp. [ $+ [ %rsp.exit1 ] ] $upper($left(%rsp.exit1,1)) $+ $lower($right(%rsp.exit1,-1)) $+ %rsp.colour2 Rank: $+ %rsp.colour %rsp.rank. [ $+ [ %rsp.exit1 ] ]
        unset %rsp.colour*
      }
      else {
        ;###############################################
        ;## How will you return full hiscore lookups? ##
        ;###############################################
        set %rsp.colour 7,2
        set %rsp.half 11,2Fletching: $+ %rsp.colour %rsp.lvl.fletching 11,2Fishing: $+ %rsp.colour %rsp.lvl.fishing 11,2Firemaking: $+ %rsp.colour %rsp.lvl.firemaking 11,2Crafting: $+ %rsp.colour %rsp.lvl.crafting 11,2Smithing: $+ %rsp.colour %rsp.lvl.smithing 11,2Mining: $+ %rsp.colour %rsp.lvl.mining 11,2Herblore: $+ %rsp.colour %rsp.lvl.herblore 11,2Agility: $+ %rsp.colour %rsp.lvl.agility 11,2Thieving: $+ %rsp.colour %rsp.lvl.thieving 11,2Slayer: $+ %rsp.colour %rsp.lvl.slayer 11,2Farming: $+ %rsp.colour %rsp.lvl.farming 11,2Runecraft: $+ %rsp.colour %rsp.lvl.runecraft 11,2Construction: $+ %rsp.colour %rsp.lvl.construction
        notice %rsp.exit2 13,2Hiscores for %rsp.user $+ : 11,2Overall: $+ %rsp.colour %rsp.lvl.overall 11,2Attack: $+ %rsp.colour %rsp.lvl.attack 11,2Defence: $+ %rsp.colour %rsp.lvl.defence 11,2Strength: $+ %rsp.colour %rsp.lvl.strength 11,2Hitpoints: $+ %rsp.colour %rsp.lvl.hitpoints 11,2Ranged: $+ %rsp.colour %rsp.lvl.ranged 11,2Prayer: $+ %rsp.colour %rsp.lvl.prayer 11,2Magic: $+ %rsp.colour %rsp.lvl.magic 11,2Cooking: $+ %rsp.colour %rsp.lvl.cooking 11,2Woodcutting: $+ %rsp.colour %rsp.lvl.woodcutting  $+ %rsp.half

      }
      unset %rsp.*
    }
  }
}