rendered paste bodyalias stats.clear { unset %printline1 | unset %printline2 | unset %stats.* | set %y 1 }
on $*:TEXT:/^[!@]stats .{1,12}$/Si:#:{
sockopen stats hiscore.runescape.com 80
.set %stats.send $iif($left($1,1) == @,msg $chan,.notice $nick)
.set %stats.name $replace($2-,$chr(32),+)
.set %stats.color1 $chr(3) $+ 10
.set %stats.nick $nick
.set %stats.color2 $chr(3) $+ 14
}
on *:sockopen:stats:{
if ($sockerr) { echo -s Stats Script SockOpen Error: $sock(stats).wsmsg | .notice %stats.nick Stats Script SockOpen Error: $sock(stats).wsmsg | stats.clear | halt }
sockwrite -nt $sockname GET /lang/en/aff/runescape/hiscorepersonal.ws?user1= $+ %stats.name HTTP/1.1
sockwrite -nt $sockname Host: hiscore.runescape.com $+ $str($crlf,2)
}
on *:sockread:stats:{
if ($sockerr) { echo -s Stats Script SockRead Error: $sock(stats).wsmsg | .notice %stats.nick Stats Script SockRead Error: $sock(stats).wsmsg | stats.clear | halt }
var %read | .sockread %read
if ($regex(%read,/^<tr><td colspan="5" align="center"><b>Personal scores for (.*)</b></td></tr>$/i)) { set %stats.rsn $regml(1) }
if ($regex(%read,/^(Overall|Attack|Defence|Strength|Hitpoints|Ranged|Prayer|Magic|Cooking|Woodcutting|Fletching|Fishing|Firemaking|Crafting|Smithing|Mining|Herblore|Agility|Thieving|Slayer|Farming|Runecraft|Hunter|Construction)?$/i)) { set %stats.skill $regml(1) }
if ($regex(%read,/^<td align="right">(.*)</td>$/i)) {
if (%y == 1) && (<img class= !isin $regml(1)) { set %stats. $+ %stats.skill $+ .rank $regml(1) }
if (%y == 2) { set %stats. $+ %stats.skill $+ .level $regml(1) }
if (%y == 3) { set %stats. $+ %stats.skill $+ .exp $regml(1) }
if (%y == 4) { set %y 0 }
inc %y 1
}
}
on *:sockclose:stats:{
if (%stats.Overall.level != $null) { set %x 2 }
else { set %x 1 }
while ($var(%stats.*.level,%x) != $null) {
if (%x < 23) { %printline1 = %printline1 $+(%stats.color1,$right($left($var(%stats.*.level,%x),-6),-7),:,%stats.color2) $eval($var(%stats.*.level,%x),2) | inc %x 1 }
else { %printline2 = %printline2 $+(%stats.color1,$right($left($var(%stats.*.level,%x),-6),-7),:,%stats.color2) $eval($var(%stats.*.level,%x),2) | inc %x 1 }
}
%stats.send $+(%stats.color1,Personal Scores For,%stats.color2) %stats.rsn - $+(%stats.color1,Skill Total:,%stats.color2) $bytes(%stats.Overall.level,b) | %stats.send %printline1 | $iif(%printline2 != $null,%stats.send %printline2,) | stats.clear | halt
}