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

Project1

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

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

[复制链接]

Lv1.梦旅人

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

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

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

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

Lv5.捕梦者 (版主)

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

开拓者

2
发表于 2017-4-6 20:14:28 | 只看该作者
本帖最后由 guoxiaomi 于 2017-4-6 20:37 编辑

Game_Battler 3 第 55-66 行:
RUBY 代码复制
  1. # 伤害符号正确的情况下
  2.       if self.damage > 0
  3.         # 会心一击修正
  4.         if rand(100) < 4 * attacker.dex / self.agi
  5.           self.damage *= 2
  6.           self.critical = true
  7.         end
  8.         # 防御修正
  9.         if self.guarding?
  10.           self.damage /= 2
  11.         end
  12.       end

知道改哪里了吧~

RUBY 代码复制
  1. if rand(100) < 4 * attacker.dex / self.agi * (($game_switches[1])? 2 : 1)

评分

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

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

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

这我知道了但是该怎么改

点评

上面修改过了  发表于 2017-4-6 21:51
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

看见了,刚没注意,谢了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

如果是直接乘上变量的数值该怎么写,并且是两个变量,变量1或变量2中间用or连接吗

点评

详细描述你的需求。对于ruby的语法,可以看看教程  发表于 2017-4-7 21:56
回复 支持 反对

使用道具 举报

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
回复 支持 反对

使用道具 举报

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
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
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]))
我这样写会出错?
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23994
在线时间
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 网络脚本 *
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-11 12:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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