All pastes #573429 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-06-18 04:35 UTC
rendered paste body
on *:VOICE:: {
  %sn = $+(pchkr.,$ticks)
  hadd -m %sn name $vnick
  hadd -m %sn chan $chan
  hadd -m %sn cskill Overall
  sockopen %sn hiscore.runescape.com 80
}
on *:sockopen:pchkr.*: {
  sockwrite -nt $sockname GET /hiscorepersonal.ws?user1= $+ $hget($sockname,name) HTTP/1.1  
  sockwrite -nt $sockname Host: hiscore.runescape.com $crlf $+ $crlf
}
on *:sockread:pchkr.*: {  
  var %r | sockread %r
  if (<i> == %r) {
    hfree $sockname
    sockclose $sockname
    ; ban -ku60 $chan $nick 2 Banned 1minute, Please use Your RunescapeName.
    halt
  }
  if (<td align="right">*</td> iswm %r) {
    if (<td align="right"><img*</td> iswm %r) { hdel $sockname cskill | hadd $sockname cskill $regsubex(%r,/((?:.+)src="(?:http://www.runescape.com/img/hiscores/skill_icon_(.*)1\.gif|http://www.runescape.com/img/hiscores/(.*))"(?:.+))/Si,\2) }
    else {
      var %line = $hget($sockname,$hget($sockname,cskill)) $regsubex(%r,/^<td align="right">([0-9,]+)</td>$/Si,\1)
      hdel $sockname $hget($sockname,cskill)
      hadd $sockname $hget($sockname,cskill) %line
    }
  }
  if ($hget($sockname,Ranged)) {
    var %cba = $remove($gettok($hget($sockname,hitpoints),3,32),$chr(44))
    if ($readini(pure.ini,hpxp,$hget($sockname,name))) {
      var %c = $v1, %cb = $calc(%cba - %c)
      remini pure.ini expgained $hget($sockname,name)
      if (%cb > 0) writeini pure.ini expgained $hget($sockname,name) %cb 
      if  (%cb == 0) writeini pure.ini pures $hget($sockname,name) %cb 
    } 
    else writeini pure.ini hpxp $hget($sockname,name) %cba
    hfree $sockname
    sockclose $sockname
    halt
  }
}
alias -l skill {
  if (($1 == 0) || ($regex($1,/^Over(?:all)?$/Si))) return Overall
  if (($1 == 1) || ($regex($1,/^Att?(?:a)?c?k?$/Si))) return Attack
  if (($1 == 2) || ($regex($1,/^Def(?:en[sc]e)$/Si))) return Defence
  if (($1 == 3) || ($regex($1,/^Str(?:ength)?$/Si))) return Strength
  if (($1 == 4) || ($regex($1,/^H(?:its?|p(?:oints)?)$/Si))) return Hitpoints
  if (($1 == 5) || ($regex($1,/^Ranged?$/Si))) return Ranged
  if (($1 == 6) || ($regex($1,/^Pray(?:er)?$/Si))) return Prayer
  if (($1 == 7) || ($regex($1,/^Mag(?:e|ic)$/Si))) return Magic
  if (($1 == 8) || ($regex($1,/^Cook(?:ing?)?$/Si))) return Cooking
  if (($1 == 9) || ($regex($1,/^W(?:ood)?c(?:ut)?(?:ing?)?$/Si))) return Woodcutting
  if (($1 == 10) || ($regex($1,/^Fletch(?:ing)?$/Si))) return Fletching
  if (($1 == 11) || ($regex($1,/^Fish(?:ing)?$/Si))) return Fishing
  if (($1 == 12) || ($regex($1,/^F(?:(?:ire)?m(?:ak(?:e|ing))?)$/Si))) return Firemaking
  if (($1 == 13) || ($regex($1,/^Craft(?:ing?)?$/Si))) return Crafting
  if (($1 == 14) || ($regex($1,/^Smith(?:ing?)?$/Si))) return Smithing
  if (($1 == 15) || ($regex($1,/^Min(?:e|ing?)$/Si))) return Mining
  if (($1 == 16) || ($regex($1,/^Herb(?:y|i?(?:lor)?e)?$/Si))) return Herblore
  if (($1 == 17) || ($1 == Agility)) return Agility
  if (($1 == 18) || ($regex($1,/^Thie[fv](?:e|ing)?$/Si))) return Thieving
  if (($1 == 19) || ($regex($1,/^Slay(?:er)?$/Si))) return Slayer
  if (($1 == 20) || ($regex($1,/^Farm(?:ing)?$/Si))) return Farming
  if (($1 == 21) || ($regex($1,/^R(?:une)?C(?:raft(?:ing)?)?$/Si))) return Runecraft
  if (($1 == 22) || ($regex($1,/^Hunt(?:er|ing)?$/Si))) return Hunter
  if (($1 == 23) || ($regex($1,/^Con(?:struct(?:ion)?)?$/Si))) return Construction
}