All pastes #899662 Raw Edit

OmegaScript v2.4 Source Code

public text v1 · immutable
·published 2008-02-11 10:14 UTC
rendered paste body
on $*:TEXT:/^[!@]stats/Si:#: {
  if ($2 == $null) && ($readini(botinfo.ini,n,defname,$address($nick,3)) == $null) {
    $iif($left($1,1) $+(=,=) @ && $istok($readini(botinfo.ini,n,$chan,channelignore),$chan,32) $+(=,=) $false,msg $chan,notice $nick) *** [ $+ $c1($nick,Error) $+ ]: $c2($nick,You must specify a player or default name.)
    halt
  }
  var %x 1
  while ($sock(stats. $+ %x)) {
    inc %x
  }
  var %y 1
  while (%y <= $numtok($2-,32)) {
    if ($remove($gettok($2-,%y,32),$chr(95),$chr(45)) isalnum) {
      var %name %name $gettok($2-,%y,32)
    }
    elseif ($chr(62) isin $gettok($2-,%y,32)) || ($chr(60) isin $gettok($2-,%y,32)) {
      var %ep $gettok($2-,%y,32)
    }
    elseif ($chr(38) isin $gettok($2-,%y,32)) {
      if ($readini(botinfo.ini,n,defname,$address($left($gettok($2-,%y,32),-1),3))) {
        var %name  $readini(botinfo.ini,n,defname,$address($left($gettok($2-,%y,32),-1),3))
      }
      else {
        $iif($left($1,1) $+(=,=) @ && $istok($readini(botinfo.ini,n,$chan,channelignore),$chan,32) $+(=,=) $false,msg $chan,notice $nick) *** $+($chr(91),$c1($nick,Error),$chr(93)) $c2($nick,The name) $qt($c1($nick,$left($gettok($2-,%y,32),-1))) $c2($nick,does not have a defname set OR is not on the channel.)
        halt
      }
    }
    inc %y
  }
  if (!%name) && ($readini(botinfo.ini,n,defname,$address($nick,3))) {
    var %name  $readini(botinfo.ini,n,defname,$address($nick,3))
  }
  elseif (!%name) && (!$readini(botinfo.ini,n,defname,$address($nick,3))) {
    $iif($left($1,1) $+(=,=) @ && $istok($readini(botinfo.ini,n,$chan,channelignore),$chan,32) $+(=,=) $false,msg $chan,notice $nick) *** $+($chr(91),$c1($nick,Error),$chr(93)) $c2($nick,You must specify a name to lookup or set a default name.)
    halt
  }
  sockopen $+(stats.,%x) hiscore.runescape.com 80
  sockmark $+(stats.,%x) -1 $+ ~ $+ $iif($left($1,1) $+(=,=) @ && $istok($readini(botinfo.ini,n,$chan,channelignore),$chan,32) $+(=,=) $false,msg $chan,notice $nick) $+ ~ $+ %name $+ ~ $+ $nick $+ ~ $+ $iif(%ep,%ep)
}
on *:SOCKOPEN:stats.*: {
  sockwrite -n $sockname GET /index_lite.ws?player= $+ $gettok($sock($sockname).mark,3,126) HTTP/1.1
  sockwrite -n $sockname Host: hiscore.runescape.com
  sockwrite -n $sockname $crlf
}
on *:SOCKREAD:stats.*: {
  var %read
  sockread %read
  if (404 - Page isin %read) {
    $gettok($sock($sockname).mark,2,126) *** [ $+ $c1($gettok($sock($sockname).mark,4,126),$upper($replace($gettok($sock($sockname).mark,3,126),$chr(95),$chr(32)))) $+ ]: $c2($gettok($sock($sockname).mark,4,126),does not appear in the high scores list.)
    sockclose $sockname
  }
  if (*,*,* iswm %read) {
    var %x $gettok($sock($sockname).mark,1,126)
    inc %x
    if (-1 !isin %read) {
      if ($gettok($sock($sockname).mark,5,126)) {
        if ($chr(60) isin $gettok($sock($sockname).mark,5,126)) {
          if ($gettok(%read,2,44) < $remove($gettok($sock($sockname).mark,5,126),$chr(60),$chr(62))) {
            sockmark $sockname %x $+ ~ $+ $gettok($sock($sockname).mark,2-,126) $+ ~ $c2($gettok($sock($sockname).mark,4,126),$skill(%x)) $c1($gettok($sock($sockname).mark,4,126),$iif($gettok(%read,2,44) == -1,0,$v1)) $chr(124)
          }
          else {
            sockmark $sockname %x $+ ~ $+ $gettok($sock($sockname).mark,2-,126)
          }
        }
        else {
          if ($gettok(%read,2,44) > $remove($gettok($sock($sockname).mark,5,126),<,>)) {
            sockmark $sockname %x $+ ~ $+ $gettok($sock($sockname).mark,2-,126) $+ ~ $c2($gettok($sock($sockname).mark,4,126),$skill(%x)) $c1($gettok($sock($sockname).mark,4,126),$iif($gettok(%read,2,44) == -1,0,$v1)) $chr(124)
          }
          else {
            sockmark $sockname %x $+ ~ $+ $gettok($sock($sockname).mark,2-,126)
          }
        }
      }
      else {
        sockmark $sockname %x $+ ~ $+ $gettok($sock($sockname).mark,2-,126) $+ ~ $c2($gettok($sock($sockname).mark,4,126),$skill(%x)) $c1($gettok($sock($sockname).mark,4,126),$iif($gettok(%read,2,44) == -1,0,$v1)) $chr(124)
      }
    }
    else {
      sockmark $sockname %x $+ ~ $+ $gettok($sock($sockname).mark,2-,126)
    }
    if (%x == 24) {
      if ($numtok($gettok($sock($sockname).mark,4-,126),32) <= 65) {
        $gettok($sock($sockname).mark,2,126) *** [ $+ $c1($gettok($sock($sockname).mark,4,126),$upper($replace($gettok($sock($sockname).mark,3,126),$chr(95),$chr(32)))) $+ ]: $left($remove($gettok($sock($sockname).mark,5-,126),~),-1)
      }
      else {
        $gettok($sock($sockname).mark,2,126) *** [ $+ $c1($gettok($sock($sockname).mark,4,126),$upper($replace($gettok($sock($sockname).mark,3,126),$chr(95),$chr(32)))) $+ ]: $left($remove($gettok($sock($sockname).mark,5-23,126),~),-1)
        $gettok($sock($sockname).mark,2,126) *** [ $+ $c1($gettok($sock($sockname).mark,4,126),$upper($replace($gettok($sock($sockname).mark,3,126),$chr(95),$chr(32)))) $+ ]: $left($remove($gettok($sock($sockname).mark,24-,126),~),-1)
      }
    }
  }
}