The use of log10 / pow times 50+ post per page, with several hundred online does not work good on server load.
Not only that the, the code usage is eh..not so good for instance
PHP Code:
if ($hpmulti > 1.5) {
$hpmulti = 1.5;
}
if ($hpmulti < 1) {
$hpmulti = 1;
}
Why not just use an elseif, instead of a Whole other If structure, thats inefficient (now we have to remember we're doing this in 50+post per page), excessive usage of floor() etc.. the declaration of so many variables is pointless, would be a lot more straightforward and efficient to just use an array of such ie.
PHP Code:
Instead of This:
$rpglvl
$level
$ep
$showlevel
$hpmulti
Use:
$rpg_stats['rpglvl']
$rpg_stats['level']
$rpg_stats['ep']
$rpg_stats['showlevel']
$rpg_stats['hpmulti']
Not only all of the aformentioned log10 and pow's, lots and lots of * and /, its not mearly a 'bit' of math, considering your having to do this for every post shown on a page. Now this may be fine on a small forum, but on a very busy forum processing all of this math takes cpu cycles.
I suggest making a heavier mod to the user table, and updating the stats when they make a new thread or post, thus saving overhead and processing time on every page load.
Of course I doubt you wanna bother with that, so I may release my own hack shortly to combat this problem... It may seem insignificant to many, but to me speed is everything.
Thats just my take and observation of the code provided, no pun is intended whatsoever.