Project1

标题: 状态的事件脚本请教~ [打印本页]

作者: 阮声悠悠    时间: 2018-8-6 03:08
标题: 状态的事件脚本请教~
最近在魔改系统,需要让敌或者我方全体附加某一个状态,只能用脚本写

每次都要判断1号敌人有没有,有的话再附加状态,要写8段感觉很麻烦~

在事件里面,有我方/敌方全体附加状态的,用脚本该怎么写呢

在论坛搜索不到哈,来请教大大们了!!

作者: SailCat    时间: 2018-8-6 08:09
class Game_Party
  def add_state(x)
    self.actors.each {|a| a.add_state(x) unless a.state?(x)}
  end
  def remove_state(x)
    self.actors.each {|a| a.remove_state(x) if a.state?(x)}
  end
end
class Game_Troop
  def add_state(x)
    self.enemies.each {|e| e.add_state(x) unless e.state?(x)}
  end
  def remove_state(x)
    self.enemies.each {|e| e.remove_state(x) if e.state?(x)}
  end
end

作者: ppspssss    时间: 2018-8-22 12:53
本帖最后由 ppspssss 于 2018-8-22 13:39 编辑

楼主你的图片那个設定不就行了
  #--------------------------------------------------------------------------
  # ● 更改状态
  #--------------------------------------------------------------------------
  def command_313
    # 处理重复
    iterate_actor(@parameters[0]) do |actor|
      # 更改状态
      if @parameters[1] == 0
        actor.add_state(@parameters[2])
      else
        actor.remove_state(@parameters[2])
      end
    end
    # 继续
    return true
  end

  #--------------------------------------------------------------------------
  # ● 更改敌人的状态
  #--------------------------------------------------------------------------
  def command_333
    # 处理循环
    iterate_enemy(@parameters[0]) do |enemy|
      # 状态选项 [当作 HP 为 0 的状态] 有效的情况下
      if $data_states[@parameters[2]].zero_hp
        # 清除不死身标志
        enemy.immortal = false
      end
      # 更改状态
      if @parameters[1] == 0
        enemy.add_state(@parameters[2])
      else
        enemy.remove_state(@parameters[2])
      end
    end
    # 继续
    return true
  end







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