alias -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() $($+(%,$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() $($+(%,$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=}