查看: 2267|回复: 4

[已经解决] 如何实现特定技能的会心一击?

[复制链接]
梦石
0
星屑
50
在线时间
243 小时
注册时间
2008-1-31
回帖
81
发表于 2012-9-10 13:46:41 | 显示全部楼层 |阅读模式

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

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

×
设置特定技能有高几率会心一击,但不是所有技能都是这样。
孔子曰:武功再高,也怕菜刀。穿的再叼,一砖拍倒。 庄子曰:树不要皮,必死无疑;人不要皮,天下无敌。
梦石
8
星屑
4051
在线时间
1684 小时
注册时间
2010-10-22
回帖
1041

极短26参与极短25获奖

发表于 2012-9-10 17:36:01 | 显示全部楼层
我想知道是技能自身伤害发生暴击,还是用了某技能后,加个在普通攻击时暴击率提高的状态。

【2022.06.03】原本以为已经不可能再找回来的东西重新找回来了,原本一直念念不忘的坑终于再一次拿起铲子了。一别竟近10年,你好,我的世界我的梦。
【大坑】异元-暗黑天际
【短25·不可阻挡】异元-地劫黎明
【短26·禁止】异元-禁忌之轮
回复

使用道具 举报

梦石
0
星屑
50
在线时间
243 小时
注册时间
2008-1-31
回帖
81
 楼主| 发表于 2012-9-10 17:43:34 | 显示全部楼层
kangxi0109 发表于 2012-9-10 17:36
我想知道是技能自身伤害发生暴击,还是用了某技能后,加个在普通攻击时暴击率提高的状态。 ...

技能本身的爆击

点评

那你应该有应用技能暴击的脚本吧,发上来吧。  发表于 2012-9-10 18:50
孔子曰:武功再高,也怕菜刀。穿的再叼,一砖拍倒。 庄子曰:树不要皮,必死无疑;人不要皮,天下无敌。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
243 小时
注册时间
2008-1-31
回帖
81
 楼主| 发表于 2012-9-11 14:04:45 | 显示全部楼层
kangxi0109 发表于 2012-9-10 17:36
我想知道是技能自身伤害发生暴击,还是用了某技能后,加个在普通攻击时暴击率提高的状态。 ...

Game_Battler 3第146行插入:     
if skill.id == XX  
if rand(100) < 60 * attacker.dex / self.agi
          self.damage *= 2
          self.critical = true
        end
end
这样指定技能为什么就没有会心一击了?

点评

再不行的话你就直接把脚本发上来吧!  发表于 2012-9-11 22:43
楼下更新。  发表于 2012-9-11 22:29
那就应该是被后面的脚本覆盖了,全局搜索def skill_effect(user, skill),看看是不是有两个搜索结果?  发表于 2012-9-11 18:40
那你把这段脚本插到last_hp = self.hp和self.hp -= self.damage之间,把暴击率设为100%测试看看有没有效果。  发表于 2012-9-11 17:44
孔子曰:武功再高,也怕菜刀。穿的再叼,一砖拍倒。 庄子曰:树不要皮,必死无疑;人不要皮,天下无敌。
回复

使用道具 举报

梦石
8
星屑
4051
在线时间
1684 小时
注册时间
2010-10-22
回帖
1041

极短26参与极短25获奖

发表于 2012-9-11 14:35:31 | 显示全部楼层
本帖最后由 kangxi0109 于 2012-9-11 22:29 编辑
终极骑士 发表于 2012-9-11 14:04
Game_Battler 3第146行插入:     
if skill.id == XX  
if rand(100) < 60 * attacker.dex / self.agi


嗯,这样做也是可以的。如果可能会发生暴击的技能有很多种,那我建议你用数组解决...当然如果你懂得通过设置技能属性来判断可以暴击的技能的话那就更方便了。两种方法各有各的好处,像你这样分别设置的话可以有不同技能对应不同的暴击率(可无视对方的灵巧和自己敏捷的关系,比如直接设置为80%暴击率),只是比较麻烦;如果用统一设置(比如数组或者属性判断)的话,在设置上会方便一些,但暴击率就会公式化。
另:
技能攻击的话是不能用“attacker”(攻击者)的,应该改为“user”(使用者)。
----------------------------------
不是定义的问题。
我的设置是这样的(固定几率20%):

  1.              if self.damage != 0
  2.                m = rand(5)
  3.                if m == 4
  4.                  self.damage *= 2
  5.                  self.critical = true#启动会心一击标志
  6.                end
  7.              end
复制代码
插入self.hp -= self.damage之前,经本人测试是完全有效的。
搜狗截图120911_1.png

点评

应该是直接这么判断不行,并没有新的定义,不知道还有没有其他的判断方法?  发表于 2012-9-11 22:10
放175和176间也没效果.  发表于 2012-9-11 18:01
我是说如果用了if skill.id == XX ,就没有爆击效果了。  发表于 2012-9-11 17:29

评分

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

查看全部评分


【2022.06.03】原本以为已经不可能再找回来的东西重新找回来了,原本一直念念不忘的坑终于再一次拿起铲子了。一别竟近10年,你好,我的世界我的梦。
【大坑】异元-暗黑天际
【短25·不可阻挡】异元-地劫黎明
【短26·禁止】异元-禁忌之轮
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部