All pastes #715293 Raw Edit

Miscellany

public text v1 · immutable
#715293 ·published 2007-09-26 04:55 UTC
rendered paste body
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
}
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) }
}