All pastes #294053 Raw Edit

Mine

public text v1 · immutable
#294053 ·published 2006-12-28 03:27 UTC
rendered paste body
alias rsstats.cleanup {
  if ($1 != all) {
    unset %rsstats.*. [ $+ [ $1 ] ]
    sockclose rsstats. [ $+ [ $1 ] ]
  }
  elseif ($1 == all) {
    unset %rsstats.*.*
    var %c = 1
    while ($sock(rsstats. $+ %c)) {
      sockclose rsstats. [ $+ [ %c ] ]
    }
  }
}
on *:disconnect: {
  rsstats.cleanup all
}
on *:sockopen:rsstats.*: {
  inc %rsstats.usageremote
  set %rsstats.nulled. [ $+ [ $right($sockname,-8) ] ] false
  sockwrite -n $sockname GET /lookup.php?type=stats&user= $+ %rsstats.rsn. [ $+ [ $right($sockname,-8) ] ] HTTP/1.1
  sockwrite -n $sockname Host: rscript.org $+ $crlf $+ $crlf
}
on *:sockread:rsstats.*: {
  var %s = $right($sockname,-8)
  if ($sockerr) {
    %rsstats.display. [ $+ [ %s ] ] Socket error: Please try again later.
    rsstats.cleanup %s
    halt
  }
  else {
    sockread %rsstats.read. [ $+ [ %s ] ]
    if (STAT: == %rsstats.read. [ $+ [ %s ] ]) {
      set %rsstats.nulled. [ $+ [ %s ] ] true
    }
    if (%rsstats.skill. [ $+ [ %s ] ] == stats) {
      var %rsstats.read. [ $+ [ %s ] ] $remove(%rsstats.read. [ $+ [ %s ] ],Stat:)
      tokenize 32 %rsstats.read. [ $+ [ %s ] ]
      if (Overall isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Attack isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Defence isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Strength isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Hitpoints isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Ranged isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (prayer isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Magic isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Cooking isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Woodcutting isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Fletching isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Fishing isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Firemaking isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Crafting isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Smithing isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Mining isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Herblore isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Agility isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Thieving isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Slayer isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Farming isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Runecraft isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Construction isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { continue }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
        }
      }
      if (Hunter isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { 
          %rsstats.display. [ $+ [ %s ] ] 8(06 Stats for: 12[4 $+ %rsstats.rsn. [ $+ [ %s ] ] $+ 12] $+ 06: %rsstats.level. [ $+ [ %s ] ] 8)
          rsstats.cleanup %s
          break
        }
        else {
          set %rsstats.level. [ $+ [ %s ] ] %rsstats.level. [ $+ [ %s ] ] $1 $+ $chr(91) $+ $3 $+ $chr(93) $chr(164)
          %rsstats.display. [ $+ [ %s ] ] 8(06 Stats for: 12[4 $+ %rsstats.rsn. [ $+ [ %s ] ] $+ 12] $+ 06: %rsstats.level. [ $+ [ %s ] ] 8)
          rsstats.cleanup %s
          break
        }
      }
    }
    elseif (%rsstats.skill. [ $+ [ %s ] ] == compare) {
      tokenize 32 $remove(%rsstats.read. [ $+ [ %s ] ],Stat:)
      if (%rsstats.comparecount. [ $+ [ %s ] ] == 1) {
        if (Not found isin %rsstats.read. [ $+ [ %s ] ]) {
          %rsstats.display. [ $+ [ %s ] ] 8(06 The username: 12 $+ $chr(91) $+ 04 $+ %rsstats.rsn. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06does not appear in the highscores for %rsstats.skills. [ $+ [ %s ] ] 8)
          rsstats.cleanup %s
          break
          halt
        }
        if ($setskill(%rsstats.skills. [ $+ [ %s ] ]) isin $1-) {
          if (!$4) || (Not Ranked isin %rsstats.read. [ $+ [ %s ] ]) {
            %rsstats.display. [ $+ [ %s ] ] 8(06 The username: 12 $+ $chr(91) $+ 04 $+ %rsstats.rsn. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06does not appear in the highscores for %rsstats.skills. [ $+ [ %s ] ] 8)
            rsstats.cleanup %s
            break
            halt
          }
          set %rsstats.comparecount. [ $+ [ %s ] ] 2
          set %rsstats.compare1. [ $+ [ %s ] ] $1-
          set %rsstats.lvl1. [ $+ [ %s ] ] $3
          set %rsstats.exp1. [ $+ [ %s ] ] $remove($4,$chr(44))
          set %rsstats.rsn. [ $+ [ %s ] ] %rsstats.rsn2. [ $+ [ %s ] ]
          sockclose rsstats. [ $+ [ %s ] ]
          sockopen rsstats. [ $+ [ %s ] ] rscript.org 80
          break
        }
        else { continue }
      }
      elseif (%rsstats.comparecount. [ $+ [ %s ] ] == 2) {
        tokenize 32 $remove(%rsstats.read. [ $+ [ %s ] ],Stat:)
        if (Not found isin %rsstats.read. [ $+ [ %s ] ]) {
          %rsstats.display. [ $+ [ %s ] ] 8(06 The username: 12 $+ $chr(91) $+ 04 $+ %rsstats.rsn. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06does not appear in the highscores for %rsstats.skills. [ $+ [ %s ] ] 8)
          rsstats.cleanup %s
          break
          halt
        }
        if ($setskill(%rsstats.skills. [ $+ [ %s ] ]) isin $1-) {
          if (!$4) || (Not Ranked isin %rsstats.read. [ $+ [ %s ] ]) {
            %rsstats.display. [ $+ [ %s ] ] 8(06 The username: 12 $+ $chr(91) $+ 04 $+ %rsstats.rsn. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06does not appear in the highscores for %rsstats.skills. [ $+ [ %s ] ] 8)
            rsstats.cleanup %s
            break
            halt
          }
          set %rsstats.compare2. [ $+ [ %s ] ] $1-
          set %rsstats.lvl2. [ $+ [ %s ] ] $3
          set %rsstats.exp2. [ $+ [ %s ] ] $remove($4,$chr(44))
          if (%rsstats.lvl1. [ $+ [ %s ] ] == %rsstats.lvl2. [ $+ [ %s ] ]) {
            %rsstats.display. [ $+ [ %s ] ] 8(12 ¤ $chr(91) $+ 04 $+ %rsstats.rsn1. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06and $+ 12 $chr(91) $+ 04 $+ %rsstats.rsn2. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06has the same4 %rsstats.skills. [ $+ [ %s ] ] 06level 12 $+ $chr(91) $+ 04 $+ %rsstats.lvl1. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 12¤06. 8)
            if (%rsstats.exp1. [ $+ [ %s ] ] > %rsstats.exp2. [ $+ [ %s ] ]) {
              %rsstats.display. [ $+ [ %s ] ] 8(12 ¤ $chr(91) $+ 04 $+ %rsstats.rsn1. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06has 12 $+ $chr(91) $+ 04 $+ $bytes($calc($eval(%rsstats.exp1. [ $+ [ %s ] ]) - $eval(%rsstats.exp2. [ $+ [ %s ] ])),b) $+ 12 $+ $chr(93) $+ 06 more experience than12 $chr(91) $+ 04 $+ %rsstats.rsn2. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 12¤06. 8)
            }
            elseif (%rsstats.exp1. [ $+ [ %s ] ] < %rsstats.exp2. [ $+ [ %s ] ]) {
              %rsstats.display. [ $+ [ %s ] ] 8(12 ¤ $chr(91) $+ 04 $+ %rsstats.rsn2. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06has 12 $+ $chr(91) $+ 04 $+ $bytes($calc($eval(%rsstats.exp2. [ $+ [ %s ] ]) - $eval(%rsstats.exp1. [ $+ [ %s ] ])),b) $+ 12 $+ $chr(93) $+ 06 more experience than12 $chr(91) $+ 04 $+ %rsstats.rsn1. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 12¤06. 8)
            }
            else {
              %rsstats.display. [ $+ [ %s ] ] 8(12 ¤ $chr(91) $+ 04 $+ %rsstats.rsn1. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06and $+ 12 $chr(91) $+ 04 $+ %rsstats.rsn2. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06has the same experience in04 %rsstats.skills. [ $+ [ %s ] ] 12 $+ $chr(91) $+ 04 $+ %rsstats.exp1. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 12¤06. 8)
            }
          }
          elseif (%rsstats.lvl1. [ $+ [ %s ] ] > %rsstats.lvl2. [ $+ [ %s ] ]) {
            %rsstats.display. [ $+ [ %s ] ] 8(12 ¤ $chr(91) $+ 04 $+ %rsstats.rsn1. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06is12 $chr(91) $+ 04 $+ $calc($eval(%rsstats.lvl1. [ $+ [ %s ] ]) - $eval(%rsstats.lvl2. [ $+ [ %s ] ])) $+ 12 $+ $chr(93) 04 $+ %rsstats.skills. [ $+ [ %s ] ] $+ 06 $iif($calc($eval(%rsstats.lvl1. [ $+ [ %s ] ]) - $eval(%rsstats.lvl2. [ $+ [ %s ] ])) == 1,level,levels) higher than12 $chr(91) $+ 04 $+ %rsstats.rsn2. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 12¤06. 8)
            if (%rsstats.exp1. [ $+ [ %s ] ] > %rsstats.exp2. [ $+ [ %s ] ]) {
              %rsstats.display. [ $+ [ %s ] ] 8(12 ¤ $chr(91) $+ 04 $+ %rsstats.rsn1. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06has 12 $+ $chr(91) $+ 04 $+ $bytes($calc($eval(%rsstats.exp1. [ $+ [ %s ] ]) - $eval(%rsstats.exp2. [ $+ [ %s ] ])),b) $+ 12 $+ $chr(93) $+ 06 more experience than12 $chr(91) $+ 04 $+ %rsstats.rsn2. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 12¤06. 8)
            }
            elseif (%rsstats.exp1. [ $+ [ %s ] ] < %rsstats.exp2. [ $+ [ %s ] ]) {
              %rsstats.display. [ $+ [ %s ] ] 8(12 ¤ $chr(91) $+ 04 $+ %rsstats.rsn2. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06has 12 $+ $chr(91) $+ 04 $+ $bytes($calc($eval(%rsstats.exp2. [ $+ [ %s ] ]) - $eval(%rsstats.exp1. [ $+ [ %s ] ])),b) $+ 12 $+ $chr(93) $+ 06 more experience than12 $chr(91) $+ 04 $+ %rsstats.rsn1. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 12¤06. 8)
            }
          }
          elseif (%rsstats.lvl1. [ $+ [ %s ] ] < %rsstats.lvl2. [ $+ [ %s ] ]) {
            %rsstats.display. [ $+ [ %s ] ] 8(12 ¤ $chr(91) $+ 04 $+ %rsstats.rsn2. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06is12 $chr(91) $+ 04 $+ $calc($eval(%rsstats.lvl2. [ $+ [ %s ] ]) - $eval(%rsstats.lvl1. [ $+ [ %s ] ])) $+ 12 $+ $chr(93) 04 $+ %rsstats.skills. [ $+ [ %s ] ] $+ 06 $iif($calc($eval(%rsstats.lvl2. [ $+ [ %s ] ]) - $eval(%rsstats.lvl1. [ $+ [ %s ] ])) == 1,level,levels) higher than12 $chr(91) $+ 04 $+ %rsstats.rsn1. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 12¤06. 8)
            if (%rsstats.exp1. [ $+ [ %s ] ] > %rsstats.exp2. [ $+ [ %s ] ]) {
              %rsstats.display. [ $+ [ %s ] ] 8(12 ¤ $chr(91) $+ 04 $+ %rsstats.rsn1. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06has 12 $+ $chr(91) $+ 04 $+ $bytes($calc($eval(%rsstats.exp1. [ $+ [ %s ] ]) - $eval(%rsstats.exp2. [ $+ [ %s ] ])),b) $+ 12 $+ $chr(93) $+ 06 more experience than12 $chr(91) $+ 04 $+ %rsstats.rsn2. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 12¤06. 8)
            }
            elseif (%rsstats.exp1. [ $+ [ %s ] ] < %rsstats.exp2. [ $+ [ %s ] ]) {
              %rsstats.display. [ $+ [ %s ] ] 8(12 ¤ $chr(91) $+ 04 $+ %rsstats.rsn2. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06has 12 $+ $chr(91) $+ 04 $+ $bytes($calc($eval(%rsstats.exp2. [ $+ [ %s ] ]) - $eval(%rsstats.exp1. [ $+ [ %s ] ])),b) $+ 12 $+ $chr(93) $+ 06 more experience than12 $chr(91) $+ 04 $+ %rsstats.rsn1. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 12¤06. 8)
            }
          }
          rsstats.cleanup %s
          break
        }
        else { continue }
      }
    }
    elseif (%rsstats.skill. [ $+ [ %s ] ] == combat) {
      var %a.mult = .32707, %s.mult = .324, %d.mult = .249, %h.mult = .25, %p.mult = .124, %r.mult = .487, %m.mult = .487
      tokenize 32 %rsstats.read. [ $+ [ %s ] ]
      if (Attack isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { set %rsstats.a. [ $+ [ %s ] ] 1 }
        else { set %rsstats.a. [ $+ [ %s ] ] $3 }
      }
      if (Strength isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { set %rsstats.st. [ $+ [ %s ] ] 1 }
        else { set %rsstats.st. [ $+ [ %s ] ] $3 }
      }
      if (Defence isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { set %rsstats.d. [ $+ [ %s ] ] 1 }
        else { set %rsstats.d. [ $+ [ %s ] ] $3 }
      }
      if (Hitpoints isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { set %rsstats.h. [ $+ [ %s ] ] 10 }
        else { set %rsstats.h. [ $+ [ %s ] ] $3 }
      }
      if (prayer isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { set %rsstats.p. [ $+ [ %s ] ] 1 }
        else { set %rsstats.p. [ $+ [ %s ] ] $3 }
      }
      if (Ranged isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { set %rsstats.r. [ $+ [ %s ] ] 1 }
        else { set %rsstats.r. [ $+ [ %s ] ] $3 }
      }
      if (Magic isin %rsstats.read. [ $+ [ %s ] ]) {
        if ($3 == Ranked) { var %m = 1 }
        else { var %m = $3 }
        var %a = %rsstats.a. [ $+ [ %s ] ]
        var %st = %rsstats.st. [ $+ [ %s ] ]
        var %d = %rsstats.d. [ $+ [ %s ] ]
        var %h = %rsstats.h. [ $+ [ %s ] ]
        var %p = %rsstats.p. [ $+ [ %s ] ]
        var %r = %rsstats.r. [ $+ [ %s ] ]
        var %def = $calc(%d * 100)
        var %hp = $calc(%h * 100)
        if ($iif($regex($right(%p,1),[02468]),Even,Odd) == Even) { var %pray $calc(%p * 50) }
        else { var %pray $calc((%p - 1) * 50) }
        var %base = $calc((%def + %hp + %pray) / 400)
        var %att = $calc(%a * 130)
        var %str = $calc(%st * 130)
        if ($iif($regex($right(%r,1),[02468]),Even,Odd) == Even) { var %range = $calc(%r * 195) }
        else { var %range = $calc((%r * 195) - 65) }
        if ($iif($regex($right(%m,1),[02468]),Even,Odd) == Even) { var %mage = $calc(%m * 195) }
        else { var %mage = $calc((%m * 195) - 65) }
        var %melee = $calc((%att + %str) / 400)
        var %ranger = $calc(%range / 400)
        var %mage = $calc(%mage / 400)
        if (%melee > %ranger) && (%melee > %mage) {
          var %style = Melee
          var %combat = $calc(%melee + %base)
        }
        if (%ranger > %melee) && (%ranger > %mage) {
          var %style = Ranger
          var %combat = $calc(%ranger + %base)
        }
        if (%mage > %melee) && (%mage > %ranger) {
          var %style = Mage
          var %combat = $calc(%mage + %base)
        }
        else {
          var %style = Melee
          var %combat = $calc(%melee + %base)
        }
        var %next = $ceil(%combat)
        var %cmb.temp = $abs($calc($int($calc(%combat +1)) - %combat)), $&
          %a.2lvl = $ceil($calc(%cmb.temp / %a.mult)), %s.2lvl = $ceil($calc(%cmb.temp / %s.mult)), $&
          %d.2lvl = $ceil($calc(%cmb.temp / %d.mult)), %m.2lvl = $ceil($calc(%cmb.temp / %m.mult)), $&
          %r.2lvl = $ceil($calc(%cmb.temp / %r.mult)), %p.2lvl = $ceil($calc(%cmb.temp / %p.mult))
        if (%cmbstyle == magic) var %dynamic.2lvl = M: $chr(91) $+ %m.2lvl $+ $chr(93)
        elseif (%cmbstyle == Ranged) var %dynamic.2lvl = R: $chr(91) $+ %r.2lvl $+ $chr(93)
        else var %dynamic.2lvl = A: $chr(91) $+ %a.2lvl $+ $chr(93) S: $chr(91) $+ %s.2lvl $+ $chr(93)
        var %combat = $round(%combat,2), %next = $ceil(%combat)
        %rsstats.display. [ $+ [ %s ] ] 8(12 $chr(91) $+ 04 $+ %rsstats.rsn. [ $+ [ %s ] ] $+ 's $+ 12 $+ $chr(93) 06Combat ( $+ %style $+ ): $chr(91) $+ %combat $+ $chr(93) 8)
        %rsstats.display. [ $+ [ %s ] ] 8(06 A D S H M R P 12[04 %a %d %st  $+ %h $+  %m %r %p 12]8 )
        if (%combat < 126) {
          %rsstats.display. [ $+ [ %s ] ] 8(06 Levels for $chr(91) $+ %next $+ $chr(93) Combat: %dynamic.2lvl $&
            D/H: $chr(91) $+ %d.2lvl $+ $chr(93) P: $chr(91) $+ %p.2lvl $+ $chr(93) 8)
        }
        rsstats.cleanup %s
        break
      }
    }
    else {
      tokenize 32 %rsstats.read. [ $+ [ %s ] ]
      if (%rsstats.skill. [ $+ [ %s ] ] isin %rsstats.read. [ $+ [ %s ] ]) {
        if (!$4) {
          %rsstats.display. [ $+ [ %s ] ] 8(06 The username: 12 $+ $chr(91) $+ 04 $+ %rsstats.rsn. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06does not appear in the highscores for %rsstats.skill. [ $+ [ %s ] ] 8)
          rsstats.cleanup %s
          break
          halt
        }
        if (%rsstats.target. [ $+ [ %s ] ]) {
          var %expnext = $exp($(%rsstats.target. [ $+ [ %s ] ],2))
          var %nextlvl = %rsstats.target. [ $+ [ %s ] ]
        }
        else { var %expnext = $calc($exp($3 + 1) - $remove($4,$chr(44))) | var %nextlvl = $calc($3 + 1) }
        var %temp1 = $gettok($readini(RSstatsinfo.ini,n,$($+(%,RSstats.skill.,%s),2),1),1,64) $chr(91) $+ $comma($floor($calc((%expnext / $gettok($readini(RSstatsinfo.ini,n,$($+(%,RSstats.skill.,%s),2),1),2,64))))) $+ $chr(93) 12¤06
        var %temp2 = $gettok($readini(RSstatsinfo.ini,n,$($+(%,RSstats.skill.,%s),2),2),1,64) $chr(91) $+ $comma($floor($calc((%expnext / $gettok($readini(RSstatsinfo.ini,n,$($+(%,RSstats.skill.,%s),2),2),2,64))))) $+ $chr(93) 12¤06
        var %temp3 = $gettok($readini(RSstatsinfo.ini,n,$($+(%,RSstats.skill.,%s),2),3),1,64) $chr(91) $+ $comma($floor($calc((%expnext / $gettok($readini(RSstatsinfo.ini,n,$($+(%,RSstats.skill.,%s),2),3),2,64))))) $+ $chr(93) 12¤06
        var %temp4 = $gettok($readini(RSstatsinfo.ini,n,$($+(%,RSstats.skill.,%s),2),4),1,64) $chr(91) $+ $comma($floor($calc((%expnext / $gettok($readini(RSstatsinfo.ini,n,$($+(%,RSstats.skill.,%s),2),4),2,64))))) $+ $chr(93) 8)
        %rsstats.display. [ $+ [ %s ] ] 8(12 $chr(91) $+ 04 $+ %rsstats.rsn. [ $+ [ %s ] ] $+ 's $+ 12 $+ $chr(93) $+ 06 %rsstats.skill. [ $+ [ %s ] ] stats: 12¤06 Level: $chr(91) $+ $3 $+ $chr(93) 12¤06 Rank: $chr(91) $+ $2 $+ $chr(93) 12¤06 Experience: $chr(91) $+ $4 $+ $chr(93) 12¤06 $iif($3 == 99,$chr(3),$iif(%rsstats.skill. [ $+ [ %s ] ] != overall,Experience to next: $chr(91) $+ $comma($calc($exp($calc($3 + 1)) - $remove($4,$chr(44)))) $+ $chr(93) 12¤06.,$chr(3))) 8)
        %rsstats.display. [ $+ [ %s ] ] 8(06 To level:12 $chr(91) $+ 04 $+ %nextlvl $+ 12 $+ $chr(93) $+ 06: %temp1 %temp2 %temp3 %temp4
        rsstats.cleanup %s
      }
      elseif (Not found isin %rsstats.read. [ $+ [ %s ] ]) {
        %rsstats.display. [ $+ [ %s ] ] 8(06 The username: 12 $+ $chr(91) $+ 04 $+ %rsstats.rsn. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06does not appear in the highscores for %rsstats.skill. [ $+ [ %s ] ] 8)
        rsstats.cleanup %s
        break
        halt
      }
      else { return }
    }
  }
}
on *:sockclose:rsstats.*: {
  var %s = $right($sockname,-8)
  if (%rsstats.nulled. [ $+ [ %s ] ] == false) {
    %rsstats.display. [ $+ [ %s ] ] 8(06 The username: 12 $+ $chr(91) $+ 4 $+ %rsstats.rsn. [ $+ [ %s ] ] $+ 12 $+ $chr(93) 06does not appear in the highscores for any skill. 8)
  }
  rsstats.cleanup %s
}
alias 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,/^(fire|fm)(make?(ing)?|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)([ei])(ing|ng)|mine) ?$/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,/^(cons?|construct)(ion|ing)?$/Si)) return Construction
  elseif ($regex($1,/^(hunt(er|ing))?$/Si)) return Hunter
}
#stats on
on *:text:*:*: {
  if ($me !== worldrabbit) { halt }
  if ($read(Chan.txt,w,$chan)) { halt }
  if ($1 == !defname) {
    if (%rsstats.settingsdefname == on) {
      if ($len($2) > 13) { notice $nick 8(06 Your default name can't be longer than 12 characters. 8) }
      else {
        if ($read(RSDefname.txt,s,$address($nick,2))) {
          notice $nick 8(06 Default Runscape Name set to 12[4 $+ $2- $+ 12]06. Recorded for 12[4 $+ $address($nick,2) $+ 12]06. Previous default name:12 [4 $+ $read(RSDefname.txt,s,$address($nick,2)) $+ 12]06. 8)
          write -ds $address($nick,2) RSDefname.txt
          write RSDefname.txt $address($nick,2) $replace($2-,$chr(32),$chr(95))
        }
        else {
          notice $nick 8(06 Default Runscape Name set to 12[4 $+ $2- $+ 12]06. Recorded for12 [4 $+ $address($nick,2) $+ 12]06. 8)
          write RSDefname.txt $address($nick,2) $replace($2-,$chr(32),$chr(95))
        }
        halt
      }
      else { notice $nick 8(06 Sorry, Defname is currently unavaliable. Please type the username you wish to look up. 8) }
    }
  }
  if ($left($1,1) !isin @!) { halt }
  var %s = 1
  while ($sock(rsstats. $+ %s)) || ($sock(rsstat. $+ %s)) {
    inc %s
  }
  if ($right($1,-1) == stats) { set %rsstats.skill. [ $+ [ %s ] ] stats }
  elseif ($right($1,-1) == compare) { set %rsstats.skill. [ $+ [ %s ] ] compare }
  elseif ($regex($1,/co?mb(at)?/Si)) { set %rsstats.skill. [ $+ [ %s ] ] combat }
  elseif ($setskill($remove($1,@,!))) { set %rsstats.skill. [ $+ [ %s ] ] $setskill($remove($1,@,!)) }
  else { halt }
  set %rsstats.display. [ $+ [ %s ] ] $iif(@* iswm $1,msg $chan,notice $nick)
  if (!$chan) { set %rsstats.display. [ $+ [ %s ] ] msg $nick }
  if ($right($1,-1) == compare) {
    if (!$2) && (!$3) { notice $nick 8(06 Please enter a 4skill06 to compare and an 4username06 to compare with. 8) | halt }
    elseif (!$4) && (!$read(RSDefname.txt,s,$address($nick,2))) || (!$3) { notice $nick 8(06 Please enter a 4username06 to compare with, or type 4!defname 06to set a default name. 8) | halt }
    elseif (!$setskill($2)) { notice $nick 8(06 The skill: 12[4 $+ $2 $+ 12] 06is not a valid skill. 8) | halt }
    elseif ($3) && ($4) { set %rsstats.rsn1. [ $+ [ %s ] ] $3 | set %rsstats.rsn2. [ $+ [ %s ] ] $4 }
    elseif ($3) && (!$4) && ($read(RSDefname.txt,s,$address($nick,2))) { set %rsstats.rsn1. [ $+ [ %s ] ] $3 | set %rsstats.rsn2. [ $+ [ %s ] ] $read(RSDefname.txt,s,$address($nick,2)) }
    if ($($len(%rsstats.rsn1. [ $+ [ %s ] ])) > 12) {
      %rsstats.display. [ $+ [ %s ] ] 8(06 The username you entered: 12 $+ $chr(91) $+ 4 $+ %rsstats.rsn1. [ $+ [ %s ] ] $+ 12 $+ $chr(93) $+ 06 is too long. 8)
      rsstats.cleanup %s
      halt
    }
    if ($($len(%rsstats.rsn2. [ $+ [ %s ] ])) > 12) {
      %rsstats.display. [ $+ [ %s ] ] 8(06 The username you entered: 12 $+ $chr(91) $+ 4 $+ %rsstats.rsn2. [ $+ [ %s ] ] $+ 12 $+ $chr(93) $+ 06 is too long. 8)
      rsstats.cleanup %s
      halt
    }
    set %rsstats.skills. [ $+ [ %s ] ] $setskill($2)
    set %rsstats.rsn. [ $+ [ %s ] ] %rsstats.rsn1. [ $+ [ %s ] ]
    set %rsstats.comparecount. [ $+ [ %s ] ] 1
    sockopen rsstats. [ $+ [ %s ] ] rscript.org 80
    halt
  }
  if ($len($2) > 12) {
    %rsstats.display. [ $+ [ %s ] ] 8(06 The username you entered: 12 $+ $chr(91) $+ 4 $+ $2- $+ 12 $+ $chr(93) $+ 06 is too long. 8)
    rsstats.cleanup %s
    halt
  }
  elseif ($2) {
    set %rsstats.rsn. [ $+ [ %s ] ] $replace($2,$chr(32),$chr(95)) 
    if ($chr(35) isin %rsstats.rsn. [ $+ [ %s ] ]) {
      set %rsstats.target. [ $+ [ %s ] ] $remove($2,$chr(35))
      if ($3) { set %rsstats.rsn. [ $+ [ %s ] ] $3 }
      elseif ($read(RSDefname.txt,s,$address($nick,2))) { set %rsstats.rsn. [ $+ [ %s ] ] $read(RSDefname.txt,s,$address($nick,2)) }
      else { notice $nick 8(06 Please enter a 4username06, or type 4!defname 06to set a default name. 8) | halt }
    }
  }
  elseif (!$2) && ($read(RSDefname.txt,s,$address($nick,2))) && (%rsstats.settingsdefname == on) { set %rsstats.rsn. [ $+ [ %s ] ] $read(RSDefname.txt,s,$address($nick,2)) }
  else {
    %rsstats.display. [ $+ [ %s ] ] 8(06 Please enter a username. Or type 4!defname <user>06 to set a default username. 8)
    rsstats.cleanup %s
    halt
  }
  sockopen rsstats. [ $+ [ %s ] ] rscript.org 80

}
alias exp {
  var %a = 1
  var %exp123 0
  var %a1 = $eval($1)
  while (%a < %a1) {
    var %expvalue = $calc((%a + 300 * 2^(%a / 7)) /4)
    inc %exp123 %expvalue
    inc %a
  }
  return $floor(%exp123)
}
alias comma {
  if ($1- isnum) {
    tokenize 32 $remove($1-,-)
    var %x = 1
    var %y = $ceil($eval($calc($len($1-) / 3)))
    while (%x <= %y) {
      var %comma = $+($chr(44),$right($1-,3),%comma)
      tokenize 32 $left($1-,-3)
      inc %x
    }
    while ($left(%comma,1) iswm $chr(44)) { var %comma $right(%comma,-1) }
    return %comma
  }
  else { return 0 }
}
alias htmlstrip { var %x,%y = $regsub($1-,/(<[^>]+>)/g,$null,%x) | return %x }