Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] 经验值,魔法值,生命值 修改版for 通用版

[复制链接]
88014633 发表于 2007-2-1 01:33:45 | 显示全部楼层

同上

不错,但没弄懂三个属性的计算依据
回复

使用道具 举报

88014633 发表于 2007-2-1 01:38:06 | 显示全部楼层
  1. $daysreg = ($timestamp - $post['regdate']) / (24*3600);
  2. $ppd = $post['posts'] / $daysreg;
  3. $post['exp_mp_hp'] = exp_mp_hp($post['posts'],$ppd,$daysreg);
复制代码
楼主这三行应该的定义三个状态条的吧?
回复

使用道具 举报

lele1626 发表于 2007-2-1 03:26:57 | 显示全部楼层
谢谢LZ~~~用上了。超赞~~!
回复

使用道具 举报

6680700 发表于 2007-2-5 15:26:12 | 显示全部楼层
有演示吗
回复

使用道具 举报

88014633 发表于 2007-2-5 23:29:06 | 显示全部楼层
原帖由 liyier 于 2006-11-16 12:39 发表
不错,但没弄懂三个属性的计算依据

针对很多人问这个问题,鄙人代答一下


MP、与平均每日积分数成函数关系
HP、与注册天数成函数关系
EXP 、与总积分成函数关系


函数关系如下
  1. function exp_mp_hp($credits,$postsperday,$daysreg)
  2. {
  3.         $hp_img_dir = "./images/fxpic";

  4. // exp为经验值,mp为魔法值,hp为生命值
  5. // $credits为总积分,$postsperday为平均每日积分數,$daysreg为注册天数

  6.         if($credits < 1){
  7.                 $credits = 1;
  8.         }
  9.         $level = pow(log10 ($credits), 2);//等級
  10.         $ep = floor(100*($level - floor($level)));
  11.         $showlevel = floor($level + 1);
  12. if ($showlevel>=1 && $showlevel<2) {$textlevel='初出茅庐';}
  13. elseif ($showlevel>=2 && $showlevel<3) {$textlevel='略知一二';}
  14. elseif ($showlevel>=3 && $showlevel<4) {$textlevel='马马虎虎';}
  15. elseif ($showlevel>=4 && $showlevel<5) {$textlevel='略有小成';}
  16. elseif ($showlevel>=5 && $showlevel<10) {$textlevel='驾轻就熟';}
  17. elseif ($showlevel>=10 && $showlevel<14) {$textlevel='出类拔萃';}
  18. elseif ($showlevel>=14 && $showlevel<18) {$textlevel='融会贯通';}
  19. elseif ($showlevel>=18 && $showlevel<22) {$textlevel='已有大成';}
  20. elseif ($showlevel>=22 && $showlevel<26) {$textlevel='炉火纯青';}
  21. elseif ($showlevel>=26 && $showlevel<30) {$textlevel='出神入化';}
  22. elseif ($showlevel>=30 && $showlevel<34) {$textlevel='举世无双';}
  23. elseif ($showlevel>=34 && $showlevel<38) {$textlevel='天人合一';}
  24. elseif ($showlevel>=38 && $showlevel<50) {$textlevel='终级天王';}
  25.         
  26.                 $hpmulti =round($postsperday / 6, 1);

  27.         if ($hpmulti > 1.5) {
  28.                 $hpmulti = 1.5;
  29.         }

  30.         if ($hpmulti < 1) {
  31.                 $hpmulti = 1;
  32.         }
  33.         $maxhp = $level * 10 * $hpmulti;

  34.         $hp= $postsperday/10;

  35.         if ($hp >= 1) {
  36.                 $hp= $maxhp;
  37.         } else {
  38.                 $hp= floor($hp * $maxhp);
  39.         }
  40.         $hp= floor($hp);
  41.         $maxhp= floor($maxhp);

  42.         if ($maxhp <= 0) {
  43.                 $zhp = 1;
  44.         } else {
  45.                 $zhp = $maxhp;
  46.         }

  47.         $hpf= floor(100 * ($hp / $zhp)) - 3;

  48.         $maxmp= ($daysreg * $level) / 10;

  49.         $mp= $credits / 3;

  50.         if ($mp >= $maxmp) {
  51.                 $mp = $maxmp;
  52.         }
  53.         $maxmp = floor($maxmp);
  54.         $mp = floor($mp);

  55.         if ($maxmp <= 0) {
  56.                 $zmp = 1;
  57.         } else {
  58.                 $zmp = $maxmp;
  59.         }
  60.         $mpf= floor(100 * ($mp / $zmp))- 3;
复制代码

[ 本帖最后由 88014633 于 2007-2-5 23:31 编辑 ]
回复

使用道具 举报

88014633 发表于 2007-2-5 23:32:13 | 显示全部楼层
感谢楼主的方法,我装了很多此这个生命值魔力值,也就LZ这个简单而且实用
,呵呵,附上演示地址:http://kofans.cn
回复

使用道具 举报

msxj 发表于 2007-2-6 00:27:03 | 显示全部楼层
已经安装成功

谢谢楼主
给个演示:

http://www.msxj.net/dzbbs
回复

使用道具 举报

siwa998 发表于 2007-3-9 23:13:12 | 显示全部楼层

111111111

111111111111111111111111
11111111111111111

[ 本帖最后由 siwa998 于 2007-3-9 23:14 编辑 ]
回复

使用道具 举报

gaofunet 发表于 2007-4-12 00:18:30 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

滚骨碌 发表于 2007-4-27 16:57:26 | 显示全部楼层
无法显示~~~~


怎么回事
严格按照教程修改后,论坛没有任何变化…………


是不是还需要设置什么才能显示出来呢?


期待解答!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-15 12:18 , Processed in 0.048392 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表