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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 神秘影子
打印 上一主题 下一主题

[已经过期] 怎么设置没有使用者,能同时攻击敌人方和主角方的技能?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
104
在线时间
900 小时
注册时间
2012-11-13
帖子
893
11
发表于 2015-6-14 17:30:04 | 只看该作者
某合集找到的
RUBY 代码复制
  1. #==============================================================================
  2. # ★ RGSS3_スコープ拡張 Ver1.01
  3. #==============================================================================
  4. =begin
  5.  
  6. 作者:tomoaky
  7. webサイト:ひきも記 ([url]http://hikimoki.sakura.ne.jp/[/url])
  8.  
  9. 通常攻撃の効果範囲にランダム化、全体化などを追加します、
  10. アクター、職業、武器、防具のメモ欄に以下のタグを書き込んでください。
  11.   <通常攻撃全体化>
  12.   通常攻撃の効果範囲が敵全体になります
  13.  
  14.   <通常攻撃ランダム化>
  15.   通常攻撃の効果範囲が敵 1 体ランダムになります
  16.   ただし、攻撃追加回数が設定されている場合は、ランダムなターゲットへ
  17.   追加攻撃が発生します。
  18.  
  19. スキル(アイテム)の効果範囲を『敵味方全体』にする、
  20. スキル、アイテムのメモ欄に以下のタグを書き込んでください。
  21.  <敵味方全体>
  22.  
  23. スキル(アイテム)の効果範囲から使用者を除外する、
  24. スキル、アイテムのメモ欄に以下のタグを書き込んでください。
  25.   <使用者除外>
  26.  
  27. 2012.01.11  Ver1.01
  28.  混乱時にエラー落ちする不具合を修正
  29.  
  30. 2011.12.19 Ver1.0
  31.   公開
  32.  
  33. =end
  34.  
  35. #==============================================================================
  36. # □ 設定項目
  37. #==============================================================================
  38. module TMSCOPEEX
  39.   # 全体化に攻撃追加回数の設定を適用するかどうか、false にすれば
  40.   # 全体化攻撃はすべての敵に1回だけダメージを与えるようになります。
  41.   # 『攻撃追加回数8の武器』と『通常攻撃全体化の装飾品』などを
  42.   # 組み合わせられるとまずい場合は false にしてください。
  43.   APPLY_ALL_REPEATS = true
  44.  
  45.   # 混乱時にも全体化を適用するかどうか、false なら混乱時は単体攻撃になります
  46.   APPLY_ALL_CONFUSION = true
  47. end
  48.  
  49. #==============================================================================
  50. # ■ RPG::UsableItem
  51. #==============================================================================
  52. class RPG::UsableItem
  53.   #--------------------------------------------------------------------------
  54.   # ● 対象の選択操作が必要か否かを判定する
  55.   #--------------------------------------------------------------------------
  56.   alias tmscopeex_usable_item_need_selection? need_selection?
  57.   def need_selection?
  58.     tmscopeex_usable_item_need_selection? && !for_field?
  59.   end
  60.   #--------------------------------------------------------------------------
  61.   # ○ 敵味方全体スキルかどうかを返す
  62.   #--------------------------------------------------------------------------
  63.   def for_field?
  64.     /<敵味方全体>/ =~ @note
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ○ 使用者除外スキルかどうかを返す
  68.   #--------------------------------------------------------------------------
  69.   def for_not_user?
  70.     /<使用者除外>/ =~ @note
  71.   end
  72. end
  73.  
  74. #==============================================================================
  75. # ■ Game_Action
  76. #==============================================================================
  77. class Game_Action
  78.   #--------------------------------------------------------------------------
  79.   # ● 混乱時のターゲット
  80.   #--------------------------------------------------------------------------
  81.   alias tmscopeex_game_action_confusion_target confusion_target
  82.   def confusion_target
  83.     if subject.actor? && attack? &&
  84.         TMSCOPEEX::APPLY_ALL_CONFUSION && subject.attack_for_all?
  85.       case subject.confusion_level
  86.       when 1
  87.         opponents_unit.alive_members
  88.       when 2
  89.         if rand(2) == 0
  90.           opponents_unit.alive_members
  91.         else
  92.           friends_unit.alive_members
  93.         end
  94.       else
  95.         friends_unit.alive_members
  96.       end
  97.     else
  98.       tmscopeex_game_action_confusion_target
  99.     end
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● 敵に対するターゲット
  103.   #--------------------------------------------------------------------------
  104.   alias tmscopeex_game_action_targets_for_opponents targets_for_opponents
  105.   def targets_for_opponents
  106.     if item.for_field?                    # 敵味方全体
  107.       opponents_unit.alive_members + friends_unit.alive_members -
  108.         (item.for_not_user? ? [subject] : [])
  109.     elsif subject.actor? && attack?
  110.       if subject.attack_for_all?          # 全体化
  111.         num = 1
  112.         num += subject.atk_times_add.to_i if TMSCOPEEX::APPLY_ALL_REPEATS
  113.         opponents_unit.alive_members * num
  114.       elsif subject.attack_for_random?    # ランダム化
  115.         Array.new(1 + subject.atk_times_add.to_i) { opponents_unit.random_target }
  116.       else
  117.         num = 1 + subject.atk_times_add.to_i
  118.         if @target_index < 0
  119.           [opponents_unit.random_target] * num
  120.         else
  121.           [opponents_unit.smooth_target(@target_index)] * num
  122.         end
  123.       end
  124.     else
  125.       tmscopeex_game_action_targets_for_opponents
  126.     end
  127.   end
  128.   #--------------------------------------------------------------------------
  129.   # ● 味方に対するターゲット
  130.   #--------------------------------------------------------------------------
  131.   alias tmscopeex_game_action_targets_for_friends targets_for_friends
  132.   def targets_for_friends
  133.     tmscopeex_game_action_targets_for_friends -
  134.       (item.for_not_user? ? [subject] : [])
  135.   end
  136. end
  137.  
  138. #==============================================================================
  139. # ■ Game_Actor
  140. #==============================================================================
  141. class Game_Actor
  142.   #--------------------------------------------------------------------------
  143.   # ○ 通常攻撃が全体化されているかを返す
  144.   #--------------------------------------------------------------------------
  145.   def attack_for_all?
  146.     text = self.actor.note + self.class.note
  147.     equips.compact.each {|item| text += item.note }
  148.     states.each {|state| text += state.note }
  149.     /<通常攻撃\s*全体化>/ =~ text
  150.   end
  151.   #--------------------------------------------------------------------------
  152.   # ○ 通常攻撃がランダム化されているかを返す
  153.   #--------------------------------------------------------------------------
  154.   def attack_for_random?
  155.     text = self.actor.note + self.class.note
  156.     equips.compact.each {|item| text += item.note }
  157.     states.each {|state| text += state.note }
  158.     /<通常攻撃\s*ランダム化>/ =~ text
  159.   end
  160.   #--------------------------------------------------------------------------
  161.   # ○ 通常攻撃のターゲット選択が必要かどうかを返す
  162.   #--------------------------------------------------------------------------
  163.   def need_attack_selection?
  164.     (!attack_for_all? && !attack_for_random?)
  165.   end
  166. end
  167.  
  168. #==============================================================================
  169. # ■ Scene_Battle
  170. #==============================================================================
  171. class Scene_Battle
  172.   #--------------------------------------------------------------------------
  173.   # ● コマンド[攻撃] 【再定義】
  174.   #--------------------------------------------------------------------------
  175.   def command_attack
  176.     BattleManager.actor.input.set_attack
  177.     if BattleManager.actor.need_attack_selection?
  178.       select_enemy_selection
  179.     else
  180.       next_command
  181.     end
  182.   end
  183. end

用法就不用我说了吧

点评

刚好15天  发表于 2015-6-14 17:32
废弃
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-23 07:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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