设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2904|回复: 17
打印 上一主题 下一主题

[已经解决] 修改会心一击计算式后Miss几率增大

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2016-10-21
帖子
48
跳转到指定楼层
1
发表于 2017-4-26 18:45:47 手机端发表。 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 破碎记忆 于 2017-4-26 22:29 编辑

if rand(100) < ( (4 * attacker.dex / self.agi) * $game_variables[7] ) && attacker.is_a?(Game_Actor)
if rand(100) < 4 * attacker.dex / self.agi * (($game_switches[1] && attacker.is_a?(Game_Actor))? 2 : 1)
这两种写法都会使mass几率增大,该怎么解决?
我只想做一个功能,当角色携带物品A时,角色暴击几率为2倍,敌人暴击率不变,携带物品B时候角色暴击率为100%,敌人暴击率不变,该怎么做???而且mass几率也不变???(原先的想法是用开关,或者变量,开关1或2打开,直接4 * attacker.dex / self.agi后乘2或100;用变量,当携带A时,给变量1赋值为2,携带B时变量1赋值为100,A和B都没有时,变量1赋值为1,在4 * attacker.dex / self.agi后直接乘变量1的值 )

点评

还有你这计算的第一还是第二命中?  发表于 2017-4-26 20:15
and Game_Actor ?! 那敌人呢?敌人打你不就是全部 Miss 了?!  发表于 2017-4-26 20:12

Lv5.捕梦者

梦石
0
星屑
33414
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

2
发表于 2017-4-26 20:24:22 | 只看该作者
本帖最后由 芯☆淡茹水 于 2017-4-26 20:35 编辑

你就只修改的这两句么?
一连串的括号看着头晕了,或者第一句你可以把敌人再算进去试试
add_rate = attacker.is_a?(Game_Actor) ? $game_variables[7] : 1
if rand(100) < 4 * attacker.dex / self.agi * add_rate
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3293
在线时间
1463 小时
注册时间
2014-8-9
帖子
337
3
发表于 2017-4-26 21:17:54 | 只看该作者
你应该告诉我们算的是什么,哪个是命中? 变量又是什么呀?输入大约在什么值附近?输出又应该在什么值附近?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2016-10-21
帖子
48
4
 楼主| 发表于 2017-4-26 22:14:14 手机端发表。 | 只看该作者
芯☆淡茹水 发表于 2017-4-26 20:24
你就只修改的这两句么?
一连串的括号看着头晕了,或者第一句你可以把敌人再算进去试试
add_rate = attacke ...

我只想做一个功能,当角色携带物品A时,角色暴击几率为2倍,敌人暴击率不变,携带物品B时候角色暴击率为100%,敌人暴击率不变,该怎么做???而且mass几率也不变???(原先的想法是用开关,或者变量,开关1或2打开,直接4 * attacker.dex / self.agi后乘2或100;用变量,当携带A时,给变量1赋值为2,携带B时变量1赋值为100,A和B都没有时,变量1赋值为1,在4 * attacker.dex / self.agi后直接乘变量1的值 )
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2016-10-21
帖子
48
5
 楼主| 发表于 2017-4-26 22:14:41 手机端发表。 | 只看该作者
huajinyu123 发表于 2017-4-26 21:17
你应该告诉我们算的是什么,哪个是命中? 变量又是什么呀?输入大约在什么值附近?输出又应该在什么值附近 ...

我只想做一个功能,当角色携带物品A时,角色暴击几率为2倍,敌人暴击率不变,携带物品B时候角色暴击率为100%,敌人暴击率不变,该怎么做???而且mass几率也不变???(原先的想法是用开关,或者变量,开关1或2打开,直接4 * attacker.dex / self.agi后乘2或100;用变量,当携带A时,给变量1赋值为2,携带B时变量1赋值为100,A和B都没有时,变量1赋值为1,在4 * attacker.dex / self.agi后直接乘变量1的值 )
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23994
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

6
发表于 2017-4-26 22:40:23 | 只看该作者
你把之前那个帖子一起发出来让大家参考一下呗
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33414
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

7
发表于 2017-4-26 22:48:12 | 只看该作者
破碎记忆 发表于 2017-4-26 22:14
我只想做一个功能,当角色携带物品A时,角色暴击几率为2倍,敌人暴击率不变,携带物品B时候角色暴击率为1 ...

那么直接把默认的暴击条件改成下面这个,改这个和命中率无关

  1. add_rate = attacker.is_a?(Game_Actor) ? [$game_variables[7], 1].max : 1
  2. if rand(100) < 4 * attacker.dex / self.agi * add_rate
复制代码
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2016-10-21
帖子
48
8
 楼主| 发表于 2017-4-27 11:06:57 | 只看该作者
能解释下第一行代码后面从变量开始的意思吗
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2016-10-21
帖子
48
9
 楼主| 发表于 2017-4-27 11:09:55 手机端发表。 | 只看该作者
芯☆淡茹水 发表于 2017-4-26 22:48
那么直接把默认的暴击条件改成下面这个,改这个和命中率无关

能解释下第一行代码后面从变量开始的意思吗
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33414
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

10
发表于 2017-4-27 12:46:16 | 只看该作者
本帖最后由 芯☆淡茹水 于 2017-4-27 12:58 编辑
破碎记忆 发表于 2017-4-27 11:09
能解释下第一行代码后面从变量开始的意思吗


add_rate = attacker.is_a?(Game_Actor) ? [$game_variables[7], 1].max : 1

变量 add_rate  (新增暴击概率)赋值为:
如果攻击者是角色,那么取 $game_variables[7] 和 1 之间的最大值。(预防误操作使变量7为0或负值时,角色就没有暴击了。意思就是至少新增的概率为1倍),最后面的 1 也就是敌人的1倍,无变化。

if rand(100) < 4 * attacker.dex / self.agi * add_rate

用乘法是在原暴击率的基础上增加倍数,这个不是定数,暴击几率越高,增加的几率也就越高。 原几率 10 * 增加的20 = 200%
如果用加法:if rand(100) < 4 * attacker.dex / self.agi + add_rate ,就是给暴击率增加一个固定值。原几率 10 + 增加的20 = 30%

用乘法的话,暴击2倍,变量7调整为2; 暴击100%,变量7调整为100以上都行。

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-11 11:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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