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

Project1

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

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

[复制链接]

Lv2.观梦者

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

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

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

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

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

Lv5.捕梦者

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

R考场第七期纪念奖

2
发表于 2019-2-18 10:07:23 | 只看该作者
Project1.zip (1.43 MB, 下载次数: 128, 售价: 10 星屑)
写了一个多小时,新建工程测试通过。



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

使用道具 举报

Lv2.观梦者

梦石
0
星屑
265
在线时间
64 小时
注册时间
2012-1-22
帖子
64
3
 楼主| 发表于 2019-2-19 09:24:27 | 只看该作者
KB.Driver 发表于 2019-2-18 10:07
写了一个多小时,新建工程测试通过。

多谢,马上试试
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
265
在线时间
64 小时
注册时间
2012-1-22
帖子
64
4
 楼主| 发表于 2019-2-19 09:57:23 | 只看该作者
KB.Driver 发表于 2019-2-18 10:07
写了一个多小时,新建工程测试通过。

攻击敌人或者被攻击时弹出 脚本“game_battle”的第30行发生了 ArgumentError wrong number of argument(3 for 2)

game_battle 是插入的脚本

# ● 应用对于使用对象以外的效果
  #--------------------------------------------------------------------------
  def item_global_effect_apply(effect)
    if effect.code == EFFECT_COMMON_EVENT
      $game_variables[10] = (self.is_a?(Game_Actor) ? @actor_id : @enemy_id)
      $game_temp.reserve_common_event(effect.data_id)
    end
  end
  #--------------------------------------------------------------------------
  # ● 应用技能/物品的效果
  #--------------------------------------------------------------------------
  def item_apply(user, item)
    @result.clear
    @result.used = item_test(user, item)
    @result.missed = (@result.used && rand >= item_hit(user, item))
    @result.evaded = ([email protected] && rand < item_eva(user, item))
    if @result.hit?
      p "HIT"
      unless item.damage.none?
        @result.critical = (rand < item_cri(user, item))
        make_damage_value(user, item)   #30行在此
        execute_damage(user)
      end
      
      
      if item.ex_damage?
        p "Ttttt"
        a = user.atk_elements.include?(item.damage.element_id) ? item.ex_state * 2 : item.ex_state
        b = (item_element_rate(user, item)*a)*(85+rand(30))/100.0
        exd = b.round
        @ex_damage = exd.to_s
        self.ex += exd
      end
        
      #新增属性
      if self.is_a?(Game_Actor)
      item.note.scan(/<命中 (.*) (.*)>/).inject([]) do |r, i|
        self.add_params_push(i[0], i[1])
      end
      end
      
      item.effects.each {|effect| item_effect_apply(user, item, effect) }
      item_user_effect(user, item)
    end
  end
  #--------------------------------------------------------------------------
  # ● 自动获得战斗图
  #--------------------------------------------------------------------------
  def battler_name
    name = @battler_name
    states.each {|s| name = name + "_" + s.name if s.show_lihui? }
   #name = @battler_name unless FileTest.exists?("Graphics/Battlers/" + name + ".png")
    return name
  end
end



点评

下载的工程内部是没有问题的,这个是你自己用的插件脚本之间不兼容的问题。  发表于 2019-2-19 11:12
回复 支持 反对

使用道具 举报

Lv5.捕梦者

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

R考场第七期纪念奖

5
发表于 2019-2-19 11:15:23 | 只看该作者
newface 发表于 2019-2-19 09:57
攻击敌人或者被攻击时弹出 脚本“game_battle”的第30行发生了 ArgumentError wrong number of argument( ...

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

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

使用道具 举报

Lv2.观梦者

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

说实话,去跟 ...

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

使用道具 举报

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
8
 楼主| 发表于 2019-2-19 15:08:50 | 只看该作者
KB.Driver 发表于 2019-2-19 11:15
你先试试把我的脚本放在你这个出错脚本的下面试试,不行的话麻烦你附上你的战斗系统脚本。

说实话,去跟 ...

这应该是你要的脚本?

Scripts_Push.rar

20.61 KB, 下载次数: 125

Scripts.rar

227.91 KB, 下载次数: 101

回复 支持 反对

使用道具 举报

Lv5.捕梦者

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

R考场第七期纪念奖

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

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

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

使用道具 举报

Lv2.观梦者

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

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-20 19:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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