All pastes #173377 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-09-16 21:31 UTC
rendered paste body
alias rsstats.voice {
  if ($me isop $chan) || ($me ishop $chan) {
    var %x = 1
    while (%x <= $nick($chan,0,r)) {
      var %s = 1
      while ($sock(rsstats. $+ %s)) {
        inc %s
      }
      set %rsstats.skill. [ $+ [ %s ] ] autovoice
      set %rsstats.rsn. [ $+ [ %s ] ] $nick($chan,%x,r)
      set %rsstats.chan. [ $+ [ %s ] ] $chan
      sockopen rsstats. [ $+ [ %s ] ] rscript.org 80
      inc %x
    }
  }
}
on *:sockopen:rsstats.*: {
  sockwrite -n $sockname GET /lookup.php?type=stats&user= $+ $replace(%rsstats.rsn. [ $+ [ $right($sockname,-8) ] ],$chr(32),$chr(95)) HTTP/1.1
  sockwrite -n $sockname Host: rscript.org $+ $crlf $+ $crlf
}
on *:sockread:rsstats.*: {
  var %s = $right($sockname,-8)
  sockread %rsstats.read. [ $+ [ %s ] ]
  if ($sockerr) {
    %rsstats.display. [ $+ [ %s ] ] Socket error: Please try again later.
    rsstats.cleanup %s
    halt
  }
  else {
    elseif (%rsstats.skill. [ $+ [ %s ] ] == autovoice) {
      var %a.mult = .32707, %s.mult = .324, %d.mult = .249, %h.mult = .25, %p.mult = .124, %r.mult = .487, %m.mult = .487
      while (1) {
        var %rsstats.read. [ $+ [ %s ] ]
        sockread %rsstats.read. [ $+ [ %s ] ]
        tokenize 32 %rsstats.read. [ $+ [ %s ] ]
        if (not found isin %rsstats.read. [ $+ [ %s ] ]) {
          inc %kicks
          ban -ku30 %rsstats.chan. [ $+ [ %s ] ] %rsstats.rsn. [ $+ [ %s ] ] Please use your Runescape Username 12¤4 %kicks $+ 1
          rsstats.cleanup %s
          break
          halt
        }
        else {
          if (Attack isin %rsstats.read. [ $+ [ %s ] ]) {
            if ($3 == Ranked) { var %a = 1 }
            else { var %a = $3 }
          }
          if (Strength isin %rsstats.read. [ $+ [ %s ] ]) {
            if ($3 == Ranked) { var %st = 1 }
            else { var %st = $3 }
          }
          if (Defence isin %rsstats.read. [ $+ [ %s ] ]) {
            if ($3 == Ranked) { var %d = 1 }
            else { var %d = $3 }
          }
          if (Hitpoints isin %rsstats.read. [ $+ [ %s ] ]) {
            if ($3 == Ranked) { var %h = 1 }
            else { var %h = $3 }
          }
          if (prayer isin %rsstats.read. [ $+ [ %s ] ]) {
            if ($3 == Ranked) { var %p = 1 }
            else { var %p = $3 }
          }
          if (Ranged isin %rsstats.read. [ $+ [ %s ] ]) {
            if ($3 == Ranked) { var %r = 1 }
            else { var %r = $3 }
          }
          if (Magic isin %rsstats.read. [ $+ [ %s ] ]) {
            if ($3 == Ranked) { var %m = 1 }
            else { var %m = $3 }
            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))
            var %combat = $round(%combat,2), %next = $ceil(%combat)
            if (%combat >= 90) || ($eval($calc(%a + %s)) >= 90) {
              write RSStatscache.txt %rsstats.nick. [ $+ [ %s ] ]
              mode %rsstats.chan. [ $+ [ %s ] ] +v %rsstats.rsn. [ $+ [ %s ] ]
              inc %pcvoice
            }
            else { 
              inc %kicks
              ban -ku120 %rsstats.chan. [ $+ [ %s ] ] %rsstats.rsn. [ $+ [ %s ] ] 7The 4#PestControl 7requirements:04 90 CMB or 90 Combined att+str 12¤4 %kicks $+ 1
            }
            rsstats.cleanup %s
            break
          }
        }
      }
    }
  }
}