查看: 4160|回复: 10

[已经解决] 伤害为 0状态无效

[复制链接]
梦石
0
星屑
10355
在线时间
1117 小时
注册时间
2015-2-10
回帖
164
发表于 2016-1-20 13:48:30 | 显示全部楼层 |阅读模式

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

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

×
如题,我想进行一下设置,就是某技能攻击时若对对方造成的伤害为0,但又会造成一些其它状态的时候,即使受到伤害的角色没有对该状态免疫也一定不会中这个状态?平常情况下是伤害为0也会造成状态……所以怎么办啊?(这里的伤害指的是 HP、MP的伤害和吸收)
梦石
0
星屑
153
在线时间
163 小时
注册时间
2009-7-16
回帖
79
发表于 2016-1-20 14:32:10 | 显示全部楼层
rand(100)<60?b.add_state(1):0   60%几率附加一号状态 否则造成0点伤害  才学的 你试试不一定对

点评

我觉得你是误会了楼主的意思……  发表于 2016-1-20 16:46
回复

使用道具 举报

梦石
0
星屑
10355
在线时间
1117 小时
注册时间
2015-2-10
回帖
164
 楼主| 发表于 2016-1-20 19:25:53 | 显示全部楼层
zx8326123 发表于 2016-1-20 14:32
rand(100)

根本不是这个好吧?能不能仔细看看我的要求啊……
回复

使用道具 举报

梦石
0
星屑
153
在线时间
163 小时
注册时间
2009-7-16
回帖
79
发表于 2016-1-20 19:31:49 | 显示全部楼层
本帖最后由 zx8326123 于 2016-1-20 19:40 编辑
fbeds 发表于 2016-1-20 19:25
根本不是这个好吧?能不能仔细看看我的要求啊……


你的意思是伤害为0则不附加状态 有伤害就附加状态?
(a.atk-b.def)<0?0:b.add_state(2)
  不知道行不行 你试试

点评

这样不对- - 附加状态的时候也没伤害 我再去想想 我也才学  发表于 2016-1-20 19:43
回复

使用道具 举报

梦石
0
星屑
10355
在线时间
1117 小时
注册时间
2015-2-10
回帖
164
 楼主| 发表于 2016-1-25 09:00:22 | 显示全部楼层
zx8326123 发表于 2016-1-20 19:31
你的意思是伤害为0则不附加状态 有伤害就附加状态?
(a.atk-b.def)

而且技能伤害计算公式又不一定是a.atk-b.def。

点评

那你不会换成其他的?特地讲一遍,我还挺谢谢你  发表于 2016-1-25 13:27
回复

使用道具 举报

梦石
0
星屑
10355
在线时间
1117 小时
注册时间
2015-2-10
回帖
164
 楼主| 发表于 2016-1-27 08:32:36 | 显示全部楼层
zx8326123 发表于 2016-1-20 19:31
你的意思是伤害为0则不附加状态 有伤害就附加状态?
(a.atk-b.def)

这样附加了状态也没有伤害,而且这样的判定方法有问题,如果本来a.atk-b.def是大于0有伤害的,但因为属性抗性的缘故还是造成0伤害,可是那个状态还是会附加。
回复

使用道具 举报

梦石
0
星屑
7736
在线时间
1227 小时
注册时间
2008-12-14
回帖
504
发表于 2016-1-27 13:21:19 | 显示全部楼层
fbeds 发表于 2016-1-27 08:32
这样附加了状态也没有伤害,而且这样的判定方法有问题,如果本来a.atk-b.def是大于0有伤害的,但因为属性 ...

不会吧?你能做个范例,100%重现这个问题吗?

需要购买本人MV插件必须先加wx好友。加不上wx就是本人忙,没时间卖。原则上太久以前的插件也不想卖,因为我也忘了,维护上会不给力。wx名:alskyif    本人插件地址:
   LCK_SRPG梦幻模拟战、火焰纹章类系统
   究极立绘ADV系统

   究极换装统合系统
   究极! 回想与CG系统
   消息文字的距离调整  
   自动返回上一张地图
回复

使用道具 举报

梦石
0
星屑
10355
在线时间
1117 小时
注册时间
2015-2-10
回帖
164
 楼主| 发表于 2016-1-27 16:07:53 | 显示全部楼层
if216 发表于 2016-1-27 13:21
不会吧?你能做个范例,100%重现这个问题吗?

这是本来就有的问题,你把那个人写的公式看一遍或自己带进去试试就知道了……
回复

使用道具 举报

梦石
0
星屑
153
在线时间
163 小时
注册时间
2009-7-16
回帖
79
发表于 2016-1-27 21:26:05 | 显示全部楼层
fbeds 发表于 2016-1-27 16:07
这是本来就有的问题,你把那个人写的公式看一遍或自己带进去试试就知道了…… ...

我发出来之后就在我那楼评论说是错的  你没看么?
回复

使用道具 举报

梦石
0
星屑
9716
在线时间
2775 小时
注册时间
2008-9-5
回帖
3458

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

发表于 2016-1-28 00:05:37 | 显示全部楼层
给各种附加效果都做了判定,
只要打不出HP伤并且打不出MP伤就无视(所有?)附加效果,
自己看注释,不想无视效果的删掉井掉都可以,
如果只需要判定HP伤的话就把mp_damage那句和and删掉~~
(嘛~稍微测试了一下~应该大丈夫……)
点击展开/收起
  1. class Game_Battler < Game_BattlerBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 应用“恢复 HP”效果
  4.   #--------------------------------------------------------------------------
  5.   alias sn_160127_item_effect_recover_hp item_effect_recover_hp
  6.   def item_effect_recover_hp(user, item, effect)
  7.     return if self.result.hp_damage <= 0 and self.result.mp_damage <= 0
  8.     sn_160127_item_effect_recover_hp(user, item, effect)
  9.   end
  10.   #--------------------------------------------------------------------------
  11.   # ● 应用“恢复 MP”效果
  12.   #--------------------------------------------------------------------------
  13.   alias sn_160127_item_effect_recover_mp item_effect_recover_mp
  14.   def item_effect_recover_mp(user, item, effect)
  15.     return if self.result.hp_damage <= 0 and self.result.mp_damage <= 0
  16.     sn_160127_item_effect_recover_mp(user, item, effect)
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 应用“增加 TP”效果
  20.   #--------------------------------------------------------------------------
  21.   alias sn_160127_item_effect_gain_tp item_effect_gain_tp
  22.   def item_effect_gain_tp(user, item, effect)
  23.     return if self.result.hp_damage <= 0 and self.result.mp_damage <= 0
  24.     sn_160127_item_effect_gain_tp(user, item, effect)
  25.   end
  26.   #--------------------------------------------------------------------------
  27.   # ● 应用“附加状态”效果
  28.   #--------------------------------------------------------------------------
  29.   alias sn_160127_item_effect_add_state item_effect_add_state
  30.   def item_effect_add_state(user, item, effect)
  31.     return if self.result.hp_damage <= 0 and self.result.mp_damage <= 0
  32.     sn_160127_item_effect_add_state(user, item, effect)
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ● 应用“状态附加”效果:普通攻击
  36.   #--------------------------------------------------------------------------
  37.   alias sn_160127_item_effect_add_state_attack item_effect_add_state_attack
  38.   def item_effect_add_state_attack(user, item, effect)
  39.     return if self.result.hp_damage <= 0 and self.result.mp_damage <= 0
  40.     sn_160127_item_effect_add_state_attack(user, item, effect)
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 应用“状态附加”效果:普通
  44.   #--------------------------------------------------------------------------
  45.   alias sn_160127_item_effect_add_state_normal item_effect_add_state_normal
  46.   def item_effect_add_state_normal(user, item, effect)
  47.     return if self.result.hp_damage <= 0 and self.result.mp_damage <= 0
  48.     sn_160127_item_effect_add_state_normal(user, item, effect)
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # ● 应用“状态解除”效果
  52.   #--------------------------------------------------------------------------
  53.   alias sn_160127_item_effect_remove_state item_effect_remove_state
  54.   def item_effect_remove_state(user, item, effect)
  55.     return if self.result.hp_damage <= 0 and self.result.mp_damage <= 0
  56.     sn_160127_item_effect_remove_state(user, item, effect)
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 应用“强化能力”效果
  60.   #--------------------------------------------------------------------------
  61.   alias sn_160127_item_effect_add_buff item_effect_add_buff
  62.   def item_effect_add_buff(user, item, effect)
  63.     return if self.result.hp_damage <= 0 and self.result.mp_damage <= 0
  64.     sn_160127_item_effect_add_buff(user, item, effect)
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ● 应用“弱化能力”效果
  68.   #--------------------------------------------------------------------------
  69.   alias sn_160127_item_effect_add_debuff item_effect_add_debuff
  70.   def item_effect_add_debuff(user, item, effect)
  71.     return if self.result.hp_damage <= 0 and self.result.mp_damage <= 0
  72.     sn_160127_item_effect_add_debuff(user, item, effect)
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● 应用“解除能力强化”效果
  76.   #--------------------------------------------------------------------------
  77.   alias sn_160127_item_effect_remove_buff item_effect_remove_buff
  78.   def item_effect_remove_buff(user, item, effect)
  79.     return if self.result.hp_damage <= 0 and self.result.mp_damage <= 0
  80.     sn_160127_item_effect_remove_buff(user, item, effect)
  81.   end
  82.   #--------------------------------------------------------------------------
  83.   # ● 应用“解除能力弱化”效果
  84.   #--------------------------------------------------------------------------
  85.   alias sn_160127_item_effect_remove_debuff item_effect_remove_debuff
  86.   def item_effect_remove_debuff(user, item, effect)
  87.     return if self.result.hp_damage <= 0 and self.result.mp_damage <= 0
  88.     sn_160127_item_effect_remove_debuff(user, item, effect)
  89.   end
  90.   #--------------------------------------------------------------------------
  91.   # ● 应用“特殊效果”效果
  92.   #--------------------------------------------------------------------------
  93.   alias sn_160127_item_effect_special item_effect_special
  94.   def item_effect_special(user, item, effect)
  95.     return if self.result.hp_damage <= 0 and self.result.mp_damage <= 0
  96.     sn_160127_item_effect_special(user, item, effect)
  97.   end
  98.   #--------------------------------------------------------------------------
  99.   # ● 应用“能力提升”效果
  100.   #--------------------------------------------------------------------------
  101.   alias sn_160127_item_effect_grow item_effect_grow
  102.   def item_effect_grow(user, item, effect)
  103.     return if self.result.hp_damage <= 0 and self.result.mp_damage <= 0
  104.     sn_160127_item_effect_grow(user, item, effect)
  105.   end
  106.   #--------------------------------------------------------------------------
  107.   # ● 应用“学会技能”效果
  108.   #--------------------------------------------------------------------------
  109.   alias sn_160127_item_effect_learn_skill item_effect_learn_skill
  110.   def item_effect_learn_skill(user, item, effect)
  111.     return if self.result.hp_damage <= 0 and self.result.mp_damage <= 0
  112.     sn_160127_item_effect_learn_skill(user, item, effect)
  113.   end
  114. end
复制代码

点评

啊,用法Main前,或者Game_Battler之下,有其他Game_Battler的话放在最下~  发表于 2016-1-28 00:06

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部