All pastes #263266 Raw Edit

Someone

public text v1 · immutable
·published 2006-12-01 10:26 UTC
rendered paste body
on *:TEXT:?world *:#:{
  if ($left($1,1) !isin !@) halt
  var %target $iif($left($1,1) == @,msg $chan,notice $nick)
  if (!$2) {
    var %i 1
    while ($sock($+(world.,%i))) {
      inc %i
    }
    sockopen $+(world.,%i) mrstk.com 80
    sockmark $+(world.,%i) $+(%target,§,all)
  }
  elseif ($2 !isnum 1-132) {
    %target $cc1(Please specify a valid world number.)
    halt
  }
  else {
    var %i 1
    while ($sock($+(world.,%i))) {
      inc %i
    }
    sockopen $+(world.,%i) mrstk.com 80
    sockmark $+(world.,%i) $+(%target,§,$2)
  }
}

on *:SOCKOPEN:world.*:{
  sockwrite -n $sockname GET /genie/worlds.php HTTP/1.1
  sockwrite -n $sockname Host: mrstk.com $+ $crlf $+ $crlf
}

on *:SOCKREAD:world.*:{
  var %world.num = $gettok($sock($sockname).mark,2,167), %world.target = $gettok($sock($sockname).mark,1,167), %online.players
  if ($sockerr) {
    %world.target $cc2(Socket error.)
    halt
  }
  else {
    var %temptext
    sockread %temptext
    if (%world.num == all) {
      if (World isin %temptext) {
        var %worldline $remove($striptags($replace(%temptext,:,$chr(32) $+ $chr(45),$chr(32) $+ $chr(45) $+ $chr(32),$chr(45),FULL,2000)),$chr(32) $+ Players)
        tokenize 45 %worldline
        inc %online.players $2
      }
      %world.target $cc1(There are currently) $cc2($bytes(%online.players,b)) $cc1(players online on 132 worlds $chr(40)) $+ $cc2($bytes($round($calc(%online.players / 132),0),b)) $+ $cc1(/world.)
    }
    else {
      if (*World %world.num $+ :* iswm %temptext) {
        var %worldline $remove($striptags($replace(%temptext,:,$chr(32) $+ $chr(45),$chr(32) $+ $chr(45) $+ $chr(32),$chr(45),Free,F2P,Members,P2P)),$chr(32) $+ Players)
        tokenize 45 %worldline
        if ($2 == FULL) {
          %world.target $cc1(World) $cc2(%world.num) $cc1($chr(40)) $+ $cc2($4) $+ $cc1($chr(41) is currently) $cc2(FULL) $+ $cc1(.)
        }
        else {
          %world.target $cc1(World) $cc2(%world.num) $cc1($chr(40)) $+ $cc2($4) $+ $cc1($chr(41) currently has) $cc2($bytes($2,b)) $cc1(players in it.)
        }
        sockclose $sockname
        halt
      }
    }
  }
}

alias -l striptags { var %x,%y = $regsub($1-,/(<[^>]+>)/g,$null,%x) | return %x }