传奇mir2吧 关注:71贴子:567
  • 2回复贴,共1

转贴:传奇代码的研究,以hero,飞尔,361,引擎代码为例_传奇吧_百度...

只看楼主收藏回复

百度--您的访问出错了

内容来自:百度



IP属地:四川1楼2013-09-06 17:35回复
    出错了 十五字有木有111111111111111111111111111111111111111


    IP属地:广东2楼2013-09-07 12:25
    回复
      第二讲
      炼武器众所周知,需要两种材料,一个是首饰,一个是黑铁矿,黑铁矿仅仅影响练成武器的持久,和成功几率不相关,所以最关键的变量就是首饰的属性,成功几率的计算相当复杂,我们先考虑首饰只有一种攻击型属性的情况。
      成功几率的代码
      第一段
      nDc := HiWord(StdItem80.DC) + LoWord(StdItem80.DC);
      nSc := HiWord(StdItem80.SC) + LoWord(StdItem80.SC);
      nMc := HiWord(StdItem80.MC) + LoWord(StdItem80.MC);
      这段代码表示
      NDC为首饰的攻击上限+首饰的攻击下限
      if nDcMin < nDc then begin
      nDcMax := nDcMin;
      nDcMin := nDc;
      end else begin
      if nDcMax < nDc then nDcMax := nDc;
      这段代码表示,仅仅只有两件上下限之和最高的首饰,影响成功几率
      ndcmin=上下限攻击之和最高的首饰的上下限攻击之和
      ndcmax=上下限攻击之和次高的首饰的上下限攻击之和
      第三段代码
      btDc := nDcMin div 5 + nDcMax div 3;
      btSc := nScMin div 5 + nScMax div 3;
      btMc := nMcMin div 5 + nMcMax div 3;
      btdc等于dcmax整除3+dcmin整除5
      这三段代码的核心就是计算出btdc 这是是影响武器升级成功几率的第一个参数
      第四段代码
      n90 := _MIN(11, UpgradeInfo.btDc)
      计算n90的值,n90为11和btdc两个值中小的一个
      第五段代码
      n10 := _MIN(85, n90 shl 3 - n90 + 10 + UpgradeInfo.UserItem.btValue[3] - UpgradeInfo.UserItem.btValue[4] + User.m_nBodyLuckLevel);
      这段代码是计算n10的值
      n10为85和n90*7+10+武器的幸运-武器的诅咒+人物幸运等级 这两个值中小的一个
      由这段代码我们可以发现,武器的额外附加的幸运值是影响武器成功几率的一个重要参数!!
      所以幸运高的武器成功


      IP属地:四川来自Android客户端4楼2013-09-07 20:20
      回复