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

Project1

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

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

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3646
在线时间
899 小时
注册时间
2017-10-30
帖子
347
跳转到指定楼层
1
发表于 2018-2-18 13:04:10 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

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

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

我的思路就是条件判断:先做出一个免疫阵亡的状态;战斗时自动附加这个阵亡状态,当战斗中角色HP=1时去掉这个状态
比较蠢的一个方法就是事件的条件分歧套用
但是这样一来所有的敌群都要加上这个事件页,非常的繁琐麻烦,于是乎就想用脚本来解决
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 解除状态
  3.   #--------------------------------------------------------------------------
  4.   def remove_state(state_id)
  5.     if state?(state_id)
  6.       revive if state_id == death_state_id
  7.       erase_state(state_id)
  8.       refresh
  9.       @result.removed_states.push(state_id).uniq!
  10.     end
  11.   end

大概就应该在Game_Battler解除状态这里添什么,然而自己脚本盲不太懂……
-----答案------
感谢回答,自己再修改了一下就是这样了,在Game_ActionResult的73行下添加
RUBY 代码复制
  1. if @battler.state?(30) &&
  2.       @hp_damage > @battler.hp && @battler.hp > 1
  3.       @hp_damage = @battler.hp - 1
  4.     end

QQ截图20180218123400.png (7.52 KB, 下载次数: 24)

QQ截图20180218123400.png

评分

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

查看全部评分

啥都会,啥都不擅长
一个VA群:679174724 欢迎来玩

Lv3.寻梦者

梦石
0
星屑
3646
在线时间
899 小时
注册时间
2017-10-30
帖子
347
4
 楼主| 发表于 2018-2-21 19:50:51 | 只看该作者
结贴吧,解决了
啥都会,啥都不擅长
一个VA群:679174724 欢迎来玩
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2794
在线时间
614 小时
注册时间
2018-1-17
帖子
1293
3
发表于 2018-2-18 21:03:10 | 只看该作者
好帖强顶赞 w(゚Д゚)w
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
34725
在线时间
6740 小时
注册时间
2012-5-26
帖子
3259

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

2
发表于 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 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 13:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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