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

Project1

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

[已经解决] 状态的设置

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2180
在线时间
1011 小时
注册时间
2015-10-17
帖子
1285
跳转到指定楼层
1
发表于 2015-12-7 11:02:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
设置一个暴击的状态,就像毒,麻痹一样的状态,然后技能和魔法勾上这个状态后,用的技能和魔法也有一定概率出暴击,这怎么做呢

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9397
在线时间
2748 小时
注册时间
2008-9-5
帖子
3543

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

2
发表于 2015-12-7 13:51:49 | 只看该作者
脚本【Game_Battler 3】里面,【● 应用通常攻击效果/def attack_effect(attacker)】这段里面,
应用会心一击的这几句,

  1.         # 会心一击修正
  2.         if rand(100) < 4 * attacker.dex / self.agi
  3.           self.damage *= 2
  4.           self.critical = true
  5.         end
复制代码
改成:

  1.         # 会心一击修正
  2.         if attacker.state?(17)
  3.           critical_state = rand(100) < 80
  4.         else
  5.           critical_state = rand(100) < 4 * attacker.dex / self.agi
  6.         end
  7.         if critical_state
  8.           self.damage *= 2
  9.           self.critical = true
  10.         end
复制代码
其中【attacker.state?(17)】里面的17是这个引发高概率暴击状态的ID,
【critical_state = rand(100) < 80】这个80是暴击概率(80%)。
就这样了,不用在技能里勾这个状态,只要角色附加了这个状态,所有攻击的暴击都是这样算的。

点评

不太清楚这句话描述的是什么意思。。所以就当成“存在这个状态的时候魔法和特技的暴击率也会受影响”了……  发表于 2015-12-7 19:19
楼主说得好像是“用技能和魔法时也有一定概率出暴击”  发表于 2015-12-7 19:15
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
168 小时
注册时间
2007-7-26
帖子
477
3
发表于 2015-12-7 13:55:59 | 只看该作者
前面都一样,有几率暴击就是加点灵巧吧?把这个技能的灵巧加多点?

评分

参与人数 1星屑 -5 收起 理由
RyanBern -5 请不要误导 回答问题之前请确保有一定把握.

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2180
在线时间
1011 小时
注册时间
2015-10-17
帖子
1285
4
 楼主| 发表于 2015-12-7 18:42:26 | 只看该作者
本帖最后由 fjm 于 2015-12-7 18:45 编辑

Project5.rar (186.08 KB, 下载次数: 72)
cinderelmini 发表于 2015-12-7 13:51
脚本【Game_Battler 3】里面,【● 应用通常攻击效果/def attack_effect(attacker)】这段里面,
应用会心一 ...


帮忙看下我设定的,有啥问题,不出暴击
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9397
在线时间
2748 小时
注册时间
2008-9-5
帖子
3543

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

5
发表于 2015-12-7 19:33:49 | 只看该作者
额……抱歉……XP的特技和普攻是另外算的窝又忘了,除了上面说的哪个给普攻加的暴击状态,还得给下面的特技加一下:
在下面一点的【● 应用特技效果/def skill_effect(user, skill)】那一段里面的:
  1. # 命中的情况下
  2.     if hit_result == true
  3.       # 威力 0 以外的物理攻击的情况下
  4.       if skill.power != 0 and skill.atk_f > 0
  5.         # 状态冲击解除
  6.         remove_states_shock
  7.         # 设置有效标志
  8.         effective = true
  9.       end
复制代码
这里下面,【# HP 的伤害减法运算】之前插入一段:

  1.       # 会心一击修正
  2.       if user.state?(17)
  3.         critical_state = rand(100) < 80
  4.       else
  5.         critical_state = rand(100) < 4 * user.dex / self.agi
  6.       end
  7.       if critical_state && self.damage > 0
  8.         self.damage *= 2
  9.         self.critical = true
  10.       end
复制代码
大概就可以了。

人物只需要附加这个状态就行,
状态设置里面的【属性防御】和【状态变化】可以不用管。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2180
在线时间
1011 小时
注册时间
2015-10-17
帖子
1285
6
 楼主| 发表于 2015-12-7 20:25:29 | 只看该作者
cinderelmini 发表于 2015-12-7 19:33
额……抱歉……XP的特技和普攻是另外算的窝又忘了,除了上面说的哪个给普攻加的暴击状态,还得给下面的特技 ...

多谢,这样设定可以了,不过BOOS有这个状态很恐怖,所有技能都出暴击的话,一个群攻技能出暴击要全部OVER,
可不可以设置BOSS单体技能出暴击,群功技能不出暴击.要是BOSS单体技能偶尔出下暴击,感觉战斗更有挑战

点评

事实上可以与判断一下 user.is_a?(actor)这样敌人就不会出暴击  发表于 2015-12-7 20:51
还是说。。。单纯为了让技能也偶尔能出暴击?那样的话就完全没必要弄状态了。。。  发表于 2015-12-7 20:36
现在这样改的话,就算不加这个状态,技能也是偶尔能打出暴击的…………本身这个状态就是为了调高暴击率才弄的吧?还是说…………  发表于 2015-12-7 20:36
难道不可以设置2个同名技能么?一个有暴击,角色用;一个无暴击,BOSS用。  发表于 2015-12-7 20:29
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2180
在线时间
1011 小时
注册时间
2015-10-17
帖子
1285
7
 楼主| 发表于 2015-12-7 21:49:21 | 只看该作者
本帖最后由 fjm 于 2015-12-7 21:52 编辑
fjm 发表于 2015-12-7 20:25
多谢,这样设定可以了,不过BOOS有这个状态很恐怖,所有技能都出暴击的话,一个群攻技能出暴击要全部OVER,
可 ...


恩,感觉最好是能让指定技能或魔法出暴击,一些太强力的群攻击不要出暴击,打BOSS肯定是持久战,BOSS用群攻技能
偶尔出下暴击也会团灭的.玩家肯定会抓狂的
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9397
在线时间
2748 小时
注册时间
2008-9-5
帖子
3543

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

8
发表于 2015-12-7 22:03:06 | 只看该作者
fjm 发表于 2015-12-7 21:49
恩,感觉最好是能让指定技能或魔法出暴击,一些太强力的群攻击不要出暴击,打BOSS肯定是持久战,BOSS用群攻技 ...


也可以在之前特技判定暴击的那段再加个技能判定:
  1.       # 会心一击修正
  2.       if user.state?(17) && [55, 24, 32, 21].include?(skill.id)
  3.         critical_state = rand(100) < 80
  4.       else
  5.         critical_state = rand(100) < 4 * user.dex / self.agi
  6.       end
  7.       if critical_state && self.damage > 0
  8.         self.damage *= 2
  9.         self.critical = true
  10.       end
复制代码
这里面
[55, 24, 32, 21]
↑这个数组里填排除在外的技能ID,半角逗号隔开。

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2180
在线时间
1011 小时
注册时间
2015-10-17
帖子
1285
9
 楼主| 发表于 2015-12-7 22:20:08 | 只看该作者
cinderelmini 发表于 2015-12-7 22:03
也可以在之前特技判定暴击的那段再加个技能判定:这里面
[55, 24, 32, 21]
↑这个数组里填排除在外的技能 ...

这样改以后就是我想要的效果,太完美了,非常感谢

点评

额……好像判定填错了……排除在外的话应该是【if user.state?(17) && ![55, 24, 32, 21].include?(skill.id)】才对………………orz……  发表于 2015-12-7 22:30
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2180
在线时间
1011 小时
注册时间
2015-10-17
帖子
1285
10
 楼主| 发表于 2015-12-7 23:00:33 | 只看该作者
fjm 发表于 2015-12-7 22:20
这样改以后就是我想要的效果,太完美了,非常感谢

恩,我两个都试了下,改和没改,都有各自巧妙的用法.要是不加暴击的那个状态,哪里第几行改暴击的几率呢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 23:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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