All pastes #294205 Raw Edit

Something

public text v1 · immutable
#294205 ·published 2006-12-28 07:26 UTC
rendered paste body
alias -l c1 return $+($chr(3),05,$1-)
alias -l c2 return $+($chr(3),14,$1-)
on $*:TEXT:/^[!@]check/Si:#:{
  if ($2 ison $chan) {
    var %ya = $+(dcheck,.,$2,.,$ticks)
    hadd -m %ya disp $iif($left($1,1) == !,.notice $nick,msg $chan)
    sockopen %ya www.o-ss.net 80
  }
  else .notice $nick plz use the nickname of the person you're trying to look up.
}
on *:SOCKOPEN:dcheck.*:{
  sockwrite -nt $sockname GET /parsers/stats.php?user= $+ $gettok($sockname,2,46)  HTTP/1.1
  sockwrite -nt $sockname Host: www.o-ss.net $+ $crlf $+ $crlf
}
on *:SOCKREAD:dcheck.*:{
  var %read | tokenize 32 1 2 3
  while ($1 != Overall) {
    sockread -f %read
    tokenize 32 %read
  }
  if (*does not feature* iswm %read) {
    $hget($sockname,disp) $gettok($sockname,2,46) doesn't feature in high scores...
    hfree $sockname
    sockclose $sockname
  }
  while ($1 != Magic) { sockread -f %read | tokenize 32 %read | hadd -m $sockname $1 $3 }
  var %cmb = $floor($extcmbcalc($hget($sockname,attack),$hget($sockname,strength),$hget($sockname,defence),$hget($sockname,hitpoints),$hget($sockname,prayer),$hget($sockname,ranged),$hget($sockname,magic))), $&
    %att = $hget($sockname,attack), %str = $hget($sockname,strength), %def = $hget($sockname,defence), %mage = $hget($sockname,magic), %range = $hget($sockname,ranged)
  $hget($sockname,disp) Nick: $gettok($sockname,2,46) $reqscheck(%cmb,%att,%str,%mage,%range)
  hfree $sockname
  sockclose $sockname
}
alias -l extcmbcalc {
  var %line = $replace($1 $2 $3 $4 $5 $6 $7,NA,1,Ranked,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) }
  if (%type == magic) { return $base($calc((0.487 * $7) + (0.249 * $3) + (0.25 * $4) + (0.124 * $5)),10,10,0,2) }
  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) }
}
alias reqscheck {
  var %passed = Passed:
  var %failed = Failed:
  if ($1 >= 100) var %passed = %passed combat $+ ( $+ $v1 $+ )
  else var %failed = %failed combat $+ ( $+ $v1 $+ )
  if ($calc($2 + $3) >= 170) var %passed = %passed Att+Str $+ ( $+ $v1 $+ )
  else var %failed = %failed Att+Str $+ ( $+ $v1 $+ )
  if ($4 >= 85) var %passed = %passed Mage $+ ( $+ $v1 $+ )
  else var %failed = %failed Mage $+ ( $+ $v1 $+ )
  if ($5 >= 85) var %passed = %passed Range $+ ( $+ $v1 $+ )
  else var %failed = %failed Range $+ ( $+ $v1 $+ )
  return $iif($numtok(%passed,32) >= 2,Passed(( $+ $calc($v1 - 1) $+ ) $+ $gettok(%passed,2-,32) $+ ),Failed)
}
alias -l skill {
  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
}
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 }
}