if ($regex(%type,/^c(mb|ombat)$/Si)) { var %x, %y = 1, %z = 7 while (%y <= %z) { tokenize 44 $hget(%rsn,$setskill(%y)) set -l $+(%,$setskill(%y)) $iif($2 > 0,$2,$iif($setskill(%y) == Hitpoints,10,1)) $iif(!%ranked,set -l %ranked $iif($calc($1 + 1),$v1)) %x = %x $c1($+($setskill(%y),:)) $c2($iif($2 > 0,$v1,-)) inc %y } if (%ranked) { %stats.b = %x var %a = $calc(%defence * 100), %b = $calc(%hitpoints * 100), %c = $calc($iif($right(%prayer,1) isin 13579,$calc(%prayer - 1),%prayer) * 50), %d = $calc(%attack * 130), %e = $calc(%strength * 130) if ($right(%ranged,1) isin 13579) var %f = $calc(((%ranged - 1) + (%ranged * 2)) * 65) else var %f = $calc(%ranged * 195) if ($right(%magic,1) isin 13579) var %g = $calc(((%magic - 1) + (%magic * 2)) * 65) else var %g = $calc(%magic * 195) var %base = $calc((%a + %b + %c) / 400), $& %melee = $calc((%d + %e) / 400), %range = $calc(%f / 400), %mage = $calc(%g / 400), $& %cmb = $calc(%base + $gettok($sorttok(%melee %range %mage,32,n),-1,32)), %cmbstyle, %cmb.temp = $abs($calc($int($calc(%cmb +1)) - %cmb)) if (%melee > %range) && (%melee > %mage) %cmbstyle = melee else { if (%mage > %range) %cmbstyle = mage else %cmbstyle = ranged } var %a.2lvl = $ceil($calc(%cmb.temp / .325)), %s.2lvl = $ceil($calc(%cmb.temp / .325)), $& %d.2lvl = $ceil($calc(%cmb.temp / .25)), %m.2lvl = $ceil($calc(%cmb.temp / .485)), $& %r.2lvl = $ceil($calc(%cmb.temp / .485)), %p.2lvl = $ceil($calc(%cmb.temp / .125)) if (%cmbstyle == melee) var %dynamic.2lvl = $iif(%attack != 99,$c1(Attack:) $c2(%a.2lvl)) $iif(%strength != 99,$c1(Strength:) $c2(%s.2lvl)) if (%cmbstyle == magic) var %dynamic.2lvl = $iif(%magic != 99,$c1(Magic:) $c2(%m.2lvl)) if (%cmbstyle == ranged) var %dynamic.2lvl = $iif(%ranged != 99,$c1(Ranged:) $c2(%r.2lvl)) %stats.a = $+($chr(2),$c2([),$chr(2),%rsn,$chr(2),$c2(]),$chr(2)) $c1(is) $c2(%cmb) $c1(%cmbstyle style combat.) %stats.c = $iif($calc($int(%cmb) + 1) isnum 1-126,$+($chr(2),$c1([),$chr(2),$c1(For level) $c2($calc($int(%cmb) + 1)),$chr(2),$c1(]),$chr(2),$c1(:)) %dynamic.2lvl $iif(%defence != 99,$c1(Defence) $c2(%d.2lvl)) $iif(%hitpoints != 99,$c1(Hitpoints:) $c2(%d.2lvl)) $iif(%prayer != 99,$c1(Prayer:) $c2(%p.2lvl))) } else %stats.a = $c1(The nick) $c2(%rsn) $c1(does not appear in the hiscores for any combat skills.) } if ($regex(%type,/^(close(st)?|f(ar|[au]rthest))$/Si)) { var %a = 1, %b, %c, %d, %e = $iif(close* iswm %type,closest,furthest), %2lvl while ($setskill(%a)) { tokenize 44 $hget(%rsn,$v1) %b = $calc($2 + 1) %c = $calc($xp(%b) - $3) if (%b isnum 1-99) { if (%d) { if (%c $iif(close* iswm %e,<,>) $gettok(%d,3,32)) %d = $setskill(%a) %b %c } else %d = $setskill(%a) %b %c } inc %a } tokenize 32 %d if (!$1) %stats.a = $c2(%rsn) $c1(can't level any further.) else { %2lvl = $3 %stats.a = $+($c2(%rsn),$c1('s)) $c1(%e skill $iif(close* iswm %e,to,from) a level is) $c2($1) $+($c1($chr(40)),$c2($bytes($3,b)) $c1(exp for level) $c2($2),$c1($chr(41))) %stats.b = $iif($read(stats.txt,s,$1,1),$+($chr(2),$c1([),$chr(2),$c1(For level) $c2($2),$chr(2),$c1(]),$chr(2),$c1(:)) $v1) } hfree %rsn }