Project1

标题: 如何写特殊状态的脚本.. [打印本页]

作者: sanoky319    时间: 2007-6-25 16:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: sanoky319    时间: 2007-6-25 16:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: kaze    时间: 2007-6-25 17:10
可以参照中毒状态
作者: sanoky319    时间: 2007-6-25 17:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: kaze    时间: 2007-6-25 17:14
你会脚本的吧?
其实你可以在20号状态位置新建一个中毒状态
在中毒伤害的地方设置个条件分歧:当状态ID为20时把后面的-改成+
作者: kaze    时间: 2007-6-25 17:18
  #--------------------------------------------------------------------------
  # ● 应用连续伤害效果
  #--------------------------------------------------------------------------
  def slip_damage_effect
    # 设置伤害
    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
   if state.id ==20
    self.hp += self.damage   
     # 过程结束
    return true
   else
    self.hp -= self.damage
    # 过程结束
    return true
   end
  end

作者: sanoky319    时间: 2007-6-25 22:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: kaze    时间: 2007-6-26 00:28
#--------------------------------------------------------------------------
  # ● 应用连续伤害效果
  #--------------------------------------------------------------------------
  def slip_damage_effect
    # 设置伤害
    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
    for i in @states
      if $data_states.id ==20
        self.hp += self.damage
      else
        # HP 的伤害减法运算
        self.hp -= self.damage
      end
    # 过程结束
      return true
    end
  end


这样就好了 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~




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