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

Project1

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

[已经解决] 攻击特定状态敌人时附加一定攻击 的效果怎么做??

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
72 小时
注册时间
2011-9-5
帖子
30
跳转到指定楼层
1
发表于 2012-3-1 21:35:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如敌人中了 骨折 状态,然后当你攻击这个敌人时,每次攻击都会附加100点伤害。

试了试用变量表示敌人的血量,当敌人血量改变时就给敌人附加伤害,但是技能的伤害是优先于公共事件而计算的,所以这方法好像行不通呢。用状态法做了半天也想不起来做法。

求大神解答!!万分感谢!!

Lv3.寻梦者

虚空人形

梦石
0
星屑
4604
在线时间
2037 小时
注册时间
2011-8-11
帖子
3398

贵宾

2
发表于 2012-3-1 23:00:36 | 只看该作者
没问题啊,在公共事件只加上附加伤害,和技能伤害不是一起的。
回复

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
3
发表于 2012-3-2 18:02:09 | 只看该作者
  1. class Game_Battler
  2.   L_12DAMAGE_SET = [17] # 骨折状态的ID
  3.   alias l_sds_skill_effect skill_effect
  4.   def skill_effect(user, skill)
  5.     l_sds_skill_effect(user, skill)
  6.     if hit_result == true and self.damage.is_a?(Numeric)
  7.       if self.damage > 0
  8.         for i in self.@states
  9.           if L_12DAMAGE_SET.include?(i)
  10.             self.damage -= 100
  11.             self.hp -= 100
  12.           end
  13.         end
  14.       end
  15.     end
  16.   end
  17. end
复制代码

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
72 小时
注册时间
2011-9-5
帖子
30
4
 楼主| 发表于 2012-3-2 19:44:40 | 只看该作者
本帖最后由 巽离阔 于 2012-3-2 19:48 编辑
Wind2010 发表于 2012-3-2 18:02


脚本运行的时候第8行出错了,syntaxerror      {:1_10:}@










‘‘──巽离阔于2012-3-2 19:49补充以下内容

回复2楼(不知道为什么不能隔层回复??)
在公共事件附加效果只能是放碎骨技能时的那一次出效果,以后再打就没附加伤害了

’’
回复

使用道具 举报

Lv3.寻梦者

双子人

梦石
0
星屑
3190
在线时间
3618 小时
注册时间
2009-4-4
帖子
4154

开拓者

5
发表于 2012-3-2 20:01:01 | 只看该作者
本帖最后由 hys111111 于 2012-3-2 20:09 编辑
巽离阔 发表于 2012-3-2 19:44
脚本运行的时候第8行出错了,syntaxerror      


我参照3L的脚本的基础上改了一下
  1. class Game_Battler
  2.   L_12DAMAGE_SET = [17] # 骨折状态的ID
  3.   alias l_sds_skill_effect skill_effect
  4.   def skill_effect(user, skill)
  5.     l_sds_skill_effect(user, skill)
  6.     if hit_result == true and self.damage.is_a?(Numeric)
  7.       if self.damage > 0
  8.         ss=@states
  9.         for i in self.ss
  10.           if L_12DAMAGE_SET.include?(i)
  11.             self.damage -= 100
  12.             self.hp -= 100
  13.           end
  14.         end
  15.       end
  16.     end
  17.   end
  18. end
复制代码
试试看运行正不正常(PS:“点”后面不能加“@”和“$”除了for x in 0...@x以外)(虽然是我改的,但是版权是3L的)

点评

您就认可真正解决得问题的Wind2010  发表于 2012-3-3 12:46
也很感谢乃,不过我不知道怎么认可2个答案⊙﹏⊙b汗  发表于 2012-3-3 12:22
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
72 小时
注册时间
2011-9-5
帖子
30
6
 楼主| 发表于 2012-3-2 20:10:02 | 只看该作者
本帖最后由 巽离阔 于 2012-3-2 20:10 编辑
hys111111 发表于 2012-3-2 20:01
我参照3L的脚本的基础上改了一下试试看运行正不正常(PS:“点”后面不能加“@”和“$”除了for x in 0.. ...


不知道为什么,第6行又出错了,倒是能正常的进去了,但当技能要攻击的时候,nameerror了
回复

使用道具 举报

Lv3.寻梦者

双子人

梦石
0
星屑
3190
在线时间
3618 小时
注册时间
2009-4-4
帖子
4154

开拓者

7
发表于 2012-3-2 20:33:58 | 只看该作者
巽离阔 发表于 2012-3-2 20:10
不知道为什么,第6行又出错了,倒是能正常的进去了,但当技能要攻击的时候,nameerror了 ...

我再重新改了一下
  1. class Game_Battler
  2.   L_12DAMAGE_SET = []
  3.   L_12DAMAGE_SET = [17] # 骨折状态的ID
  4.   alias l_sds_skill_effect skill_effect
  5.   def skill_effect(user, skill)
  6.     l_sds_skill_effect(user, skill)
  7.     if hit_result == true
  8.       if self.damage > 0
  9.         ss=@states
  10.         for i in self.ss
  11.           if L_12DAMAGE_SET.include?(i)
  12.             self.damage -= 100
  13.             self.hp -= 100
  14.           end
  15.         end
  16.       end
  17.     end
  18.   end
  19. end
复制代码

点评

说错,删掉第七行后是第九行又开始报错  发表于 2012-3-2 21:56
还是不行...第七行弹错 我看了看不止是放那个技能,只要放任何一个带状态的技能都会弹错  发表于 2012-3-2 21:44
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
72 小时
注册时间
2011-9-5
帖子
30
8
 楼主| 发表于 2012-3-2 20:47:40 | 只看该作者
本帖最后由 巽离阔 于 2012-3-2 21:55 编辑
hys111111 发表于 2012-3-2 20:33
我再重新改了一下


虽然很抱歉耽误乃这么长时间,但是脚本又从第7行出了nameerror,还是出招时弹错了

undefined local or method ‘hit result” for #<game-enemy:0x37bfe70>

如果乃时间不充裕的话可以以后有空了再弄,我这边不急{:1_12:}@


‘‘──巽离阔于2012-3-2 20:55补充以下内容

还是不行...第9行弹错

我看了看不止是放那个技能,只要放任何一个带状态的技能都会弹错
’’

点评

那把第7行去掉,后面再去掉一个end试试?我一直都在……  发表于 2012-3-2 20:49
回复

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
9
发表于 2012-3-2 22:11:37 | 只看该作者
  1. class Game_Battler
  2.   L_12DAMAGE_SET = [17] # 骨折状态的ID
  3.   alias l_sds_skill_effect skill_effect
  4.   def skill_effect(user, skill)
  5.     l_sds_skill_effect(user, skill)
  6.     if self.damage.is_a?(Numeric)
  7.       if self.damage > 0
  8.         for i in @states
  9.           if L_12DAMAGE_SET.include?(i)
  10.             self.damage += 100
  11.             self.hp -= 100
  12.           end
  13.         end
  14.       end
  15.     end
  16.   end
  17. end
复制代码
忘记hit_result不能继承了= =|

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
72 小时
注册时间
2011-9-5
帖子
30
10
 楼主| 发表于 2012-3-2 22:33:46 | 只看该作者
Wind2010 发表于 2012-3-2 22:11
忘记hit_result不能继承了= =|

原作者出现了~

谢谢终于不跳错误了,而且效果很不错,不过我有两个问题:第一个是只有技能能够追加伤害而普通攻击不能追加,另一个是能否将原来的攻击和附加的攻击分开显示两个数字呢?

如果很麻烦就算了,现在的效果已经很好了{:1_12:}@
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-28 17:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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