rendered paste bodyon *: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) }
}