2016-02-14 3 views
0

я получил формулу для вычисления XP для следующего уровняПолучить предыдущий уровень

function getplayernextlevel($exp) { 

$nextlevel = -1; 
$level = 0; 

while($nextlevel < $exp){ 
    $nextlevel += pow(($level+1),3)+30*pow(($level+1),2)+30*($level+1)-50; 
    $level++; 
} 
return $nextlevel; } 

Но я не могу понять, как я могу получить XP, необходимый для предыдущего уровня, потому что я хочу, чтобы вычислить процент сколько процентов вам нужно на следующий уровень и сделать индикатор прогресса.

ответ

0

Будет ли это работать на вас? Это быстрый способ рассчитать все необходимые вам биты и передать их в виде массива вместо одного значения:

<?php 

function getplayernextlevel($exp) { 

    $prevlevel = -1; 
    $nextlevel = -1; 
    $level = 0; 

    while($nextlevel < $exp){ 
     $prevlevel = $nextlevel; 
     $nextlevel += pow(($level+1),3)+30*pow(($level+1),2)+30*($level+1)-50; 
     $level++; 
    } 

    return array($level, $prevlevel, $nextlevel); 
} 


$sample_result = getplayernextlevel(50); 
echo var_dump($sample_result); 

echo '<br /> Current Level: ' . $sample_result[0]; 
echo '<br /> Previous level EXP: ' . $sample_result[1]; 
echo '<br /> Next level EXP: ' . $sample_result[1]; 

?> 
+0

Спасибо, человек, это сработало. –