查看: 2737|回复: 2

[已经过期] RMVA怎么样设置技能只能对除了自己外的友方释放吗?

[复制链接]
梦石
0
星屑
45
在线时间
7 小时
注册时间
2021-9-16
回帖
1
发表于 2021-9-19 03:10:34 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
找了一圈好像没有类似的脚本,因为我设计的技能是牺牲自己的生命值为友方恢复生命的,对自己用就太imba了
梦石
1
星屑
14373
在线时间
2109 小时
注册时间
2017-9-28
回帖
607
发表于 2021-9-20 05:28:21 | 显示全部楼层
技能备注   <除使用者外>

RGSS3_效果范围拓展
  1. #==============================================================================
  2. # ★ RGSS3_效果范围拓展 Ver1.11
  3. #==============================================================================
  4. =begin

  5. 作者:tomoaky
  6. webサイト:ひきも記は閉鎖しました。 (http://hikimoki.sakura.ne.jp/)

  7. 角色/职业/武器/护甲备注:
  8.   <普通攻击全体化>
  9.     普通攻击的效果范围变成敌方全体
  10.   
  11.   <普通攻击随机化>
  12.     普通攻击的效果范围变成随机目标
  13.     如果连续次数>1则会额外随机对目标造成伤害。

  14. 技能/物品备注:

  15.  <全部对象>
  16.     技能/物品的目标为全部敌人+全部队友
  17.   
  18.   <除使用者外>
  19.     技能/物品的目标为除使用者外的全部敌人+全部队友
  20.    
  21.   <替身有效>
  22.   <替身无效>
  23.     技能/物品是否无视代替者(保护弱者)效果
  24.   
  25.   <可以被反击>
  26.   <无法被反击>
  27.     技能/物品是否可以被反击
  28.    
  29.   <可以被反射>
  30.   <无法被反射>
  31.     技能/物品是否可以被反射

  32. 2015/09/20  Ver1.11
  33. 普通攻击全体化のキャラクターが混乱時にエラー落ちする不具合を修正
  34.    
  35. 2013/07/30  Ver1.1
  36. 身代わり、反撃、魔法反射の判定方法をスキルごとに指定する機能を追加
  37.   
  38. 2012/01/11  Ver1.01
  39. 混乱時にエラー落ちする不具合を修正
  40.   
  41. 2011/12/19 Ver1.0
  42. 公開

  43. =end

  44. #==============================================================================
  45. # □ 設定項目
  46. #==============================================================================
  47. module TMSCOPEEX
  48.   # 全体化中,是否将连续次数的设定应用与全部目标。false时,全域化只会对所有敌人
  49.   # 处理一次。
  50.   # 如果你觉得计算麻烦,请设定为 false 。
  51.   APPLY_ALL_REPEATS = true
  52.   
  53.   # 混乱时全体化的攻击是否生效,false时只会攻击一次
  54.   APPLY_ALL_CONFUSION = true
  55. end

  56. #==============================================================================
  57. # ■ RPG::UsableItem
  58. #==============================================================================
  59. class RPG::UsableItem
  60.   #--------------------------------------------------------------------------
  61.   # ● 対象の選択操作が必要か否かを判定する
  62.   #--------------------------------------------------------------------------
  63.   alias tmscopeex_usable_item_need_selection? need_selection?
  64.   def need_selection?
  65.     tmscopeex_usable_item_need_selection? && !for_field?
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ○ 敵味方全体スキルかどうかを返す
  69.   #--------------------------------------------------------------------------
  70.   def for_field?
  71.     /<全部对象>/ =~ @note
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ○ 除使用者外スキルかどうかを返す
  75.   #--------------------------------------------------------------------------
  76.   def for_not_user?
  77.     /<除使用者外>/ =~ @note
  78.   end
  79. end

  80. #==============================================================================
  81. # ■ Game_Action
  82. #==============================================================================
  83. class Game_Action
  84.   #--------------------------------------------------------------------------
  85.   # ● ターゲットの配列作成
  86.   #--------------------------------------------------------------------------
  87.   alias tmscopeex_game_action_make_targets make_targets
  88.   def make_targets
  89.     if !forcing && subject.confusion?
  90.       targets = confusion_target
  91.       if targets.is_a?(Array)
  92.         targets
  93.       else
  94.         [targets]
  95.       end
  96.     else
  97.       tmscopeex_game_action_make_targets
  98.     end
  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ● 混乱時のターゲット
  102.   #--------------------------------------------------------------------------
  103.   alias tmscopeex_game_action_confusion_target confusion_target
  104.   def confusion_target
  105.     if subject.actor? && attack? &&
  106.         TMSCOPEEX::APPLY_ALL_CONFUSION && subject.attack_for_all?
  107.       case subject.confusion_level
  108.       when 1
  109.         opponents_unit.alive_members
  110.       when 2
  111.         if rand(2) == 0
  112.           opponents_unit.alive_members
  113.         else
  114.           friends_unit.alive_members
  115.         end
  116.       else
  117.         friends_unit.alive_members
  118.       end
  119.     else
  120.       tmscopeex_game_action_confusion_target
  121.     end
  122.   end
  123.   #--------------------------------------------------------------------------
  124.   # ● 敵に対するターゲット
  125.   #--------------------------------------------------------------------------
  126.   alias tmscopeex_game_action_targets_for_opponents targets_for_opponents
  127.   def targets_for_opponents
  128.     if item.for_field?                    # 敵味方全体
  129.       opponents_unit.alive_members + friends_unit.alive_members -
  130.         (item.for_not_user? ? [subject] : [])
  131.     elsif subject.actor? && attack?
  132.       if subject.attack_for_all?          # 全体化
  133.         num = 1
  134.         num += subject.atk_times_add.to_i if TMSCOPEEX::APPLY_ALL_REPEATS
  135.         opponents_unit.alive_members * num
  136.       elsif subject.attack_for_random?    # ランダム化
  137.         Array.new(1 + subject.atk_times_add.to_i) { opponents_unit.random_target }
  138.       else
  139.         num = 1 + subject.atk_times_add.to_i
  140.         if @target_index < 0
  141.           [opponents_unit.random_target] * num
  142.         else
  143.           [opponents_unit.smooth_target(@target_index)] * num
  144.         end
  145.       end
  146.     else
  147.       tmscopeex_game_action_targets_for_opponents
  148.     end
  149.   end
  150.   #--------------------------------------------------------------------------
  151.   # ● 味方に対するターゲット
  152.   #--------------------------------------------------------------------------
  153.   alias tmscopeex_game_action_targets_for_friends targets_for_friends
  154.   def targets_for_friends
  155.     tmscopeex_game_action_targets_for_friends -
  156.       (item.for_not_user? ? [subject] : [])
  157.   end
  158. end

  159. #==============================================================================
  160. # ■ Game_Actor
  161. #==============================================================================
  162. class Game_Actor
  163.   #--------------------------------------------------------------------------
  164.   # ● スキル/アイテムの反撃率計算
  165.   #--------------------------------------------------------------------------
  166.   alias tmscopeex_game_battler_item_cnt item_cnt
  167.   def item_cnt(user, item)
  168.     return 0.0 unless opposite?(user)         # 味方には反撃しない
  169.     return 0.0 if /<无法被反击>/ =~ item.note
  170.     return cnt if /<可以被反击>/ =~ item.note
  171.     return tmscopeex_game_battler_item_cnt(user, item)
  172.   end
  173.   #--------------------------------------------------------------------------
  174.   # ● スキル/アイテムの反射率計算
  175.   #--------------------------------------------------------------------------
  176.   alias tmscopeex_game_battler_item_mrf item_mrf
  177.   def item_mrf(user, item)
  178.     return 0.0 if /<无法被反射>/ =~ item.note
  179.     return mrf if /<可以被反射>/ =~ item.note
  180.     return tmscopeex_game_battler_item_mrf(user, item)
  181.   end
  182. end

  183. #==============================================================================
  184. # ■ Game_Actor
  185. #==============================================================================
  186. class Game_Actor
  187.   #--------------------------------------------------------------------------
  188.   # ○ 通常攻撃が全体化されているかを返す
  189.   #--------------------------------------------------------------------------
  190.   def attack_for_all?
  191.     text = self.actor.note + self.class.note
  192.     equips.compact.each {|item| text += item.note }
  193.     states.each {|state| text += state.note }
  194.     /<普通攻击全体化>/ =~ text
  195.   end
  196.   #--------------------------------------------------------------------------
  197.   # ○ 通常攻撃がランダム化されているかを返す
  198.   #--------------------------------------------------------------------------
  199.   def attack_for_random?
  200.     text = self.actor.note + self.class.note
  201.     equips.compact.each {|item| text += item.note }
  202.     states.each {|state| text += state.note }
  203.     /<普通攻击随机化>/ =~ text
  204.   end
  205.   #--------------------------------------------------------------------------
  206.   # ○ 通常攻撃のターゲット選択が必要かどうかを返す
  207.   #--------------------------------------------------------------------------
  208.   def need_attack_selection?
  209.     (!attack_for_all? && !attack_for_random?)
  210.   end
  211. end

  212. #==============================================================================
  213. # ■ Scene_Battle
  214. #==============================================================================
  215. class Scene_Battle
  216.   #--------------------------------------------------------------------------
  217.   # ● コマンド[攻撃] 【再定義】
  218.   #--------------------------------------------------------------------------
  219.   def command_attack
  220.     BattleManager.actor.input.set_attack
  221.     if BattleManager.actor.need_attack_selection?
  222.       select_enemy_selection
  223.     else
  224.       next_command
  225.     end
  226.   end
  227.   #--------------------------------------------------------------------------
  228.   # ● 身代わり条件チェック
  229.   #--------------------------------------------------------------------------
  230.   alias tmscopeex_scene_battle_check_substitute check_substitute
  231.   def check_substitute(target, item)
  232.     return false if /<替身无效>/ =~ item.note
  233.     return (target.hp < target.mhp) / 4 if /<替身有效>/ =~ item.note
  234.     tmscopeex_scene_battle_check_substitute(target, item)
  235.   end
  236. end


复制代码

评分

参与人数 1星屑 +30 赞 +1 收起 理由
alexncf125 + 30 + 1 搬动费~

查看全部评分

VA外站脚本汉化群:226308173   |    部分远古文件备份:https://wwzv.lanzoue.com/b02rac5pc  密码:acgm
回复

使用道具 举报

梦石
0
星屑
45
在线时间
7 小时
注册时间
2021-9-16
回帖
1
 楼主| 发表于 2021-9-20 10:22:45 | 显示全部楼层
Nil2018 发表于 2021-9-20 05:28
技能备注   

RGSS3_效果范围拓展

试了一下,虽然对自己使用无效了,但是还是可以选择以自己为目标,这样白白耗费了一个回合,可以改成把自己排除在列表外吗?
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部