;###############################################
;# RuneScape Hiscore Lookup Script -Aug 25, 06 #
;# Made by Ajay Haley (crashstash@hotmail.com) #
;# The mIRC Scripting Guild (msg.cryptica.net) #
;###############################################
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 {
;##########################################
;### What to say if the script is busy? ###
;##########################################
if (%rsp.busy == yes) {
msg $chan $nick $+ , I cannot check two people at once. Give me a break.
}
set %rsp.busy yes
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 --
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 (
* | iswm %rsp.html) {
if (%rsp.stage == 1) {
set %rsp.rank. $+ %rsp.skill $remove(%rsp.html,, | )
inc %rsp.stage
}
elseif (%rsp.stage == 2) {
set %rsp.lvl. $+ %rsp.skill $remove(%rsp.html,, | )
inc %rsp.stage
}
elseif (%rsp.stage == 3) {
set %rsp.xp. $+ %rsp.skill $remove(%rsp.html,, | )
inc %rsp.stage
}
}
if (* | iswm %rsp.html) {
set %rsp.skill $lower($remove(%rsp.html,%rsp.user,, | ))
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) {
;###################################################
;## How will you return individual skill lookups? ##
;###################################################
notice %rsp.exit2 %rsp.user $+ 's $upper($left(%rsp.exit1,1)) $+ $lower($right(%rsp.exit1,-1)) Level: %rsp.lvl. [ $+ [ %rsp.exit1 ] ]
}
else {
;###############################################
;## How will you return full hiscore lookups? ##
;###############################################
set %rsp.style 4
set %rsp.colour 12
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
notice %rsp.exit2 $+ %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.exit2
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
}
}
}