on $*:TEXT:/^[!@.](rs)?stats/Si:#:{ if ($chan == #StatsScript) || ($chan == #SS.Staff) && ($me != StatsScript) { halt } if ($2 == Zezima) && ($left($1,1) == @) { notice $nick 10[04Stats10]: I dont like 04Zezima10. | halt } if ($len($remove($2-,$)) <= 12) { var %ticks $ticks set $+(%,prefix.,%ticks) $iif(@* iswm $1,msg $chan,notice $nick) sockopen $+(st.,%ticks) hiscore.runescape.com 80 set $+(%,erm.,%ticks) $iif(!$2,$iif($readini(defname.ini,name,$address($nick,3)),$v1,$nick),$replace($remove($regsubex($lower($2-),/\b(\w)/g,$upper(\1)),$),$chr(32),_))) } else { notice $nick 10[04Stats10]: The runescape name can only be 041210 letters long! } } on *:SOCKOPEN:st.*:{ sockwrite -nt $sockname GET /index_lite.ws?player= $+ %erm. [ $+ [ $remove($sockname,st.) ] ] HTTP/1.1 sockwrite -nt $sockname Host: hiscore.runescape.com sockwrite -nt $sockname $crlf } on *:SOCKREAD:st.*:{ if ($sockerr) { echo -a $sockerr | halt } else { var %read sockread %read if (Sorry, the page you were looking for was not found. isin %read) { $($+(%,prefix.,$remove($sockname,st.)),2) 10[04Stats10]:04 %erm. [ $+ [ $remove($sockname,st.) ] ] 10was not found in the runescape hiscores. } elseif (*,*,* iswm %read) { inc %stats.inc writeini stats.ini $remove($sockname,st.) %stats.inc $replace(%read,-1,0) } } } on *:SOCKCLOSE:st.*:{ if (%stats.inc) { var %x 1 while ($readini(stats.ini,$remove($sockname,st.),%x)) { var %output %output $stat2($remove($sockname,st.),%x) | inc %x } $($+(%,prefix.,$remove($sockname,st.)),2) 10[04 $+ $replace(%erm. [ $+ [ $remove($sockname,st.) ] ],_,$chr(32)) $+ 10]: $+ $gettok(%output,1-19,124) $iif($gettok(%output,20-25,124),$($+(%,prefix.,$remove($sockname,st.)),2) 10[04 $+ $replace(%erm. [ $+ [ $remove($sockname,st.) ] ],_,$chr(32)) $+ 10]: $+ $gettok(%output,20-25,124),$null) } remini stats.ini $remove($sockname,st.) unset $+(%,erm.,$remove($sockname,st.)) | unset $+(%,prefix.,$remove($sockname,st.)) | unset %stats.inc } alias stat { if ($1 == 1) return Overall elseif ($1 == 2) return Attack elseif ($1 == 3) return Defence elseif ($1 == 4) return Strength elseif ($1 == 5) return Hitpoints elseif ($1 == 6) return Range elseif ($1 == 7) return Prayer elseif ($1 == 8) return Magic elseif ($1 == 9) return Cooking elseif ($1 == 10) return Woodcutting elseif ($1 == 11) return Fletching elseif ($1 == 12) return Fishing elseif ($1 == 13) return Firemaking elseif ($1 == 14) return Crafting elseif ($1 == 15) return Smithing elseif ($1 == 16) return Mining elseif ($1 == 17) return Herblore elseif ($1 == 18) return Agility elseif ($1 == 19) return Thieving elseif ($1 == 20) return Slayer elseif ($1 == 21) return Farming elseif ($1 == 22) return Runecrafting elseif ($1 == 23) return Hunter elseif ($1 == 24) return Construction elseif ($1 == 25) return Summoning } alias stat2 { if ($gettok($readini(stats.ini,$1,$2),2,44) == 0) { return $null } | else { return |10 $stat($2) $+ 04 $gettok($readini(stats.ini,$1,$2),2,44) } } ;Made by Wiz126 (Staff of StatsScript) (Permission from Wiz126 to use this combat calculator) Alias Cmb { ;//Base Cmb ;------------ Var %A $calc($3 * 100), %B $calc($4 * 100) var %C $calc(50 * $iif($calc($5 % 2),$calc($5 - 1),$5)) var %D $calc(50 * $iif($calc($8 % 2),$calc($8 - 1),$8)) Var %Base $calc( (%A + %B + %C + %D) / 400) ;//Class Cmb ;------------ var %E $calc($1 * 130), %F $calc($2 * 130) var %G $iif($calc($7 % 2),$calc( ($7 - 1 + ($7 * 2)) * 65 ),$calc($7 * 195)) var %H $iif($calc($6 % 2),$calc( ($6 - 1 + ($6 * 2)) * 65 ),$calc($6 * 195)) Var %Melee $calc((%E + %F) / 400), %Range $calc(%G / 400), %Mage $calc(%H / 400) ;//Class Final ;------------ if (%Melee > %Range) && (%Melee > %Mage) { return $iif($prop,Melee Based,$calc(%Melee + %Base)) } Elseif if (%Range > %Melee) && (%Range > %Mage) { return $iif($prop,Ranged Based,$calc(%Range + %Base)) } Elseif if (%Mage > %Melee) && (%Mage > %Range) { return $iif($prop,Melee Based,$calc(%Mage + %Base)) } }