All pastes #710600 Raw Edit

Mine

public text v1 · immutable
#710600 ·published 2007-09-25 17:10 UTC
rendered paste body
; Changelog 1.0 to 1.0.1 
; 1: Removed on exit event. 
; 2: Removed the unload -rs $scriptdirstatsscript.mrc 
; 3: removed unset %stats.found 

on *:START:{ 
  set %en Overall Attack Defence Strength Hitpoints Ranged Prayer Magic Cooking Woodcutting Fletching Fishing Firemaking Crafting Smithing Mining Herblore Agility Thieving Slayer Farming Runecraft Hunter Construction 
  set %de Insgesamt Angriff Verteidigung Stärke Lebenspunkte Fernkampf Gebet Magie Kochen Holzfällerei Bognerei Fischen Funkenschlagen Handwerk Schmieden Bergbau Pflanzenkunde Gewandtheit Diebstahl Berserker Landwirtschaft Runenfertigung Jagen Baukunst 
  set %nl Totaal Aanval Verdediging Kracht Levenspunten Boogschieten Bidden Magie Koken Houthakken Boogmaken Vissen Vuurmaken Handwerk Smeden Mijnen Plantenkunde Behendigheid Diefstal Slachten Tuinieren Stenenmaken Jagen Bouwen 
  echo -a 14Vulcans Stats Script Version10 1.0.1 14Loaded Successfully. 
} 
on *:UNLOAD:{ 
  unset %en | unset %de | unset %nl | unset %stats.* 
  echo -a 14Vulcans Stats Script Version10 1.0.1 14Unloaded Succesfully. 
} 
on $*:TEXT:/^[.!@](g|d)?stats( .*)?$/Si:#:{ 
  if ($2 == zezima) { halt } 
  if ($len($2-) > 12) { .notice $nick Error: Name too long | halt } 
  if ($2 == $null) { .notice $nick Error: No RSN Specified. | halt } 
  var %stats.id $r(10000,99999) 
  sockopen $+(stats.,%stats.id) hiscore.runescape.com 80 
  sockmark $+(stats.,%stats.id) $chan $nick $+($chr(3),14) $+($chr(3),10) $iif($left($1,1) == @,pu,pr) $replace($2-,$chr(32),+) $lang($1,%stats.id) 
} 
on *:SockOpen:stats.*:{ 
  tokenize 32 $sock($sockname).mark 
  sockwrite -nt $sockname GET /index_lite.ws?player= $+ $6 HTTP/1.0 
  sockwrite -nt $sockname Host: hiscore.runescape.com $+ $str($crlf,2) 
} 
on *:SockRead:stats.*:{ 
  var %read | sockread %read | tokenize 44 %read 
  if ($0 == 3) { 
    if ($1 == -1) && ($2 == -1) { inc $+(%,$sockname,.s) 1 } 
    else { inc $+(%,$sockname,.s) 1 | set $+(%,$sockname,.,$gettok($($+(%,$gettok($sock($sockname).mark,7,32)),2),$($+(%,$sockname,.s),2),32),.rank) $iif($1 == -1,Unranked,$1) | set $+(%,$sockname,.,$gettok($($+(%,$gettok($sock($sockname).mark,7,32)),2),$($+(%,$sockname,.s),2),32),.level) $2 | set $+(%,$sockname,.,$gettok($($+(%,$gettok($sock($sockname).mark,7,32)),2),$($+(%,$sockname,.s),2),32),.exp) $3 } 
  } 
  if ($($+(%,$sockname,.s),2) == 24) { 
    if ($($+(%,$sockname,.Overall.level),2) != $null) || ($($+(%,$sockname,.Totaal.level),2) != $null) || ($($+(%,$sockname,.Insgesamt.level),2) != $null) { set $+(%,$sockname,.x) 2 | set $+(%,$sockname,.aa) 0 } 
    else { set $+(%,$sockname,.x) 1 | set $+(%,$sockname,.aa) 0 } 
    get_cmb $sockname $gettok($sock($sockname).mark,7,32) $gettok($sock($sockname).mark,3,32) $gettok($sock($sockname).mark,4,32) 
    var %c1 $gettok($sock($sockname).mark,3,32), %c2 $gettok($sock($sockname).mark,4,32), %send $replace($gettok($sock($sockname).mark,5,32),pu,.msg $gettok($sock($sockname).mark,1,32),pr,.notice $gettok($sock($sockname).mark,2,32)) 
    if ($gettok($sock($sockname).mark,7,32) == nl) { var %stats.text Persoonlijke scores van, %overall.level $iif($($+(%,$sockname,.Totaal.level),2) == $null,N/A,$replace($bytes($($+(%,$sockname,.Totaal.level),2),b),$chr(44),$chr(46))), %stats.overtext Vaardigheid Totaal: } 
    if ($gettok($sock($sockname).mark,7,32) == de) { var %overall.level $iif($($+(%,$sockname,.Insgesamt.level),2) == $null,N/A,$replace($bytes($($+(%,$sockname,.Insgesamt.level),2),b),$chr(44),$chr(46))), %stats.text Persönliche Punktzahl für, %stats.overtext Gesamt-stufe: } 
    if ($gettok($sock($sockname).mark,7,32) == en) { var %overall.level $iif($($+(%,$sockname,.Overall.level),2) == $null,N/A,$bytes($($+(%,$sockname,.Overall.level),2),b)), %stats.text Personal Scores for, %stats.overtext Skill Total: } 
    while ($var($+(%,$sockname,.*.level),$($+(%,$sockname,.x),2)) < 25) { 
      if ($($+(%,$sockname,.x),2) < 14) { set $+(%,$sockname,.printline1) $($+(%,$sockname,.printline1),2) $+(%c1,$gettok($var(%stats.*.level,$($+(%,$sockname,.x),2)),3,46),:,%c2) $($var(%stats.*.level,$($+(%,$sockname,.x),2)),2) | inc $+(%,$sockname,.x) 1 } 
      else { set $+(%,$sockname,.printline2) $($+(%,$sockname,.printline2),2) $+(%c1,$gettok($var(%stats.*.level,$($+(%,$sockname,.x),2)),3,46),:,%c2) $($var(%stats.*.level,$($+(%,$sockname,.x),2)),2) | inc $+(%,$sockname,.x),2) 1 } 
    } 
    if ($($+(%,$sockname,.printline1),2) == $null) { %send %c1 $+ This Person Does Not Appear To Be Listed For Any Skill On The Hiscores | unset $+(%,$sockname,.,*) | halt } 
    else { %send $+(%c1,%stats.text,%c2) $fix($replace($gettok($sock($sockname).mark,6,32),+,$chr(32))) $+  - $+(%c1,%stats.overtext,%c2) %overall.level $+  - $($+(%,$sockname,.printline),2) | %send $($+(%,$sockname,.printline1),2) | $iif($($+(%,$sockname,.printline2),2) != $null,%send $($+(%,$sockname,.printline2),2),) | halt } 
  } 
} 
alias get_cmb { 
  if ($2 == en) { var %atk $calc($eval($+(%,$1,.Attack.level),2) *130), %str $calc($eval($+(%,$1,.Strength.level),2) *130), %def $calc($eval($+(%,$1,.Defence.level),2) *100), %hp $calc($eval($+(%,$1,.Hitpoints.level),2) *100), %magic1 $iif($chr(46) iswm $calc($eval($+(%,$1,.Magic.level),2) /2),$calc(($eval($+(%,$1,.Magic.level),2) -1)*65),$calc($eval($+(%,$1,.Magic.level),2) *195)), %ranged1 $iif($chr(46) iswm $calc($eval($+(%,$1,.Ranged.level),2) /2),$calc(($eval($+(%,$1,.Ranged.level),2) -1)*65),$calc($eval($+(%,$1,.Ranged.level),2) *195)), %prayer $iif($chr(46) iswm $calc($eval($+(%,$1,.Prayer.level),2) /2),$calc(($eval($+(%,$1,.Prayer.level),2) -1)*50),$calc($eval($+(%,$1,.Prayer.level),2) *50)) } 
  if ($2 == nl) { var %atk $calc($eval($+(%,$1,.Aanval.level),2) *130), %str $calc($eval($+(%,$1,.Kracht.level),2) *130), %def $calc($eval($+(%,$1,.Verdediging.level),2) *100), %hp $calc($eval($+(%,$1,.Levenspunten.level),2) *100), %magic1 $iif($chr(46) iswm $calc($eval($+(%,$1,.Magie.level),2) /2),$calc(($eval($+(%,$1,.Magie.level),2) -1)*65),$calc($eval($+(%,$1,.Magie.level),2) *195)), %ranged1 $iif($chr(46) iswm $calc($eval($+(%,$1,.Boogschieten.level),2) /2),$calc(($eval($+(%,$1,.Boogschieten.level),2) -1)*65),$calc($eval($+(%,$1,.Boogschieten.level),2) *195)), %prayer $iif($chr(46) iswm $calc($eval($+(%,$1,.Bidden.level),2) /2),$calc(($eval($+(%,$1,.Bidden.level),2) -1)*50),$calc($eval($+(%,$1,.Bidden.level),2) *50)) } 
  if ($2 == de) { var %atk $calc($eval($+(%,$1,.Angriff.level),2) *130), %str $calc($eval($+(%,$1,.Stärke.level),2) *130), %def $calc($eval($+(%,$1,.Verteidigung.level),2) *100), %hp $calc($eval($+(%,$1,.Lebenspunkte.level),2) *100), %magic1 $iif($chr(46) iswm $calc($eval($+(%,$1,.Magie.level),2) /2),$calc(($eval($+(%,$1,.Magie.level),2) -1)*65),$calc($eval($+(%,$1,.Magie.level),2) *195)), %ranged1 $iif($chr(46) iswm $calc($eval($+(%,$1,.Bognerei.level),2) /2),$calc(($eval($+(%,$1,.Bognerei.level),2) -1)*65),$calc($eval($+(%,$1,.Bognerei.level),2) *195)), %prayer $iif($chr(46) iswm $calc($eval($+(%,$1,.Gebet.level),2) /2),$calc(($eval($+(%,$1,.Gebet.level),2) -1)*50),$calc($eval($+(%,$1,.Gebet.level),2) *50)) } 
  var %base $calc((%def + %hp + %prayer)/400), %melee $calc(((%atk + %str)/400) + %base), %magic $calc((%magic /400) + %base), %ranged $calc((%ranged /400) + %base), %melee $gettok(%melee,1,46), %magic $gettok(%magic,1,46), %ranged $gettok(%ranged,1,46) 
  if (%melee == %magic) && (%melee == %ranged) { set $+(%,$1,.printline) $+($3,$iif($2 == en,Combat Level:,$iif($2 == de,Kampfstufe:,Combat Level:)),$4) N/A } 
  if (%melee > %magic) && (%melee > %ranged) { set $+(%,$1,.printline) $+($3,$iif($2 == en,Combat Level:,$iif($2 == de,Kampfstufe:,Combat Level:)),$4) %melee } 
  if (%magic > %melee) && (%magic > %ranged) { set $+(%,$1,.printline) $+($3,$iif($2 == en,Combat Level:,$iif($2 == de,Kampfstufe:,Combat Level:)),$4) %magic } 
  if (%ranged > %melee) && (%ranged > %magic) { set $+(%,$1,.printline) $+($3,$iif($2 == en,Combat Level:,$iif($2 == de,Kampfstufe:,Combat Level:)),$4) %ranged } 
} 
alias lvl { 
  var %x = 1, %level = $calc($1 - 1), %xp = 0 
  while (%x <= %level) { 
    var %TempXp = $calc($floor($calc(%x + 300 * 2 ^ (%x / 7))) / 4) 
    inc %xp %TempXp 
    inc %x 
  } 
  return $int(%xp) 
} 
alias fix { return $regsubex($1,/\b(.)/g,$upper(\1)) } 
alias lang { 
  if ($regex($1,/^[.!@](.*)$/Si)) { return $replace($regml(1),gstats,de,dstats,nl,stats,en) } 
}