rendered paste bodyalias -l c1 return $+($chr(3),02,$1-)
alias -l c2 return $+($chr(3),10,$1-)
on *:TEXT:*:#:{
if ($regex($1,/^[!@]setrsn/Si)) { writeini defrsn.ini defname $nick $remove($2-,$) | $iif($left($1,1) == !,notice $nick,msg $chan) $nick $+ : your default rsn is set to $readini(defrsn.ini,defname,$nick) | halt }
if ($skill($right($1,-1))) {
if ($skill($right($1,-1)) == overall) { halt }
if ($regex($left($1,1),/^(@|!)/Si)) { hadd -m $+(stats1,.,$nick) disp $iif($left($1,1) == @,msg $chan,$iif($left($1,1) == !,notice $nick)) }
else halt
if ($regex($skill($right($1,-1)),/^(combat|stats|pest)/Si)) {
if ($skill($right($1,-1)) == combat) { hadd -m $+(stats1,.,$nick) style cb }
elseif ($skill($right($1,-1)) == stats) hadd -m $+(stats1,.,$nick) style st
else hadd -m $+(stats1,.,$nick) style pc
}
else {
if (($left($2,1) == $chr(35)) && ($right($2,-1) isnum 1-100)) { hadd -m $+(stats1,.,$nick) style ts | hadd -m $+(stats1,.,$nick) target $right($2,-1) }
else hadd -m $+(stats1,.,$nick) style ss
hadd -m $+(stats1,.,$nick) skill $skill($right($1,-1))
}
if ($2) {
if ($ isin $2-) { hfree $+(stats1,.,$nick) | halt }
if ($hget($+(stats1,.,$nick),style) == ts) {
if ($3) {
if ($len($replace($3-,$chr(32),+)) > 12) { $iif(@ == $left($1,1),msg $chan,$iif(! == $left($1,1),notice $nick,halt)) Sorry, That nickname is too long. | halt }
hadd -m $+(stats1,.,$nick) name $replace($3-,$chr(32),+,_,+,-,+)
}
else {
if ($readini(defrsn.ini,defname,$nick)) { hadd -m $+(stats1,.,$nick) name $replace($readini(defrsn.ini,defname,$nick),_,+) }
else {
if ($len($replace($nick,_,+)) > 12) { $iif(@ == $left($1,1),msg $chan,$iif(! == $left($1,1),notice $nick,halt)) Sorry, That nickname is too long. | halt }
hadd -m $+(stats1,.,$nick) name $remove($replace($nick,_,+),$)
}
}
}
else {
if ($len($replace($2-,$chr(32),+)) > 12) { $iif(@ == $left($1,1),msg $chan,$iif(! == $left($1,1),notice $nick,halt)) Sorry, That nickname is too long. | halt }
hadd -m $+(stats1,.,$nick) name $replace($2-,$chr(32),+,_,+,-,+)
}
}
else {
if ($readini(defrsn.ini,defname,$nick)) { hadd -m $+(stats1,.,$nick) name $replace($readini(defrsn.ini,defname,$nick),_,+) }
else {
if ($len($replace($nick,_,+)) > 12) { $iif(@ == $left($1,1),msg $chan,$iif(! == $left($1,1),notice $nick,halt)) Sorry, That nickname is too long. | halt }
hadd -m $+(stats1,.,$nick) name $remove($replace($nick,_,+),$)
}
}
sockopen $+(stats1,.,$nick) parsers.freehostia.com 80
}
else halt
}
on *:SOCKOPEN:stats1.*:{
sockwrite -nt $sockname GET /parsers/statsoww.php?rsname= $+ $replace($hget($sockname,name),$chr(32),+) HTTP/1.1
sockwrite -nt $sockname Host: parsers.freehostia.com $+ $crlf $+ $crlf
}
on *:SOCKREAD:stats1.*:{
var %read | sockread -f %read
tokenize 32 %read
if (*is not featured* iswm %read) {
$hget($sockname,disp) $hget($sockname,name) $c2(isn't featured in the high scores.)
hfree $sockname
sockclose $sockname
halt
}
if ($hget($sockname,style) == ts) {
if ($1 == $hget($sockname,skill)) {
if (*not ranked* iswm $($+(%,$sockname,.,read),2)) { $hget($sockname,disp) $hget($sockname,name) $c2(isn't featured in high scores for $hget($sockname,skill) $+ .) }
else {
hadd -m $sockname exp $calc($xp($hget($sockname,target)) - $remove($4,$chr(44)))
set $+(%,$sockname,.,a) 0
while ($($+(%,$sockname,.,a),2) < $ini(monsters.ini,$hget($sockname,skill),0)) {
inc $+(%,$sockname,.,a) 1
set $+(%,$sockname,.,b) $($+(%,$sockname,.,b),2) $c1($replace($gettok($readini(monsters.ini,$hget($sockname,skill),$($+(%,$sockname,.,a),2)),1,32),_,$chr(32),-,$chr(32))) $c2($floor($calc($hget($sockname,exp) / $gettok($readini(monsters.ini,$hget($sockname,skill),$($+(%,$sockname,.,a),2)),2,32))))
}
$hget($sockname,disp) $+(~!,$c2(TARGET),!~) $c1(RSN) $c2($replace($hget($sockname,name),+,$chr(32))) $c1(SKILL) $c2($hget($sockname,skill)) $c1(LEVEL) $c2($3)
$hget($sockname,disp) < $+ $c1(For level $c2($hget($sockname,target) $+ ) $+ >) $($+(%,$sockname,.,b),2)
}
unset $+(%,$sockname,.,*)
hfree $sockname
sockclose $sockname
}
}
if ($hget($sockname,style) == ss) {
if ($1 == $hget($sockname,skill)) {
if (*not ranked* iswm %read) { $hget($sockname,disp) $hget($sockname,name) $c2(isn't featured in high scores for $hget($sockname,skill) $+ .) }
else {
hadd -m $sockname exp $xp2next($3,$remove($4,$chr(44)))
set $+(%,$sockname,.,a) 0
while ($($+(%,$sockname,.,a),2) < $ini(monsters.ini,$hget($sockname,skill),0)) {
inc $+(%,$sockname,.,a) 1
set $+(%,$sockname,.,b) $($+(%,$sockname,.,b),2) $c1($replace($gettok($readini(monsters.ini,$hget($sockname,skill),$($+(%,$sockname,.,a),2)),1,32),_,$chr(32),-,$chr(32))) $c2($floor($calc($hget($sockname,exp) / $gettok($readini(monsters.ini,$hget($sockname,skill),$($+(%,$sockname,.,a),2)),2,32))))
}
$hget($sockname,disp) $c1($hget($sockname,skill)) $c2(stats for:) $c1($replace($hget($sockname,name),+,$chr(32)))
$hget($sockname,disp) $c1(Rank:) $c2($2) $c1(Level:) $c2($3) $c1(Exp:) $c2($4) $c1(Exp for) $c2($+($calc($3 + 1),:) $hget($sockname,exp))
$hget($sockname,disp) $c1(<For level $calc($3 + 1) $+ >) $($+(%,$sockname,.,b),2)
}
unset $+(%,$sockname,.,*)
hfree $sockname
sockclose $sockname
}
}
if ($hget($sockname,style) == st) {
if (($skill($1)) && (*not ranked* !iswm $1-)) {
if ($hget($sockname,line)) { var %line = $hget($sockname,line) $c1($+($1,:)) $c2($3) | hdel $sockname line | hadd -m $sockname line %line }
else { hadd -m $sockname line $c1($+($1,:)) $c2($3) }
}
if ($1 == end) {
tokenize 32 $hget($sockname,line)
$hget($sockname,disp) $c1(Stats for:) $c2($replace($hget($sockname,name),+,$chr(32))) $iif($strip($1) == Overall:,$1 $2)
$hget($sockname,disp) $iif($strip($1) == Overall:,$3-,$1-)
hfree $sockname
sockclose $sockname
}
}
if ($hget($sockname,style) == pc) {
if ($istok($skill(13248624621354321574863),$1,58)) {
if (!$hget($sockname,pc)) { hadd -m $sockname pc 1 }
else { hinc $sockname pc 1 }
hadd -m $sockname $hget($sockname,pc) $iif($hget($sockname,pc) != 1,$chr(124)) $c1(Points for $calc($3 + 1) $1 $+ :) $c2($ndp($calc($calc($xp($calc($3 + 1)) - $remove($4,$chr(44))) / $floor($calc(($3 * $3) / $iif($1 == prayer,12,6))))) ( $+ $floor($calc(($3 * $3) / $iif($1 == prayer,12,6))) xp/point))
}
if ($1 == cooking) {
if ($hget($sockname,pc) < 1) {
$hget($sockname,disp) $c2($hget($sockname,name)) $c1(doesn't appear in highscores for any combat skill.)
}
else {
hadd -m $sockname b 0
while ($hget($sockname,b) < $hget($sockname,pc)) {
hinc $sockname b 1
set $+(%,$sockname,.,line) $($+(%,$sockname,.,line),2) $hget($sockname,$hget($sockname,b))
}
$hget($sockname,disp) $c1(Pest Control) $c2(points for) $c1($replace($hget($sockname,name),+,$chr(32)))
$hget($sockname,disp) $($+(%,$sockname,.,line),2)
}
hfree $sockname
unset $+(%,$sockname,.,line) | sockclose $sockname
}
}
if ($hget($sockname,style) == cb) {
if ($istok($skill(13248624621354321574863),$1,58)) {
hadd -m $sockname $1 $iif(*not ranked* iswm $1-,NA,$3)
}
if ($1 == cooking) {
if ($count($hget($sockname,attack) $hget($sockname,strength) $hget($sockname,defence) $hget($sockname,hitpoints) $hget($sockname,prayer) $hget($sockname,ranged) $hget($sockname,magic),NA) >= 7) {
$hget($sockname,disp) $hget($sockname,name) $c2(doesn't appear in highscores for any combat skill.)
}
else {
tokenize 32 $extcmbcalc($hget($sockname,attack),$hget($sockname,strength),$hget($sockname,defence),$hget($sockname,hitpoints),$hget($sockname,prayer),$hget($sockname,ranged),$hget($sockname,magic))
$hget($sockname,disp) $c1(Combat stats for) $c4($replace($hget($sockname,name),+,$chr(32))) $c2(Level:) $c2($1-)
$hget($sockname,disp) $c1(Att:) $c2($hget($sockname,attack)) $c1(Str:) $c2($hget($sockname,strength)) $c1(Def:) $c2($hget($sockname,defence)) $c1(Hp:) $c2($hget($sockname,hitpoints)) $c1(Pray:) $c2($hget($sockname,prayer)) $c1(Range:) $c2($hget($sockname,ranged)) $c1(Mage:) $c2($hget($sockname,magic))
hadd -m $sockname temp $iif(*.* iswm $1,$calc(1 - $+($chr(46),$gettok($1,2,46))),1)
if ($2- == (melee based)) {
$hget($sockname,disp) $c1(Levels For) $c2($calc($floor($1) + 1)) $+ $c1(:) $c1(Att:) $c2($ndp($calc($hget($sockname,temp) / 0.32707))) $&
$c1(Str:) $c2($ndp($calc($hget($sockname,temp) / 0.324))) $&
$c1(Def:) $c2($ndp($calc($hget($sockname,temp) / 0.249))) $&
$c1(Hits:) $c2($ndp($calc($hget($sockname,temp) / 0.25))) $&
$c1(Pray:) $c2($ndp($calc($hget($sockname,temp) / 0.124)))
}
if ($2- == (Range based)) {
$hget($sockname,disp) $c1(Levels For) $c2($calc($floor($1) + 1)) $+ $c1(:) $c1(Range:) $c2($ndp($calc($hget($sockname,temp) / 0.487))) $&
$c1(Def:) $c2($ndp($calc($hget($sockname,temp) / 0.249))) $&
$c1(Hits:) $c2($ndp($calc($hget($sockname,temp) / 0.25))) $&
$c1(Pray:) $c2($ndp($calc($hget($sockname,temp) / 0.124)))
}
if ($2- == (Magic based)) {
$hget($sockname,disp) $c1(Levels For) $c2($calc($floor($1) + 1)) $+ $c1(:) $c1(Magic:) $c2($ndp($calc($hget($sockname,temp) / 0.487))) $&
$c1(Def:) $c2($ndp($calc($hget($sockname,temp) / 0.249))) $&
$c1(Hits:) $c2($ndp($calc($hget($sockname,temp) / 0.25))) $&
$c1(Pray:) $c2($ndp($calc($hget($sockname,temp) / 0.124)))
}
}
hfree $sockname
unset $+(%,$sockname,read) | sockclose $sockname
}
}
}
alias -l extcmbcalc {
var %line = $replace($1 $2 $3 $4 $5 $6 $7,NA,1)
tokenize 32 %line
if (($calc($1 + $2) > $6) && ($calc($1 + $2) > $7)) { var %type = melee }
if (($calc($1 + $2) < $6) || ($calc($1 + $2) < $7)) {
if ($7 > $calc($1 + $2)) {
if ($7 > $6) { var %type = magic }
}
if ($6 > $calc($1 + $2)) {
if ($6 > $7) { var %type = range }
}
}
if (%type == range) { return $base($calc((0.487 * $6) + (0.249 * $3) + (0.25 * $4) + (0.124 * $5)),10,10,0,2) (Range Based) }
if (%type == magic) { return $base($calc((0.487 * $7) + (0.249 * $3) + (0.25 * $4) + (0.124 * $5)),10,10,0,2) (Magic Based) }
if (%type == melee) { return $base($calc((0.32707 * $1) + (0.249 * $3) + (0.324 * $2) + (0.25 * $4) + (0.124 * $5)),10,10,0,2) (Melee Based) }
}
alias -l skill {
if ($regex($1,/^c(mb|ombat)/Si)) Return Combat
if ($1 == overall) return Overall
if ($regex($1,/^Stats?$/Si)) Return Stats
if ($regex($1,/^p(c|est)?$/Si)) Return Pest
if ($regex($1,/^att(ack)?$/Si)) Return Attack
if ($regex($1,/^str(ength)?$/Si)) Return Strength
if ($regex($1,/^Def(ence)?$/Si)) Return Defence
if ($regex($1,/^h(p|its|itpoints)?$/Si)) Return Hitpoints
if ($regex($1,/^pray(er)?$/Si)) Return Prayer
if ($regex($1,/^mag(e|ic)?$/Si)) Return Magic
if ($regex($1,/^range(d)?$/Si)) Return Ranged
if ($regex($1,/^Cook(ing)?$/Si)) Return Cooking
if ($regex($1,/^w(c|oodcut|oodcutting)?$/Si)) Return Woodcutting
if ($regex($1,/^fletch(ing)?$/Si)) Return Fletching
if ($regex($1,/^fish(ing)?$/Si)) Return Fishing
if ($regex($1,/^f(m|iremake|iremaking)?$/Si)) Return Firemaking
if ($regex($1,/^craft(ing)?$/Si)) Return Crafting
if ($regex($1,/^smith(ing)?$/Si)) Return Smithing
if ($regex($1,/^min(e|ing)?$/Si)) Return Mining
if ($regex($1,/^Herb(lore|y)?$/Si)) Return Herblore
if ($regex($1,/^Agility?$/Si)) Return Agility
if ($regex($1,/^th(ie|ei)v(e|ing)?$/Si)) Return Thieving
if ($regex($1,/^Slay(er|ing)?$/Si)) Return Slayer
if ($regex($1,/^farm(ing)?$/Si)) Return Farming
if ($regex($1,/^hunt(er|ing)?$/Si)) Return hunter
if ($regex($1,/^r(c|unecraft|unecrafting)?$/Si)) Return Runecraft
if ($regex($1,/^con(struction)?$/Si)) Return Construction
if ($1 == 13248624621354321574863) Return attack:strength:ranged:magic:hitpoints:prayer:defence
}
alias xp {
var %x = 1, %level = $calc($1 - 1), %xp = 0
while (%x <= %level) {
var %TempXp = $calc((%x + 300 * 2^(%x / 7)) /4)
inc %xp %TempXp
inc %x
}
return $int(%xp)
}
alias xp2Next {
var %xp = $remove($2,$chr(44)), %nextxp = $xp($calc($1 + 1))
return $calc(%nextxp - %xp)
}
alias ndp {
if (*.* iswm $1) { return $calc($gettok($1,1,46) + 1) }
else { return $1 }
}
[script]
n0=alias -l c1 return $+($chr(3),06,$1-)
n1=alias -l c2 return $+($chr(3),10,$1-)
n2=on *:TEXT:*:#:{
n3= if ($regex($1,/^[!@]setrsn/Si)) { writeini defrsn.ini defname $nick $remove($2-,$) | $iif($left($1,1) == !,notice $nick,msg $chan) $nick $+ : your default rsn is set to $readini(defrsn.ini,defname,$nick) | halt }
n4= if ($skill($right($1,-1))) {
n5= if ($skill($right($1,-1)) == overall) { halt }
n6= if ($regex($left($1,1),/^(@|!)/Si)) { hadd -m $+(stats1,.,$nick) disp $iif($left($1,1) == @,msg $chan,$iif($left($1,1) == !,notice $nick)) }
n7= else halt
n8= if ($regex($skill($right($1,-1)),/^(combat|stats|pest)/Si)) {
n9= if ($skill($right($1,-1)) == combat) { hadd -m $+(stats1,.,$nick) style cb }
n10= elseif ($skill($right($1,-1)) == stats) hadd -m $+(stats1,.,$nick) style st
n11= else hadd -m $+(stats1,.,$nick) style pc
n12= }
n13= else {
n14= if (($left($2,1) == $chr(35)) && ($right($2,-1) isnum 1-100)) { hadd -m $+(stats1,.,$nick) style ts | hadd -m $+(stats1,.,$nick) target $right($2,-1) }
n15= else hadd -m $+(stats1,.,$nick) style ss
n16= hadd -m $+(stats1,.,$nick) skill $skill($right($1,-1))
n17= }
n18= if ($2) {
n19= if ($ isin $2-) { hfree $+(stats1,.,$nick) | halt }
n20= if ($hget($+(stats1,.,$nick),style) == ts) {
n21= if ($3) {
n22= if ($len($replace($3-,$chr(32),+)) > 12) { $iif(@ == $left($1,1),msg $chan,$iif(! == $left($1,1),notice $nick,halt)) Sorry, That nickname is too long. | halt }
n23= hadd -m $+(stats1,.,$nick) name $replace($3-,$chr(32),+,_,+,-,+)
n24= }
n25= else {
n26= if ($readini(defrsn.ini,defname,$nick)) { hadd -m $+(stats1,.,$nick) name $replace($readini(defrsn.ini,defname,$nick),_,+) }
n27= else {
n28= if ($len($replace($nick,_,+)) > 12) { $iif(@ == $left($1,1),msg $chan,$iif(! == $left($1,1),notice $nick,halt)) Sorry, That nickname is too long. | halt }
n29= hadd -m $+(stats1,.,$nick) name $remove($replace($nick,_,+),$)
n30= }
n31= }
n32= }
n33= else {
n34= if ($len($replace($2-,$chr(32),+)) > 12) { $iif(@ == $left($1,1),msg $chan,$iif(! == $left($1,1),notice $nick,halt)) Sorry, That nickname is too long. | halt }
n35= hadd -m $+(stats1,.,$nick) name $replace($2-,$chr(32),+,_,+,-,+)
n36= }
n37= }
n38= else {
n39= if ($readini(defrsn.ini,defname,$nick)) { hadd -m $+(stats1,.,$nick) name $replace($readini(defrsn.ini,defname,$nick),_,+) }
n40= else {
n41= if ($len($replace($nick,_,+)) > 12) { $iif(@ == $left($1,1),msg $chan,$iif(! == $left($1,1),notice $nick,halt)) Sorry, That nickname is too long. | halt }
n42= hadd -m $+(stats1,.,$nick) name $remove($replace($nick,_,+),$)
n43= }
n44= }
n45= sockopen $+(stats1,.,$nick) parsers.freehostia.com 80
n46= }
n47= else halt
n48=}
n49=on *:SOCKOPEN:stats1.*:{
n50= sockwrite -nt $sockname GET /parsers/statsoww.php?rsname= $+ $replace($hget($sockname,name),$chr(32),+) HTTP/1.1
n51= sockwrite -nt $sockname Host: parsers.freehostia.com $+ $crlf $+ $crlf
n52=}
n53=on *:SOCKREAD:stats1.*:{
n54= var %read | sockread -f %read
n55= tokenize 32 %read
n56= if (*is not featured* iswm %read) {
n57= $hget($sockname,disp) $hget($sockname,name) $c2(isn't featured in the high scores.)
n58= hfree $sockname
n59= sockclose $sockname
n60= halt
n61= }
n62= if ($hget($sockname,style) == ts) {
n63= if ($1 == $hget($sockname,skill)) {
n64= if (*not ranked* iswm $($+(%,$sockname,.,read),2)) { $hget($sockname,disp) $hget($sockname,name) $c2(isn't featured in high scores for $hget($sockname,skill) $+ .) }
n65= else {
n66= hadd -m $sockname exp $calc($xp($hget($sockname,target)) - $remove($4,$chr(44)))
n67= set $+(%,$sockname,.,a) 0
n68= while ($($+(%,$sockname,.,a),2) < $ini(monsters.ini,$hget($sockname,skill),0)) {
n69= inc $+(%,$sockname,.,a) 1
n70= set $+(%,$sockname,.,b) $($+(%,$sockname,.,b),2) $c1($replace($gettok($readini(monsters.ini,$hget($sockname,skill),$($+(%,$sockname,.,a),2)),1,32),_,$chr(32),-,$chr(32))) $c2($floor($calc($hget($sockname,exp) / $gettok($readini(monsters.ini,$hget($sockname,skill),$($+(%,$sockname,.,a),2)),2,32))))
n71= }
n72= $hget($sockname,disp) $+(~!,$c2(TARGET),!~) $c1(RSN) $c2($replace($hget($sockname,name),+,$chr(32))) $c1(SKILL) $c2($hget($sockname,skill)) $c1(LEVEL) $c2($3)
n73= $hget($sockname,disp) < $+ $c1(For level $c2($hget($sockname,target) $+ ) $+ >) $($+(%,$sockname,.,b),2)
n74= }
n75= unset $+(%,$sockname,.,*)
n76= hfree $sockname
n77= sockclose $sockname
n78= }
n79= }
n80= if ($hget($sockname,style) == ss) {
n81= if ($1 == $hget($sockname,skill)) {
n82= if (*not ranked* iswm %read) { $hget($sockname,disp) $hget($sockname,name) $c2(isn't featured in high scores for $hget($sockname,skill) $+ .) }
n83= else {
n84= hadd -m $sockname exp $xp2next($3,$remove($4,$chr(44)))
n85= set $+(%,$sockname,.,a) 0
n86= while ($($+(%,$sockname,.,a),2) < $ini(monsters.ini,$hget($sockname,skill),0)) {
n87= inc $+(%,$sockname,.,a) 1
n88= set $+(%,$sockname,.,b) $($+(%,$sockname,.,b),2) $c1($replace($gettok($readini(monsters.ini,$hget($sockname,skill),$($+(%,$sockname,.,a),2)),1,32),_,$chr(32),-,$chr(32))) $c2($floor($calc($hget($sockname,exp) / $gettok($readini(monsters.ini,$hget($sockname,skill),$($+(%,$sockname,.,a),2)),2,32))))
n89= }
n90= $hget($sockname,disp) $c1($hget($sockname,skill)) $c2(stats for:) $c1($replace($hget($sockname,name),+,$chr(32)))
n91= $hget($sockname,disp) $c1(Rank:) $c2($2) $c1(Level:) $c2($3) $c1(Exp:) $c2($4) $c1(Exp for) $c2($+($calc($3 + 1),:) $hget($sockname,exp))
n92= $hget($sockname,disp) $c1(<For level $calc($3 + 1) $+ >) $($+(%,$sockname,.,b),2)
n93= }
n94= unset $+(%,$sockname,.,*)
n95= hfree $sockname
n96= sockclose $sockname
n97= }
n98= }
n99= if ($hget($sockname,style) == st) {
n100= if (($skill($1)) && (*not ranked* !iswm $1-)) {
n101= if ($hget($sockname,line)) { var %line = $hget($sockname,line) $c1($+($1,:)) $c2($3) | hdel $sockname line | hadd -m $sockname line %line }
n102= else { hadd -m $sockname line $c1($+($1,:)) $c2($3) }
n103= }
n104= if ($1 == end) {
n105= tokenize 32 $hget($sockname,line)
n106= $hget($sockname,disp) $c1(Stats for:) $c2($replace($hget($sockname,name),+,$chr(32))) $iif($strip($1) == Overall:,$1 $2)
n107= $hget($sockname,disp) $iif($strip($1) == Overall:,$3-,$1-)
n108= hfree $sockname
n109= sockclose $sockname
n110= }
n111= }
n112= if ($hget($sockname,style) == pc) {
n113= if ($istok($skill(13248624621354321574863),$1,58)) {
n114= if (!$hget($sockname,pc)) { hadd -m $sockname pc 1 }
n115= else { hinc $sockname pc 1 }
n116= hadd -m $sockname $hget($sockname,pc) $iif($hget($sockname,pc) != 1,$chr(124)) $c1(Points for $calc($3 + 1) $1 $+ :) $c2($ndp($calc($calc($xp($calc($3 + 1)) - $remove($4,$chr(44))) / $floor($calc(($3 * $3) / $iif($1 == prayer,12,6))))) ( $+ $floor($calc(($3 * $3) / $iif($1 == prayer,12,6))) xp/point))
n117= }
n118= if ($1 == cooking) {
n119= if ($hget($sockname,pc) < 1) {
n120= $hget($sockname,disp) $c2($hget($sockname,name)) $c1(doesn't appear in highscores for any combat skill.)
n121= }
n122= else {
n123= hadd -m $sockname b 0
n124= while ($hget($sockname,b) < $hget($sockname,pc)) {
n125= hinc $sockname b 1
n126= set $+(%,$sockname,.,line) $($+(%,$sockname,.,line),2) $hget($sockname,$hget($sockname,b))
n127= }
n128= $hget($sockname,disp) $c1(Pest Control) $c2(points for) $c1($replace($hget($sockname,name),+,$chr(32)))
n129= $hget($sockname,disp) $($+(%,$sockname,.,line),2)
n130= }
n131= hfree $sockname
n132= unset $+(%,$sockname,.,line) | sockclose $sockname
n133= }
n134= }
n135= if ($hget($sockname,style) == cb) {
n136= if ($istok($skill(13248624621354321574863),$1,58)) {
n137= hadd -m $sockname $1 $iif(*not ranked* iswm $1-,NA,$3)
n138= }
n139= if ($1 == cooking) {
n140= if ($count($hget($sockname,attack) $hget($sockname,strength) $hget($sockname,defence) $hget($sockname,hitpoints) $hget($sockname,prayer) $hget($sockname,ranged) $hget($sockname,magic),NA) >= 7) {
n141= $hget($sockname,disp) $hget($sockname,name) $c2(doesn't appear in highscores for any combat skill.)
n142= }
n143= else {
n144= tokenize 32 $extcmbcalc($hget($sockname,attack),$hget($sockname,strength),$hget($sockname,defence),$hget($sockname,hitpoints),$hget($sockname,prayer),$hget($sockname,ranged),$hget($sockname,magic))
n145= $hget($sockname,disp) $c1(Combat stats for) $c4($replace($hget($sockname,name),+,$chr(32))) $c2(Level:) $c2($1-)
n146= $hget($sockname,disp) $c1(Att:) $c2($hget($sockname,attack)) $c1(Str:) $c2($hget($sockname,strength)) $c1(Def:) $c2($hget($sockname,defence)) $c1(Hp:) $c2($hget($sockname,hitpoints)) $c1(Pray:) $c2($hget($sockname,prayer)) $c1(Range:) $c2($hget($sockname,ranged)) $c1(Mage:) $c2($hget($sockname,magic))
n147= hadd -m $sockname temp $iif(*.* iswm $1,$calc(1 - $+($chr(46),$gettok($1,2,46))),1)
n148= if ($2- == (melee based)) {
n149= $hget($sockname,disp) $c1(Levels For) $c2($calc($floor($1) + 1)) $+ $c1(:) $c1(Att:) $c2($ndp($calc($hget($sockname,temp) / 0.32707))) $&
n150= $c1(Str:) $c2($ndp($calc($hget($sockname,temp) / 0.324))) $&
n151= $c1(Def:) $c2($ndp($calc($hget($sockname,temp) / 0.249))) $&
n152= $c1(Hits:) $c2($ndp($calc($hget($sockname,temp) / 0.25))) $&
n153= $c1(Pray:) $c2($ndp($calc($hget($sockname,temp) / 0.124)))
n154= }
n155= if ($2- == (Range based)) {
n156= $hget($sockname,disp) $c1(Levels For) $c2($calc($floor($1) + 1)) $+ $c1(:) $c1(Range:) $c2($ndp($calc($hget($sockname,temp) / 0.487))) $&
n157= $c1(Def:) $c2($ndp($calc($hget($sockname,temp) / 0.249))) $&
n158= $c1(Hits:) $c2($ndp($calc($hget($sockname,temp) / 0.25))) $&
n159= $c1(Pray:) $c2($ndp($calc($hget($sockname,temp) / 0.124)))
n160= }
n161= if ($2- == (Magic based)) {
n162= $hget($sockname,disp) $c1(Levels For) $c2($calc($floor($1) + 1)) $+ $c1(:) $c1(Magic:) $c2($ndp($calc($hget($sockname,temp) / 0.487))) $&
n163= $c1(Def:) $c2($ndp($calc($hget($sockname,temp) / 0.249))) $&
n164= $c1(Hits:) $c2($ndp($calc($hget($sockname,temp) / 0.25))) $&
n165= $c1(Pray:) $c2($ndp($calc($hget($sockname,temp) / 0.124)))
n166= }
n167= }
n168= hfree $sockname
n169= unset $+(%,$sockname,read) | sockclose $sockname
n170= }
n171= }
n172=}
n173=alias -l extcmbcalc {
n174= var %line = $replace($1 $2 $3 $4 $5 $6 $7,NA,1)
n175= tokenize 32 %line
n176= if (($calc($1 + $2) > $6) && ($calc($1 + $2) > $7)) { var %type = melee }
n177= if (($calc($1 + $2) < $6) || ($calc($1 + $2) < $7)) {
n178= if ($7 > $calc($1 + $2)) {
n179= if ($7 > $6) { var %type = magic }
n180= }
n181= if ($6 > $calc($1 + $2)) {
n182= if ($6 > $7) { var %type = range }
n183= }
n184= }
n185= if (%type == range) { return $base($calc((0.487 * $6) + (0.249 * $3) + (0.25 * $4) + (0.124 * $5)),10,10,0,2) (Range Based) }
n186= if (%type == magic) { return $base($calc((0.487 * $7) + (0.249 * $3) + (0.25 * $4) + (0.124 * $5)),10,10,0,2) (Magic Based) }
n187= if (%type == melee) { return $base($calc((0.32707 * $1) + (0.249 * $3) + (0.324 * $2) + (0.25 * $4) + (0.124 * $5)),10,10,0,2) (Melee Based) }
n188=}
n189=alias -l skill {
n190= if ($regex($1,/^c(mb|ombat)/Si)) Return Combat
n191= if ($1 == overall) return Overall
n192= if ($regex($1,/^Stats?$/Si)) Return Stats
n193= if ($regex($1,/^p(c|est)?$/Si)) Return Pest
n194= if ($regex($1,/^att(ack)?$/Si)) Return Attack
n195= if ($regex($1,/^str(ength)?$/Si)) Return Strength
n196= if ($regex($1,/^Def(ence)?$/Si)) Return Defence
n197= if ($regex($1,/^h(p|its|itpoints)?$/Si)) Return Hitpoints
n198= if ($regex($1,/^pray(er)?$/Si)) Return Prayer
n199= if ($regex($1,/^mag(e|ic)?$/Si)) Return Magic
n200= if ($regex($1,/^range(d)?$/Si)) Return Ranged
n201= if ($regex($1,/^Cook(ing)?$/Si)) Return Cooking
n202= if ($regex($1,/^w(c|oodcut|oodcutting)?$/Si)) Return Woodcutting
n203= if ($regex($1,/^fletch(ing)?$/Si)) Return Fletching
n204= if ($regex($1,/^fish(ing)?$/Si)) Return Fishing
n205= if ($regex($1,/^f(m|iremake|iremaking)?$/Si)) Return Firemaking
n206= if ($regex($1,/^craft(ing)?$/Si)) Return Crafting
n207= if ($regex($1,/^smith(ing)?$/Si)) Return Smithing
n208= if ($regex($1,/^min(e|ing)?$/Si)) Return Mining
n209= if ($regex($1,/^Herb(lore|y)?$/Si)) Return Herblore
n210= if ($regex($1,/^Agility?$/Si)) Return Agility
n211= if ($regex($1,/^th(ie|ei)v(e|ing)?$/Si)) Return Thieving
n212= if ($regex($1,/^Slay(er|ing)?$/Si)) Return Slayer
n213= if ($regex($1,/^farm(ing)?$/Si)) Return Farming
n214= if ($regex($1,/^hunt(er|ing)?$/Si)) Return hunter
n215= if ($regex($1,/^r(c|unecraft|unecrafting)?$/Si)) Return Runecraft
n216= if ($regex($1,/^con(struction)?$/Si)) Return Construction
n217= if ($1 == 13248624621354321574863) Return attack:strength:ranged:magic:hitpoints:prayer:defence
n218=}
n219=alias xp {
n220= var %x = 1, %level = $calc($1 - 1), %xp = 0
n221= while (%x <= %level) {
n222= var %TempXp = $calc((%x + 300 * 2^(%x / 7)) /4)
n223= inc %xp %TempXp
n224= inc %x
n225= }
n226= return $int(%xp)
n227=}
n228=alias xp2Next {
n229= var %xp = $remove($2,$chr(44)), %nextxp = $xp($calc($1 + 1))
n230= return $calc(%nextxp - %xp)
n231=}
n232=alias ndp {
n233= if (*.* iswm $1) { return $calc($gettok($1,1,46) + 1) }
n234= else { return $1 }
n235=}