All pastes #472779 Raw Edit

Stuff

public text v1 · immutable
·published 2007-05-05 20:16 UTC
rendered paste body
alias skill {
  if ($regex($1,/^(overall|total|skillt|stotal|skilltotal)$/Si)) { return Overall }
  if ($regex($1,/^(att|attack|atk)$/Si)) { return Attack }
  if ($regex($1,/^(def|defence|dfnc)$/Si)) { return Defence }
  if ($regex($1,/^(str|strength)$/Si)) { return Strength }
  if ($regex($1,/^(hp|hits|hitpoints|hitpoint|hpoint)$/Si)) { return HitPoints }
  if ($regex($1,/^(ranged|range|arch|archery|arching)$/Si)) { return Ranged }
  if ($regex($1,/^(prayer|pray|faith)$/Si)) { return Prayer }
  if ($regex($1,/^(magic|mage|mag|mgk|mgc|spell)$/Si)) { return Magic }
  if ($regex($1,/^(cooking|cook|food)$/Si)) { return Cooking }
  if ($regex($1,/^(wc|wood|woodcut|woodcutting|wcut|woodc)$/Si)) { return WoodCutting }
  if ($regex($1,/^(fletch|fletching)$/Si)) { return Fletching }
  if ($regex($1,/^(fish|fishing)$/Si)) { return Fishing }
  if ($regex($1,/^(firemaking|fm|fire|firemake|firem|fmake)$/Si)) { return FireMaking }
  if ($regex($1,/^(craft|crafting)$/Si)) { return Crafting }
  if ($regex($1,/^(smith|smithing)$/Si)) { return Smithing }
  if ($regex($1,/^(mine|mining)$/Si)) { return Mining }
  if ($regex($1,/^(herb|herblore|herbal)$/Si)) { return Herblore }
  if ($regex($1,/^(agil|agility|agile)$/Si)) { return Agility }
  if ($regex($1,/^(thieving|thiev|thief|steal)$/Si)) { return Thieving }
  if ($regex($1,/^(slay|slayer|slaying)$/Si)) { return Slayer }
  if ($regex($1,/^(farm|farming|frm)$/Si)) { return Farming }
  if ($regex($1,/^(rc|rune|runecraft|runecrafting|runec|rcraft)$/Si)) { return RuneCraft }
  if ($regex($1,/^(hunt|hunter|hunting)$/Si)) { return Hunter }
  if ($regex($1,/^(constr|construction|build)$/Si)) { return Construction }
  else { return $false }
}

on $*:TEXT:/^[!@.]/Si:#: {
  var %sckid = $right($ticks,5)  
  if (!$skill($right($1,-1))) { halt }
  if ($2) {
    set %skill.nick. [ $+ [ %sckid ] ]  $2-
    set %skill.str. [ $+ [ %sckid ] ]  $replace($2-,$chr(32),$chr(43))
  }
  else {
    set %skill.nick. [ $+ [ %sckid ] ]  $nick
    set %skill.str. [ $+ [ %sckid ] ]  $replace($nick,$chr(32),$chr(43))
  }
  set %skill.return. [ $+ [ %sckid ] ]  $iif($left($1,1) == @,msg $chan,notice $nick)
  set %skill. [ $+ [ %sckid ] ] $skill($right($1,-1))
  sockopen skill. [ $+ [ %sckid ] ]  hiscore.runescape.com 80
}
on *:SOCKOPEN:skill.*: {
  sockwrite -nt $sockname GET $+(/hiscorepersonal.ws?user1=,%skill.str. [ $+ [ $gettok($sockname,2,46) ] ]) HTTP/1.1
  sockwrite -nt $sockname Host: hiscore.runescape.com
  sockwrite -nt $sockname $crlf
}
on *:SOCKREAD:skill.*: {
  echo %sockreader
  if ($sockerr) {
    %rank.return. [ $+ [ $gettok($sockname,2,46) ] ] Socket Error: $sockname $+ . Error code: $sockerr Please inform $me of this error message.
    halt
  }
  else {
    var %sockreader
    sockread %sockreader
    if (*%skill. [ $+ [ $gettok($sockname,2,46) ] ]* iswm %sockreader) {
      %skill.return. [ $+ [ $gettok($sockname,2,46) ] ] %sockreader
      echo %sockreader
      sockclose $sockname
    }
  }
}