WorldDMT commented on a Page, RuneScape Stats Script [BETA]  -  Jul 06, 2009

hi

u can use "sockmark" instead "set" then use var for $2/$nick

for sockread u can use a regex and hash tables also that an idea to better explain my comment

on $*:TEXT:/^[!.@]stats/Si:#:{
  if ($2) var %rsn.nick $replace($2-,$chr(32),$chr(95))
  elseif ($readini(Defnames.ini,DefRSN,$address($nick,3))) var %rsn.nick $v1
  Else var %rsn.nick $nick
  sockopen Stats. www.rscript.org 80
  sockmark Stats. $iif($mid($1,1,1) == $chr(64),msg #,.notice $nick) |www.rscript.org| %rsn.nick
}
on *:SOCKOPEN:Stats.:{
  tokenize 124 $sock($sockname).mark
  sockwrite -n $sockname GET /lookup.php?type=stats&user= $+ $3 HTTP/1.1
  sockwrite -n $sockname Host: $2
  sockwrite -n $sockname $crlf
}
on *:SOCKREAD:Stats.:{
  if ($sockerr) { halt }
  Else {
    tokenize 124 $sock($sockname).mark
    var %stats | sockread %stats
    if (%stats == STAT: not found) { $1 $lg(Error) $cc1($chr(40)) $cc2($2) $cc1($chr(41)) $cc2(was not found in the RuneScape Hiscores.) | sockclose $sockname }
    elseif $regex($1-,/STAT\:(Overall|Attack|Defence|Strength|Hitpoints|Ranged|Prayer|Magic|Cooking|Woodcutting|Fletching|Fishing|Firemaking|Crafting|Smithing|Mining|Herblore|Agility|Thieving|Slayer|Farming|Hunter|Construction|Summoning|Runecraft)\s\w+\s(\d+)/i) {
      hadd -m stats.x $regml(1) $cc2($regml(1) $+ :) $cc1($regml(2))
    }
    elseif $regex($1-,/STAT:(Dueling|FOG)\s\w+(\s(\d+))?/i) {
      hadd -m stats.y $regml(1) $cc2($regml(1) $+ :) $cc1($iif($regml(3),$v1,N/R))
    }
    elseif (*DEBUG:* iswm %stats) {
      $1 $lg($3) $regsubex($str(.,$hget(stats.x,0).data),/./g,$hget(stats.x,\n).data $+ $chr(32))
      $1 $lg($3) $regsubex($str(.,$hget(stats.y,0).data),/./g,$hget(stats.y,\n).data $+ $chr(32))
      sockclose $sockname
    }
  }
}
on *:sockclose:Stats.:hfree -w stats.*
 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.