rendered paste bodyon $*:text:/^((\[[a-z]{2}\])?Generic )?[@`.,!]players */iS:#: {
if ($hget(disabled,$chan)) && ($1 != $me) halt
if ($1 == $me) tokenize 32 $2-
if ($1 != $me) && ($remove($1,$left($1,1)) != players) halt
if (!$2) {
inc %plid
sockopen $+(2x,%plid) www.runescape.com 80
set -u60 %plmsg [ $+ [ %plid ] ] $iif($left($1,1) == @,msg $chan,.notice $nick)
}
if ($2 isnum 1-138) {
inc %plid 1
set -u60 %plsearch [ $+ [ %plid ] ] $2
set -u60 %plmsg [ $+ [ %plid ] ] $iif($left($1,1) == @,msg $chan,.notice $nick)
sockopen $+(x,%plid) runescape.com 80
}
elseif ($2) && ($2 !isnum 1-138) {
$iif($left($1,1) == @,msg $chan,.notice $nick) 14You must specify a world between 041-13814.
}
}
on *:SOCKOPEN:2x*:{
sockwrite -nt $sockname GET /lang/en/aff/runescape/title.ws HTTP/1.1
sockwrite -nt $sockname Host: www.runescape.com
sockwrite -nt $sockname $ctrlf $ctrlf
}
on *:SOCKOPEN:x*:{
sockwrite $sockname $+(GET /lang/en/aff/runescape/serverlist.ws?lores.x=1&plugin=0&order=MWLP HTTP/1.0,$crlf,$crlf)
}
on *:SOCKREAD:2x*:{
if ($sockerr > 0) return
sockread %2x
if (There are currently*people playing! iswm %2x) {
%plmsg [ $+ [ $right($sockname,-2) ] ] 14There are currently04 $bytes($gettok(%2x,4,32),b) 14playing Runescape.
}
}
on *:SOCKREAD:x*:{
if ($sockerr > 0) return
var %x
sockread -f %x
if ($htmlfree(%x) == World %plsearch [ $+ [ $right($sockname,-1) ] ]) && (!%plchecker [ $+ [ $right($sockname,-1) ] ]) {
set -u30 %plchecker [ $+ [ $right($sockname,-1) ] ] YES
}
if (%plchecker [ $+ [ $right($sockname,-1) ] ]) && (!%plchecker3 [ $+ [ $right($sockname,-1) ] ]) && (<td class= isin %x) {
set -u30 %plchecker3 [ $+ [ $right($sockname,-1) ] ] YES
set -u30 %loc [ $+ [ $right($sockname,-1) ] ] $htmlfree(%x)
}
if (%plchecker [ $+ [ $right($sockname,-1) ] ]) && (%plchecker3 [ $+ [ $right($sockname,-1) ] ]) && (<td class= isin %x) {
set -u30 %sta [ $+ [ $right($sockname,-1) ] ] $htmlfree(%x)
}
if (%plchecker [ $+ [ $right($sockname,-1) ] ]) && (full</td> isin %x || players</td> isin %x) && (!%plchecker2 [ $+ [ $right($sockname,-1) ] ]) {
set -u30 %plchecker2 [ $+ [ $right($sockname,-1) ] ] YES
set -u30 %plusers [ $+ [ $right($sockname,-1) ] ] $remove($htmlfree(%x),Players)
}
}
on *:SOCKCLOSE:x*:{
if (%plusers [ $+ [ $right($sockname,-1) ] ] != full) {
%plmsg [ $+ [ $right($sockname,-1) ] ] 14World:04 %plsearch [ $+ [ $right($sockname,-1) ] ] 14Users:04 %plusers [ $+ [ $right($sockname,-1) ] ] 14(04 $+ $+($ceil($calc(%plusers [ $+ [ $right($sockname,-1) ] ] /2000*100)),$chr(37)) $+ 14) Status:04 %sta [ $+ [ $right($sockname,-1) ] ] 14Location:04 %loc [ $+ [ $right($sockname,-1) ] ]
}
elseif (%plusers [ $+ [ $right($sockname,-1) ] ] == full) {
%plmsg [ $+ [ $right($sockname,-1) ] ] 14World:04 %plsearch [ $+ [ $right($sockname,-1) ] ] 14Users:04 2000 14(04100%14) Status:04 %sta [ $+ [ $right($sockname,-1) ] ] 14Location:04 %loc [ $+ [ $right($sockname,-1) ] ]
}
}
alias -l htmlfree {
var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, )
return %x
}