查看: 2457|回复: 6

[已经解决] 第二命中率怎么改成100%必中?

[复制链接]
梦石
0
星屑
1446
在线时间
6552 小时
注册时间
2010-12-30
回帖
8655
发表于 2013-11-30 11:54:13 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
唔……搜索过了……找到脚本编辑器里在哪了……但是完全看不懂原理什么的……好了求大触告诉我怎么改~

评分

参与人数 1星屑 +35 收起 理由
︶ㄣ牛排ぶ + 35 手动认可奖励

查看全部评分

梦石
0
星屑
50
在线时间
378 小时
注册时间
2013-10-14
回帖
213
发表于 2013-11-30 13:32:52 | 显示全部楼层
在Game_Battler 3

普通攻击第二命中72行左右

原代码 eva = 8 * self.agi / attacker.dex + self.eva

改成: eva = 0

技能攻击第二命中157行左右

原代码 eva = 8 * self.agi / user.dex + self.eva

改成: eva = 0

这个回避率的算法~~!!

你可以测试下

可以在原来的代码上加个#号~!!

点评

QwQ嗯~这个有效果~  发表于 2013-11-30 19:36

评分

参与人数 2星屑 +100 收起 理由
︶ㄣ牛排ぶ + 80 认可答案
MeowSnow + 20 嘛~至少设置100%不会miss了~

查看全部评分

最简单的学习方法就是努力回答别人的问题...
任何教程都没有实践来的重要...
XP小问题都能自己解决了,剩下的就是脚本了...
╰⋛⋋⊱⋋๑角⊱☠c色๑⋌⊰⋌⋚╯
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45753
在线时间
7953 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2013-11-30 17:21:55 | 显示全部楼层
batfjtn 发表于 2013-11-30 13:32
在Game_Battler 3

普通攻击第二命中72行左右

直接把
  1. if hit_result == true
复制代码
这个判定去掉不是更好

点评

QwQ这行去掉就报错了的说  发表于 2013-11-30 19:37
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

梦石
0
星屑
50
在线时间
378 小时
注册时间
2013-10-14
回帖
213
发表于 2013-11-30 17:44:00 | 显示全部楼层
本帖最后由 batfjtn 于 2013-11-30 17:46 编辑
fux2 发表于 2013-11-30 17:21
直接把这个判定去掉不是更好


新手孩子只能跟着脚本改~!!

还没有那么厉害一次性看完~~!!

PS:多谢你的评语~~!!!

2更:

看了之后我又去查看了下

你说的方法木有错~!!

反正也没有MISS情况了直接注释了就OK了~~!!
最简单的学习方法就是努力回答别人的问题...
任何教程都没有实践来的重要...
XP小问题都能自己解决了,剩下的就是脚本了...
╰⋛⋋⊱⋋๑角⊱☠c色๑⋌⊰⋌⋚╯
回复

使用道具 举报

梦石
0
星屑
1446
在线时间
6552 小时
注册时间
2010-12-30
回帖
8655
 楼主| 发表于 2013-11-30 19:43:23 | 显示全部楼层
batfjtn 发表于 2013-11-30 17:44
新手孩子只能跟着脚本改~!!

还没有那么厉害一次性看完~~!!

话说……虽然想要的效果达到了……但是测试了一下……设置为第一命中率为50也能必中……第一命中率设定为30又必不中……这是属性决定的么?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
378 小时
注册时间
2013-10-14
回帖
213
发表于 2013-11-30 20:58:24 | 显示全部楼层
本帖最后由 batfjtn 于 2013-11-30 21:12 编辑
835494264 发表于 2013-11-30 19:43
话说……虽然想要的效果达到了……但是测试了一下……设置为第一命中率为50也能必中……第一命 ...


和属性有关吧~!

我也不确定~!!

现在还分不清楚~!!

每个数值测试下~!!

2更:

测试了下~!!

没有存在二次判断..

你可以自己写一个~!!

是翻译错误吧~!!

那个写的二次命中判断是说闪避率获取.....

纠结你的标题没有自己查看下代码了~~!!

自己自己看下就明白了

首先是获取所有的击中效果
[pre lang="ruby" line="1"]    # 第一命中判定
    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[/pre]

接着就是命中之后的处理方式:[pre lang="ruby" line="1"]    # 命中的情况下
    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[/pre]

最简单的学习方法就是努力回答别人的问题...
任何教程都没有实践来的重要...
XP小问题都能自己解决了,剩下的就是脚本了...
╰⋛⋋⊱⋋๑角⊱☠c色๑⋌⊰⋌⋚╯
回复

使用道具 举报

梦石
0
星屑
1446
在线时间
6552 小时
注册时间
2010-12-30
回帖
8655
 楼主| 发表于 2013-11-30 21:41:54 | 显示全部楼层
本帖最后由 835494264 于 2013-11-30 21:51 编辑
batfjtn 发表于 2013-11-30 20:58
和属性有关吧~!

我也不确定~!!


哦…嘛…虽然……题目问简单了……现在追加细点如何……比如怎么让命中率就是技能设定里的命中率?
嘛……这个麻烦的话倒是无所谓了……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部