幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2485|回复: 7

[RMVX] 弱问:rpgmaker xp里第一命中率和第二命中率是怎么回事?

[复制链接]

1

主题

3

帖子

210

积分

③业余

积分
210
发表于 2008-8-13 16:59:18 | 显示全部楼层 |阅读模式
如题,rpgmaker计算公式里有第一命中率和第二命中率,那到底怎样才会用第一判定,怎样用第二判定呢?
回复

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2008-8-13 20:21:18 | 显示全部楼层
忘记了。。。F1里有的吧
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

0

主题

2

帖子

22

积分

②入门

积分
22
QQ
发表于 2008-8-13 23:14:28 | 显示全部楼层
第一命中率判定普通攻击:

第一命中率 = A 当前状态下的命中率 %
技能攻击
攻击力 F 为 1 以上(物理攻击)
第一命中率 = 技能的命中率 × A 当前状态下的命中率 % ÷ 100
攻击力 F 为 0(物理攻击以外)
第一命中率 = 技能的命中率
使用物品
第一命中率 = 物品的命中率
A 在正常状态下的命中率为 100。


第二命中率判定:

伤害值为正数
B 为正常状态
回避力 = 8 × B 的速度 ÷ A 的灵巧 + B 的回避修正
普通攻击
第二命中率 = 100 - 回避力
技能攻击
第二命中率 = 100 -(回避力 × 技能的回避 F ÷ 100)
使用物品
第二命中率 = 100
B 附加有「不能回避攻击」状态
第二命中率 = 100
伤害值为负数(回复)
第二命中率 = 100
逃跑成功率逃跑成功率 =50 × 角色的速度平均值 ÷ 敌人的速度平均值 RPGXP 默认的战斗系统,采用以下的计算式。
攻击方角色表示为 A,被攻击方角色以 B 表示。

第一命中率判定
普通攻击 第一命中率 = A 当前状态下的命中率 % 技能攻击 攻击力 F 为 1 以上(物理攻击) 第一命中率 = 技能的命中率 × A 当前状态下的命中率 % ÷ 100 攻击力 F 为 0(物理攻击以外) 第一命中率 = 技能的命中率 使用物品 第一命中率 = 物品的命中率

A 在正常状态下的命中率为 100。

必杀机率判定普通攻击 必杀率 = 4 × A 的灵巧 ÷ B 的速度 技能攻击 必杀率 = 0 使用物品 必杀率 = 0
必杀率即奋力一击(通常会使敌方常受到较大的损伤)发生的机率,如果必杀率为 4 则表示每 4 个回合就出现一次奋力一击。
伤害计算普通攻击 威力 = A 的攻击力 - (B 的物理防御 ÷ 2)
放大率 = 20 + A 的力量
分散度 = 15
威力的最小值:0
技能攻击 技能的威力值为正数 威力 = 技能的威力
+ (A 的攻击力 × 技能的攻击力 F ÷ 100)
- (B 的物理防御 × 技能的物理防御 F ÷ 200)
- (B 的魔法防御 × 技能的魔法防御 F ÷ 200)

威力的最小值:0
技能的威力值为负数 威力 = 技能的威力 放大率 = 20
+ (A 的力量 × 技能的力量 F ÷ 100)
+ (A 的灵巧 × 技能的灵巧 F ÷ 100)
+ (A 的速度 × 技能的速度 F ÷ 100)
+ (A 的魔力 × 技能的魔力 F ÷ 100)
分散度 = 技能的分散度 使用物品 HP 回复量为负数 威力 = - HP 回复量
- (B 的物理防御 × 物品的物理防御 F ÷ 20)
- (B 的魔法防御 × 物品的魔法防御 F ÷ 20)

威力的最小值:0
HP 回复量为正数 威力 = - HP 回复量 放大率 = 20
分散度 = 物品的分散度 伤害 = 威力 × 放大率 ÷ 20 × 属性修正 × 必杀修正 × 防御修正 ( ± 分散度 %)



属性修正:有攻击属性时,在 B 的属性有效度中选择最弱的进行修正,修正值如下。
A:200%,B:150%,C:100%,D:50%,E:0%,F:-100%
另外,攻击属性符合 B 防具的防御属性的,伤害减半,修正值为 1/2。
有多个相同防御属性的,减半效果要叠加。
必杀修正:伤害值为正数,奋力一击发动时修正值为 2。
防御修正:伤害值为正数,B 防御时修正值为 1/2。
第二命中率判定伤害值为正数 B 为正常状态 回避力 = 8 × B 的速度 ÷ A 的灵巧 + B 的回避修正 普通攻击 第二命中率 = 100 - 回避力 技能攻击 第二命中率 = 100 -(回避力 × 技能的回避 F ÷ 100) 使用物品 第二命中率 = 100 B 附加有「不能回避攻击」状态 第二命中率 = 100 伤害值为负数(回复) 第二命中率 = 100
http://www.xywhsoft.cn/bbs/
回复 支持 反对

使用道具 举报

1

主题

3

帖子

210

积分

③业余

积分
210
 楼主| 发表于 2008-8-14 06:55:51 | 显示全部楼层
三楼的先谢过。
这是f1里面的公式,我知道它是怎么算的,可能是意思表达的不清楚,我想问例如A打了B一下,那此次攻击是用第一命中率计算呢还是第二?说白了就是想问问这个“第一”和“第二”是什么意思。
谢谢。
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2008-8-14 12:05:41 | 显示全部楼层
F1 这不是解释得很清楚的么?

要是觉得不好可以自己在 game_battler3中修改的
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

1

主题

3

帖子

210

积分

③业余

积分
210
 楼主| 发表于 2008-8-14 13:41:24 | 显示全部楼层
啊啊……我真为自己的表达能力感到羞愧啊……
那就举个例子好了……

第一命中率判定
普通攻击
第一命中率 = A 当前状态下的命中率 %

第二命中率判定伤害值为正数
B 为正常状态
回避力 = 8 × B 的速度 ÷ A 的灵巧 + B 的回避修正
普通攻击
第二命中率 = 100 - 回避力

现在A在当前状态下的命中率是80%,B的回避力算出来是10%,那么此次普通攻击的命中率是按照“第一”命中率算出来的80%呢,还是按照“第二”命中率算出来的90%?

这个可能对各位大人来说都算不上问题哈……请不要嘲笑……
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2008-8-18 10:38:21 | 显示全部楼层
# 第一命中判定
    hit_result = (rand(100) < attacker.hit)
    # 命中的情况下
    if hit_result == true
      # 计算基本伤害
      atk = [attacker.atk - self.pdef / 2, 0].max
      self.damage = atk * (20 + attacker.str) / 20
      # 属性修正
      self.damage *= elements_correct(attacker.element_set)
      self.damage /= 100
      # 伤害符号正确的情况下
      if self.damage > 0
        # 会心一击修正
        if rand(100) < 4 * attacker.dex / self.agi
          self.damage *= 2
          self.critical = true
        end
        # 防御修正
        if self.guarding?
          self.damage /= 2
        end
      end
      # 分散
      if self.damage.abs > 0
        amp = [self.damage.abs * 15 / 100, 1].max
        self.damage += rand(amp+1) + rand(amp+1) - amp
      end
      # 第二命中判定
      eva = 8 * self.agi / attacker.dex + self.eva
      hit = self.damage < 0 ? 100 : 100 - eva
      hit = self.cant_evade? ? 100 : hit
      hit_result = (rand(100) < hit)
    end
    # 命中的情况下
    if hit_result == true
      # 状态冲击解除
      remove_states_shock
      # HP 的伤害计算
      self.hp -= self.damage
      # 状态变化
      @state_changed = false
      states_plus(attacker.plus_state_set)
      states_minus(attacker.minus_state_set)
    # Miss 的情况下
    else
      # 伤害设置为 "Miss"
      self.damage = "Miss"
      # 清除会心一击标志
      self.critical = false
    end
    # 过程结束
    return true


能看懂这个不?  

以上默认的脚本  是先进行第一命中率  在进行第二名中  的判定

MS  我没有嘲笑你把  这么大的帽子别我我头上戴

                  
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

0

主题

47

帖子

376

积分

④见习

积分
376
QQ
发表于 2008-8-18 12:48:53 | 显示全部楼层
不会吧,都被强说了
感激你让我拥有秋天的美丽
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-11-1 07:51 , Processed in 0.037442 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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