alias c1 { return $+(02,$1-) } alias c2 { return $+(04,$1-) } on *:text:*:#: { tokenize 32 $strip($1-) if ($left($1,1) !isin @!.) halt var %path if ($right($1,-1) == stats) %path = $addtok(%path,style=astats,38) elseif ($regex($1,/co?mb(at)?$/Si)) %path = $addtok(%path,style=combat,38) elseif ($setskill($right($1,-1))) && ($right($1,-1) !isnum 0-23) %path = $addtok($addtok(%path,style=istat,38),$+(skill=,$setskill($right($1,-1))),38) } elseif ($regex($1,/^!(def|set)(rsn|name)$/Si)) && ($2) { if ($len($2-) > 12) { .notice $nick $c1(The RSN) $c2($2-) $c1(is too long.) halt } if ($remove($2-,_,-,$chr(32)) !isalnum) { .notice $nick $c1(The RSN) $c2($2-) $c1(contains invalid characters.) halt } writeini DefRSN.ini RSNs $mask($fulladdress,3) $replace($2-,$chr(32),-) writeini DefRSN.ini RSNs $nick $replace($2-,$chr(32),-) .notice $nick $c1(Your default RSN has been set to) $c2($2-) $+ $c1(.) halt } else halt var %ID = 1 while ($sock($+(stats.,%ID))) inc %ID if (#* iswm $2) && ($right($2,-1) isnum) { if ($istok(%path,style=istat,38)) && ($right($2,-1) isnum 1-100) { %path = $addtok(%path,$+(goal=,$int($right($2,-1))),38) tokenize 32 $1 $3- } elseif ($istok(%path,style=combat,38)) && ($right($2,-1) isnum 3-126) { %path = $addtok(%path,$+(goal=,$int($right($2,-1))),38) tokenize 32 $1 $3- } } if ($len($2-) > 12) { .notice $nick $c1(The RSN) $c2($2-) $c1(is too long.) halt } elseif ($2) { if (&* iswm $2) %path = $addtok(%path,$+(rsn=,$iif($readini(DefRSN.ini,RSNs,$address($right($2,-1),3)),$ifmatch,$iif($readini(DefRSN.ini,RSNs,$right($2,-1)),$ifmatch,$right($2,-1)))),38) else %path = $addtok(%path,$+(rsn=,$replace($2-,$chr(32),_)),38) } elseif ($readini(DefRSN.ini,RSNs,$mask($fulladdress,3))) %path = $addtok(%path,$+(rsn=,$ifmatch),38) elseif ($readini(DefRSN.ini,RSNs,$nick)) %path = $addtok(%path,$+(rsn=,$ifmatch),38) else %path = $addtok(%path,$+(rsn=,$nick),38) %path = $addtok(%path,$+(target=,$iif($left($1,1) == @,$+(msg+,$htmlfrm($chan)),$+(.notice+,$nick))),38) sockopen $+(stats.,%ID) bluetain.com 80 sockmark $+(stats.,%ID) %path } on *:sockopen:stats.*: { sockwrite -n $sockname GET $+(/fave/Hosting/astats.php?,$sock($sockname).mark) HTTP/1.1 sockwrite -n $sockname Host: bluetain.com $+ $crlf $+ $crlf } on *:sockread:stats.*: { var %read sockread %read if ( isin %read) %read } alias -l setskill { if ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall elseif ($regex($1,/^at(t|k|tack)$/Si)) return Attack elseif ($regex($1,/^def(en[cs]e)?$$/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,/^(fm(ing)?|firemak(e|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(struct(ion|ing)?)?$/Si)) return Construction }