Project1

标题: 连续伤害效果的叠加 [打印本页]

作者: 老虎虎TIGER    时间: 2014-8-21 21:47
标题: 连续伤害效果的叠加
果然到现在还是没学懂脚本...本来不打算求人的QAQ,但是之前在论坛里找到了那个帖子自己摸索了一下各种脚本错误,所以只能请大神来帮忙了。
顺道问一下怎么制作连续伤害里面添加一个加血状态。我学懂脚本以后一定回来帮忙了→_→听说我这种伸手党会被鄙视....
这个是目前的连续伤害脚本,需要添加持续回血状态+2种出血状态叠加...
  #--------------------------------------------------------------------------
  # ● 应用连续伤害效果
  #--------------------------------------------------------------------------
  def slip_damage_effect
    # 设置伤害
     if self.state?(19)
       self.damage = 200
     elsif self.state?(20)
       self.damage = 860
     elsif self.state?(21)
       self.damage = 1200
         else  
     self.damage = self.maxhp / 10
    # 分散
    if self.damage.abs > 0
      amp = [self.damage.abs * 15 / 100, 1].max
      self.damage += rand(amp+1) + rand(amp+1) - amp
    end
    # HP 的伤害减法运算
    self.hp -= self.damage
    # 过程结束
    return true
  end  
end
作者: 未命名    时间: 2014-8-21 23:17
我记得你……你不是已经做好了吗?
把self.damage的值改为负值就是加血了。
作者: 老虎虎TIGER    时间: 2014-8-22 10:47
未命名 发表于 2014-8-21 23:17
我记得你……你不是已经做好了吗?
把self.damage的值改为负值就是加血了。

可是我发现一个事情- -不能够叠加诶,造成连续伤害以后另一个状态连续伤害2不会显示伤害。怎么办- -我想要2种伤害都会出现
作者: 未命名    时间: 2014-8-22 13:42
老虎虎TIGER 发表于 2014-8-22 10:47
可是我发现一个事情- -不能够叠加诶,造成连续伤害以后另一个状态连续伤害2不会显示伤害。怎么办- -我想 ...

要不……改成这样:
RUBY 代码复制
  1. self.damage = 0
  2.      if self.state?(19)
  3.        self.damage -= 200
  4.      end
  5.      if self.state?(20)
  6.        self.damage -= 860
  7.      end
  8.      if self.state?(21)
  9.        self.damage -= 1200
  10.      end
  11.      if self.state?(3)
  12.        self.damage += self.maxhp / 10
  13.      end


这样的意思是把所有连续伤害状态的伤害加起来,然后直接显示结果。
比如有19和20号状态。
最后会显示回复1060。
19和3,则是回复200-maxhp/10。

作者: 老虎虎TIGER    时间: 2014-8-22 16:42
未命名 发表于 2014-8-22 13:42
要不……改成这样:
     self.damage = 0
     if self.state?(19)

脚本错误诶- -...是添加在哪里?

作者: 未命名    时间: 2014-8-22 17:17
本帖最后由 未命名 于 2014-8-22 17:27 编辑
老虎虎TIGER 发表于 2014-8-22 16:42
脚本错误诶- -...是添加在哪里?


  #--------------------------------------------------------------------------
  # ● 应用连续伤害效果
  #--------------------------------------------------------------------------
  def slip_damage_effect
    # 设置伤害
#############################################
##########
    self.damage = 0
    if self.state?(19)
      self.damage -= 200
    end
    if self.state?(20)
      self.damage -= 860
    end
    if self.state?(21)
      self.damage -= 1200
    end
    if self.state?(3)
      self.damage += self.maxhp / 10
    end
########
############################################
    # 分散
    if self.damage.abs > 0
      amp = [self.damage.abs * 15 / 100, 1].max
      self.damage += rand(amp+1) + rand(amp+1) - amp
    end
    # HP 的伤害减法运算
    self.hp -= self.damage
    # 过程结束
    return true
  end  

我估计你是多了或少了个end……

好吧,最终结果应该是这样的:

作者: 老虎虎TIGER    时间: 2014-8-22 17:52
未命名 发表于 2014-8-22 17:17
#--------------------------------------------------------------------------
  # ● 应用连续伤害 ...

谢谢啦`多了一个END..




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1