Sixem

PHP Runescape Level Formula Functions

Aug 24th, 2013
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.93 KB | None | 0 0
  1. <?php
  2. function experience($xp) {
  3.   $a=0;
  4.   $count = 0;
  5.   $last = 0;
  6.   for($x=1; $x<128; $x++) {
  7.     $last = floor($a/4);
  8.     $a += floor($x+300*pow(2, ($x/7)));
  9.     $count += 1;
  10.     if (($last >= $xp) && ($last <= floor($a/4))) {
  11.         return $count -= 1;
  12.     }
  13.   }
  14. }
  15. function experience_underscore($xp) {
  16.     $a=0;
  17.     $count = 0;
  18.     $last = 0;
  19.     for($x=1; $x<128; $x++) {
  20.         $last = floor($a/4);
  21.         $a += floor($x+300*pow(2, ($x/7)));
  22.         $count += 1;
  23.         if (($last >= $xp) && ($last <= floor($a/4))) {
  24.             if (($count -= 1) > 99) {
  25.                 return ($count);
  26.             } else {
  27.                 return $count;
  28.             }
  29.         }
  30.     }
  31. }
  32. function experience_to_level($L) {
  33.     $a=0;
  34.     for($x=1; $x<$L; $x++) {
  35.         $a += floor($x+300*pow(2, ($x/7)));
  36.     }
  37.     return floor($a/4);
  38. }
  39.  
  40. function experience_to_next_level($exp, $name = '') {
  41.     $nextlevel = experience($xp = $exp) + 1;
  42.     $required = experience_to_level($L = $nextlevel);
  43.     return number_format($required - $exp);
  44. }
  45. ?>
Advertisement
Add Comment
Please, Sign In to add comment