rendered paste bodyalias s.num {
if ($regex($1,/^(overall|total|st|skillt|stotal|skilltotal)$/Si)) { return 0 }
if ($regex($1,/^(at|att|attack|atk)$/Si)) { return 1 }
if ($regex($1,/^(de|def|defence|dfnc)$/Si)) { return 2 }
if ($regex($1,/^(st|str|strength)$/Si)) { return 3 }
if ($regex($1,/^(hp|hits|hitpoints|hitpoint|hpoint|hitp)$/Si)) { return 4 }
if ($regex($1,/^(ranged|range|arch|archery|arching)$/Si)) { return 5 }
if ($regex($1,/^(prayer|pray|faith)$/Si)) { return 6 }
if ($regex($1,/^(magic|mage|mag|mgk|mgc|spell)$/Si)) { return 7 }
if ($regex($1,/^(cooking|cook|food|ck)$/Si)) { return 8 }
if ($regex($1,/^(wc|wood|woodcut|woodcutting|wcut|woodc)$/Si)) { return 9 }
if ($regex($1,/^(fletch|fletching|fl)$/Si)) { return 10 }
if ($regex($1,/^(fish|fishing|fsh|fi)$/Si)) { return 11 }
if ($regex($1,/^(firemaking|fm|fire|firemake|firem|fmake)$/Si)) { return 12 }
if ($regex($1,/^(craft|crafting|cr)$/Si)) { return 13 }
if ($regex($1,/^(smith|sm|smithing)$/Si)) { return 14 }
if ($regex($1,/^(mine|mining|mi)$/Si)) { return 15 }
if ($regex($1,/^(herb|herblore|herbal)$/Si)) { return 16 }
if ($regex($1,/^(agil|agility|agile|ag)$/Si)) { return 17 }
if ($regex($1,/^(thieving|thiev|thief|steal)$/Si)) { return 18 }
if ($regex($1,/^(slay|slayer|slaying)$/Si)) { return 19 }
if ($regex($1,/^(farm|farming|frm)$/Si)) { return 20 }
if ($regex($1,/^(rc|rune|runecraft|runecrafting|runec|rcraft)$/Si)) { return 21 }
if ($regex($1,/^(hunt|hunter|hunting)$/Si)) { return 22 }
if ($regex($1,/^(constr|construction|build)$/Si)) { return 23 }
else { return 0 }
}
alias nohtml {
var %x,%i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x)
%x = $replace(%x, ,$null)
return %x
}
alias c1 { return $chr(3) $+ $iif($readini(Colors.ini,Color1, %nick ),$v1,1) $+ $1 }
alias c2 { return $chr(3) $+ $iif($readini(Colors.ini,Color2, %nick ),$v1,12) $+ $1 }
on $*:TEXT:/^[!@](rank|rnk|place|spot) */Si:#: {
if (%scriptson. [ $+ [ $chan ] ] == off) halt
set %nick $nick
if ($sock(rank)) { halt }
.unset %rank.*
.set %rank.out $iif($left($1,1) == @,msg $chan,notice $nick)
var %r.num = $regex($2,/([0-9]+)/Si)
.set %rank.num $replace($regml(1),m,000000,k,000)
.set %rank.skill $remove($2-,$regml(1),$chr(32))
.sockopen rank hiscore.runescape.com 80
}
on *:SOCKOPEN:rank: {
if ($sockerr) { echo 4 -s ** SockOpen Error ** $sock($sockname).wsmsg | return }
.sockwrite -n rank GET /lang/en/aff/runescape/overall.ws?table= $+ $s.num(%rank.skill) $+ &rank= $+ %rank.num HTTP/1.1
.sockwrite -n rank Host: hiscore.runescape.com $+ $crlf $+ $crlf
}
on *:SOCKREAD:rank: {
if ($sockerr) { echo 4 -s ** SockRead Error ** $sock($sockname).wsmsg | return }
.sockread %rank.r
if (*#AA0022* iswm %rank.r && %rank.lvl && !%rank.exp) { .set %rank.exp $nohtml(%rank.r) }
if (*#AA0022* iswm %rank.r && %rank.name && !%rank.lvl) { .set %rank.lvl $nohtml(%rank.r) }
if (*#AA0022* iswm %rank.r && %rank.rank && !%rank.name) { .set %rank.name $nohtml(%rank.r) }
if (*#AA0022* iswm %rank.r && !%rank.rank) { .set %rank.rank $nohtml(%rank.r) }
}
on *:SOCKCLOSE:rank: {
if (!%rank.lvl) { %rank.out $c1(No user found as rank) $c2(%rank.num) }
else { %rank.out $c1(Skill:) $c2(%rank.skill) $c1(Rank:) $c2(%rank.rank) $c1(User:) $c2(%rank.name) $c1(Level:) $c2(%rank.lvl) $c1(Exp:) $c2(%rank.exp) }
unset %nick
}