All pastes #282229 Raw Edit

PlayersScript

public text v1 · immutable
#282229 ·published 2006-12-17 12:06 UTC
rendered paste body
on $*: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,&nbsp;)
  return %x
}