查看: 5664|回复: 17

[已经解决] 看完转生史莱姆,想做一个利姆露的捕食技能【已解决】

[复制链接]
梦石
0
星屑
1966
在线时间
112 小时
注册时间
2017-9-5
回帖
157
发表于 2019-6-5 09:30:40 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 间桐樱 于 2019-6-5 18:15 编辑

复制敌人全部技能的问题已经解决了,就是敌人有伤害减免一类出现了一点点小问题,咱设定中捕食技能积攒满tp可用,会直接吃掉敌人,吸收对方的生命力且获得其全部技能
但对方如果进行防御或减伤的话,就会出现敌人没有死掉的情况,然后咱就做了下面的代码,在hp不能归零的情况下切换代码中的设定,直接判定吸取其生命力,并且敌人死亡
然后,出问题了,没有return if的判定,就会出现吸收敌人双倍的hp,设定伤害小于对方mhp的情况再启动代码,却总是报错QAQ

      return user.hp = user.hp + self.hp if damage < self.mhp
      return self.hp = self.hp - self.mhp if damage < self.mhp

捕食技能

捕食技能
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2019-6-5 11:12:40 | 显示全部楼层
本帖最后由 soulsaga 于 2019-6-5 11:19 编辑

我想大概是这里damage已经是字符串了..所以会报错?
所以不可能在后面加判断..
回复

使用道具 举报

梦石
0
星屑
1966
在线时间
112 小时
注册时间
2017-9-5
回帖
157
 楼主| 发表于 2019-6-5 12:27:43 | 显示全部楼层
soulsaga 发表于 2019-6-5 11:12
我想大概是这里damage已经是字符串了..所以会报错?
所以不可能在后面加判断.. ...

不加判定倒是可以使用,但是吸收到的hp是敌人hp的两倍,沮丧
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2019-6-5 13:10:11 | 显示全部楼层
间桐樱 发表于 2019-6-5 12:27
不加判定倒是可以使用,但是吸收到的hp是敌人hp的两倍,沮丧

你发一下这段脚本..还是是默认脚本?
回复

使用道具 举报

梦石
0
星屑
1966
在线时间
112 小时
注册时间
2017-9-5
回帖
157
 楼主| 发表于 2019-6-5 15:16:31 | 显示全部楼层
soulsaga 发表于 2019-6-5 13:10
你发一下这段脚本..还是是默认脚本?

?
user.hp = user.hp + self.hp
self.hp = self.hp - self.mhp
没有判定就能正常运行
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2019-6-5 15:20:49 | 显示全部楼层
间桐樱 发表于 2019-6-5 15:16
?
user.hp = user.hp + self.hp
self.hp = self.hp - self.mhp

你这脚本写在哪里的..我想问的是..
回复

使用道具 举报

梦石
0
星屑
1966
在线时间
112 小时
注册时间
2017-9-5
回帖
157
 楼主| 发表于 2019-6-5 17:34:06 | 显示全部楼层
soulsaga 发表于 2019-6-5 15:20
你这脚本写在哪里的..我想问的是..

  #--------------------------------------------------------------------------
  # 伤害计算
  #--------------------------------------------------------------------------
  def make_damage_value(user, item)
    value = item.damage.eval(user, self, $game_variables)
    value *= item_element_rate(user, item)
    value *= pdr if item.physical?
    value *= mdr if item.magical?
    value *= rec if item.damage.recover?
    value = apply_critical(value, user) if @result.critical
    value = apply_variance(value, item.damage.variance)
    value = apply_guard(value)
    @result.make_damage(value.to_i, item)
  # HP吸收
    if skill_id = 66
      return user.hp = user.hp + self.hp if damage < self.mhp
      retrun self.hp = self.hp - self.mhp if damage < self.mhp
    end
  end
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2019-6-5 17:46:52 | 显示全部楼层
本帖最后由 soulsaga 于 2019-6-5 17:50 编辑

[pre lang="ruby"]#--------------------------------------------------------------------------
  # 伤害计算
  #--------------------------------------------------------------------------
  def make_damage_value(user, item)
    value = item.damage.eval(user, self, $game_variables)
    value *= item_element_rate(user, item)
    value *= pdr if item.physical?
    value *= mdr if item.magical?
    value *= rec if item.damage.recover?
    value = apply_critical(value, user) if @result.critical
    value = apply_variance(value, item.damage.variance)
    value = apply_guard(value)
# HP吸收
    value = self.hp if item.id = 66 and item.is_a?(RPG::Skill)
    @result.make_damage(value.to_i, item)
  end[/pre]

你去哪找skill_id和damage来用..不报错才怪..

评分

参与人数 2星屑 +50 赞 +1 收起 理由
VIPArcher + 50 认可答案
间桐樱 + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
1966
在线时间
112 小时
注册时间
2017-9-5
回帖
157
 楼主| 发表于 2019-6-5 18:08:23 | 显示全部楼层
soulsaga 发表于 2019-6-5 17:46
#--------------------------------------------------------------------------
  # 伤害计算
  #-------- ...

前辈斯国一!咱好多东西都是看到别人发的脚本里有就搬过来了,照猫画虎的,诶嘿♪~
回复

使用道具 举报

梦石
0
星屑
1966
在线时间
112 小时
注册时间
2017-9-5
回帖
157
 楼主| 发表于 2019-6-5 21:58:50 | 显示全部楼层
soulsaga 发表于 2019-6-5 17:46
#--------------------------------------------------------------------------
  # 伤害计算
  #-------- ...

前辈~这里面还能加一行mp的伤害和吸收吗(小心翼翼)
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部