Top

Runescape stats Script


mIRC Code
+ 1 likes
Please Register to submit score.
Bookmark and Share
Average Score  3.0 (of 2 scores)
Date Added  Mar 30, 2007
Last Updated  Jun 30, 2007
Tags  runescape 

Description

this is a complete runescape stats script written by smooth_dudes

syntax:
!stats [nick] - returns all stats
!cmb [nick] - returns all combat stats
!single [nick] - returns stats for a single skill, ex: !str [nick]

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 1
  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 $+(rsh.,%ID) hiscore.runescape.com 80
}
on *:SOCKOPEN:rsh.*:{
  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:rsh.*:{
  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,<div id="footerHiscores"></div>).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.,%ID)
    }
    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.,%ID)  
    }
    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.,%ID)
    }
  }
  .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

  (21)  RSS
Mushufasa
Comments: 18
 
mIRC Snippet:  Runescape stats Script
Posted on Apr 2, 2007 7:03 am
This didn't work for me, and being the complete newb I am I don't know why either. If you could fix it, it looks like it could be great ;D.

Unless of course its just me its not working for in which case /forwardslashcry
smooth_dudes
Comments: 4
 
mIRC Snippet:  Runescape stats Script
Posted on Apr 3, 2007 10:37 am
thank you for reminding me, very simple error that had something to do with the variables :)

*fixed*
Stefan1990
Comments: 2
 
mIRC Snippet:  Runescape stats Script
Posted on Apr 6, 2007 3:39 am
If I Say !ranged <nick>
then I get Level: Rank: 731,519 Exp: 3,298,433 Exp for 86 Ranged: 299367
Could you make a little change that it says xp for 86 ranged: 299,367 or 1,119,190 so theres a comma in it? :$ Then its easier to see, if its easy to solve could you please do it then?
Stefan1990
Comments: 2
 
mIRC Snippet:  Runescape stats Script
Posted on Apr 6, 2007 3:56 am
Oh and btw the !cmb script aint working for me.
smooth_dudes
Comments: 4
 
mIRC Snippet:  Runescape stats Script
Posted on Apr 6, 2007 12:27 pm
ok added the 100,000,000. also the combat works.

[19:20:54] <Smooth_dudes> 07lee_shani 14is level 07112.35 Melee Based
[19:20:54] <Smooth_dudes> 14Att: 0799 14Def: 0776 14Str: 0799 14hp: 0790 14Range: 0751 14Pray: 0752 14Magic: 0756
[19:20:54] <Smooth_dudes> 14Levels for 0711314: 14Att: 072 14Str: 073 14def/hp: 073 14Prayer: 076
chenyangwei
Comments: 1
 
mIRC Snippet:  Runescape stats Script
Posted on Apr 24, 2007 1:17 am
come here to buy cheap runescape gold/money
www.runescape-money.eu
www.rs2-money.com

www.runescape-golds.com
die-chav
Comments: 1
 
mIRC Snippet:  Runescape stats Script
Posted on May 30, 2007 7:21 am
why doesnt it work? it just says: * Removed 'C:\Program Files\mIRC\rsh.1'
Is it something up with my computer or is it the script has a bug?
stargazer989
Comments: 31
 
mIRC Snippet:  Runescape stats Script
Posted on Jun 4, 2007 5:17 pm
when i type !stats stargazer989 all it gives me is this:
[stargazer989] Spoken words: 628 (3180 letters) Commands used 34. 187 lines and 2 actions.
and im not getting runescape stats
smooth_dudes
Comments: 4
 
mIRC Snippet:  Runescape stats Script
Posted on Jun 7, 2007 7:16 am
the highscore source has changed slightly, but i got that fixed now :)

enjoy
red_alert38
Comments: 1
 
mIRC Snippet:  Runescape stats Script
Posted on Jun 9, 2007 8:24 am
i have one problem that i know of everytime i try to look up something i get * Removed 'C:\Program Files\mIRC\rsh.7' and idk how to fix it :|.
dark_reol
Comments: 1
 
mIRC Snippet:  Runescape stats Script
Posted on Jun 16, 2007 11:55 pm
If would be better if you could add a on join cmb lookup

:D
smooth_dudes
Comments: 4
 
mIRC Snippet:  Runescape stats Script
Posted on Jun 30, 2007 10:38 am
lol dark reol thats a completely different thing :)
tomb
Comments: 4
 
mIRC Snippet:  Runescape stats Script
Posted on Jul 16, 2007 4:13 pm
i copy and paste the whole thing into remote and try to do a command !stats [nick] but nothing works..help please?
napa182
Comments: 1,688
 
mIRC Snippet:  Runescape stats Script
Posted on Sep 10, 2007 4:01 am
scott120 you seem like a spammer =/
RussellReal
Comments: 37
 
mIRC Snippet:  Runescape stats Script
Posted on Sep 18, 2007 8:17 pm
I'm pretty sure this is simply a modded version of URZA's stat script, and being that it is, you should credit him.. but that's just my prospective anyway.
Roy911
Comments: 16
 
mIRC Snippet:  Runescape stats Script
Posted on Oct 23, 2007 5:30 pm
Instead of putting $strip($1-) on everything, you could have just used
/tokenize 32 $strip($1-).
Tom445566
Comments: 10
 
mIRC Snippet:  Runescape stats Script
Posted on Nov 28, 2007 8:23 pm
When I Use The Single Command (like .def Zezima) This Happens:
(12:19:57) -[-Tom`MIRC-]- Defence Stats for Zezima
(12:19:58) -[-Tom`MIRC-]- Defence Stats for Zezima
(12:19:58) -[-Tom`MIRC-]- Defence Stats for Zezima
(12:19:58) -[-Tom`MIRC-]- Defence Stats for Zezima
Tankingcory
Comments: 4
 
mIRC Snippet:  Runescape stats Script
Posted on Jul 10, 2008 7:34 am
where are you supposed to paste this script at? remotes or aliases?
mountaindew
Comments: 1,816
 
mIRC Snippet:  Runescape stats Script
Posted on Jul 10, 2008 9:38 am
This all goes in remotes.
Tankingcory
Comments: 4
 
mIRC Snippet:  Runescape stats Script
Posted on Jul 25, 2008 9:16 am
thanks
Tankingcory
Comments: 4
 
mIRC Snippet:  Runescape stats Script
Posted on Jul 25, 2008 9:23 am
still, only the .defname Tankingcory is working for me i type !stats tankingcory and nothing comes up, i type .stats same story, i tried them all

Commenting Options

Register or Login to Hawkee.com or use your Facebook or Twitter account by clicking the corresponding button below.

  

Bottom