All pastes #372198 Raw Edit

Mine

public text v1 · immutable
#372198 ·published 2007-02-25 22:07 UTC
rendered paste body
;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Public Skill Lookup ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;

on *:text:,p*:#: {
  /skills {
    if ($sock(plookup)) .sockclose plookup
    set %chan $chan
    set %nick $nick
    if (!$2-) { set %stats.nick $readini(setnick.ini,RSN,$mask($fulladdress,3)) }
    else { set %stats.nick $replace($2-,$chr(32),-) }
    sockopen plookup parsers.o-ss.net 80
  }
  else { halt }
}
on *:SOCKOPEN:plookup: {
  sockwrite -nt $sockname GET /stats.php?user= $+ %stats.nick HTTP/1.1
  sockwrite -nt $sockname Host: parsers.o-ss.net
  sockwrite -nt $sockname $crlf
}

on *:SOCKREAD:plookup: {
  if ($sockerr) {
    msg %chan Socket Error: $sockname $+ . Error code: $sockerr $+ . Please inform an admin of this error message.
    halt
  }
  else {
    var %read
    sockread %read
    if ($+(,%stats.skill,) iswm %read && *Not* !iswm %read ) {
      tokenize 32 %read
      set %result 10User: 7 $+ %stats.nick $+  10 $+ $chr(124) Skill: $+ 7 $1 10 $+ $chr(124) Level: $+ 7 $3 10 $+ $chr(124) Rank: $+ 7 $2 10 $+ $chr(124) Exp: $+ 7 $4 
      msg %chan %result
      unset %chan
      unset %nick
      unset %stats.nick
      sockclose plookup
    }
    elseif (*Not* iswm %read ) {
      msg %chan 10The user7 %stats.nick 10does not appear in the highscores.
      unset %chan
      unset %nick
      unset %stats.nick
      sockclose plookup
    }
  }
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Private Skill Lookup ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;

on *:text:,*:#: {
  /skills {
    if ($sock(lookup)) .sockclose lookup
    set %chan $chan
    set %nick $nick
    if (!$2-) { set %stats.nick $readini(setnick.ini,RSN,$mask($fulladdress,3)) }
    else { set %stats.nick $replace($2-,$chr(32),-) }
    sockopen lookup parsers.o-ss.net 80
  }
  else { halt }
}
on *:SOCKOPEN:lookup: {
  sockwrite -nt $sockname GET /stats.php?user= $+ %stats.nick HTTP/1.1
  sockwrite -nt $sockname Host: parsers.o-ss.net
  sockwrite -nt $sockname $crlf
}

on *:SOCKREAD:lookup: {
  if ($sockerr) {
    notice %nick Socket Error: $sockname $+ . Error code: $sockerr $+ . Please inform an admin of this error message.
    halt
  }
  else {
    var %read
    sockread %read
    if ($+(,%stats.skill,) iswm %read && *Not* !iswm %read ) {
      tokenize 32 %read
      set %result 10User: 7 $+ %stats.nick $+  10 $+ $chr(124) Skill: $+ 7 $1 10 $+ $chr(124) Level: $+ 7 $3 10 $+ $chr(124) Rank: $+ 7 $2 10 $+ $chr(124) Exp: $+ 7 $4 
      notice %nick %result
      unset %chan
      unset %nick
      unset %stats.nick
      sockclose lookup
    }
    elseif (*Not* iswm %read ) {
      notice %nick 10The user7 %stats.nick 10does not appear in the highscores.
      unset %chan
      unset %nick
      unset %stats.nick
      sockclose lookup
    }
  }
}

;;;;;;;;;;;;;;;
;;; Aliases ;;;
;;;;;;;;;;;;;;;

alias -l skills { 
  if ($regex($1,/^[,]at(t|k|tack)?$/Si)) set %stats.skill Attack 
  elseif ($regex($1,/^[,]def(ence)?$/Si)) set %stats.skill Defence 
  elseif ($regex($1,/^[,]str(ength)?$/Si)) set %stats.skill Strength 
  elseif ($regex($1,/^[,](hp|hit(s|points))?$/Si)) set %stats.skill Hitpoints 
  elseif ($regex($1,/^[,]rang(e|er|ed|ing)?$/Si)) set %stats.skill Ranged 
  elseif ($regex($1,/^[,]Pray(er)?$/Si)) set %stats.skill Prayer 
  elseif ($regex($1,/^[,]mag(e|ic)?$/Si)) set %stats.skill Magic 
  elseif ($regex($1,/^[,]cook(ing)?$/Si)) set %stats.skill Cooking 
  elseif ($regex($1,/^[,](wc(ing)?|woodcut(ting))?$/Si)) set %stats.skill Woodcutting 
  elseif ($regex($1,/^[,]fletch(ing)?$/Si)) set %stats.skill Fletching 
  elseif ($regex($1,/^[,]fish(ing)?$/Si)) set %stats.skill Fishing 
  elseif ($regex($1,/^[,](fire|fm)(make?(ing)?|ing)?$/Si)) set %stats.skill Firemaking 
  elseif ($regex($1,/^[,]craft(ing)?$/Si)) set %stats.skill Crafting 
  elseif ($regex($1,/^[,](smith|smelt)(ing)?$/Si)) set %stats.skill Smithing 
  elseif ($regex($1,/^[,]min(e|e?ing)?$/Si)) set %stats.skill Mining 
  elseif ($regex($1,/^[,]herb(law|lore)?$/Si)) set %stats.skill Herblore 
  elseif ($regex($1,/^[,]agil(ity)?$/Si)) set %stats.skill Agility 
  elseif ($regex($1,/^[,](th(ei|ie)[fv](e|ing))?$/Si)) set %stats.skill Thieving 
  elseif ($regex($1,/^[,]slay(er|ing)?$/Si)) set %stats.skill Slayer 
  elseif ($regex($1,/^[,]farm(er|ing)?$/Si)) set %stats.skill Farming 
  elseif ($regex($1,/^[,](rc|runecraft)(er|ing)?$/Si)) set %stats.skill Runecraft 
  elseif ($regex($1,/^[,]hunt(er|ing)?$/Si)) set %stats.skill Hunter 
  elseif ($regex($1,/^[,]con(struct?ion)?$/Si)) set %stats.skill Construction 
}