rendered paste body;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Public Skill Lookup ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;
on *:text:,p*:#: {
if ($skills($right($1,-2))) {
if ($sock(plookup)) .sockclose plookup
set %stats.skill $skills
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
}
}
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:,*:#: {
if ($skills($right($1,-1))) {
if ($sock(lookup)) .sockclose lookup
set %stats.skill $skills
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
}
}
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)) return Attack*
elseif ($regex($1,/^def(ence)?$$/Si)) return Defence*
elseif ($regex($1,/^str(ength)?$/Si)) return Strength*
elseif ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hitpoints*
elseif ($regex($1,/^range(r|d|ing)?$/Si)) return Ranged*
elseif ($regex($1,/^Pray(er)?$$/Si)) return Prayer*
elseif ($regex($1,/^mag(e|ic)$$/Si)) return Magic*
elseif ($regex($1,/^cook(ing)?$/Si)) return Cooking*
elseif ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) return Woodcutting*
elseif ($regex($1,/^fletch(ing)?$/Si)) return Fletching*
elseif ($regex($1,/^fish(ing)?$/Si)) return Fishing*
elseif ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) return Firemaking*
elseif ($regex($1,/^craft(ing)?$/Si)) return Crafting*
elseif ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smithing*
elseif ($regex($1,/^min(e|ing)?$/Si)) return Mining*
elseif ($regex($1,/^herb(law|lore)?$/Si)) return Herblore*
elseif ($regex($1,/^agil(ity)?$/Si)) return Agility*
elseif ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) return Thieving*
elseif ($regex($1,/^slay(er|ing)?$/Si)) return Slayer*
elseif ($regex($1,/^farm(er|ing)?$/Si)) return Farming*
elseif ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) return Runecraft*
elseif ($regex($1,/^(hunt)(er|ing)?$/si)) return Hunter*
elseif ($regex($1,/^(con)(struc?tion)?$/si)) return Construction*
}