All pastes #262900 Raw Edit

stat and pc

public text v1 · immutable
#262900 ·published 2006-11-30 23:50 UTC
rendered paste body
;<!---Script By RussellReal :) I Luff Joo ALL!!---!>
;<!---WebSite: www.altscripts.net---!>
;<!---IRC SERVER: irc.swiftirc.net---!>
;<!---MSN: RussellonMSN@hotmail.com---!>
alias -l c1 { return $+($chr(3),10,$1-,$chr(3)) }
alias -l c2 { return $+($chr(3),01,$1-,$chr(3)) }
on *:TEXT:*:#:{
  if ($1 == !pcw) {
    if ($nick isreg $chan) { halt }
    else { notice $nick $iif(%pcw,The world is $v1,No pcw is set!) | halt }
  }
  if ($1 == !setpcw) {
    if (($nick isop $chan) || ($nick ishop $chan)) {
      if ($2) { set %pcw $2 | notice $chan new pcw set! type !Pcw to view!! | halt }
      else { notice $nick SYNTAX !setpcw <N> | halt }
    }
  }
  if ($left($1,1) isin !@) {
    if ($regex($1,/^[!@]setrsn/Si)) { writeini defrsn.ini defname $nick $2- | $iif($left($1,1) == !,notice $nick,msg $chan) $nick $+ : your default rsn is set | halt }
    if ($skill($right($1,-1))) {
      if ($sock($($+(stats,.,$nick),2))) { notice $nick Please wait for your first query to process | halt }
      if ($skill($right($1,-1)) == overall) { halt }
      if ($regex($left($1,1),/^(@|!)/Si)) { hadd -m $+(stats,.,$nick) disp $iif($left($1,1) == @,msg $chan,$iif($left($1,1) == !,notice $nick)) }
      else { halt }
      if ($regex($skill($right($1,-1)),/^(combat|stats|vk|pest|pc)/Si)) { 
        if ($skill($right($1,-1)) == combat) { hadd -m $+(stats,.,$nick) style cb }
        else hadd -m $+(stats,.,$nick) style st
        if ($skill($right($1,-1)) isin vk pest pc) { hadd -m $+(stats,.,$nick) style pc }
      }
      else {
        hadd -m $+(stats,.,$nick) style ss
        hadd -m $+(stats,.,$nick) skill $skill($right($1,-1))
      }
      if ($2) {
        if ($len($replace($2-,$chr(32),+)) > 12) { $iif(@ == $left($1,1),msg $chan,$iif(! == $left($1,1),notice $nick,halt)) Sorry, That nickname is  too long. | halt }
        hadd -m $+(stats,.,$nick) name $replace($2-,$chr(32),+,_,+,-,+)
      }
      else {
        if ($readini(defrsn.ini,defname,$nick)) { hadd -m $+(stats,.,$nick) name $replace($readini(defrsn.ini,defname,$nick),_,+) }
        else {
          if ($len($replace($nick,_,+)) > 12) { $iif(@ == $left($1,1),msg $chan,$iif(! == $left($1,1),notice $nick,halt)) Sorry, That nickname is  too long. | halt }
          hadd -m $+(stats,.,$nick) name $replace($nick,_,+)
        }
      }
      sockopen $+(stats,.,$nick) vulcan.ueuo.com 80
    }
    else halt
  }
}

on *:SOCKOPEN:stats.*:{
  sockwrite -nt $sockname GET /geniestats.php?rsname= $+ $replace($hget($sockname,name),$chr(32),+)  HTTP/1.1
  sockwrite -nt $sockname Host: vulcan.ueuo.com $+ $crlf $+ $crlf
}
on *:SOCKREAD:stats.*:{
  sockread -f $+(%,$sockname,.,read)
  tokenize 124 $remove($($+(%,$sockname,.,read),2),genie:)
  if (*does not feature in the hiscores* iswm $($+(%,$sockname,.,read),2)) {
    $hget($sockname,disp) $c1($hget($sockname,name)) $c2(isn't featured in the high scores.) 
    hfree $sockname
    sockclose $sockname
    halt
  }
  if ($hget($sockname,style) == pc) {
    if ($istok($skill(13248624621354321574863),$1,58)) {
      if (!$hget($sockname,pc)) { hadd -m $sockname pc 1 }
      else { hinc $sockname pc 1 }
      hadd -m $sockname $hget($sockname,pc) $c2($remove($1,Genie:) $+ :) $c1($ndp($calc($calc($xp($calc($3 + 1)) - $remove($4,$chr(44))) / $floor($calc(($3 * $3) / $iif($remove($1,Genie:) == prayer,12,6)))))) $c2(( $+ $floor($calc(($3 * $3) / $iif($remove($1,Genie:) == prayer,12,6))) xp/point))
    }
  } 
  if ($hget($sockname,style) == ss) {
    if ($1 == $hget($sockname,skill)) {
      hadd -m $sockname $1 $1 $2 $3 $4
    }
  }
  if ($hget($sockname,style) == st) {
    if (($skill($remove($1,Genie:))) && (*not ranked* !iswm $1-)) {
      if ($hget($sockname,line)) { var %line = $hget($sockname,line) $c2($+($replace($1,Hitpoints,HP,ranged,Range,fishing,Fish,construction,Construct,prayer,Pray,herblore,Herb,fletching,Fletch,smithing,Smith,cooking,Cook,farming,Farm,magic,Mage,woodcutting,Woodcut),:) $c1($3)) | hdel $sockname line | hadd -m $sockname line %line }
      else { hadd -m $sockname line $+($1,:) $c1($3) }
    }
  }
  if ($hget($sockname,style) == cb) {
    if ($istok($skill(13248624621354321574863),$remove($1,Genie:),58)) {
      hadd -m $sockname $remove($1,Genie:) $3
    }
  }
}
on *:SOCKCLOSE:stats.*:{
  if ($hget($sockname,style) == ss) {
    if ($hget($sockname,$hget($sockname,skill))) {
      tokenize 32 $v1
      hadd -m $sockname exp $xp2next($3,$remove($4,$chr(44)))
      set $+(%,$sockname,.,a) 0
      while ($($+(%,$sockname,.,a),2) < $ini(monsters.ini,$hget($sockname,skill),0)) {
        inc $+(%,$sockname,.,a) 1
        set $+(%,$sockname,.,b) $c1($($+(%,$sockname,.,b),2)) $c2($replace($gettok($readini(monsters.ini,$hget($sockname,skill),$($+(%,$sockname,.,a),2)),1,32),_,$chr(32),-,$chr(32))) $c1($floor($calc($hget($sockname,exp) / $gettok($readini(monsters.ini,$hget($sockname,skill),$($+(%,$sockname,.,a),2)),2,32))))
      }
      $hget($sockname,disp) $c2($hget($sockname,skill)) $c1(stats for:) $c2($replace($hget($sockname,name),+,$chr(32)))
      $hget($sockname,disp) $c2(Rank:) $c1($2) $c2(Level:) $c1($3) $c2(Exp:) $c1($4) $c2(Exp for) $c1($+($calc($3 + 1),:) $bytes($hget($sockname,exp),b))
      $hget($sockname,disp) $c2(<For level $calc($3 + 1) $+ >) $($+(%,$sockname,.,b),2)        
      unset $+(%,$sockname,.,b)
      unset $+(%,$sockname,.,a)
      unset $+(%,$sockname,.,read)
    }
    else { $hget($sockname,disp) $c2($hget($sockname,name)) $c1(isn't featured in high scores for $c2($hget($sockname,skill)) $+ .) }
  }
  if ($hget($sockname,style) == pc) {
    if ($hget($sockname,pc) < 1) {
      $hget($sockname,disp) $hget($sockname,name) $c1(doesn't appear in highscores for any combat skill.)
    }
    else {
      hadd -m $sockname b 0
      while ($hget($sockname,b) < $hget($sockname,pc)) {
        hinc $sockname b 1
        set $+(%,$sockname,.,line) $($+(%,$sockname,.,line),2) $hget($sockname,$hget($sockname,b))
      }
      $hget($sockname,disp) $c2(Pest Control points for) $c1($replace($hget($sockname,name),+,$chr(32))) 
      $hget($sockname,disp) $($+(%,$sockname,.,line),2)
    }
  }
  if ($hget($sockname,style) == st) {
    if ($left($hget($sockname,line),1) isalpha) {
      $hget($sockname,disp) $c2(Stats for:) $c1($replace($hget($sockname,name),+,$chr(32)))
      $hget($sockname,disp) $replace($c2($hget($sockname,line)),firemaking:,Firemake:)  
    }
    else { $hget($sockname,disp) $replace($hget($sockname,name),+,$chr(32)) Does NOT feature in high scores for any skill. }
  }
  if ($hget($sockname,style) == cb) {
    if ($count($iif($hget($sockname,attack),$v1,NA) $iif($hget($sockname,strength),$v1,NA) $iif($hget($sockname,defence),$v1,NA) $iif($hget($sockname,hitpoints),$v1,NA) $iif($hget($sockname,prayer),$v1,NA) $iif($hget($sockname,ranged),$v1,NA) $iif($hget($sockname,magic),$v1,NA),NA) >= 7) {
      $hget($sockname,disp) $hget($sockname,name) $c1(doesn't appear in highscores for any combat skill.)
    }
    else {
      tokenize 32 $extcmbcalc($iif($hget($sockname,attack),$v1,NA) $iif($hget($sockname,strength),$v1,NA) $iif($hget($sockname,defence),$v1,NA) $iif($hget($sockname,hitpoints),$v1,NA) $iif($hget($sockname,prayer),$v1,NA) $iif($hget($sockname,ranged),$v1,NA) $iif($hget($sockname,magic),$v1,NA))
      $hget($sockname,disp) $c2(Combat stats for) $c1($replace($hget($sockname,name),+,$chr(32))) $c2(Level:) $c1($floor($1) $2-)
      $hget($sockname,disp) $c2(Att:) $c1($hget($sockname,attack)) $c2(Str:) $c1($hget($sockname,strength)) $c2(Def:) $c1($hget($sockname,defence)) $c2(Hits:) $c1($hget($sockname,hitpoints)) $c2(Pray:) $c1($hget($sockname,prayer)) $c2(Range:) $c1($hget($sockname,ranged)) $c2(Magic:) $c1($hget($sockname,magic))
      hadd -m $sockname temp $iif(*.* iswm $1,$calc(1 - $+($chr(46),$gettok($1,2,46))),1)
      if ($2- == (melee based)) { 
        $hget($sockname,disp) $c2(Levels For) $c1($calc($floor($1) + 1)) $+ $c2(:) $c2(Att:) $c1($ndp($calc($hget($sockname,temp) / 0.32707))) $& 
          $c2(Str:) $c1($ndp($calc($hget($sockname,temp) / 0.324))) $&
          $c2(Def:) $c1($ndp($calc($hget($sockname,temp) / 0.249))) $&
          $c2(Hits:) $c1($ndp($calc($hget($sockname,temp) / 0.25))) $&
          $c2(Pray:) $c1($ndp($calc($hget($sockname,temp) / 0.124)))
      }
      if ($2- == (Range based)) { 
        $hget($sockname,disp) $c2(Levels For) $c1($calc($floor($1) + 1)) $+ $c2(:) $c2(Range:) $c1($ndp($calc($hget($sockname,temp) / 0.487))) $& 
          $c2(Def:) $c1($ndp($calc($hget($sockname,temp) / 0.249))) $&
          $c2(Hits:) $c1($ndp($calc($hget($sockname,temp) / 0.25))) $&
          $c2(Pray:) $c1($ndp($calc($hget($sockname,temp) / 0.124)))
      }
      if ($2- == (Magic based)) { 
        $hget($sockname,disp) $c2(Levels For) $c1($calc($floor($1) + 1)) $+ $c2(:) $c2(Magic:) $c1($ndp($calc($hget($sockname,temp) / 0.487))) $& 
          $c2(Def:) $c1($ndp($calc($hget($sockname,temp) / 0.249))) $&
          $c2(Hits:) $c1($ndp($calc($hget($sockname,temp) / 0.25))) $&
          $c2(Pray:) $c1($ndp($calc($hget($sockname,temp) / 0.124)))
      }
    }
  }
  unset $+(%,$sockname,.,line)
  hfree $sockname
}
;<!---Combat Calculator---!>
alias -l extcmbcalc {
  var %line = $replace($1 $2 $3 $4 $5 $6 $7,NA,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 $calc((0.487 * $6) + (0.249 * $3) + (0.25 * $4) + (0.124 * $5)) (Range Based) }
  if (%type == magic) { return $calc((0.487 * $7) + (0.249 * $3) + (0.25 * $4) + (0.124 * $5)) (Magic Based) }
  if (%type == melee) { return $calc((0.32707 * $1) + (0.249 * $3) + (0.324 * $2) + (0.25 * $4) + (0.124 * $5)) (Melee Based) }
}
;<!---Hash Increase---!>
alias hinc {
  if ($hget($1,$2) isnum) {
    set $+(%,$1,.,$2) $hget($1,$2)
    inc $+(%,$1,.,$2) $3
    hdel $1 $2
    hadd -m $1 $2 $($+(%,$1,.,$2),2)
    unset $+(%,$1,.,$2)
  }
}
;<!---Skill Identifier---!>
alias skill {
  if ($regex($1,/c(mb|ombat)/Si)) Return Combat
  if ($1 == overall) return Overall
  if ($1 == pest) return Pest
  if ($1 == vk) return VK
  if ($1 == pc) return pc
  if ($regex($1,/^Stats/Si)) Return Stats
  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
  if ($regex($1,/^Cook(ing)?$/Si)) Return Coooking
  if ($regex($1,/^wc|Woodcut|woodcutting/Si)) Return Woodcutting
  if ($regex($1,/^fletch(ing)?$/Si)) Return Fletching
  if ($regex($1,/^fish(ing)?$/Si)) Return Fishing
  if ($regex($1,/^fm|Firemake|firemaking/Si)) Return Firemaking
  if ($regex($1,/^craft(ing)?$/Si)) Return Crafting
  if ($regex($1,/^smith(ing)?$/Si)) Return Smithing
  if ($regex($1,/^min(e|ing)?$/Si)) Return Mining
  if ($regex($1,/^Herb(lore|y)?$/Si)) Return Herblore
  if ($regex($1,/^Agility/Si)) Return Agility
  if ($regex($1,/^th(ie|ei)v(e|ing)/Si)) Return Thieving
  if ($regex($1,/^Slay(er|ing)?$/Si)) Return Slayer
  if ($regex($1,/^farm(ing)?$/Si)) Return Farming
  if ($regex($1,/^rc|runecraft|runecrafting/Si)) Return Runecraft
  if ($regex($1,/^con(struction)?$/Si)) Return Construction
  if ($1 == 13248624621354321574863) Return attack:strength:ranged:magic:hitpoints:prayer:defence
}
;<!---xp 2 level procedures---!>
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)
}
;<!---No Dot Plz :)---!>
alias ndp {
  if (*.* iswm $1) { return $calc($gettok($1,1,46) + 1) }
  else { return $1 }
}