Project1

标题: 请问如何可以做到战斗中某队员不受控制? [打印本页]

作者: 慕月寒霜    时间: 2011-3-29 17:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: 勃雷    时间: 2011-4-9 23:22
状态设置里有,自己琢磨一下吧。
作者: 日月星辰    时间: 2011-4-10 14:57
给技能加一种状态,重点是这个状态的设置:
找到
限制 下拉菜单
选择后即可
或者
勾选
右方的5个选项,然后用战斗中的事件
例如攻击,减血之类的
作者: 传说中di    时间: 2011-4-17 08:50
  1. 把“普通攻击同伴”改为“随机魔法攻击”比较简单。
  2. .restriction == 3就是“普通攻击同伴”,找到之后改为随机用一个魔法:

  3. Scene_Battle 4的def make_basic_action_result就是生成结果。把里面普通攻击同伴改为这样:

  4. list = [7,8,10,11,13,14]
  5. sk = $data_skills[list[rand(list.size)]]
  6. target = $game_troop.random_target_enemy
  7. target.skill_effect(@active_battler,sk)
  8. p target.damage#这句可以不要
  9. @target_battlers = [target]
  10. @animation1_id = sk.animation1_id
  11. @animation2_id = sk.animation2_id
  12. return

  13. 其中list是可选魔法列表,这里用的是针对单个敌人的。你可以自己尝试改为根据技能的攻击范围来选对象。

  14. 本段脚本如下:

  15.      #--------------------------------------------------------------------------
  16.   # ● 生成基本行动结果
  17.   #--------------------------------------------------------------------------
  18.   def make_basic_action_result
  19.     # 攻击的情况下
  20.     if @active_battler.current_action.basic == 0
  21.       # 设置攻击 ID
  22.       @animation1_id = @active_battler.animation1_id
  23.       @animation2_id = @active_battler.animation2_id
  24.       # 行动方的战斗者是敌人的情况下
  25.       if @active_battler.is_a?(Game_Enemy)
  26.         if @active_battler.restriction == 3
  27.           #-------------------
  28.           # 柳柳到此一游★
  29.           #-------------------
  30.           list = [7,8,10,11,13,14]
  31.           sk = $data_skills[list[rand(list.size)]]
  32.           target = $game_party.random_target_actor
  33.           target.skill_effect(@active_battler,sk)
  34.           p target.damage#这句可以不要
  35.           @target_battlers = [target]
  36.           @animation1_id = sk.animation1_id
  37.           @animation2_id = sk.animation2_id
  38.           return
  39.           #-------------------
  40.           # 柳柳到此一游完毕★
  41.           #-------------------
  42.         elsif @active_battler.restriction == 2
  43.           target = $game_party.random_target_actor
  44.         else
  45.           index = @active_battler.current_action.target_index
  46.           target = $game_party.smooth_target_actor(index)
  47.         end
  48.       end
  49.       # 行动方的战斗者是角色的情况下
  50.       if @active_battler.is_a?(Game_Actor)
  51.         if @active_battler.restriction == 3
  52.           #-------------------
  53.           # 柳柳到此一游★
  54.           #-------------------
  55.           list = [7,8,10,11,13,14]
  56.           sk = $data_skills[list[rand(list.size)]]
  57.           target = $game_troop.random_target_enemy
  58.           target.skill_effect(@active_battler,sk)
  59.           p target.damage#这句可以不要
  60.           @target_battlers = [target]
  61.           @animation1_id = sk.animation1_id
  62.           @animation2_id = sk.animation2_id
  63.           return
  64.           #-------------------
  65.           # 柳柳到此一游完毕★
  66.           #-------------------
  67.         elsif @active_battler.restriction == 2
  68.           target = $game_troop.random_target_enemy
  69.         else
  70.           index = @active_battler.current_action.target_index
  71.           target = $game_troop.smooth_target_enemy(index)
  72.         end
  73.       end
  74.       # 设置对像方的战斗者序列
  75.       @target_battlers = [target]
  76.       # 应用通常攻击效果
  77.       for target in @target_battlers
  78.         target.attack_effect(@active_battler)
  79.       end
  80.       return
  81.     end
  82.     # 防御的情况下
  83.     if @active_battler.current_action.basic == 1
  84.       # 帮助窗口显示"防御"
  85.       @help_window.set_text($data_system.words.guard, 1)
  86.       return
  87.     end
  88.     # 逃跑的情况下
  89.     if @active_battler.is_a?(Game_Enemy) and
  90.        @active_battler.current_action.basic == 2
  91.       #  帮助窗口显示"逃跑"
  92.       @help_window.set_text("逃跑", 1)
  93.       # 逃跑
  94.       @active_battler.escape
  95.       return
  96.     end
  97.     # 什么也不做的情况下
  98.     if @active_battler.current_action.basic == 3
  99.       # 清除强制行动对像的战斗者
  100.       $game_temp.forcing_battler = nil
  101.       # 移至步骤 1
  102.       @phase4_step = 1
  103.       return
  104.     end
  105.   end

  106. # if @active_battler.restriction == 3在这下面加 list = [7,8,10,11,13,14]
  107.           sk = $data_skills[list[rand(list.size)]]
  108.           target = $game_party.random_target_actor
  109.           target.skill_effect(@active_battler,sk)
  110.           p target.damage
  111.           @target_battlers = [target]
  112.           @animation1_id = sk.animation1_id
  113.           @animation2_id = sk.animation2_id
  114.           return
复制代码





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