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

Project1

 找回密码
 注册会员
搜索
楼主: newface
打印 上一主题 下一主题

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

[复制链接]

Lv5.捕梦者

梦石
10
星屑
39445
在线时间
1914 小时
注册时间
2010-11-14
帖子
3315

R考场第七期纪念奖

1
发表于 2019-2-18 10:07:23 | 显示全部楼层
Project1.zip (1.43 MB, 下载次数: 128, 售价: 10 星屑)
写了一个多小时,新建工程测试通过。



用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39445
在线时间
1914 小时
注册时间
2010-11-14
帖子
3315

R考场第七期纪念奖

2
发表于 2019-2-19 11:15:23 | 显示全部楼层
newface 发表于 2019-2-19 09:57
攻击敌人或者被攻击时弹出 脚本“game_battle”的第30行发生了 ArgumentError wrong number of argument( ...

你先试试把我的脚本放在你这个出错脚本的下面试试,不行的话麻烦你附上你的战斗系统脚本。

说实话,去跟别的脚本兼容,这种问题最麻烦了。
你截图的那段毫无疑问全部是用的覆盖定义,兼容性最差的。
如果是你自己写的,建议你学一下利用alias 别名 的猴子补丁。
用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39445
在线时间
1914 小时
注册时间
2010-11-14
帖子
3315

R考场第七期纪念奖

3
发表于 2019-2-19 15:25:45 | 显示全部楼层
newface 发表于 2019-2-19 15:08
这应该是你要的脚本?

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

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

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39445
在线时间
1914 小时
注册时间
2010-11-14
帖子
3315

R考场第七期纪念奖

4
发表于 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


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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-7 07:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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