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

Project1

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

[已经解决] 求一个吸收伤害的护盾脚本

[复制链接]

Lv2.观梦者

梦石
0
星屑
265
在线时间
64 小时
注册时间
2012-1-22
帖子
64
跳转到指定楼层
1
发表于 2019-2-17 21:23:17 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
在施加护盾状态后,单体或全体友方得到一个吸收指定变量当前数值的护盾,比如变量501的数值是1000,就是给每个被施加护盾状态的人加1000护盾,可以每人吸收1000伤害。在护盾存在时,受到伤害时会显示“吸收了xx点伤害,还剩xx点护盾值”,并且如果一次伤害大于护盾值满额,会吸收掉护盾值等同的伤害后才去扣hp.

我试过“这个护盾脚本,大家看看”帖子中楼下的改良脚本,但是有很多问题,所以另外开帖寻求帮助,谢谢大家。

Lv3.寻梦者

梦石
0
星屑
1971
在线时间
926 小时
注册时间
2015-10-26
帖子
356

开拓者

14
发表于 2019-2-27 09:59:54 | 只看该作者
这个脚本不错,比我用的那个好像好一点
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
265
在线时间
64 小时
注册时间
2012-1-22
帖子
64
13
 楼主| 发表于 2019-2-21 16:36:08 | 只看该作者
KB.Driver 发表于 2019-2-20 13:05
class Game_Battler
  #--------------------------------------------------------------------------
  ...

经过测试,运行正常,目前没有出错,非常感谢!
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39587
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

12
发表于 2019-2-20 13:05:39 | 只看该作者
newface 发表于 2019-2-20 10:02
啊,经过调试可以用了,但是发现一个问题,就是您给我的原版工程中,护盾值耗尽后护盾状态也不会消失…… ...

RUBY 代码复制
  1. class Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # ● [追加]护盾属性读取
  4.   #--------------------------------------------------------------------------
  5.   def barrier
  6.     @barrier >= 0 ? @barrier : (@barrier = 0)
  7.   end
  8.   #--------------------------------------------------------------------------
  9.   # ● [别名修改]受到伤害时解除状态
  10.   #--------------------------------------------------------------------------
  11.   alias remove_states_by_damage_for_barrier remove_states_by_damage
  12.   def remove_states_by_damage
  13.     remove_states_by_damage_for_barrier # 原方法
  14.     barrier_states = states.select{|state| state.barrier_value(self) != 0}
  15.     if !barrier_states.empty?
  16.       total_barrier = barrier_states.map{|state|state.barrier_value(self)}.inject(:+)
  17.       barrier_states.sort_by{|state|state.barrier_value(self)}.each do |state|
  18.         if total_barrier - @barrier >= state.barrier_value(self)
  19.           total_barrier -= @barrier
  20.           remove_state(state.id)
  21.         end
  22.       end
  23.     end
  24.   end
  25. end


找个空白的地方加入这个看看
用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
265
在线时间
64 小时
注册时间
2012-1-22
帖子
64
11
 楼主| 发表于 2019-2-20 10:02:17 | 只看该作者
KB.Driver 发表于 2019-2-19 15:25
看了一下,你这默认脚本(Scene_Battle)都被改的千疮百孔了。
还有其他一大堆乱七八糟的定义,方法。
我 ...

啊,经过调试可以用了,但是发现一个问题,就是您给我的原版工程中,护盾值耗尽后护盾状态也不会消失……
还请麻烦能不能补一个护盾值为0时护盾状态消失的语句?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
265
在线时间
64 小时
注册时间
2012-1-22
帖子
64
10
 楼主| 发表于 2019-2-19 16:02:39 | 只看该作者
KB.Driver 发表于 2019-2-19 15:25
看了一下,你这默认脚本(Scene_Battle)都被改的千疮百孔了。
还有其他一大堆乱七八糟的定义,方法。
我 ...

哈哈,没办法,当初没有经验,缺乏规划,功能是一个个想到后再一个个添加的,之前就有过几次兼容问题,我也没报多大希望,试试联系消失已久的原脚本帝吧,这个脚本让你费心了,非常感谢!
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39587
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

9
发表于 2019-2-19 15:25:45 | 只看该作者
newface 发表于 2019-2-19 15:08
这应该是你要的脚本?

看了一下,你这默认脚本(Scene_Battle)都被改的千疮百孔了。
还有其他一大堆乱七八糟的定义,方法。
我都不清楚不加我这个脚本它原来能不能好好运行。

说实话,你这个系统实在是太混乱了,还是找个大神给你重新写一个比较好。
用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
265
在线时间
64 小时
注册时间
2012-1-22
帖子
64
8
 楼主| 发表于 2019-2-19 15:08:50 | 只看该作者
KB.Driver 发表于 2019-2-19 11:15
你先试试把我的脚本放在你这个出错脚本的下面试试,不行的话麻烦你附上你的战斗系统脚本。

说实话,去跟 ...

这应该是你要的脚本?

Scripts_Push.rar

20.61 KB, 下载次数: 126

Scripts.rar

227.91 KB, 下载次数: 103

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
265
在线时间
64 小时
注册时间
2012-1-22
帖子
64
7
 楼主| 发表于 2019-2-19 14:51:58 | 只看该作者
KB.Driver 发表于 2019-2-19 11:15
你先试试把我的脚本放在你这个出错脚本的下面试试,不行的话麻烦你附上你的战斗系统脚本。

说实话,去跟 ...

不是我自己写的,也是积累了很久的别人的脚本互相叠加的效果,战斗脚本的名称是哪个呢?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
265
在线时间
64 小时
注册时间
2012-1-22
帖子
64
6
 楼主| 发表于 2019-2-19 14:50:50 | 只看该作者
KB.Driver 发表于 2019-2-19 11:15
你先试试把我的脚本放在你这个出错脚本的下面试试,不行的话麻烦你附上你的战斗系统脚本。

说实话,去跟 ...

放到下面去不会出错了,但是也没有护盾效果了,就是加了护盾也没有任何减免伤害提示,超出了护盾值的伤害护盾也不会解除。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 00:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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