Уровни

animer

Новичок
Репутация
0 / 27
При прокачке своего персонажа, уровни повышаются от 1 до 4 уровня в зависимости от опыта:
1 ур - от 0 до 200 опыта
2 ур - от 0 до 400 опыта
...
4 ур - от 0 до 4000 опыта

Так при достижении 4000 опыта, персонаж должен перейти на 5 уровень, но тогда появляется черный экран и игра не идет, а при просмотре с админки, видно, что персонаж набрал 4010 опыта и все еще имеет уровень 4, хотя уже должен перейти на 5ый.

До 4 уровня, опыт набирается нормально.Кто нибудь сталкивался с этим? Как решить эту проблему? Почему после превышения 4000 опыта персонаж не получает 5 уровень и игра показывает черный экран??
 
Проблема в коде:
*****
elseif ($i<=5)
{
$sum_exp+=200*$i*($i-1);
}
else
{
$sum_exp+=200*$i*($i-1)+200*bcpow('1.45',(string)($i-6),0);
}
*****
Почему то у меня не работает возведение в степень, здесь ошибка?
 
Проблема в коде:
*****
elseif ($i<=5)
{
$sum_exp+=200*$i*($i-1);
}
else
{
$sum_exp+=200*$i*($i-1)+200*bcpow('1.45',(string)($i-6),0);
}
*****
Почему то у меня не работает возведение в степень, здесь ошибка?

Ты вообще понимаешь что такое else, if?
Для начала можешь открыть англ. переводчик и перевести эти слова :)
А потом открыть http://php.su и изучить более детально :)
 
bcpow('1.45',(string)($i-6),0);

а что за string в записи?
ты возводишь число в строчную степень. вот оно и ругается.

Ты вообще понимаешь что такое else, if?
Для начала можешь открыть англ. переводчик и перевести эти слова
А потом открыть http://php.su и изучить более детально

не путай солёное с мягким и не разводи людей. нет там никакой ошибки в логической конструкции. просто парень поступил очень верно - выдал строго кусок который не работает, а не всю функцию целиком.
 
Сверху