;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; 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 }