设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1787|回复: 3
打印 上一主题 下一主题

[已经解决] 请问如何可以做到战斗中某队员不受控制?

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
23 小时
注册时间
2010-9-12
帖子
45
跳转到指定楼层
1
发表于 2011-3-29 17:04:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv1.梦旅人

梦石
0
星屑
84
在线时间
156 小时
注册时间
2009-8-5
帖子
533
4
发表于 2011-4-17 08:50:13 | 只看该作者
  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
复制代码
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
329
在线时间
890 小时
注册时间
2009-10-12
帖子
1829
3
发表于 2011-4-10 14:57:48 | 只看该作者
给技能加一种状态,重点是这个状态的设置:
找到
限制 下拉菜单
选择后即可
或者
勾选
右方的5个选项,然后用战斗中的事件
例如攻击,减血之类的

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
「旅」 + 200 + 2

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
45 小时
注册时间
2010-8-6
帖子
50
2
发表于 2011-4-9 23:22:26 | 只看该作者
状态设置里有,自己琢磨一下吧。
我的游戏!别太期待。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-25 18:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表