查看: 2700|回复: 6

[已经解决] 如何做出特定条件下免疫阵亡的效果?

[复制链接]
梦石
0
星屑
3850
在线时间
925 小时
注册时间
2017-10-30
回帖
343
发表于 2018-2-18 13:04:10 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 MireniamuYuki 于 2018-2-22 15:55 编辑

我想做出类似Rabi-Ribi的“根性”的状态:角色受到比当前HP大的伤害时不会立刻死亡(保留1点HP),当角色HP=1时无效。前提是角色需要装备这个根性饰品。

我的思路就是条件判断:先做出一个免疫阵亡的状态;战斗时自动附加这个阵亡状态,当战斗中角色HP=1时去掉这个状态
比较蠢的一个方法就是事件的条件分歧套用
但是这样一来所有的敌群都要加上这个事件页,非常的繁琐麻烦,于是乎就想用脚本来解决
[pre lang="ruby"]  #--------------------------------------------------------------------------
  # ● 解除状态
  #--------------------------------------------------------------------------
  def remove_state(state_id)
    if state?(state_id)
      revive if state_id == death_state_id
      erase_state(state_id)
      refresh
      @result.removed_states.push(state_id).uniq!
    end
  end[/pre]
大概就应该在Game_Battler解除状态这里添什么,然而自己脚本盲不太懂……
-----答案------
感谢回答,自己再修改了一下就是这样了,在Game_ActionResult的73行下添加
[pre lang="ruby"]if @battler.state?(30) &&
      @hp_damage > @battler.hp && @battler.hp > 1
      @hp_damage = @battler.hp - 1
    end[/pre]
QQ截图20180218123400.png

评分

参与人数 1赞 +1 收起 理由
2256538860 + 1 塞糖

查看全部评分

老鹰

梦石
40
星屑
37812
在线时间
7091 小时
注册时间
2012-5-26
回帖
3297

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

发表于 2018-2-18 16:18:31 | 显示全部楼层
在 class Game_ActionResult 中的 make_damage 方法就是定下用于最后进行hp扣除的值
在方法后面加上
  1.     if @battler.state?(30) &&
  2.       @hp_damage > @battler.hp && @battler.hp_rate > 0.25
  3.       @hp_damage = @battler.hp - 1
  4.       @battler.remove_state(30)
  5.     end
复制代码

里面的 30 就是在非危机下受到致命一击时强制留下1点HP(本质是把行动结果的hp_damage变更为hp-1)的状态id

点评

啊解决了。我把@battler.hp_rate > 0.25删掉了……抱歉BB这么了多_(:з」∠)_其实就是这个效果Hhh  发表于 2018-2-18 17:14
我再试了一下,好像判定的条件只是最大HP,当角色HP不满的时候这个效果不触发……  发表于 2018-2-18 17:13
有个小BUG,就是当角色当前HP = 受到伤害的量的时候,HP为0但没有加上死亡状态……然后这个角色就死不了了……  发表于 2018-2-18 17:02

评分

参与人数 3星屑 +50 赞 +2 收起 理由
RaidenInfinity + 50 版主认可的回答
2256538860 + 1 塞糖
MireniamuYuki + 1 我很赞同

查看全部评分

回复

使用道具 举报

梦石
0
星屑
2814
在线时间
616 小时
注册时间
2018-1-17
回帖
1230
发表于 2018-2-18 21:03:10 | 显示全部楼层
好帖强顶赞 w(゚Д゚)w
回复

使用道具 举报

梦石
0
星屑
3850
在线时间
925 小时
注册时间
2017-10-30
回帖
343
 楼主| 发表于 2018-2-21 19:50:51 | 显示全部楼层
结贴吧,解决了
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部