All pastes #586658 Raw Edit

Something

public text v1 · immutable
#586658 ·published 2007-06-23 23:31 UTC
rendered paste body
on $*:TEXT:/^[!.](Def|Set)(name|RSN)/Si:#: {
  if ($readini(Status.ini,$me,$chan) == DChan && $remove($1,$chr(44)) != $me) { halt }
  if (* $+ $chr(36) $+ * iswm $2-) { halt }
  if ($2) { writeini -n defrsn.ini RSNs $nick $replace($2-,$chr(32),-) | notice $nick $c1(We have saved) $c2($2-) $c1(as your DefRSN on) $c2($nick) }
  elseif (!$2) { notice $nick $c1(You must Specify a) $c2(RSN) $c1(to set) }
}
on $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([!@.](stats|rsstats))/Si):#: {
  if ($readini(Status.ini,$me,$chan) == DChan && $remove($1,$chr(44)) != $me) { halt }
  if (* $+ $chr(36) $+ * iswm $2-) { halt }
  inc %ID | set $+(%,stats.display.,%ID) $iif($left($iif($remove($1,$chr(44)) == $me,$iif($nick isop #ZetaAdmins,$2),$1),1) == @,$iif($remove($1,$chr(44)) != $me && $readini(Status2.ini,$network,$chan),.notice $nick,msg $chan),.notice $nick)
  if (!$iif($remove($1,$chr(44)) == $me,$3,$2)) {
    if ($readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$nick) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) all | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } 
    elseif (!$readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $nick | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) all | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
  }
  elseif ($iif($remove($1,$chr(44)) == $me,$3,$2)) { 
    if ($chr(37) isin $iif($remove($1,$chr(44)) == $me,$3-,$2-)) {
      if ($chr(38) isin $iif($remove($1,$chr(44)) == $me,$3-,$2-)) { set $+(%,stats.rsn.,%ID) $iif($readini(defrsn.ini,RSNs,$remove($iif($remove($1,$chr(44)) == $me,$replace($3-,$chr(32),-),$replace($2-,$chr(32),-)),$chr(38),$chr(37))),$v1,$iif($remove($iif($remove($1,$chr(44)) == $me,$replace($3-,$chr(32),-),$replace($2-,$chr(32),-)),$chr(38),$chr(37)),$v1,$nick)) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) percent | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
      elseif ($chr(38) !isin $iif($remove($1,$chr(44)) == $me,$3-,$2-)) { set $+(%,stats.rsn.,%ID) $iif($remove($iif($remove($1,$chr(44)) == $me,$replace($3-,$chr(32),-),$replace($2-,$chr(32),-)),$chr(37)),$v1,$iif($readini(defrsn.ini,RSNs,$nick),$v1,$nick)) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) percent | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
    }
    elseif ($chr(60) isin $iif($remove($1,$chr(44)) == $me,$3,$2) || $chr(62) isin $iif($remove($1,$chr(44)) == $me,$3,$2)) { set $+(%,stats.rsn.,%ID) $iif($chr(38) isin $iif($remove($1,$chr(44)) == $me,$4-,$3-),$iif($readini(defrsn.ini,RSNs,$remove($iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$chr(38),$chr(60),$chr(62))),$readini(defrsn.ini,RSNs,$remove($iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$chr(38),$chr(60),$chr(62))),$nick),$remove($iif($iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$iif($readini(defrsn.ini,RSNs,$nick),$readini(defrsn.ini,RSNs,$nick),$nick)),$chr(60),$chr(62)))
      set $+(%,stats.level.,%ID) $remove($iif($remove($1,$chr(44)) == $me,$3,$2),$chr(60),$chr(62))
      set $+(%,stats.gl.,%ID) $iif($chr(60) isin $iif($remove($1,$chr(44)) == $me,$3,$2),$chr(60),$chr(62))
      set $+(%,stats.number.,%ID) 1
      set $+(%,stats.number.2.,%ID) 1
      set $+(%,stats.type.,%ID) glthan
      sockopen $+(stats.,%ID) hiscore.runescape.com 80
    }
    elseif ($chr(38) isin $iif($remove($1,$chr(44)) == $me,$3-,$2-)) {      
      if ($readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) all | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
      elseif (!$readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) { notice $nick $c2($remove($iif($remove($1,$chr(44)) == $me,$3-,$2-),$chr(38))) $c1(does not have a) $c2(RSN) $c1(saved in our DataBase) }
    }
    else { set $+(%,stats.rsn.,%ID) $replace($iif($remove($1,$chr(44)) == $me,$3-,$2-),$chr(32),-) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) all | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
  }
}
on $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([!@.](pc|pest))/Si):#: {
  if ($readini(Status.ini,$me,$chan) == DChan && $remove($1,$chr(44)) != $me) { halt }
  if (* $+ $chr(36) $+ * iswm $2-) { halt }
  inc %ID | set $+(%,stats.display.,%ID) $iif($left($iif($remove($1,$chr(44)) == $me,$iif($nick isop #ZetaAdmins,$2),$1),1) == @,$iif($remove($1,$chr(44)) != $me && $readini(Status2.ini,$network,$chan),.notice $nick,msg $chan),.notice $nick)
  if (!$iif($remove($1,$chr(44)) == $me,$3,$2)) {
    if ($readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$nick) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) pcall | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } 
    elseif (!$readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $nick | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) pcall | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
  }
  elseif ($iif($remove($1,$chr(44)) == $me,$3,$2)) {
    if ($setpc($iif($remove($1,$chr(44)) == $me,$3,$2))) {
      if ($chr(35) isin $iif($remove($1,$chr(44)) == $me,$4,$3)) {
        if ($remove($iif($remove($1,$chr(44)) == $me,$4,$3),$chr(35)) !isnum 1-99) { $($+(%,stats.display.,%ID),2) $c1(I'm sorry) $c2($nick) $c1(but you must specify a level between) $c2(1 and 99) }
        else {
          if ($chr(38) isin $iif($remove($1,$chr(44)) == $me,$5-,$4-)) { set $+(%,stats.rsn.,%ID) $iif($readini(defrsn.ini,RSNs,$remove($iif($remove($1,$chr(44)) == $me,$replace($5-,$chr(32),-),$replace($4-,$chr(32),-)),$chr(38))),$v1,$iif($remove($iif($remove($1,$chr(44)) == $me,$replace($5-,$chr(32),-),$replace($4-,$chr(32),-)),$chr(38)),$v1,$nick)) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.skill.,%ID) $setpc($iif($remove($1,$chr(44)) == $me,$3,$2)) | set $+(%,stats.level.,%ID) $iif($remove($iif($remove($1,$chr(44)) == $me,$4,$3),$chr(35)),$v1,99) | set $+(%,stats.type.,%ID) pclevelskill | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
          elseif ($chr(38) !isin $iif($remove($1,$chr(44)) == $me,$5-,$4-)) { set $+(%,stats.rsn.,%ID) $iif($iif($remove($1,$chr(44)) == $me,$replace($5-,$chr(32),-),$replace($4-,$chr(32),-)),$v1,$iif($readini(defRSN.ini,RSNs,$nick),$v1,$nick)) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.skill.,%ID) $setpc($iif($remove($1,$chr(44)) == $me,$3,$2)) | set $+(%,stats.level.,%ID) $iif($remove($iif($remove($1,$chr(44)) == $me,$4,$3),$chr(35)),$v1,99) | set $+(%,stats.type.,%ID) pclevelskill | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
        }      
      }
      elseif ($chr(38) isin $iif($remove($1,$chr(44)) == $me,$4-,$3-)) {
        if ($readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($4-,$chr(38)),$remove($3-,$chr(38))),$chr(32),-))) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($4-,$chr(38)),$remove($3-,$chr(38))),$chr(32),-))) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.skill.,%ID) $setpc($iif($remove($1,$chr(44)) == $me,$3,$2)) | set $+(%,stats.type.,%ID) pcskill | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
        elseif (!$readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($4-,$chr(38)),$remove($3-,$chr(38))),$chr(32),-))) { notice $nick $c2($remove($iif($remove($1,$chr(44)) == $me,$4-,$3-),$chr(38))) $c1(does not have a) $c2(RSN) $c1(saved in our DataBase) }
      }
      else { set $+(%,stats.rsn.,%ID) $iif($replace($iif($remove($1,$chr(44)) == $me,$4-,$3-),$chr(32),-),$v1,$iif($readini(defRSN.ini,RSNs,$nick),$v1,$nick)) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.skill.,%ID) $setpc($iif($remove($1,$chr(44)) == $me,$3,$2)) | set $+(%,stats.type.,%ID) pcskill | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
    }
    else { set $+(%,stats.rsn.,%ID) $iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(32),-),$remove($2-,$chr(32),-)) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) pcall | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
  }
}
on $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([!@.](cmb|combat))/Si):#: {
  if ($readini(Status.ini,$me,$chan) == DChan && $remove($1,$chr(44)) != $me) { halt }
  if (* $+ $chr(36) $+ * iswm $2-) { halt }
  inc %ID | set $+(%,stats.display.,%ID) $iif($left($iif($remove($1,$chr(44)) == $me,$iif($nick isop #ZetaAdmins,$2),$1),1) == @,$iif($remove($1,$chr(44)) != $me && $readini(Status2.ini,$network,$chan),.notice $nick,msg $chan),.notice $nick)
  if (!$iif($remove($1,$chr(44)) == $me,$3,$2)) {
    if ($readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$nick) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) combat | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } 
    elseif (!$readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $nick | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) combat | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
  }
  elseif ($iif($remove($1,$chr(44)) == $me,$3,$2)) {
    if ($chr(38) isin $iif($remove($1,$chr(44)) == $me,$3-,$2-)) {
      if ($readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) combat | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
      elseif (!$readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) { notice $nick $c2($remove($iif($remove($1,$chr(44)) == $me,$3-,$2-),$chr(38))) $c1(does not have a) $c2(RSN) $c1(saved in our DataBase) }
    }
    else { set $+(%,stats.rsn.,%ID) $replace($iif($remove($1,$chr(44)) == $me,$3-,$2-),$chr(32),-) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) combat | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
  }
}
on $*:TEXT:/^[!@]reqs (on|off)/Si:#: {
  if ($readini(Status.ini,$me,$chan) == DChan) { halt }
  if ($nick isop $chan) {
    if ($2 == on) {
      if ($readini(ChannelReq.ini,$chan,status)) { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but Req checker is already on!) }
      elseif (!$readini(ChannelReq.ini,$chan,status)) { writeini -n ChannelReq.ini $chan status on | $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Channel Req enforcer is now online in) $c2($chan) }
    }
    elseif ($2 == off) {
      if ($readini(ChannelReq.ini,$chan,status)) { remini ChannelReq.ini $chan status | $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Channel Req enforcer is now offline in) $c2($chan) }
      elseif (!$readini(ChannelReq.ini,$chan,status)) { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but Req checker is already off!) }
    }
  }
}
on $*:TEXT:/^[!@]banreqs /Si:#: {
  if ($readini(Status.ini,$me,$chan) == DChan) { halt }
  if ($nick isop $chan) {
    if ($2 == kick) {
      if ($readini(ChannelReq.ini,$chan,kb)) { remini ChannelReq.ini $chan kb | $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Ban reqs are now set to kick for) $c2($chan) }
      elseif (!$readini(ChannelReq.ini,$chan,kb)) { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but ban reqs are already set to kick!) }
    }
    elseif ($2 isnum 200-1000) { writeini -n ChannelReq.ini $chan kb $2 | $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(Ban reqs have been set to $2 in) $c2($chan) }
    else { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but there was an error processing your request) $c2(Syntax: !/@setbanreqs Time in Seconds $+ /off) }
  }
}
on $*:TEXT:/^[!@]reqstat (on|off)/Si:#: {
  if ($readini(Status.ini,$me,$chan) == DChan) { halt }
  if ($nick isop $chan) {
    if ($2 == on) {
      if ($readini(ChannelReq.ini,$chan,msgstat)) { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but stats messager is already on!) }
      elseif (!$readini(ChannelReq.ini,$chan,msgstat)) { writeini -n ChannelReq.ini $chan msgstat on | $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(stats messager is now online in) $c2($chan) }
    }
    elseif ($2 == off) {
      if ($readini(ChannelReq.ini,$chan,msgstat)) { remini ChannelReq.ini $chan msgstat | $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(stats messager is now offline in) $c2($chan) }
      elseif (!$readini(ChannelReq.ini,$chan,msgstat)) { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but stats messager is already off!) }
    }
  }
}
on $*:TEXT:/^[!@]resetreqs/Si:#: {
  if ($readini(Status.ini,$me,$chan) == DChan) { halt }
  if ($nick isop $chan) { remini ChannelReq.ini $chan | $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(All Reqs for) $c2($chan) $c1(have been reset and the req enforcer has been turned off) }
}
on $*:TEXT:/^[!@]setreq /Si:#: {
  if ($readini(Status.ini,$me,$chan) == DChan) { halt }
  if ($nick isop $chan) {  
    if ($setskill($2)) && ($3 isnum) { writeini -n ChannelReq.ini $chan $setskill($2) $3 | set %x 0
      while ($setskill(%x)) { set $+(%,stats.req.,$chan) $($+(%,stats.req.,$chan),2) $iif($readini(ChannelReq.ini,$chan,$setskill(%x)),$c1($setskill(%x)) $c2($readini(ChannelReq.ini,$chan,$setskill(%x))),$c1($setskill(%x)) $c2(0)) | inc %x }
      $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(We have saved) $c2($chan $+ 's) $c1(Requirements as:) | $iif($left($1,1) == @,msg $chan,.notice $nick) $($+(%,stats.req.,$chan),2) | unset $+(%,stats.req.,$chan)
    }
    elseif ($setskill($2)) && ($3 !isnum) { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but a channel Requirement must be a number) }
    else { $iif($left($1,1) == @,msg $chan,.notice $nick) $c1(I'm Sorry) $c2($nick) $c1(but a channel Requirement must specify a valid skill) }
  }
}
on *:JOIN:#: {
  if ($readini(Status.ini,$me,$chan) == DChan) || ($nick == $me) { halt }
  if (!$readini(ChannelReq.ini,$chan,status)) { halt }
  else { inc %ID | set $+(%,stats.chan.,%ID) $chan | set $+(%,stats.rsn.,%ID) $remove($nick,|,[,],) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) req | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
}
on $*:TEXT:$(/^(?>\Q $+ $me $+ \E,? ?)?([!@.](.*))/Si):#: {  
  if ($setskill($remove($iif($remove($1,$chr(44)) == $me,$2,$1),@,!))) && ($setskill($remove($iif($remove($1,$chr(44)) == $me,$2,$1),@,!)) != Combat) {
    if ($readini(Status.ini,$me,$chan) == DChan && $remove($1,$chr(44)) != $me) { halt }
    if (* $+ $chr(36) $+ * iswm $2-) { halt }
    inc %ID | set $+(%,stats.display.,%ID) $iif($left($iif($remove($1,$chr(44)) == $me,$iif($nick isop #ZetaAdmins,$2),$1),1) == @,$iif($remove($1,$chr(44)) != $me && $readini(Status2.ini,$network,$chan),.notice $nick,msg $chan),.notice $nick) | set $+(%,stats.display.2.,%ID) .notice $nick
    if (!$iif($remove($1,$chr(44)) == $me,$3,$2)) {
      if ($readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$nick) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) skill | set $+(%,stats.skill.,%ID) $setskill($remove($iif($remove($1,$chr(44)) == $me,$2,$1),!,@)) | sockopen $+(stats.,%ID) hiscore.runescape.com 80 } 
      elseif (!$readini(defrsn.ini,RSNs,$nick)) { set $+(%,stats.rsn.,%ID) $nick | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) skill | set $+(%,stats.skill.,%ID) $setskill($remove($iif($remove($1,$chr(44)) == $me,$2,$1),!,@)) | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
    }
    elseif ($iif($remove($1,$chr(44)) == $me,$3,$2)) {
      if ($chr(35) isin $iif($remove($1,$chr(44)) == $me,$3,$2)) { set $+(%,stats.rsn.,%ID) $iif($chr(38) isin $iif($remove($1,$chr(44)) == $me,$4-,$3-),$iif($readini(defrsn.ini,RSNs,$remove($iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$chr(38),$chr(35))),$readini(defrsn.ini,RSNs,$remove($iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$chr(38),$chr(35))),$nick),$remove($iif($iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$iif($remove($1,$chr(44)) == $me,$replace($4-,$chr(32),-),$replace($3-,$chr(32),-)),$iif($readini(defrsn.ini,RSNs,$nick),$readini(defrsn.ini,RSNs,$nick),$nick)),$chr(35)))
        set $+(%,stats.level.,%ID) $remove($iif($remove($1,$chr(44)) == $me,$3,$2),$chr(35))
        set $+(%,stats.number.,%ID) 1
        set $+(%,stats.number.2.,%ID) 1
        set $+(%,stats.skill.,%ID) $setskill($remove($iif($remove($1,$chr(44)) == $me,$2,$1),!,@))
        set $+(%,stats.type.,%ID) levelskill
        sockopen $+(stats.,%ID) hiscore.runescape.com 80
      }
      elseif ($chr(38) isin $iif($remove($1,$chr(44)) == $me,$3-,$2-)) {
        if ($readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) { set $+(%,stats.rsn.,%ID) $readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) skill | set $+(%,stats.skill.,%ID) $setskill($remove($iif($remove($1,$chr(44)) == $me,$2,$1),!,@)) | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
        elseif (!$readini(defrsn.ini,RSNs,$replace($iif($remove($1,$chr(44)) == $me,$remove($3-,$chr(38)),$remove($2-,$chr(38))),$chr(32),-))) { notice $nick $c2($remove($iif($remove($1,$chr(44)) == $me,$3-,$2-),$chr(38))) $c1(does not have a) $c2(RSN) $c1(saved in our DataBase) }
      }
      else { set $+(%,stats.rsn.,%ID) $replace($iif($remove($1,$chr(44)) == $me,$3-,$2-),$chr(32),-) | set $+(%,stats.number.,%ID) 1 | set $+(%,stats.number.2.,%ID) 1 | set $+(%,stats.type.,%ID) skill | set $+(%,stats.skill.,%ID) $setskill($remove($iif($remove($1,$chr(44)) == $me,$2,$1),!,@)) | sockopen $+(stats.,%ID) hiscore.runescape.com 80 }
    }
  }
}
on *:SOCKOPEN:stats.*: {
  var %ID = $gettok($sockname,2,46)
  sockwrite -nt $sockname GET /hiscorepersonal.ws?user1= $+ $($+(%,stats.rsn.,%ID),2) HTTP/1.1 
  sockwrite -nt $sockname Host: hiscore.runescape.com
  sockwrite -nt $sockname $crlf $crlf
}
on *:SOCKREAD:stats.*: {
  var %ID = $gettok($sockname,2,46)
  if ($sockerr) { $($+(%,stats.display.,%ID),2) Error: $sockerr Please contact Ktravaglini | cleanup %ID }
  else { var %templine | sockread %templine
    if ($setskill(%templine)) { set $+(%,stats.skill.2.,%ID) %templine }
    elseif (does not feature in the hiscores. You have to be in the top 1 million (for any skill) and have a minimum skill level of 30.</i> isin %templine) {
      if ($($+(%,stats.type.,%ID),2) == req) { set %x 1
        if (0 < $iif($readini(ChannelReq.ini,$($+(%,stats.chan.,%ID),2),Combat),$v1,0)) { inc $+(%,stats.violate.,%ID) 1 }
        while (%x < 25) {
          if (0 < $iif($readini(ChannelReq.ini,$($+(%,stats.chan.,%ID),2),$setskill(%x)),$v1,0)  ) { inc $+(%,stats.violate.,%ID) 1 | inc %x }
          else { inc %x }
        }
      msg $($+(%,stats.chan.,%ID),2) $c1($remove(%templine,</i>)) $c1($chr(40)) $+ $c2($iif($($+(%,stats.violate.,%ID),2),$v1,0)) $c1(Req Violations $+ $chr(41)) | $iif($($+(%,stats.violate.,%ID),2) >= 1,kick $($+(%,stats.chan.,%ID),2) $($+(%,stats.rsn.,%ID),2) You do not meet $($+(%,stats.violate.,%ID),2) of this $($+(%,stats.chan.,%ID),2) $+ 's requirements,noop) | cleanup %ID | sockclose $sockname }
      else { $($+(%,stats.display.,%ID),2) $c1($remove(%templine,</i>)) | cleanup %ID | sockclose $sockname | halt }
    }
    elseif ($regex(%templine,<td align="right">(.*)</td>)) && (<img class= !isin $regml(1)) && (<b>Rank</b></td><td align="right"><b>Level</b></td><td align="right"><b>XP</b> !isin $regml(1)) {
      if ($($+(%,stats.number.,%ID),2) == 3) { set $+(%,stats.,$($+(%,stats.skill.2.,%ID),2),.exp.,%ID) $regml(1) | inc $+(%,stats.number.,%ID) 1 }
      if ($($+(%,stats.number.,%ID),2) == 2) { set $+(%,stats.,$($+(%,stats.skill.2.,%ID),2),.level.,%ID) $regml(1) | inc $+(%,stats.number.,%ID) 1 }
      if ($($+(%,stats.number.,%ID),2) == 1) { set $+(%,stats.,$($+(%,stats.skill.2.,%ID),2),.rank.,%ID) $regml(1) | inc $+(%,stats.number.,%ID) 1 }
      if ($($+(%,stats.number.,%ID),2) == 4) { set $+(%,stats.number.,%ID) 1 }
    }
    elseif ($regex(%templine,</table>)) {
      if ($($+(%,stats.type.,%ID),2) == all) {
        while ($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2))) { set $+(%,stats.statline.,%ID) $($+(%,stats.statline.,%ID),2) $c1($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46))  $c2($($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2)) | inc $+(%,stats.number.2.,%ID) 1 }
        if (!$var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2))) { $($+(%,stats.display.,%ID),2) $c1(Stats for) $c2($($+(%,stats.rsn.,%ID),2)) $+ $c1(:) | $($+(%,stats.display.,%ID),2) $($+(%,stats.statline.,%ID),2) | cleanup %ID | sockclose $sockname }
      }
      if ($($+(%,stats.type.,%ID),2) == glthan) {
        while ($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2))) {
          if ($($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2) $($+(%,stats.gl.,%ID),2) $($+(%,stats.level.,%ID),2)) { set $+(%,stats.statline.,%ID) $($+(%,stats.statline.,%ID),2) $c1($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46))  $c2($($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2)) | inc $+(%,stats.number.2.,%ID) 1 }
          else {  inc $+(%,stats.number.2.,%ID) 1 }
        }
        if (!$var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2))) { 
          if (!$($+(%,stats.level.,%ID),2)) { $($+(%,stats.display.,%ID),2) $c1(I'm sorry but you must speicfy a) $c2(level) $c1(to lookup) | cleanup %ID | sockclose $sockname }
          elseif ($($+(%,stats.level.,%ID),2) !isnum) { $($+(%,stats.display.,%ID),2) $c1(I'm sorry but) $c2(Runescape levels) $c1(have to be numbers) | cleanup %ID | sockclose $sockname }
          else { $($+(%,stats.display.,%ID),2) $c1(Stats for) $c2($($+(%,stats.rsn.,%ID),2)) $+ $c1(:) | $($+(%,stats.display.,%ID),2) $iif($($+(%,stats.statline.,%ID),2),$($+(%,stats.statline.,%ID),2),$c1(None of) $c2($($+(%,stats.rsn.,%ID),2)) $+ $c1('s skills are $iif($($+(%,stats.gl.,%ID),2) == >,greater than,less than)) $c2($iif($($+(%,stats.level.,%ID),2),$($+(%,stats.level.,%ID),2),nothing))) | cleanup %ID | sockclose $sockname }
        } 
      }  
      if ($($+(%,stats.type.,%ID),2) == Percent) {
        while ($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2))) {
          if ($remove($bytes($iif($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46) != overall,$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / $xp(99)) * 100),$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / ($xp(99) * 23) * 100))),b),$chr(44)) < 101) { set $+(%,stats.statline.,%ID) $($+(%,stats.statline.,%ID),2) $c1($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46)) $c2($bytes($iif($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46) != overall,$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / $xp(99)) * 100),$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / ($xp(99) * 23) * 100))),b) $+ %) | inc $+(%,stats.number.2.,%ID) 1 }
          elseif ($remove($bytes($iif($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46) != overall,$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / $xp(99)) * 100),$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / ($xp(99) * 23) * 100))),b),$chr(44)) > 100) { set $+(%,stats.statline.,%ID) $($+(%,stats.statline.,%ID),2) $c1($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46)) $c2($bytes($iif($gettok($var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2)),2,46) != overall,$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / 200000000) * 100),$calc(($remove($($var($+(%,stats.*.exp.,%ID),$($+(%,stats.number.2.,%ID),2)),2),$chr(44)) / 4600000000) * 100))) $+ %) | inc $+(%,stats.number.2.,%ID) 1 }
        }
        if (!$var($+(%,stats.*.level.,%ID),$($+(%,stats.number.2.,%ID),2))) { $($+(%,stats.display.,%ID),2) $c1(Stats for) $c2($($+(%,stats.rsn.,%ID),2)) $+ $c1(:) | $($+(%,stats.display.,%ID),2) $($+(%,stats.statline.,%ID),2) | cleanup %ID | sockclose $sockname }
      }
      if ($($+(%,stats.type.,%ID),2) == pcall) { set %x 0
        while (%x <= 6) {
          if ($setpc(%x) == Prayer) { set %xpperpointpray $calc(($($+(%,stats.,$setpc(%x),.level.,%ID),2) * $($+(%,stats.,$setpc(%x),.level.,%ID),2)) / 12) | set %pointsneededpray $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / %xpperpointpray) | $iif(%pointsneededpray >= 100,set %pointsneededpray $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / ((%xpperpointpray * .10) + %xpperpointpray)),noop) | set %praylvl $iif($($+(%,stats.,$setpc(%x),.level.,%ID),2),$v1,0) }
          elseif ($setpc(%x) == Attack) { set %xpperpointatt $calc(($($+(%,stats.,$setpc(%x),.level.,%ID),2) * $($+(%,stats.,$setpc(%x),.level.,%ID),2)) / 6) | set %pointsneededatt $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / %xpperpointatt) | $iif(%pointsneededatt >= 100,set %pointsneededatt $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / ((%xpperpointatt * .10) + %xpperpointatt)),noop) | set %attlvl $iif($($+(%,stats.,$setpc(%x),.level.,%ID),2),$v1,0) }
          elseif ($setpc(%x) == Defence) { set %xpperpointdef $calc(($($+(%,stats.,$setpc(%x),.level.,%ID),2) * $($+(%,stats.,$setpc(%x),.level.,%ID),2)) / 6) | set %pointsneededdef $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / %xpperpointdef) | $iif(%pointsneededdef >= 100,set %pointsneededdef $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / ((%xpperpointdef * .10) + %xpperpointdef)),noop) | set %deflvl $iif($($+(%,stats.,$setpc(%x),.level.,%ID),2),$v1,0) }
          elseif ($setpc(%x) == Strength) { set %xpperpointstr $calc(($($+(%,stats.,$setpc(%x),.level.,%ID),2) * $($+(%,stats.,$setpc(%x),.level.,%ID),2)) / 6) | set %pointsneededstr $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / %xpperpointstr) | $iif(%pointsneededstr >= 100,set %pointsneededstr $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / ((%xpperpointstr * .10) + %xpperpointstr)),noop) | set %strlvl $iif($($+(%,stats.,$setpc(%x),.level.,%ID),2),$v1,0) }
          elseif ($setpc(%x) == Hitpoints) { set %xpperpointhp $calc(($($+(%,stats.,$setpc(%x),.level.,%ID),2) * $($+(%,stats.,$setpc(%x),.level.,%ID),2)) / 6) | set %pointsneededhp $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / %xpperpointhp) | $iif(%pointsneededhp >= 100,set %pointsneededhp $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / ((%xpperpointhp * .10) + %xpperpointhp)),noop) | set %hplvl $iif($($+(%,stats.,$setpc(%x),.level.,%ID),2),$v1,0) }
          elseif ($setpc(%x) == Ranged) { set %xpperpointrange $calc(($($+(%,stats.,$setpc(%x),.level.,%ID),2) * $($+(%,stats.,$setpc(%x),.level.,%ID),2)) / 6) | set %pointsneededrange $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / %xpperpointrange) | $iif(%pointsneededrange >= 100,set %pointsneededrange $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / ((%xpperpointrange * .10) + %xpperpointrange)),noop) | set %rangelvl $iif($($+(%,stats.,$setpc(%x),.level.,%ID),2),$v1,0) }
          elseif ($setpc(%x) == Magic) { set %xpperpointmage $calc(($($+(%,stats.,$setpc(%x),.level.,%ID),2) * $($+(%,stats.,$setpc(%x),.level.,%ID),2)) / 6) | set %pointsneededmage $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / %xpperpointmage) | $iif(%pointsneededmage >= 100,set %pointsneededmage $calc($xp2next($($+(%,stats.,$setpc(%x),.level.,%ID),2),$remove($($+(%,stats.,$setpc(%x),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$setpc(%x),.level.,%ID),2) + 1)) / ((%xpperpointmage * .10) + %xpperpointmage)),noop) | set %magelvl $iif($($+(%,stats.,$setpc(%x),.level.,%ID),2),$v1,0) }
          inc %x
        }
        $($+(%,stats.display.,%ID),2) $c1(Pest Control Points for) $c2($($+(%,stats.rsn.,%ID),2)) $+ $c1(:)
        set $+(%,stats.line.1.,%ID) $c1(Attack:) $c1($chr(123)) $+ $c2(%attlvl) $+ $c1($chr(125)) $c2($bytes(%pointsneededatt,b)) $c1($chr(91)) $+ $c2($bytes(%xpperpointatt,b)) $+ $c1(xp/point $+ $chr(93)) $c1(Defence:) $c1($chr(123)) $+ $c2(%deflvl) $+ $c1($chr(125)) $c2($bytes(%pointsneededdef,b)) $c1($chr(91)) $+ $c2($bytes(%xpperpointdef,b)) $+ $c1(xp/point $+ $chr(93)) $c1(Strength:) $c1($chr(123)) $+ $c2(%strlvl) $+ $c1($chr(125)) $c2($bytes(%pointsneededstr,b)) $c1($chr(91)) $+ $c2($bytes(%xpperpointstr,b)) $+ $c1(xp/point $+ $chr(93))
        set $+(%,stats.line.2.,%ID) $c1(Hitpoints:) $c1($chr(123)) $+ $c2(%hplvl) $+ $c1($chr(125)) $c2($bytes(%pointsneededhp,b)) $c1($chr(91)) $+ $c2($bytes(%xpperpointhp,b)) $+ $c1(xp/point $+ $chr(93)) $c1(Magic:) $c1($chr(123)) $+ $c2(%magelvl) $+ $c1($chr(125)) $c2($bytes(%pointsneededmage,b)) $c1($chr(91)) $+ $c2($bytes(%xpperpointmage,b)) $+ $c1(xp/point $+ $chr(93)) $c1(Ranged:) $c1($chr(123)) $+ $c2(%rangelvl) $+ $c1($chr(125)) $c2($bytes(%pointsneededrange,b)) $c1($chr(91)) $+ $c2($bytes(%xpperpointrange,b)) $+ $c1(xp/point $+ $chr(93)) $c1(Prayer:) $c1($chr(123)) $+ $c2(%praylvl) $+ $c1($chr(125)) $c2($bytes(%pointsneededpray,b)) $c1($chr(91)) $+ $c2($bytes(%xpperpointpray,b)) $+ $c1(xp/point $+ $chr(93))
        $($+(%,stats.display.,%ID),2) $($+(%,stats.line.1.,%ID),2) $($+(%,stats.line.2.,%ID),2) | cleanup %ID | sockclose $sockname
      }   
      if ($($+(%,stats.type.,%ID),2) == skill) {
        tokenize 32 $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.rank.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2) $xp2next($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2),$remove($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) + 1))
        if ($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2)) {  $($+(%,stats.display.,%ID),2) $c2($($+(%,stats.skill.,%ID),2)) $c1(stats for) $c2($($+(%,stats.rsn.,%ID),2)) $+ $c1(:)
          if ($($+(%,stats.skill.,%ID),2) != Overall) {
            if ($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) < 99) { set $+(%,stats.number.,%ID) 1
              if ($setmelee($($+(%,stats.skill.,%ID),2))) { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) $+($c1($chr(40)),$c2($bytes($calc(($remove($3,$chr(44)) / $xp(99)) * 100),3d) $+ %) $c1(of) $c2(99),$c1($chr(41))) $c1(Exp to level) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($4,b)) $+($c1($chr(40)),$c2($bytes($calc((($5 - $xp($2)) - $4) / ($5 - $xp($2)) * 100),d3) $+ %) $c1(to level) $c2($calc($2 + 1)),$c1($chr(41))) $c1(Damage To Deal For Level) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($calc($4 / 4),b)) }
              elseif ($sethp($($+(%,stats.skill.,%ID),2))) { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) $+($c1($chr(40)),$c2($bytes($calc(($remove($3,$chr(44)) / $xp(99)) * 100),3d) $+ %) $c1(of) $c2(99),$c1($chr(41))) $c1(Exp to level) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($4,b)) $+($c1($chr(40)),$c2($bytes($calc((($5 - $xp($2)) - $4) / ($5 - $xp($2)) * 100),d3) $+ %) $c1(to level) $c2($calc($2 + 1)),$c1($chr(41))) $c1(Damage To Deal For Level) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($calc($4 / (4 / 3)),b)) }
              else { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) $+($c1($chr(40)),$c2($bytes($calc(($remove($3,$chr(44)) / $xp(99)) * 100),3d) $+ %) $c1(of) $c2(99),$c1($chr(41))) $c1(Exp to level) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($4,b)) $+($c1($chr(40)),$c2($bytes($calc((($5 - $xp($2)) - $4) / ($5 - $xp($2)) * 100),d3) $+ %) $c1(to level) $c2($calc($2 + 1)),$c1($chr(41))) }
              while ($($+(%,stats.number.,%ID),2) <= 9) { set $+(%,stats.2next.,%ID) $($+(%,stats.2next.,%ID),2) $c1($replace($gettok($readini(exp.ini,$($+(%,stats.skill.,%ID),2),$($+(%,stats.number.,%ID),2)),2-,32),-,$chr(32)) $+ :) $c2($bytes($calc($4 / $gettok($readini(exp.ini,$($+(%,stats.skill.,%ID),2),$($+(%,stats.number.,%ID),2)),1,32)),b)) | inc $+(%,stats.number.,%ID) } 
              $($+(%,stats.display.2.,%ID),2) $c1(<For Level) $c2($calc($2 + 1)) $+ $c1(>) $($+(%,stats.2next.,%ID),2) | cleanup %ID | sockclose $sockname
            }
            elseif ($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) >= 99) {  $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) | cleanup %ID | sockclose $sockname }
          }
          elseif ($($+(%,stats.skill.,%ID),2) == Overall) { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) | cleanup %ID | sockclose $sockname }
        }
        elseif (!$($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2)) { $($+(%,stats.display.,%ID),2) $c2($($+(%,stats.rsn.,%ID),2)) $c1(does not feature in the hiscores for $($+(%,stats.skill.,%ID),2) $+ . You have to be in the top 1 million (for any skill) and have a minimum skill level of 30.) | cleanup %ID | sockclose $sockname }
      }
      if ($($+(%,stats.type.,%ID),2) == levelskill) {
        tokenize 32 $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.rank.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2) $bytes($calc($xp($($+(%,stats.level.,%ID),2)) - $remove($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2),$chr(44))),b) $xp($($+(%,stats.level.,%ID),2))
        if ($($+(%,stats.level.,%ID),2) > 99) { $($+(%,stats.display.,%ID),2) $c1(Runescape levels can only be between) $c2(1) $c1(and) $c2(99) | cleanup %ID | sockclose $sockname | halt }
        elseif ($($+(%,stats.level.,%ID),2) < $2) { $($+(%,stats.display.,%ID),2) $c1(You cant specify a level lower than your own) $c2(Runescape) $c1(level in) $c2($($+(%,stats.skill.,%ID),2)) | cleanup %ID | sockclose $sockname | halt }
        elseif ($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2)) {  $($+(%,stats.display.,%ID),2) $c2($($+(%,stats.skill.,%ID),2)) $c1(stats for) $c2($($+(%,stats.rsn.,%ID),2)) $+ $c1(:)
          if ($($+(%,stats.skill.,%ID),2) != Overall) {
            if ($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) < 99) { set $+(%,stats.number.,%ID) 1 
              if ($setmelee($($+(%,stats.skill.,%ID),2))) { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) $+($c1($chr(40)),$c2($bytes($calc(($remove($3,$chr(44)) / $xp(99)) * 100),3d) $+ %) $c1(of) $c2(99),$c1($chr(41))) $c1(Exp To level) $c2($($+(%,stats.level.,%ID),2)) $+ $c1(:) $c2($4) $+($c1($chr(40)),$c2($bytes($calc((($5 - $xp($2)) - $remove($4,$chr(44))) / ($5 - $xp($2)) * 100),d3) $+ %) $c1(to level) $c2($($+(%,stats.level.,%ID),2)),$c1($chr(41))) $c1(Damage To Deal For Level) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($calc($remove($4,$chr(44)) / 4),b)) }
              elseif ($sethp($($+(%,stats.skill.,%ID),2))) { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) $+($c1($chr(40)),$c2($bytes($calc(($remove($3,$chr(44)) / $xp(99)) * 100),3d) $+ %) $c1(of) $c2(99),$c1($chr(41))) $c1(Exp To level) $c2($($+(%,stats.level.,%ID),2)) $+ $c1(:) $c2($4) $+($c1($chr(40)),$c2($bytes($calc((($5 - $xp($2)) - $remove($4,$chr(44))) / ($5 - $xp($2)) * 100),d3) $+ %) $c1(to level) $c2($($+(%,stats.level.,%ID),2)),$c1($chr(41))) $c1(Damage To Deal For Level) $c2($calc($2 + 1)) $+ $c1(:) $c2($bytes($calc($remove($4,$chr(44)) / (4 / 3)),b)) }
              else { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) $+($c1($chr(40)),$c2($bytes($calc(($remove($3,$chr(44)) / $xp(99)) * 100),3d) $+ %) $c1(of) $c2(99),$c1($chr(41))) $c1(Exp To level) $c2($($+(%,stats.level.,%ID),2)) $+ $c1(:) $c2($4) $+($c1($chr(40)),$c2($bytes($calc((($5 - $xp($2)) - $remove($4,$chr(44))) / ($5 - $xp($2)) * 100),d3) $+ %) $c1(to level) $c2($($+(%,stats.level.,%ID),2)),$c1($chr(41))) }
              while ($($+(%,stats.number.,%ID),2) <= 9) { set $+(%,stats.2next.,%ID) $($+(%,stats.2next.,%ID),2) $c1($replace($gettok($readini(exp.ini,$($+(%,stats.skill.,%ID),2),$($+(%,stats.number.,%ID),2)),2-,32),-,$chr(32)) $+ :) $c2($bytes($calc($remove($4,$chr(44)) / $gettok($readini(exp.ini,$($+(%,stats.skill.,%ID),2),$($+(%,stats.number.,%ID),2)),1,32)),b)) | inc $+(%,stats.number.,%ID) }
              $($+(%,stats.display.2.,%ID),2) $c1(<For Level) $c2($($+(%,stats.level.,%ID),2)) $+ $c1(>) $($+(%,stats.2next.,%ID),2) | cleanup %ID | sockclose $sockname
            }
            elseif ($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) >= 99) {  $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) | cleanup %ID | sockclose $sockname }
          }
          elseif ($($+(%,stats.skill.,%ID),2) == Overall) { $($+(%,stats.display.,%ID),2) $c1(Rank:) $c2($1) $c1(Level:) $c2($2) $c1(Exp): $c2($3) | cleanup %ID | sockclose $sockname }
        }
        elseif (!$($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2)) { $($+(%,stats.display.,%ID),2) $c2($($+(%,stats.rsn.,%ID),2)) $c1(does not feature in the hiscores for $($+(%,stats.skill.,%ID),2) $+ . You have to be in the top 1 million (for any skill) and have a minimum skill level of 30.) | cleanup %ID | sockclose $sockname }
      }
      if ($($+(%,stats.type.,%ID),2) == pcskill) {
        tokenize 32 $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.rank.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2) $xp2next($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2),$remove($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) + 1))
        if ($2 < 99) { $iif($($+(%,stats.type.,%ID),2) == Prayer,set %xpperpoint $calc(($2 * $2) / 12),set %xpperpoint $calc(($2 * $2) / 6)) | $iif($calc($remove($4,$chr(44)) / %xpperpoint) < 100, set %pointsneeded $v1,set %pointsneeded $calc($remove($4,$chr(44)) / ((%xpperpoint * .10) + %xpperpoint))) | $($+(%,stats.display.,%ID),2) $c1(RSN:) $c2($($+(%,stats.rsn.,%ID),2)) $c1(Skill:) $c2($($+(%,stats.skill.,%ID),2)) $c1(Level:) $c2($bytes($2,b)) $c1(PC Points Needed for level) $c2($bytes($calc($2 + 1),b)) $+ $c1(:) $c2($bytes(%pointsneeded,b)) $c1(Exp/point:) $c2($bytes(%xpperpoint,b)) | cleanup %ID | sockclose $sockname }
        elseif ($2 > 98) { $($+(%,stats.display.,%ID),2) $c1(I'm Sorry but) $c2(%rsn) $c1(has level 99 in) $c2(%skill) $c1(and can no longer level up) | cleanup %ID | sockclose $sockname }
      }
      elseif ($($+(%,stats.type.,%ID),2) == pclevelskill) {
        tokenize 32 $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.rank.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) $($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2) $xp2next($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2),$remove($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.exp.,%ID),2),$chr(44))) $xp($calc($($+(%,stats.,$($+(%,stats.skill.,%ID),2),.level.,%ID),2) + 1))
        if ($2 < 99) {
          if ($($+(%,stats.level.,%ID),2) > $2) { $iif($($+(%,stats.skill.,%ID),2) == Prayer,set %xpperpoint $calc(((($($+(%,stats.level.,%ID),2) + $2) / 2) * (($($+(%,stats.level.,%ID),2) + $2) / 2)) / 12),set %xpperpoint $calc(((($($+(%,stats.level.,%ID),2) + $2) / 2) * (($($+(%,stats.level.,%ID),2) + $2) / 2)) / 6)) | $iif($calc(($xp($($+(%,stats.level.,%ID),2)) - $remove($3,$chr(44))) / %xpperpoint) < 100,set %pointsneeded $calc(($xp($($+(%,stats.level.,%ID),2)) - $remove($3,$chr(44))) / %xpperpoint),set %pointsneeded $calc(($xp($($+(%,stats.level.,%ID),2)) - $remove($3,$chr(44))) / ((%xpperpoint * .10) + %xpperpoint)))) 
            $($+(%,stats.display.,%ID),2) $c1(RSN:) $c2($($+(%,stats.rsn.,%ID),2)) $c1(Skill:) $c2($($+(%,stats.skill.,%ID),2)) $c1(Level:) $c2($2) $c1(PC Points Needed for level) $c2($($+(%,stats.level.,%ID),2)) $+ $c1(:) $c2($bytes(%pointsneeded,b)) $c1(Exp/point:) $c2($bytes(%xpperpoint,b)) | cleanup %ID | sockclose $sockname
          }          
          elseif ($($+(%,stats.level.,%ID),2) >= $2) { %display $c1(I'm sorry but) $c2($($+(%,stats.level.,%ID),2)) $c1(is greater than) $c2($($+(%,stats.rsn.,%ID),2) $+ 's) $c1(level in) $c2($($+(%,stats.skill.,%ID),2)) | cleanup %ID | sockclose $sockname }
        }
        elseif ($2 > 98) { $($+(%,stats.display.,%ID),2) $c1(I'm Sorry but) $c2($($+(%,stats.rsn.,%ID),2)) $c1(has level 99 in) $c2($($+(%,stats.skill.,%ID),2)) $c1(and can no longer level up) | cleanup %ID | sockclose $sockname }
      }
      if ($($+(%,stats.type.,%ID),2) == combat) {
        var %a.mult = .32707, %s.mult = .324, %d.mult = .25, %h.mult = .25, %p.mult = .124, %r.mult = .487, %m.mult = .487
        set %a $iif($($+(%,stats.Attack.level.,%ID),2),$v1,-) | set %s $iif($($+(%,stats.Strength.level.,%ID),2),$v1,-) | set %d $iif($($+(%,stats.Defence.level.,%ID),2),$v1,-) | set %h $iif($($+(%,stats.hitpoints.level.,%ID),2),$v1,-) | set %r $iif($($+(%,stats.ranged.level.,%ID),2),$v1,-) | set %m $iif($($+(%,stats.magic.level.,%ID),2),$v1,-) | set %p $iif($($+(%,stats.prayer.level.,%ID),2),$v1,-)
        if (%a !isnum) && (%s !isnum) && (%d !isnum) && (%h !isnum) && (%h !isnum) && (%r !isnum) && (%p !isnum) { $($+(%,stats.display.,%ID),2) $c2($($+(%,stats.rsn.,%ID),2)) $c1(does not appear in any combat skills) | halt }
        set %meleecombat $calc(%a * %a.mult + %s * %s.mult + %d * %d.mult + %h * %h.mult + %p * %p.mult) | set %RangedCombat $calc(%r * %r.mult + %p * %p.mult + %d * %d.mult + %h * %h.mult) | set %MagicCombat $calc(%m * %m.mult + %p * %p.mult + %d * %d.mult + %h * %h.mult)
        if (%MagicCombat == %RangedCombat) && (%MagicCombat == %RangedCombat) { var %cmbstyle = Balanced, %combat = %MeleeCombat }
        elseif (%MagicCombat > %RangedCombat) && (%MagicCombat > %MeleeCombat) { var %cmbstyle = Magic, %Combat = %MagicCombat }
        elseif (%RangedCombat > %MeleeCombat) { var %cmbstyle = Ranged, %Combat = %RangedCombat }
        else { var %cmbstyle = Melee, %combat = %MeleeCombat }
        set %cmb.temp $abs($calc($int($calc(%combat +1)) - %combat)) | set %a.2lvl $ceil($calc(%cmb.temp / %a.mult)) | set %s.2lvl $ceil($calc(%cmb.temp / %s.mult)) | set %d.2lvl $ceil($calc(%cmb.temp / %d.mult)) | set %m.2lvl $ceil($calc(%cmb.temp / %m.mult)) | set %r.2lvl $ceil($calc(%cmb.temp / %r.mult)) | set %p.2lvl $ceil($calc(%cmb.temp / %p.mult))
        if (%cmbstyle == magic) { var %dynamic.2lvl = $c1(Magic:) $c2(%m.2lvl) }
        elseif (%cmbstyle == Ranged) { var %dynamic.2lvl = $c1(Ranged:) $c2(%r.2lvl) }
        else { var %dynamic.2lvl = $c1(Att:) $c2(%a.2lvl) $c1(Str:) $c2(%s.2lvl) }      
        set %combat $round(%combat,2)
        $($+(%,stats.display.,%ID),2) $c2($($+(%,stats.rsn.,%ID),2)) $c1(is level) $c2($bytes(%combat,5d)) $c1([) $+ $c2($bytes($calc((%combat / 126) * 100),b) $+ %) $+ $c1(]) $c1($chr(40)) $+ $c2(%cmbstyle style) $+ $c1($chr(41)) | $($+(%,stats.display.,%ID),2) $c1(Attack:) $c2(%a) $c1(Defence:) $c2(%d) $c1(Strength:) $c2(%s) $c1(Hits:) $c2(%h) $c1(Mage:) $c2(%m) $c1(Range:) $c2(%r) $c1(Pray:) $c2(%p)
        if (%combat < 126) { $($+(%,stats.display.,%ID),2) $c1(Levels for) $c2($calc($int(%combat) + 1)) $+ $c1(:) %dynamic.2lvl $c1(Def/Hp:) $c2(%d.2lvl) $c1(Prayer:) $c2(%p.2lvl) | cleanup %ID | cleancmb %ID | sockclose $sockname }
        elseif (%combat >= 127) { cleancmb %ID | sockclose $sockname }
      }  
      if ($($+(%,stats.type.,%ID),2) == req) {
        var %a.mult = .32707, %s.mult = .324, %d.mult = .25, %h.mult = .25, %p.mult = .124, %r.mult = .487, %m.mult = .487
        set %a $iif($($+(%,stats.Attack.level.,%ID),2),$v1,-) | set %s $iif($($+(%,stats.Strength.level.,%ID),2),$v1,-) | set %d $iif($($+(%,stats.Defence.level.,%ID),2),$v1,-) | set %h $iif($($+(%,stats.hitpoints.level.,%ID),2),$v1,-) | set %r $iif($($+(%,stats.ranged.level.,%ID),2),$v1,-) | set %m $iif($($+(%,stats.magic.level.,%ID),2),$v1,-) | set %p $iif($($+(%,stats.prayer.level.,%ID),2),$v1,-)
        set %meleecombat $calc(%a * %a.mult + %s * %s.mult + %d * %d.mult + %h * %h.mult + %p * %p.mult) | set %RangedCombat $calc(%r * %r.mult + %p * %p.mult + %d * %d.mult + %h * %h.mult) | set %MagicCombat $calc(%m * %m.mult + %p * %p.mult + %d * %d.mult + %h * %h.mult)
        if (%MagicCombat == %RangedCombat) && (%MagicCombat == %RangedCombat) { var %cmbstyle = Balanced, %combat = %MeleeCombat }
        elseif (%MagicCombat > %RangedCombat) && (%MagicCombat > %MeleeCombat) { var %cmbstyle = Magic, %Combat = %MagicCombat }
        elseif (%RangedCombat > %MeleeCombat) { var %cmbstyle = Ranged, %Combat = %RangedCombat }
        else { var %cmbstyle = Melee, %combat = %MeleeCombat }
        set %combat $bytes(%combat,3d) | set %x 0
        if ($iif(%combat,$v1,0) < $iif($readini(ChannelReq.ini,$($+(%,stats.chan.,%ID),2),Combat),$v1,0)) { inc $+(%,stats.violate.,%ID) 1 }
        while (%x < 25) {
          if ($iif($($+(%,stats.,$setskill(%x),.level.,%ID),2),$v1,0) < $iif($readini(ChannelReq.ini,$($+(%,stats.chan.,%ID),2),$setskill(%x)),$v1,0)  ) { inc $+(%,stats.violate.,%ID) 1 | inc %x }
          else { inc %x }
        }
        while ($($+(%,stats.number.2.,%ID),2) < 8) {
          if ($($+(%,stats.,$setskill($($+(%,stats.number.2.,%ID),2)),.level.,%ID),2)) { set $+(%,stats.statline.,%ID) $($+(%,stats.statline.,%ID),2) $c1($setskill($($+(%,stats.number.2.,%ID),2)) $+ :)  $c2($($+(%,stats.,$setskill($($+(%,stats.number.2.,%ID),2)),.level.,%ID),2)) | inc $+(%,stats.number.2.,%ID) 1 }
          else { inc $+(%,stats.number.2.,%ID) 1 }
        }
        msg $($+(%,stats.chan.,%ID),2) $c2($($+(%,stats.rsn.,%ID),2)) $c1(has) $c2($iif($($+(%,stats.violate.,%ID),2),$v1,0)) $c1(Req Violations) | $iif($readini(ChannelReq.ini,$($+(%,stats.chan.,%ID),2),msgstat),msg $($+(%,stats.chan.,%ID),2) $c1(Combat) $c2(%combat) $c1([) $+ $c2($bytes($calc((%combat / 126) * 100),b) $+ %) $+ $c1(]) $c1($chr(40)) $+ $c2(%cmbstyle style) $+ $c1($chr(41)) $($+(%,stats.statline.,%ID),2),noop) | $iif($($+(%,stats.violate.,%ID),2) >= 1,$iif($readini(ChannelReq.ini,$($+(%,stats.chan.,%ID),2),kb),ban -ku $+ $v1 $($+(%,stats.chan.,%ID),2) $($+(%,stats.rsn.,%ID),2) You do not meet $($+(%,stats.violate.,%ID),2) of this $($+(%,stats.chan.,%ID),2) $+ 's requirements,kick $($+(%,stats.chan.,%ID),2) $($+(%,stats.rsn.,%ID),2) You do not meet $($+(%,stats.violate.,%ID),2) of this $($+(%,stats.chan.,%ID),2) $+ 's requirements),noop) | sockclose $sockname
      }
    }
  }
}
alias cleanup { unset $+(%,stats.*.,$1-) }
alias cleancmb { unset %a | unset %s | unset %d | unset %h | unset %r | unset %m | unset %p | unset %meleecombat | unset %RangedCombat | unset %MagicCombat | unset %cmb.temp | unset %a.2lvl | unset %s.2lvl | unset %d.2lvl | unset %m.2lvl | unset %r.2lvl | unset %p.2lvl }