alias 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) .set %rank.num $replace($2,m,000000,k,000) .set %rank.skill $remove($3,$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 }