背景:
阅读文章

combatd中skill_power的溢出及解决办法

[日期:2010-05-01] 来源:  作者:52mudWIZ [字体: ]

1.在LPC中int的最大值为2^31=2147483648
2. 现在的公式中level的上限为3000, 那么根据公式计算的最大值为:
   a. 技能等级:3000*3000/25*3000/6=180000000
   b. 精神影响:180000000*100/100*120=21600000000
3. 步骤2的值大于int的最大值,造成有时高位为1,溢出。


4. 所以允许的最大level为:2147483648/120*(25*6)=x^3
   x = 1389.
以上步骤得出最高level只能为1389,但是如此低的level当各位高手的
级别上去后应该很容易达到,最后就造成以后大家都一样啦。
为了让高手们显得cool一点,我觉得应该再增加一个skill_power_level的
方法,这个方法就是返回该高手的level是1300的多少倍,根据不同倍数显
示不同的颜色(在skillpt里),在战斗中,如果两人的级别有差别时,那么
击中/躲避的几率为:
          Random( 100-(10-level_trap) ) //level_trap为级别差
这样可以保证高级别的能有效的击中/躲避对手。


 

收藏 推荐 打印 | 录入:sbso | 阅读:
本文评论   [发表评论]   全部评论 (0)
内容推送
52mud提供
一起回忆泥巴游戏QQ群68186072
52mud官方微信公众平台
热门评论