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) } }