All pastes #189420 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-10-03 01:59 UTC
rendered paste body
;###############################################
;# RuneScape Hiscore Lookup Script -Aug 25, 06 #
;# Made by Ajay Haley (crashstash@hotmail.com) #
;# The mIRC Scripting Guild (msg.cryptica.net) #
;# Modified by RadoN                           #
;#                                             #
;#  IF YOU WANT TO USE THIS SCRIPT, MAKE SURE  #
;#  THAT YOU COPY >>EVERYTHING<< HERE OR ELSE  #
;#  IT WILL NOT WORK!!!!!!!! Hint: Use CTRL+A  #
;###############################################

on $*:TEXT:/^[!@]stats */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) global | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]total|overall */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) overall | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]att|attack */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) attack | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]def|defence */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) defence | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]str|strength */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) strength | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]hp|hitpoints */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) hitpoints | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]range|ranged */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) ranged | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]prayer */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) prayer | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]magic|mage */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) magic | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]cooking */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) cooking | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]wc|woodcutting */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) woodcutting | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]fletching */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) fletching | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]fishing */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) fishing | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]firemaking */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) firemaking | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]crafting */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) crafting | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]smithing */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) smithing | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]mining */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) mining | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]herblore */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) herblore | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]agility */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) agility | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]theiving|thieving */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) thieving | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]slayer */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) slayer | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]farming */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) farming | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]rc|runecraft|runecrafting */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) runecraft | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }
on $*:TEXT:/^[!@]construction */Si:#: { rsprofile $replace($2-,$chr(32),$chr(95)) construction | set %send $iif($left($1,1) == @,msg $chan,notice $nick) }

alias rsprofile {
  ;##########################################
  ;### What to say if the script is busy? ###
  ;##########################################
  if (%rsp.busy == yes) {
    notice $nick $nick $+ , I cannot check two people at once. Please wait. | halt
  }

  set %rsp.busy yes
  set %rsp.user $upper($left($1,1)) $+ $lower($right($1,-1))
  set %rsp.exit1 $2
  set %rsp.style 7
  set %rsp.colour 4

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

  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              ##
      ;##                                                 ##
      ;## Replace "{skill}" with any skill name.          ##
      ;#####################################################

      if (%rsp.exit1 != global) {

        ;###################################################
        ;## How will you return individual skill lookups? ##
        ;###################################################
        %send %rsp.style $+ %rsp.user $+ 's $upper($left(%rsp.exit1,1)) $+ $lower($right(%rsp.exit1,-1))  Level:4 [ %rsp.lvl. [ $+  [ %rsp.exit1 ] ] ] %rsp.style $+ Rank:4 [ %rsp.rank. [ $+  [ %rsp.exit1 ] ] ] %rsp.style $+ Xp:4 [ %rsp.xp. [ $+  [ %rsp.exit1 ] ] ]

      }
      else {
        ;###############################################
        ;## How will you return full hiscore lookups? ##
        ;###############################################
        set %rsp.half Fishing: $+ %rsp.colour %rsp.lvl.fishing %rsp.style $+ Firemaking: $+ %rsp.colour %rsp.lvl.firemaking %rsp.style $+ Crafting: $+ %rsp.colour %rsp.lvl.crafting %rsp.style $+  Smithing: $+ %rsp.colour %rsp.lvl.smithing %rsp.style $+ Mining: $+ %rsp.colour %rsp.lvl.mining %rsp.style $+ Herblore: $+ %rsp.colour %rsp.lvl.herblore %rsp.style $+ Agility: $+ %rsp.colour %rsp.lvl.agility %rsp.style $+ Thieving: $+ %rsp.colour %rsp.lvl.thieving %rsp.style $+ Slayer: $+ %rsp.colour %rsp.lvl.slayer %rsp.style $+ Farming: $+ %rsp.colour %rsp.lvl.farming %rsp.style $+  Runecraft: $+ %rsp.colour %rsp.lvl.runecraft %rsp.style $+ Construction: $+ %rsp.colour %rsp.lvl.construction
        %send  $+ %rsp.user $+ : %rsp.style $+ Overall: $+ %rsp.colour %rsp.lvl.overall %rsp.style $+ Attack: $+ %rsp.colour %rsp.lvl.attack %rsp.style $+ Defence: $+ %rsp.colour %rsp.lvl.defence %rsp.style $+ Strength: $+ %rsp.colour %rsp.lvl.strength %rsp.style $+ Hitpoints: $+ %rsp.colour %rsp.lvl.hitpoints %rsp.style $+ Ranged: $+ %rsp.colour %rsp.lvl.ranged %rsp.style $+ Prayer:  $+ %rsp.colour %rsp.lvl.prayer %rsp.style $+ Magic: $+ %rsp.colour %rsp.lvl.magic %rsp.style $+  Cooking: $+ %rsp.colour %rsp.lvl.cooking %rsp.style $+ Woodcutting: $+ %rsp.colour %rsp.lvl.woodcutting %rsp.style $+ Fletching: $+ %rsp.colour %rsp.lvl.fletching %rsp.style $+ %rsp.half

      }
      unset %rsp.busy
      unset %rsp.user
      unset %rsp.exit1
      unset %rsp.0
      unset %rsp.rank.overall %rsp.0 | unset %rsp.lvl.overall %rsp.0 | unset %rsp.xp.overall %rsp.0
      unset %rsp.rank.attack %rsp.0 | unset %rsp.lvl.attack %rsp.0 | unset %rsp.xp.attack %rsp.0
      unset %rsp.rank.defence %rsp.0 | unset %rsp.lvl.defence %rsp.0 | unset %rsp.xp.defence %rsp.0
      unset %rsp.rank.strength %rsp.0 | unset %rsp.lvl.strength %rsp.0 | unset %rsp.xp.strength %rsp .0
      unset %rsp.rank.hitpoints %rsp.0 | unset %rsp.lvl.hitpoints %rsp.0 | unset %rsp.xp.hitpoints % rsp.0
      unset %rsp.rank.ranged %rsp.0 | unset %rsp.lvl.ranged %rsp.0 | unset %rsp.xp.ranged %rsp.0
      unset %rsp.rank.prayer %rsp.0 | unset %rsp.lvl.prayer %rsp.0 | unset %rsp.xp.prayer %rsp.0
      unset %rsp.rank.magic %rsp.0 | unset %rsp.lvl.magic %rsp.0 | unset %rsp.xp.magic %rsp.0
      unset %rsp.rank.cooking %rsp.0 | unset %rsp.lvl.cooking %rsp.0 | unset %rsp.xp.cooking %rsp.0
      unset %rsp.rank.woodcutting %rsp.0 | unset %rsp.lvl.woodcutting %rsp.0 | unset %rsp.xp.woodcutting %rsp.0
      unset %rsp.rank.fletching %rsp.0 | unset %rsp.lvl.fletching %rsp.0 | unset %rsp.xp.fletching % rsp.0
      unset %rsp.rank.fishing %rsp.0 | unset %rsp.lvl.fishing %rsp.0 | unset %rsp.xp.fishing %rsp.0
      unset %rsp.rank.firemaking %rsp.0 | unset %rsp.lvl.firemaking %rsp.0 | unset %rsp.xp.firemaking  %rsp.0
      unset %rsp.rank.crafting %rsp.0 | unset %rsp.lvl.crafting %rsp.0 | unset %rsp.xp.crafting %rsp .0
      unset %rsp.rank.smithing %rsp.0 | unset %rsp.lvl.smithing %rsp.0 | unset %rsp.xp.smithing %rsp .0
      unset %rsp.rank.mining %rsp.0 | unset %rsp.lvl.mining %rsp.0 | unset %rsp.xp.mining %rsp.0
      unset %rsp.rank.herblore %rsp.0 | unset %rsp.lvl.herblore %rsp.0 | unset %rsp.xp.herblore %rsp .0
      unset %rsp.rank.agility %rsp.0 | unset %rsp.lvl.agility %rsp.0 | unset %rsp.xp.agility %rsp.0
      unset %rsp.rank.thieving %rsp.0 | unset %rsp.lvl.thieving %rsp.0 | unset %rsp.xp.thieving %rsp .0
      unset %rsp.rank.slayer %rsp.0 | unset %rsp.lvl.slayer %rsp.0 | unset %rsp.xp.slayer %rsp.0
      unset %rsp.rank.farming %rsp.0 | unset %rsp.lvl.farming %rsp.0 | unset %rsp.xp.farming %rsp.0
      unset %rsp.rank.runecraft %rsp.0 | unset %rsp.lvl.runecraft %rsp.0 | unset %rsp.xp.runecraft % rsp.0
      unset %rsp.rank.construction %rsp.0 | unset %rsp.lvl.construction %rsp.0 | unset %rsp.xp.construction %rsp.0
      unset %rsp.skill
      unset %rsp.stage
      unset %rsp.style
      unset %rsp.colour
      unset %rsp.half
      unset %send
    }
  }
}