alias rsstats.voice { if ($me isop $chan) || ($me ishop $chan) { var %x = 1 while (%x <= $nick($chan,0,r)) { var %s = 1 while ($sock(rsstats. $+ %s)) || ($sock(rsstat. $+ %s)) { inc %s } set %rsstats.skill. [ $+ [ %s ] ] autovoice set %rsstats.rsn. [ $+ [ %s ] ] $nick($chan,%x,r) set %rsstats.chan. [ $+ [ %s ] ] $chan if (%rsstats.settingssource == rscript) { sockopen rsstats. [ $+ [ %s ] ] rscript.org 80 } elseif (%rsstats.settingssource == backup) { var %style = combat set %rsstats.rsn. [ $+ [ %s ] ] $nick sockopen rsstat. [ $+ [ %s ] ] hiscore.runescape.com 80 } inc %x } } } alias rsstats.cleanup { if ($1 != all) { unset %rsstats.*. [ $+ [ $1 ] ] sockclose rsstats. [ $+ [ $1 ] ] } elseif ($1 == all) { unset %rsstats.*.* var %c = 1 while ($sock(rsstats. $+ %c)) { sockclose rsstats. [ $+ [ %c ] ] } } } on *:disconnect: { rsstats.cleanup all } on *:join:#pestcontrol: { if ($me isop $chan) || ($me ishop $chan) { if ($read(RSStatsnick.txt,w,$nick)) { halt } if ($read(RSCache.txt,s,$nick)) { mode $chan +v $nick } var %s = 1 while ($sock(rsstats. $+ %s)) || ($sock(stat. $+ %s)) { inc %s } set %rsstats.skill. [ $+ [ %s ] ] autovoice set %rsstats.rsn. [ $+ [ %s ] ] $nick set %rsstats.chan. [ $+ [ %s ] ] $chan if (%rsstats.settingssource == rscript) { sockopen rsstats. [ $+ [ %s ] ] rscript.org 80 } elseif (%rsstats.settingssource == backup) { var %id %s if ($len($nick) > 12) { inc %kicks ban -ku120 $chan $nick Your nickname is too long 12¤4 %kicks $+ 1 cleanup %ID halt } set $+(%,stats.rsn.,%ID) $nick set $+(%,stats.style.,%ID) combat set $+(%,stats.skill.,%ID) %skill sockopen $+(stats.,%ID) hiscore.runescape.com 80 } } } on *:sockopen:rsstats.*: { sockwrite -nt $sockname GET /lookup.php?type=stats&user= $replace(%rsstats.rsn. [ $+ [ $right($sockname,-7) ] ],$chr(32),$chr(95)) HTTP/1.1 sockwrite -nt $sockname Host: rscript.org sockwrite -nt $sockname $crlf } on *:sockopen:stats.*: { var %id = $gettok($sockname,2,46) sockwrite -n $sockname GET /lang/en/aff/runescape/hiscorepersonal.ws?user1= $+ $($+(%,stats.rsn.,%ID),2) HTTP/1.1 sockwrite -n $sockname Host: hiscore.runescape.com $+ $crlf $+ $crlf } on *:sockread:stats.*: { sockread &Incoming bwrite $sockname -1 -1 &Incoming if ($bfind(&Incoming, 1, ).text) makehash $sockname elseif ($bfind(&Incoming, 1, does not feature in the hiscores.).text) { inc %kicks ban -ku30 %rsstats.chan. [ $+ [ $gettok($sockname,2,46) ] ] %rsstats.rsn. [ $+ [ $gettok($sockname,2,46) ] ] Please use your Runescape Username. Use _ as spaces 12¤4 %kicks $+ 1 sockclose $sockname cleanup $gettok($sockname,2,46) } } alias -l makehash { var %file = $1 bread %file 1 $file(%file).size &stats var %currentstat, %x = 1 while (%x) { var %x = $bfind(&stats,$calc(%x + 1),