All pastes #388834 Raw Edit

Something

public text v1 · immutable
·published 2007-03-10 09:48 UTC
rendered paste body
$chan($chan).mode
on $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([!.@]stats)/Si):#:{
  tokenize 32 $iif($me isin $1,$deltok($1-,1,32),$1-)
  if ($me != iScape) && (iScape ison $chan) { halt } 
  var %multi = $right($ticks,6)
  set %chan. [ $+ [ %multi ] ] $chan
  set %display. [ $+ [ %multi ] ] $iif(@ isin $left($1,1),msg $chan,notice $nick)
  set %statsn.uname. [ $+ [ %multi ] ] $iif(!$2,$readini(rsn.ini,RSN,$nick),$iif($2,$replace($2-,$chr(32),$chr(43)),$replace($nick,$chr(32),$chr(43))))
  sockopen statsme. [ $+ [ %multi ] ] slushpuppy.silverinterlocution.org 80
}
on *:sockopen:statsme.*: {  
  if ($sockerr) { halt }  
  sockwrite -nt $sockname GET /rsstats.php?stats= $+ %statsn.uname. [ $+ [ $right($sockname,6) ] ] HTTP/1.1  
  sockwrite -nt $sockname Host: slushpuppy.silverinterlocution.org $crlf $+ $crlf
}
on *:sockread:statsme.*: {  
  if ($sockerr) { halt }  
  else {   
    var %stats.output
    sockread %stats.output   
    if (*does not* iswm %stats.output) { %display. [ $+ [ $right($sockname,6) ] ] $colour1(The User You Have Chosen To Lookup Cannot Be Found) }
    if (*overall* iswm %stats.output) || (*strength* iswm %stats.output) || (*defense* iswm %stats.output) || (*fletching* iswm %stats.output) || (*cooking* iswm %stats.output) || (*firemaking* iswm %stats.output) || (*fishing* iswm %stats.output) {    
      tokenize 32 %stats.output
      if (c isincs $chan($($+(%,chan.,$gettok($sockname,2,46)),2)).mode) {
        var %overall $1
        var %x = $iif($1 == overall:,3,1) %y 
        while (%x < $numtok(%stats.output,32)) { 
          set %y $+(%y,$chr(32),$gettok(%stats.output,%x,32),$chr(32),$gettok(%stats.output,$calc(%x + 1),32)) 
        inc %x 2 } 
        %display. [ $+ [ $right($sockname,6) ] ] Stats For $titlecase($replace(%statsn.uname. [ $+ [ $right($sockname,6) ] ],$chr(43),$chr(32))) Total Level $iif(%overall == Overall:,$2,-) $+ Are As Follows :
        %display. [ $+ [ $right($sockname,6) ] ] $remove(%y,<br>)
        unset %display. [ $+ [ $right($sockname,6) ] ]
        unset %statsn.uname. [ $+ [ $right($sockname,6) ] ]
        unset %y
        unset %chan. [ $+ [ $right($sockname,6) ] ]
        sockclose $sockname
      } 
      else { 
        var %overall $1
        var %x = $iif($1 == overall:,3,1) %y 
        while (%x < $numtok(%stats.output,32)) { 
          set %y $+(%y,$chr(32),$colour1($gettok(%stats.output,%x,32)),$chr(32),$colour2($gettok(%stats.output,$calc(%x + 1),32))) 
        inc %x 2 } 
        %display. [ $+ [ $gettok($sockname,2,46) ] ] $colour1(Stats For) $colour2($titlecase( $+ $replace(%statsn.uname. [ $+ [ $right($sockname,6) ] ],$chr(43),$chr(32)))) $colour1(Total Level) $colour2($iif(%overall == Overall:,$2,-)) $colour1($+ Are As Follows :)
        %display. [ $+ [ $gettok($sockname,2,46) ] ] $remove(%y,<br>)
        unset %display. [ $+ [ $right($sockname,6) ] ]
        unset %statsn.uname. [ $+ [ $right($sockname,6) ] ]
        unset %y
        unset %chan. [ $+ [ $right($sockname,6) ] ]
        sockclose $sockname
      }  
    }
  }
}