rendered paste bodyalias 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
}