查看: 2923|回复: 3

[已经解决] 为什么附加99%命中率的状态却100%打不中了。。

[复制链接]
梦石
0
星屑
9160
在线时间
466 小时
注册时间
2015-5-8
回帖
704
发表于 2019-4-25 04:50:37 | 显示全部楼层 |阅读模式

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

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

×
我在数据库里状态栏里自己新做了一个负面状态A,敌人中了A状态后命中率变成99%,但为什么99%命中率的敌人却一次都打不到我了。。
梦石
0
星屑
9160
在线时间
466 小时
注册时间
2015-5-8
回帖
704
 楼主| 发表于 2019-4-25 08:55:25 | 显示全部楼层
还有这句话也看不懂。。。
      effective |= hit < 100
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2019-4-25 10:20:46 | 显示全部楼层
本帖最后由 灯笼菜刀王 于 2019-4-25 10:22 编辑

不要连贴, 有需要补充的情况下, 请善用编辑和点评功能

连贴除了会造成浏览不便, 无用楼层盖太高, 还容易被遗漏, 导致你的情报无法完整的传递给别人, 这对你自己也是害处, 毕竟不是所有人都愿意从头看到尾

为了方便自己也方便他人, 请遵守版规
--------------------------------------------------------
你的问题, 1, 这个是XP默认脚本的BUG, 当命中低于100%的时候, 物理技能就永远打不到, 原因是
   if skill.atk_f > 0
      hit *= user.hit / 100  #这里的100 应该为 100.0
    end

2, a |= b 等同于 a = a|b  这个是位运算, 想深入了解可以去找ruby教程,

不想深入的话, 就记住这一句: 它表示当左右两边的值里, 只要有一个是true, 那返回值就是true, 两个都是false, 返回值才是false

从脚本最后可以看到, 伤害计算这个函数最后会返回effective的值, 它的作用是用来判断 在菜单中是否有效使用技能, 对应的处理在scene skill里

点评

多谢大神指点!  发表于 2019-4-25 10:39

评分

参与人数 1星屑 +75 赞 +1 收起 理由
RyanBern + 75 + 1 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部