on $*:TEXT:/^[!@]rank/Si:#: { if (($2 isnum 1-1000000) && ($rankpage($3))) { inc %x set %display $iif($left($1,1) == @,msg #,notice $nick) set $+(%,ranknum,%r) $2 set $+(%,rankname,%r) $3 set $+(%,rankskill,%r) $rankpage($3) sockopen $+(rank,%r) hiscores.runescape.com 80 } } on *:SOCKOPEN:rank: { var %r = $gettok($sockname,2,46) sockwrite -nt $sockname GET /overall.ws?table= $+ $($+(%,rankskill,%r),2) $+ &rank= $+ $($+(%,ranknum,%r),2) HTTP/1.1 sockwrite -nt $sockname HOST: hiscores.runescape.com sockwrite -nt $sockname $crlf } on *:SOCKREAD:rank: { if ($sockerr) %display 10 ERROR } var %r = $gettok($sockname,2,46) var %rank sockread %rank if (* iswm %rank { set $+(%,ranknum1,%r) $remove(%rank,) } if (** isin %rank { set $+(%,rankperson,%r) $remove(%rank,,) } if (* isin %rank { set $+(%,ranklvl,%r) $remove(%rank,,) } if (** isin %rank { set $+(%,rankexp,%r) $remove(,) } if ( isin %rank { %display 10Rank: 7 %2 10Username: 7 $($+(%,rankperson,%r),2) 10Level: 7 $($+(%,ranklvl,%r),2) 10Exp: 7 $($+(%,rankexp,%r),2) sockclose %sockname | unset %r } } alias rankpage { if ($1 == Overall) { return 0 } if ($1 == Attack) { return 1 } if ($1 == Defence) { return 2 } if ($1 == Strength) { return 3 } if ($1 == Hitpoints) { return 4 } if ($1 == Ranged) { return 5 } if ($1 == Prayer) { return 6 } if ($1 == Magic) { return 7 } if ($1 == Cooking) { return 8 } if ($1 == Woodcutting) { return 9 } if ($1 == Fletching) { return 10 } if ($1 == Fishing) { return 11 } if ($1 == Firemaking) { return 12 } if ($1 == Crafting) { return 13 } if ($1 == Smithing) { return 14 } if ($1 == Mining) { return 15 } if ($1 == Herblore) { return 16 } if ($1 == Agility) { return 17 } if ($1 == Thieving) { return 18 } if ($1 == Slayer) { return 19 } if ($1 == Farming) { return 20 } if ($1 == Runecraft) { return 21 } if ($1 == Hunter) { return 22 } if ($1 == Construction) { return 23 }