Top

Stat and cmb script for runescape


mIRC Code
+ 0 likes
Please Register to submit score.
Bookmark and Share
Average Score  1.8 (of 4 scores)
Date Added  Apr 15, 2007
Last Updated  Apr 15, 2007

Introduction

This script works perfectly for finding combat and stats for runescape

Grab the Code

alias -l c1 { return $+($chr(3),14,$1-) }
alias -l c2 { return $+($chr(3),07,$1-) }
on *:TEXT:*:#: {
  if ($left($strip($1),1) !isin @!.) || ($regex($strip($1),/(=|[^<]*>|<[^>]*>|<[^>]|[0-9]|$chr(95))/Si)) { halt }
  if ($right($1,-1) == defname) && ($2-) && ($len($2-) <= 12) {
    writeini DefRSN.ini RSNs $mask($fulladdress,3) $replace($2-,$chr(32),-)
    notice $nick $c1(your nickname for the adress) $c2($mask($fulladdress,3)) $c1(has been set to) $c2($2-)
    halt
  }
  inc %ID
  if ($right($strip($1),-1) == stats) set $+(%,rs.style.,%ID) stats
  elseif ($regex($strip($1),/co?mb(at)?/Si)) set $+(%,rs.style.,%ID) combat
  elseif ($setskill($remove($strip($1),@,!,.))) set $+(%,rs.style.,%ID) single
  else halt
  if ($len($2-) > 12) { $iif($left($1,1) == @,msg $chan,notice $nick) $c1(The nickname) $c2($2-) $c1(is too long) | halt }  
  if ($2) set $+(%,rs.rsn.,%ID) $replace($2-,$chr(32),$chr(95))   
  elseif ($readini(DefRSN.ini,RSNs,$mask($fulladdress,3))) set $+(%,rs.rsn.,%ID) $ifmatch
  elseif ($readini(DefRSN.ini,RSNs,$nick)) set $+(%,rs.rsn.,%ID) $ifmatch
  else set $+(%,rs.rsn.,%ID) $nick
  set $+(%,rs.skill.,%ID) $setskill($remove($strip($1),@,!,.))
  set $+(%,rs.return.,%ID) $iif($left($1,1) == @,msg $chan,notice $nick)
  sockopen $+(rs.,%ID) hiscore.runescape.com 80
}
on *:SOCKOPEN:rs.*:{
  var %ID = $gettok($sockname,2,46)
  sockwrite -nt $sockname GET /lang/en/aff/runescape/hiscorepersonal.ws?user1= $+ $($+(%,rs.rsn.,%ID),2) HTTP/1.0
  sockwrite -nt $sockname Host: hiscore.runescape.com $+ $str($crlf,2)
}
on *:SOCKREAD:rs.*:{
  if ($sockerr) { echo -a Error. | halt }
  var %ID = $gettok($sockname,2,46), $&
    %style = $($+(%,rs.style.,%ID),2), $&
    %target = $($+(%,rs.rsn.,%ID),2), $&
    %display = $($+(%,rs.return.,%ID),2), $&
    %skill = $($+(%,rs.skill.,%ID),2)
  sockread &source
  bwrite $sockname -1 -1 &source
  if ($bfind(&source,1,does not feature in the hiscores).text) { %display $c1(The nickname:) $c2(%target) $c1(did not feature in runescape highscores for any skill!) | remove $sockname | sockclose $sockname | halt }
  bread $sockname 1 $file($sockname).size $+(&,$sockname)
  var %stat, %x = 1
  while (%x) {
    var %x = $bfind($+(&,$sockname),$calc(%x + 1),<a href="overall.ws?table=).text, %stat = $htmlfree($bvar($+(&,$sockname),%x,200).text)
    tokenize 10 %stat
    hadd -m $sockname $1 $2 $3 $4 $xp2next($3,$4)
  }
  if ($bfind($+(&,$sockname),1,<img class="mainscroll-bottom).text) {
    if (%style == stats) {
      var %y = 0
      while (%y <= 23) {
        tokenize 32 $hget($sockname,$setskill(%y))
        if ($2) var %file = %file $c1($setskill(%y)) $c2($2)
        inc %y
      }
      %display $c1(Stats for) $c2(%target) $+ $c1(:)
      %display %file  
      unset $+(%,rs.*)
    }
    if (%style == single) {
      if (!$hget($sockname,%skill)) { %display $c2(%target) $c1(did not feature in higscores for) $c2(%skill) | remove $sockname | sockclose $sockname | halt }
      tokenize 32 $hget($sockname,%skill)
      %display $c2(%skill) $c1(Stats for) $c2(%target)
      %display $c1(Level:) $c2($2) $c1(Rank:) $c2($1) $c1(Exp:) $c2($3) $c1(Exp for) $c2($calc($2 + 1)) $c1(%skill $+ :) $c2($comma($4))
      unset $+(%,rs.*)
    }
    if (%style == combat) {
      var %att = $gettok($hget($sockname,attack),2,32), %def = $gettok($hget($sockname,defence),2,32), $&
        %str = $gettok($hget($sockname,strength),2,32), %hp = $gettok($hget($sockname,hitpoints),2,32), $&
        %rng = $gettok($hget($sockname,ranged),2,32), %pray = $gettok($hget($sockname,prayer),2,32), $&
        %magic = $gettok($hget($sockname,magic),2,32)
      var %combat = $cmb(%att,%def,%str,%hp,%rng,%pray,%magic)
      var %temp = $abs($calc($int($calc($gettok(%combat,1,32) +1)) - $gettok(%combat,1,32))), $& 
        %a.lvl = $ceil($calc(%temp / .32707)), %s.lvl = $ceil($calc(%temp / .324)), $& 
        %d.lvl = $ceil($calc(%temp / .25)), $&
        %m.lvl = $ceil($calc(%temp / .487)), $& 
        %r.lvl = $ceil($calc(%temp / .487)), $&
        %p.lvl = $ceil($calc(%temp / .124))
      if ($gettok(%combat,2,32) == Magic Based) var %lvl.base = Magic: %m.lvl
      elseif ($gettok(%combat,2,32) == Ranged Based) var %lvl.base = Ranged: %r.lvl
      else var %lvl.base = $c1(Att:) $c2(%a.lvl) $c1(Str:) $c2(%s.lvl)
      %display $c2(%target) $c1(is level) $c2(%combat)
      %display $c1(Att:) $c2(%att) $c1(Def:) $c2(%def) $c1(Str:) $c2(%str) $c1(hp:) $c2(%Hp) $c1(Range:) $c2(%rng) $c1(Pray:) $c2(%pray) $c1(Magic:) $c2(%magic)
      if ($floor(%combat) != 126) %display $c1(Levels for) $c2($floor($calc($gettok(%combat,1,32) +1))) $+ $c1(:) %lvl.base $c1(def/hp:) $c2(%d.lvl) $c1(Prayer:) $c2(%p.lvl)
      else %display $c2(%target) $c1(has reached the maximum combat level in) $c2(Runescape!)       
      unset $+(%,rs.*)
    }
  }
  remove $sockname
}
alias -l cmb {
  var %a = $calc($2 * 100), %b = $calc($4 * 100), %c = $calc($6 * 50)
  var %base = $calc($calc(%a + %b + %c) / 400), %d = $calc($1 * 130), %e = $calc($3 * 130)
  if ($and($5,1) == 0) var %f = $calc($calc($calc($5 - 1) + $calc($5 * 2)) * 65)
  elseif ($and($5,1) == 1) var %f = $calc($5 * 195)
  if ($and($7,1) == 0) var %g = $calc($calc($calc($7 - 1) + $calc($7 * 2)) * 65)
  elseif ($and($7,1) == 1) var %g = $calc($7 * 195)
  var %mcombat = $calc($calc(%d + %e) / 400), %rcombat = $calc(%f / 400), %macombat = $calc(%g / 400)
  if (%mcombat > %rcombat) && (%mcombat > %macombat) { return $calc(%mcombat + %base) Melee Based }
  elseif (%rcombat > %mcombat) && (%rcombat > %macombat) { return $calc(%rcombat + %base) Ranged Based }
  elseif (%macombat > %mcombat) && (%macombat > %rcombat) { return $calc(%macombat + %base) Magic Based }
}
alias -l htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&amp;) | return %x }
alias -l comma {  Var %a, %b = $regsub($ticks,$$1,/G([+-]?d+?)(?=(?:d{3})++(?=.d++$|$))/g,1 $+ $chr(44),%a) | Return %a }
alias -l xp2Next { var %xp = $remove($2,$chr(44)), %nextxp = $xp($calc($1 + 1)) | return $calc(%nextxp - %xp) }
alias -l 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 -l setskill {
  if ($1 == 0) || ($regex($1,/^(st|(skill)?total|overall)$/Si)) return Overall
  elseif ($1 == 1) || ($regex($1,/^at(t|k|tack)$/Si)) return Attack
  elseif ($1 == 2) || ($regex($1,/^def(en[cs]e)?$$/Si)) return Defence
  elseif ($1 == 3) || ($regex($1,/^str(ength)?$/Si)) return Strength
  elseif ($1 == 4) || ($regex($1,/^hp|hit(s|points?)?$/Si)) return Hitpoints
  elseif ($1 == 5) || ($regex($1,/^range(r|d|ing)?$/Si)) return Ranged
  elseif ($1 == 6) || ($regex($1,/^Pray(er)?$$/Si)) return Prayer
  elseif ($1 == 7) || ($regex($1,/^mag(e|ic)$$/Si)) return Magic
  elseif ($1 == 8) || ($regex($1,/^cook(ing)?$/Si)) return Cooking
  elseif ($1 == 9) || ($regex($1,/^wc|wood(cut(ting)?)?$/Si)) return Woodcutting
  elseif ($1 == 10) || ($regex($1,/^fletch(ing)?$/Si)) return Fletching
  elseif ($1 == 11) || ($regex($1,/^fish(ing)?$/Si)) return Fishing
  elseif ($1 == 12) || ($regex($1,/^(fire|fm)(make?(ing)?|ing)?$/Si)) return Firemaking
  elseif ($1 == 13) || ($regex($1,/^craft(ing)?$/Si)) return Crafting
  elseif ($1 == 14) || ($regex($1,/^(smith|smelt)(ing)?$/Si)) return Smithing
  elseif ($1 == 15) || ($regex($1,/^mine(ing)?$/Si)) return Mining
  elseif ($1 == 16) || ($regex($1,/^herb(law|lore)?$/Si)) return Herblore
  elseif ($1 == 17) || ($regex($1,/^agil(ity)?$/Si)) return Agility
  elseif ($1 == 18) || ($regex($1,/^(th(ei|ie)[fv](e|ing)?)$/Si)) return Thieving
  elseif ($1 == 19) || ($regex($1,/^slay(er|ing)?$/Si)) return Slayer
  elseif ($1 == 20) || ($regex($1,/^farm(er|ing)?$/Si)) return Farming
  elseif ($1 == 21) || ($regex($1,/^(rc|runecraft)(er|ing)?$/Si)) return Runecraft
  elseif ($1 == 22) || ($regex($1,/^(hunt)(er|ing)?$/si)) return Hunter
  elseif ($1 == 23) || ($regex($1,/^(con)(struc?tion)?$/si)) return Construction
}

Comments

  (4)  RSS
stargazer989
Comments: 31
 
mIRC Snippet:  Stat and cmb script for runescape
Posted on May 26, 2007 3:19 am
so i place this in the remote part right??
m4g3script
Comments: 23
 
mIRC Snippet:  Stat and cmb script for runescape
Posted on Jun 3, 2007 6:16 am
yes u place this in remotes
Sooth
Comments: 7
 
mIRC Snippet:  Stat and cmb script for runescape
Posted on Jul 22, 2007 7:46 pm
combat calc is off, and same with next level calc
Daniwan
Comments: 1
 
mIRC Snippet:  Stat and cmb script for runescape
Posted on Jan 6, 2008 10:19 pm
It doesnt work for me. Well im new at scripting. But still it should work?

Commenting Options

Register or Login to Hawkee.com or login with your Facebook account by clicking the button below.

Bottom