All pastes #228726 Raw Edit

Untitled

public text v1 · immutable
#228726 ·published 2006-10-30 06:17 UTC
rendered paste body
on $*:TEXT:/^[@!]rsworld */Si:#:{
  if ((%publicoff [ $+ [ $chan ] ]) && ($left($1,1) == @)) { halt }
  if ($2) {
    inc %worldid 1
    set %world [ $+ [ %worldid ] ] $2
    set %worldnick [ $+ [ %worldid ] ] $nick
    set %worldchan [ $+ [ %worldid ] ] $chan
    set %worldchar [ $+ [ %worldid ] ] $left($1,1)
    sockopen world [ $+ [ %worldid ] ] mrstk.com 80
  }
  else {
    var %msg $iif($left($1,1) == !,notice $nick,msg $chan)
    %msg 5Please specify a 2world5.
  }
}
on *:SOCKOPEN:world*:{
  sockwrite -nt $sockname GET /genie/worlds.php?w= $+ %world [ $+ [ $right($sockname,-5) ] ] HTTP/1.1
  sockwrite -nt $sockname Host: mrstk.com
  sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:world*:{
  if ($sockerr) {
    msg %statschan [ $+ [ $right($sockname,-5) ] ] There has been a socket error. This could mean RuneScape have changed their highscore page.
  }
  else {
    var %read
    sockread -f %read
    if ((World* iswm %read) && (*L* iswm $gettok($gettok(%read,2,58),1,45))) {
      var %msg $iif(%worldchar [ $+ [ $right($sockname,-5) ] ] == !,notice %worldnick [ $+ [ $right($sockname,-5) ] ],msg %worldchan [ $+ [ $right($sockname,-5) ] ])
      %msg 5Information for world:2 %world [ $+ [ $right($sockname,-5) ] ] $+ 5.
      %msg 5Players:2 $remove($gettok($gettok(%read,2,58),1,45),players) 5Location:2 $gettok($gettok(%read,2,58),2,45) 5Status:2 $+ $remove($gettok($gettok(%read,2,58),3,45),<br />)
      unset $+(%,world,*,$right($sockname,-5))
    }
    elseif ((World* iswm %read) && (*L* !iswm $gettok($gettok(%read,2,58),1,45))) {
      var %msg $iif(%worldchar [ $+ [ $right($sockname,-5) ] ] == !,notice %worldnick [ $+ [ $right($sockname,-5) ] ],msg %worldchan [ $+ [ $right($sockname,-5) ] ])
      %msg 5Information for world:2 %world [ $+ [ $right($sockname,-5) ] ] $+ 5.
      %msg 5World2 %world [ $+ [ $right($sockname,-5) ] ] 5isn't a RuneScape world!
      unset $+(%,world,*,$right($sockname,-5))
    }
  }
}
on *:text:?news*:#:{
  inc %newsid 1
  if ($2 isnum 1-5) {
    set %news [ $+ [ %newsid ] ] $2
  }
  elseif (($2) && ($2 !isnum 1-5)) {
    $iif($left($1,1) == @,msg $chan,notice $nick) 5The news item must be a number between 2one5 and 2five5.
  }
  set %newschar [ $+ [ %newsid ] ] $left($1,1)
  set %newsnick [ $+ [ %newsid ] ] $nick
  set %newschan [ $+ [ %newsid ] ] $chan
  sockopen news [ $+ [ %newsid ] ] jerrcs.net 80
}
on *:text:?rsnews*:#:{
  inc %newsid 1
  if ($2 isnum 1-5) {
    set %news [ $+ [ %newsid ] ] $2
  }
  elseif (($2) && ($2 !isnum 1-5)) {
    $iif($left($1,1) == @,msg $chan,notice $nick) 5The news item must be a number between 2one5 and 2five5.
  }
  set %newschar [ $+ [ %newsid ] ] $left($1,1)
  set %newsnick [ $+ [ %newsid ] ] $nick
  set %newschan [ $+ [ %newsid ] ] $chan
  sockopen news [ $+ [ %newsid ] ] jerrcs.net 80
}
on *:sockopen:news*:{
  sockwrite -nt $sockname GET /rsnews.php HTTP/1.1
  sockwrite -nt $sockname Host: jerrcs.net
  sockwrite -nt $sockname $crlf
}
on *:sockread:news*:{
  if ($sockerr) {
    msg %newschan [ $+ [ $right($sockname,-4) ] ] There has been a socket error.
  }
  else {
    var %read
    sockread -f %read
    if (!$sockbr) { break }
    var %nid %news [ $+ [ $right($sockname,-4) ] ]
    if (%news [ $+ [ $right($sockname,-4) ] ]) {
      if (* $+ %nid Date* iswm %read) {
        var %msg $iif(%newschar [ $+ [ $right($sockname,-4) ] ] == @,msg %newschan [ $+ [ $right($sockname,-4) ] ],notice %newsnick [ $+ [ $right($sockname,-4) ] ])
        %msg 5 $+ %read
      }
      if (*[ $+ %nid $+ ]* iswm %read ) {
        var %msg $iif(%newschar [ $+ [ $right($sockname,-4) ] ] == @,msg %newschan [ $+ [ $right($sockname,-4) ] ],notice %newsnick [ $+ [ $right($sockname,-4) ] ])
        %msg 5 $+ $deltok(%read,1,93)
        sockclose news [ $+ [ $right($sockname,-4) ] ]
        unset $+(%news,*,$right($sockname,-4))
      }
    }
    elseif (!%news [ $+ [ $right($sockname,-4) ] ]) {
      if (* $+ 1 Date* iswm %read) {
        var %msg $iif(%newschar [ $+ [ $right($sockname,-4) ] ] == @,msg %newschan [ $+ [ $right($sockname,-4) ] ],notice %newsnick [ $+ [ $right($sockname,-4) ] ])
        %msg 5 $+ %read
      }
      if (*[ $+ 1 $+ ]* iswm %read ) {
        var %msg $iif(%newschar [ $+ [ $right($sockname,-4) ] ] == @,msg %newschan [ $+ [ $right($sockname,-4) ] ],notice %newsnick [ $+ [ $right($sockname,-4) ] ])
        %msg 5 $+ $deltok(%read,1,93)
        sockclose news [ $+ [ $right($sockname,-4) ] ]
        unset $+(%news,*,$right($sockname,-4))
      }
    }
  }