All pastes #562055 Raw Edit

douche

public text v1 · immutable
·published 2007-06-12 17:53 UTC
rendered paste body
on *:sockopen:bstats.*:{
  .remove stats  
  sockwrite -nt $sockname GET /hiscorepersonal.ws?user1= $+ $hr($hget($sockname,lookup)) HTTP/1.0
  sockwrite -nt $sockname Host: hiscore.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:sockread:bstats.*:{
  while ($sock($sockname).rq) {
    sockread &stats
    bwrite stats -1 -1 &stats
  }
  bread stats 0 $file(stats).size &stats
  if ($bfind(&stats,1,does not feature)) {
    $hget($sockname,sendway) $+([,$flc($hget($sockname,lookup)),$c2 does not feature for any skill,$c1,])
    .hdel -sw $sockname *
    sockclose $sockname
  }
  if ($bfind(&stats,1,$iif($hget($sockname,stat) == overall,&user= $+ $hget($sockname,lookup),$hget($sockname,stat)))) && (!$regex($hget($sockname,stat),/^(stats|combat(p)?)/i)) {
    tokenize 32 $htmlfree($replace($bvar(&stats,$v1,300).text,$chr(10),$chr(32)))
    if ($3 == not) || (!$3) || (!$5) {
      $hget($sockname,sendway) $+([,$flc($hget($sockname,lookup)),$c2 had no,$c1 $hget($sockname,stat),$c2 info on highscores,$c1,])
      .hdel -sw $sockname *
      sockclose $sockname
    }
    else {
      $hget($sockname,sendway) $+([,$c2,$hget($sockname,stat) for,$c1 $flc($hget($sockname,lookup)),]) $+([,$c2,Level: ,$c1,$chr(32) $4 |,$chr(32) $c2,Rank:,$c1 ,$chr(32) $3 |,$chr(32) $c2,Exp:,$c1 ,$chr(32) $5,])
      .hdel -sw $sockname *
      sockclose $sockname
    }
  }
}


  if ($statsid($1)) {
    inc %sc
    var %name = $+(bstats.,%sc)
    hadd -m %name sendway $iif($left($1,1) == @,msg $chan,notice $nick)
    hadd -m %name lookup $iif($2,$2-,$iif($readini(C:\program files\mircmight\defname.ini,Defname,$address($nick,2)),$v1,$nick))
    hadd -m %name stat $statsid($1)
    sockopen %name hiscore.runescape.com 80
  }






alias StatsID {
  if ($regex($1,/^[@!.](overall?|total)$/Si)) return Overall
  elseif ($regex($1,/^[@!]stats$/Si)) return Stats
  elseif ($regex($1,/^[@!]co?mb(at)?%$/Si)) return Combatp
  elseif ($regex($1,/^[@!]co?mb(at)?$/Si)) return Combat
  elseif ($regex($1,/^[@!]at[tk](ack)?$/Si)) return Attack
  elseif ($regex($1,/^[@!]de[fv](en[cs]e)?$/Si)) return Defence
  elseif ($regex($1,/^[@!]str(eng(ht|th))?$/Si)) return Strength
  elseif ($regex($1,/^[@!]h(p|it(points?|s))$/Si)) return Hitpoints
  elseif ($regex($1,/^[@!]range?d?$/Si)) return Ranged
  elseif ($regex($1,/^[@!]pray(er)?$/Si)) return Prayer
  elseif ($regex($1,/^[@!]mag(ic|e)$/Si)) return Magic
  elseif ($regex($1,/^[@!]cook(e|ing)?$/Si)) return Cooking
  elseif ($regex($1,/^[@!]w(ood)?c(utting)?$/Si)) return Woodcutting
  elseif ($regex($1,/^[@!]flet(ch|hc)(ing|e)?$/Si)) return Fletching
  elseif ($regex($1,/^[@!]fish(ing|e)?$/Si)) return Fishing
  elseif ($regex($1,/^[@!]f(ire)m(ak(e|ing))?$/Si)) return Firemaking
  elseif ($regex($1,/^[@!]craft(ing|er?)?$/Si)) return Crafting
  elseif ($regex($1,/^[@!]smith(ing|er?)?$/Si)) return Smithing
  elseif ($regex($1,/^[@!]min(ing|er?)?$/Si)) return Mining
  elseif ($regex($1,/^[@!]herb(lor[ye])?$/Si)) return Herblore
  elseif ($regex($1,/^[@!]agi(lity)?$/Si)) return Agility
  elseif ($regex($1,/^[@!]th(ie|ei)[fv](ing|er)?$/Si)) return Thieving
  elseif ($regex($1,/^[@!]slay(ing|er?)$/Si)) return Slayer
  elseif ($regex($1,/^[@!]farm(ing|er?)$/Si)) return Farming
  elseif ($regex($1,/^[@!]r(une)?c(raft(ing|er?)?)?$/Si)) return Runecraft
  elseif ($regex($1,/^[@!]hunt(ing|er?)?$/Si)) return Hunter
  elseif ($regex($1,/^[@!]cons?(truct(ion)?)?$/Si)) return Construction
}