先放上PHP程序一段
[PHP]$level = pow (log10 ($post[posts]), 3);
$ep = floor (100 * ($level - floor ($level)));
$showlevel = floor ($level + 1);
$hpmulti =round ($postsperday / 6, 1);
if ($hpmulti > 1.5) {
$hpmulti = 1.5;
}
if ($hpmulti < 1) {
$hpmulti = 1;
}
$maxhp = $level * 25 * $hpmulti;
$hp= $postsperday / 10;
if ($hp >= 1) {
$hp= $maxhp;
} else {
$hp= floor ($hp * $maxhp);
}
$hp= floor ($hp);
$maxhp= floor ($maxhp);
if ($maxhp <= 0) {
$zhp = 1;
} else {
$zhp = $maxhp;
}
$hpf= floor (100 * ($hp / $zhp)) - 1;
$maxmp= ($jointime * $level) / 5;
$mp= $post[posts] / 3;
if ($mp >= $maxmp) {
$mp = $maxmp;
}
$maxmp = floor ($maxmp);
$mp = floor ($mp);
if ($maxmp <= 0) {
$zmp = 1;
} else {
$zmp = $maxmp;
}
$mpf= floor (100 * ($mp / $zmp)) - 1;[/PHP]
这个就是计算三样东西的程序了
先看看等级的计算公式……
[PHP]$level = pow (log10 ($post[posts]), 3);[/PHP]
这个的意思就是……
$level这个中间变量=你现有的帖数以10为底的对数值的三次方
[PHP]$showlevel = floor ($level + 1);[/PHP]
这个的意思就是……
显示出来的等级为比计算出来的$level的数值+1以后的值小的最大整数
例如算出来为值在2~3之间,例如2.5,则取2为现有的等级
你的EXP是按照这个推算出来的,这个就不必多说了吧^_^
再看看计算HP的公式
[PHP]$maxhp = $level * 25 * $hpmulti;
$hp= $postsperday / 10;
if ($hp >= 1) {
$hp= $maxhp;
} else {
$hp= floor ($hp * $maxhp);
}
$hp= floor ($hp);
$maxhp= floor ($maxhp);
if ($maxhp <= 0) {
$zhp = 1;
} else {
$zhp = $maxhp;
[/PHP]
这段话的意思是
当你每天发10帖的时候,HP就是满的,不慢的话就按照比率来计算
超过就按最高值计算,不足1则按照1计算
再看看MP的计算公式
[PHP]$maxmp= ($jointime * $level) / 5;
$mp= $post[posts] / 3;
if ($mp >= $maxmp) {
$mp = $maxmp;
}
$maxmp = floor ($maxmp);
$mp = floor ($mp);
if ($maxmp <= 0) {
$zmp = 1;
} else {
$zmp = $maxmp;[/PHP]
这段话的意思是……
你的最大MP=(你注册至今的时间×你的等级)/5
你的现有MP=你的发帖数/3
不足1 按1计算
超过,按最大值计算……
这下大家懂了吧^_^
想补满HP、MP就疯狂的灌吧:cool: