Project1

标题: 有没有“不被攻击”的脚本语句?【1VIP】 [打印本页]

作者: 黑舞嗜    时间: 2011-10-15 21:11
标题: 有没有“不被攻击”的脚本语句?【1VIP】
本帖最后由 黑舞嗜 于 2011-10-15 21:18 编辑

就是打开开关后,指定的X号角色不会被怪物攻击,关闭开关后才可攻击

补充:或者谁前卫角色不死光后卫角色不会被攻击的脚本,再论坛上找了1个这样的脚本,但是用这个脚本以后还是会出现后位角色被攻击的现象,个人感觉可能是怪物的目标被另一个怪物先打死,然后这个怪物就会自动攻击1号角色,而1号角色刚好是后卫,所以,你懂得

这是那个前后位脚本
  1. class Game_Party
  2.   def random_target_actor(hp0 = false)
  3.     roulette = []
  4.     for i in 0...4
  5.       for actor in @actors
  6.         if (not hp0 and actor.exist?) or (hp0 and actor.hp0?)
  7.           if $data_classes[actor.class_id].position == i
  8.             roulette.push actor
  9.           end
  10.         end
  11.       end
  12.       return roulette[rand(roulette.size)] if roulette.size > 0
  13.     end
  14.     return nil
  15.   end
  16. end
复制代码
dsu_plus_rewardpost_czw
作者: 幻耶    时间: 2011-10-15 21:26
本帖最后由 幻耶 于 2011-10-15 21:34 编辑

不被攻击的状态号是17号,大概在在Game_Party的314行添加

  #--------------------------------------------------------------------------
  # ● 对像角色的随机确定
  #     hp0 : 限制为 HP 0 的角色
  #--------------------------------------------------------------------------
  def random_target_actor(hp0 = false)
    # 初始化轮流
    roulette = []
    # 循环
    for actor in @actors
      next if actor.state?(17)


或者,如果希望打开1号开关,1号角色不受攻击的话:
  #--------------------------------------------------------------------------
  # ● 对像角色的随机确定
  #     hp0 : 限制为 HP 0 的角色
  #--------------------------------------------------------------------------
  def random_target_actor(hp0 = false)
    # 初始化轮流
    roulette = []
    # 循环
    for actor in @actors
      if $game_switches[1] == true
        next if actor.id == 1
      end
      # 符合条件的场合




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