| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 7 |  
| 积分 | 1 |  
| 经验 | 43463 |  
| 最后登录 | 2017-9-10 |  
| 在线时间 | 1019 小时 |  
 Lv1.梦旅人 
	梦石0 星屑50 在线时间1019 小时注册时间2012-4-25帖子799 | 
| 本帖最后由 lirn 于 2012-8-26 00:40 编辑 
 这样的,默认的命中率是这样计算的。
 
 首先是技能成功率,技能成功之后再计算命中率,技能命中之后再计算回避率。只要随机数少于回避,就当这次攻击被回避掉,也就是说,只要回避率是100,恐怕是必中攻击,也都打不中。
 
 我的话,对脚本做了些修改,实际命中率在计算技能成功率之后,再计算物理系是(命中率-回避率),魔法系是(命中率-魔法回避率)
 
 自己找找在Game_Battler的490+
 复制代码#--------------------------------------------------------------------------
  # ● 计算技能/物品的命中率
  #--------------------------------------------------------------------------
  def item_hit(user, item)
       rate = item.success_rate * 0.01         # 取得成功率
    rate *= (user.hit-eva) if item.physical?      # 物理攻击:计算命中率的乘积(改变,将回避率改到这里)
    rate *= (user.hit-mev) if item.magical?  #魔法攻击:计算命中率的乘积(新增)
      return rate                             # 返回计算后的命中率
  end
复制代码  #--------------------------------------------------------------------------
  # ● 应用技能/物品的效果
  #--------------------------------------------------------------------------
  def item_apply(user, item)
    @result.clear
    @result.used = item_test(user, item)
    @result.missed = (@result.used && rand >= item_hit(user, item))  # 命中判定
    @result.evaded = false#(因为前面调用了,所以在这里取消掉)
 | 
 |