All pastes #991175 Raw Edit

Anonymous

public text v1 · immutable
#991175 ·published 2008-04-20 19:48 UTC
rendered paste body
alias stats { 
  if ($1) { set %nick $capwords($replace($1-,$chr(32),_,-,_)) } 
  if (!$1) { set %nick Ghost_boy527 } 
  set %saystyle msg $active 
  set %echo .notice $me 
  sockopen stats hiscore.runescape.com 80 
} 
on *:sockopen:stats: { 
  .sockwrite -n $sockname GET /index_lite.ws?player= $+ %nick HTTP/1.1 
  .sockwrite -n $sockname Host: hiscore.runescape.com $+ $crlf $+ $crlf 
} 
on *:sockread:stats: { 
  if (%row == $null) { set %row 1 } 
  if ($sockerr) { 
    %saystyle There was a socket error. 
    halt 
  } 
  .sockread %stats 
  if (%row < 100) { 
    set % [ $+ [ %row ] ] %stats 
    if ($gettok(%stats,2,44) == -1 && %row < 37 && %row > 12) { hadd -m ranking unranked $hget(ranking,unranked) $+ $+(|,%row) } 
    if ($gettok(%stats,2,44) != -1 && %row < 37 && %row > 12) { hadd -m ranking ranked $hget(ranking,ranked) $+ $+(|,%row) } 
    inc %row 1 
  } 
} 
on *:sockclose:stats: { 
  if (!%30) { %echo Nick not found } 
  else { 
    var %x = 1,%y = 1 
    hadd -m ranking rankeds 0 
    while (%x <= $numtok($hget(ranking,ranked),124)) { 
      hadd -m ranking rankeds $calc($hget(ranking,rankeds) + $gettok(% [ $+ [ $gettok($hget(ranking,ranked),%x,124) ] ],2,44)) 
      inc %x 1 
    } 
    set %unranked $round($calc(($gettok(%12,2,44) - $hget(ranking,rankeds))/$numtok($hget(ranking,unranked),124)),0) 
    while (%y <= $numtok($hget(ranking,unranked),124)) { 
      set % [ $+ [ $gettok($hget(ranking,unranked),%y,124) ] ] Unranked $+ , $+ ~ $+ %unranked $+ , $+ $readini(exp.ini,lvl,%unranked) 
      inc %y 1 
    } 
    set %melee $calc( $calc( $remove($gettok(%13,2,44),-,~) * 0.325 ) + $calc( $remove($gettok(%15,2,44),-,~) * 0.325 ) + $calc( $remove($gettok(%14,2,44),-,~) * 0.25 ) + $calc( $iif($remove($gettok(%16,2,44),~) > 10,$remove($gettok(%16,2,44),10),~) * 0.25 ) + $calc($round($calc(( $remove($gettok(%18,2,44),-,~) /2)-0.1),0)*0.25) + $calc($round($calc(( $remove($gettok(%36,2,44),-,~) /2)-0.1),0)*0.25) ) 
    set %range $calc( ( $remove($gettok(%14,2,44),-,~) * 0.25 ) + $calc( $iif($remove($gettok(%16,2,44),~) > 10,$remove($gettok(%16,2,44),10),~) * 0.25 ) + ( $remove($gettok(%17,2,44),-,~) * 0.483162 ) + ($round($calc(( $remove($gettok(%18,2,44),-,~) /2)-0.1),0)*0.25) + $calc($round($calc(( $remove($gettok(%36,2,44),-,~) /2)-0.1),0)*0.25) ) 
    set %mage $calc( ( $remove($gettok(%14,2,44),-,~) * 0.25 ) + $calc( $iif($remove($gettok(%16,2,44),~) > 10,$remove($gettok(%16,2,44),10),~) * 0.25 ) + ($round($calc(( $remove($gettok(%18,2,44),-,~) /2)-0.1),0)*0.25) + ( $remove($gettok(%19,2,44),-,~) * 0.483162 ) + $calc($round($calc(( $remove($gettok(%36,2,44),-,~) /2)-0.1),0)*0.25) ) 
    set %cmb 0, $+ $remove($gettok($combat,1,32),07) $+ , $+ $calc( $remove($replace($gettok(%13,3,44),-1,0),~) + $remove($replace($gettok(%14,3,44),-1,0),~) + $remove($replace($gettok(%15,3,44),-1,0),~) + $remove($replace($gettok(%16,3,44),-1,1154),~) + $remove($replace($gettok(%17,3,44),-1,0),~) + $remove($replace($gettok(%18,3,44),-1,0),~) + $remove($replace($gettok(%19,3,44),-1,0),~) + $remove($replace($gettok(%36,3,44),-1,0),~) ) 
    set %avg $round($calc($gettok(%12,2,44)/24),1) 
    %saystyle %nick 07Stats | Level:07 $bytes($gettok(%12,2,44),db) (Avg. Lvl:07 $round($calc($gettok(%12,2,44)/24),1) $+ ) | Exp:07 $bytes($gettok(%12,3,44),db) | Rank:07 $bytes($gettok(%12,1,44),db) 
    %saystyle Combat Stats: $colavg($gettok(%13,2,44)) Attack; $colavg($gettok(%15,2,44)) Strength; $colavg($gettok(%14,2,44)) Defence; $colavg($gettok($iif($gettok(%16,2,44) > 10,%16,$+(1000000,$chr(44),10,$chr(44),1)),2,44)) Hitpoints; $colavg($gettok(%18,2,44)) Prayer; $colavg($gettok(%17,2,44)) Ranged; $colavg($gettok(%19,2,44)) Magic; $colavg($gettok(%36,2,44)) Summoning; 
    %saystyle Other Stats: $colavg($gettok(%20,2,44)) Cooking; $colavg($gettok(%21,2,44)) Woodcutting; $colavg($gettok(%22,2,44)) Fletching; $colavg($gettok(%23,2,44)) Fishing; $colavg($gettok(%24,2,44)) Firemaking; $colavg($gettok(%25,2,44)) Crafting; $colavg($gettok(%26,2,44)) Smithing; $& 
      $colavg($gettok(%27,2,44)) Mining; $colavg($gettok(%28,2,44)) Herblore; $colavg($gettok(%29,2,44)) Agility; $colavg($gettok(%30,2,44)) Thieving; $colavg($gettok(%31,2,44)) Slayer; $colavg($gettok(%32,2,44)) Farming; $colavg($gettok(%33,2,44)) Runecraft; $colavg($gettok(%34,2,44)) Hunter; $colavg($gettok(%35,2,44)) Construction; 
    %saystyle Minigames: $colavg($gettok(%37,2,44)) Dueling; $colavg($gettok(%38,2,44)) Bounty Hunter; $colavg($gettok(%39,2,44)) Bounty Hunter Rogue; 
  } 
  :unset 
  unset %* 
  .hfree ranking 
} 
alias colavg { 
  if ($calc($remove($1,~) - %avg) >= 8) { return $iif(*~* iswm $1-,$+(03,$remove($1,-),),$+(03,$bytes($remove($1,-),db),)) } 
  else { 
    if ($calc($remove($1,~) - %avg) < -8) { return $iif(*~* iswm $1-,$+(04,$remove($1,-),),$+(04,$bytes($remove($1,-),db),)) } 
    else { return $iif(*~* iswm $1-,$+(07,$remove($1,-),),$+(07,$bytes($remove($1,-),db),)) } 
  } 
} 
alias capwords { 
  if ($left($1,1) isnum) { return $1- } 
  else { 
    var %t 
    var %x = 0 
    while $1 != $numtok($1-,32) { 
      inc %x 1 
    var %t = %t $upper($left($gettok($1-,1,32),1)) $+ $right($gettok($1-,1,32),-1)  $gettok($1-,2-,32) } return %t 
  } 
}