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

Project1

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

[已经解决] 会心一击机率

[复制链接]

Lv1.梦旅人

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

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

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

x
我想做一个增加会心一击率的功能,当1号开关打开时会心一击几率怎加一倍,脚本里该怎么改。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2016-10-21
帖子
48
14
 楼主| 发表于 2017-4-23 15:04:16 | 只看该作者
QQ蚊子湯 发表于 2017-4-23 01:40
真假值不能直接拿來進行計算,所以不可和算式括在一起
if rand(100) < ( (4 * attacker.dex / self.agi) * ...

不过这样写好像会增大Mass几率,有解决的办法吗?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2016-10-21
帖子
48
13
 楼主| 发表于 2017-4-23 15:03:44 | 只看该作者
guoxiaomi 发表于 2017-4-9 00:35
报错是不是 ‘true can't be coerced into Fixnum’

我发现如果是 (123 && true) or (456) ,会返回 tr ...

不过这样写好像会增大Mass几率,有解决的办法吗?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
644
在线时间
830 小时
注册时间
2016-7-24
帖子
649

开拓者

12
发表于 2017-4-23 01:40:38 | 只看该作者
真假值不能直接拿來進行計算,所以不可和算式括在一起
if rand(100) < ( (4 * attacker.dex / self.agi) * $game_variables[7] ) && attacker.is_a?(Game_Actor)

因為是邏輯問題所以可以客串一下
2016/07/17 加入RPG製作,勿忘初衷!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2016-10-21
帖子
48
11
 楼主| 发表于 2017-4-22 22:45:18 | 只看该作者
guoxiaomi 发表于 2017-4-9 00:35
报错是不是 ‘true can't be coerced into Fixnum’

我发现如果是 (123 && true) or (456) ,会返回 tr ...

      if rand(100) < (4 * attacker.dex / self.agi) * ($game_variables[7] && attacker.is_a?(Game_Actor))
这样写也会错?

点评

你后面把一个数量和一个布尔值求逻辑与,布尔值是false的时候会返回false,然后和乘法一算就报错了  发表于 2017-4-22 23:40
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

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

开拓者

10
发表于 2017-4-9 00:35:33 | 只看该作者
破碎记忆 发表于 2017-4-8 22:37
if rand(100) < (4 * attacker.dex / self.agi) * (($game_variables[8]&& attacker.is_a?(Game_Actor ...

报错是不是 ‘true can't be coerced into Fixnum’

我发现如果是 (123 && true) or (456) ,会返回 true……然后 true 和前面的乘法一算就报错了

建议你再看看 ruby 的基本语法……这复杂难懂的写法,是很不好的
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2016-10-21
帖子
48
9
 楼主| 发表于 2017-4-8 22:37:36 | 只看该作者
guoxiaomi 发表于 2017-4-6 20:14
Game_Battler 3 第 55-66 行:
      # 伤害符号正确的情况下
      if self.damage > 0

   if rand(100) < (4 * attacker.dex / self.agi) * (($game_variables[8]&& attacker.is_a?(Game_Actor)) or($game_variables[7]))
我这样写会出错?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2016-10-21
帖子
48
8
 楼主| 发表于 2017-4-8 22:34:47 | 只看该作者
破碎记忆 发表于 2017-4-8 20:11
那个问题我已经知道了,但这样写的话,敌人的会心一击率也会增加,只要自己和队员会心一击率增加该怎么写 ...


这样写会出错

点评

图片看不到,我猜你已经写到了9楼里  发表于 2017-4-9 00:27
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2016-10-21
帖子
48
7
 楼主| 发表于 2017-4-8 20:24:48 手机端发表。 | 只看该作者
guoxiaomi 发表于 2017-4-6 20:14
Game_Battler 3 第 55-66 行:
      # 伤害符号正确的情况下
      if self.damage > 0

嗯,知道了谢了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2016-10-21
帖子
48
6
 楼主| 发表于 2017-4-8 20:11:11 手机端发表。 | 只看该作者
guoxiaomi 发表于 2017-4-6 20:14
Game_Battler 3 第 55-66 行:
      # 伤害符号正确的情况下
      if self.damage > 0

那个问题我已经知道了,但这样写的话,敌人的会心一击率也会增加,只要自己和队员会心一击率增加该怎么写

点评

if rand(100) < 4 * attacker.dex / self.agi * (($game_switches[1] && attacker.is_a?(Game_Actor))? 2 : 1)  发表于 2017-4-8 20:23
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-22 03:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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