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

Project1

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

[有事请教] 我写的脚本与前面装的脚本发生冲突,求解决

[复制链接]

Lv2.观梦者

梦石
0
星屑
759
在线时间
122 小时
注册时间
2024-4-13
帖子
70
跳转到指定楼层
1
发表于 2024-8-10 02:59:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 chen12311 于 2024-8-10 10:30 编辑

我不知道是不是脚本冲突的问题,但改了几次还是出现了一样的问题附图和代码

RUBY 代码复制
  1. module BattleCommand_Custom
  2.   ACTOR_COMMAND_LIST = [:attack, :skill, :rout, :guard, :item, :escape]
  3. end
  4. module Text
  5.   ZHU_ID=[]
  6.   SKILL_ID=[]
  7.   #副武器ID#
  8.   FU_ROUT_ID=[5,44,47]
  9.   #副武器无法ID#
  10.   WU_FU_ROUT_RATES=[92,70,71]
  11.   #主武器ID#
  12.   ZHU_ROUT_ID=[158,166,167,168]
  13.   #主武器状态ID(比如你通过技能获得状态判断其状态和武器ID更改技能)#
  14.   ZHU_ROUT_RATES=[106,116,117,118]
  15.   #主武器状态无法ID#
  16.   WU_ZHU_ROUT_RATES=[107,108,109,110]
  17.   #其他主武器ID(比如单个武器的ID)#
  18.   ZHU_DAN_ROUT_ID=[169,187]
  19.   #其他主武器无法状态ID#
  20.   WU_ZHU_DAN_RATES=[111,124]
  21.   #副武器数据库ID#
  22.   SKILL_I=[1,2,3]
  23.   SKILL_ID[1]=["霰弹击溃",69]
  24.   SKILL_ID[2]=["枪火击溃",70]
  25.   SKILL_ID[3]=["枪火击溃",71]
  26.   #主武器数据库ID#
  27.   ZHU_II=[1,2,3,4]
  28.   ZHU_ID[1]=["炮火击溃",126]
  29.   ZHU_ID[2]=["炮火击溃",127]
  30.   ZHU_ID[3]=["炮火击溃",128]
  31.   ZHU_ID[4]=["炮火击溃",129]
  32.   ZHU_ID[5]=["炮火击溃",130]
  33.   ZHU_ID[6]=["法术轰击",169]
  34.   #空手的ID#
  35.   ROUT_ID=["弱点击溃",27]
  36.   WU_ROUT_RATES=[86]
  37. end
  38. #获得技能ID
  39.  
  40. class Game_Actor < Game_Battler
  41.   @weapon_num=0
  42.   @fu_weapon_num=0
  43.   @qi_weapon_num=0
  44.   Text::ZHU_ROUT_ID.each {|w| @weapon_num+=1}
  45.   Text::FU_ROUT_ID.each {|w| @fu_weapon_num+=1}
  46.   Text::ZHU_DAN_ROUT_ID.each {|w| @qi_weapon_num+=1}
  47.   def weapon_id?(item_id)
  48.     @equips[0].include?($data_weapons[item_id])
  49.     unless @equips[0].include?($data_weapons[item_id])==true
  50.       @equips[1].include?($data_armors[item_id])
  51.     end
  52.   end
  53. end
  54. class NilClass
  55.   def method_missing(m, *args, &block)
  56.     self
  57.   end
  58. end
  59. class Game_Action
  60.   def rout?
  61.     item == $data_skills[subject.rout_skill_id]
  62.   end
  63.   def set_rout
  64.     set_skill(subject.rout_skill_id)
  65.     self
  66.   end
  67. end
  68. class Game_BattlerBase
  69.   def get_rout_skill
  70.     @fu=true
  71.     @rout_skill_id=0
  72.     @weapon_num.each do |w|
  73.       @fu=false if $game_party.battle_members[0].weapon_id?(Text::ZHU_ROUT_ID[w])==true && $game_actors[$game_variables[14]].state?(Text::ZHU_ROUT_RATES[w-1])== true
  74.       @rout_skill_id=Text::ZHU_ROUT_ID[w] if $game_party.battle_members[0].weapon_id?(Text::ZHU_ROUT_ID[w])==true && $game_actors[$game_variables[14]].state?(Text::ZHU_ROUT_RATES[w-1])== true
  75.     end
  76.     @fu_weapon_num.each do |w|
  77.       @fu=false if $game_party.battle_members[1].weapon_id?(Text::FU_ROUT_ID[w])==true
  78.       @rout_skill_id=Text::FU_ROUT_ID[w] if $game_party.battle_members[1].weapon_id?(Text::FU_ROUT_ID[w])==true
  79.     end
  80.     @qi_weapon_num.each do |w|
  81.       @fu=false if $game_party.battle_members[0].weapon_id?(Text::ZHU_DAN_ROUT_ID[w])==true
  82.       @rout_skill_id=Text::ZHU_DAN_ROUT_ID[w] if $game_party.battle_members[0].weapon_id?(Text::ZHU_DAN_ROUT_ID[w])==true
  83.     end
  84.   end
  85.   def rout_skill_id
  86.     get_rout_skill
  87.     return @rout_skill_id if @rout_skill_id >=0
  88.     unless @rout_skill_id >=0
  89.       return Text::ROUT_ID[1]
  90.     end
  91.   end
  92. #判定技能使用
  93.   def rout_usable?
  94.     usable?($data_skills[rout_skill_id])
  95.   end
  96. end
  97. class Window_ActorCommand < Window_Command
  98.   def make_command_list_by_symbol(symbol)
  99.     case symbol
  100.     when :attack    ; add_attack_command
  101.     when :skill     ; add_skill_commands
  102.     when :rout      ;add_rout_command
  103.     when :guard     ; add_guard_command
  104.     when :item      ; add_item_command
  105.     when :escape    ; add_escape_command
  106.     when :CW_party  ; add_CW_party_command
  107.     when :DA_party  ; add_DA_party_command
  108.     end
  109.   end
  110. end
  111. class Window_ActorCommand < Window_Command
  112.   def add_rout_command
  113.     add_command(Vocab::rout, :rout, @actor.rout_usable?)
  114.   end
  115. end
  116. class Scene_Battle < Scene_Base
  117.   def command_rout
  118.     BattleManager.actor.input.set_rout
  119.     select_enemy_selection
  120.   end
  121. end
  122. #以上为谈话技能选项的前台,不能显示谈判选项
  123. class Game_Temp
  124.   attr_accessor :battle_rout
  125.   alias initialize_battle_rout initialize
  126.   def initialize
  127.     initialize_battle_rout  
  128.   end
  129. end
  130. class Window_ActorCommand < Window_Command
  131.   def add_rout_command
  132.     Text::SKILL_I.each do |w|
  133.       return add_command([Text::SKILL_ID[w][0], nil], :rout, true) if $game_party.battle_members[0].equips[1].id == Text::SKILL_ID[w][1]
  134.     end
  135.     Text::ZHU_II.each do |w|
  136.       return add_command([Text::SKILL_ID[w][0], nil], :rout, true) if $game_party.battle_members[0].equips[1].id == Text::ZHU_ID[w][1]
  137.     end
  138.     return add_command([Text::ZHU_ID[5][0], nil], :rout, true) if $game_party.battle_members[0].equips[0].id == Text::ZHU_ID[5][1]
  139. ####
  140.     return add_command([Text::ZHU_ID[6][0], nil], :rout, true) if $game_party.battle_members[0].equips[0].id == Text::ZHU_ID[6][1]
  141. ####
  142.     return add_command(Text::ROUT_ID, :rout, true)
  143.   end
  144.   def set_up(a)
  145.     @actor=a
  146.     clear_command_list
  147.     make_command_list
  148.     refresh
  149.     select(0)
  150.     activate
  151.     open
  152.   end
  153. end
  154. class Game_Battler < Game_BattlerBase
  155.   def attack_apply(attacker)
  156.     item_apply(attacker, $data_skills[attacker.rout_skill_id])
  157.   end
  158. end
  159. class Scene_Battle < Scene_Base
  160.   alias create_all_windows_rout create_all_windows
  161.   def create_all_windows
  162.     create_all_windows_rout
  163.   end
  164.   alias create_actor_command_window_rout create_actor_command_window
  165.   def create_actor_command_window
  166.     create_actor_command_window_rout
  167.     @actor_command_window.set_handler(:rout, method(:command_rout))
  168.   end
  169.   #--------------------------------------------------------------------------
  170.   # ● 确定敌人
  171.   #--------------------------------------------------------------------------
  172.   def on_enemy_ok
  173.     BattleManager.actor.input.target_index = @enemy_window.enemy.index
  174.     @enemy_window.hide
  175.     @skill_window.hide
  176.     @item_window.hide
  177.     next_command
  178.   end
  179.   #--------------------------------------------------------------------------
  180.   # ● 敌人“取消”
  181.   #--------------------------------------------------------------------------
  182.   alias rout_on_enemy_cancel on_enemy_cancel
  183.   def on_enemy_cancel
  184.     case @actor_command_window.current_symbol
  185.     when :rout
  186.       @actor_command_window.activate
  187.     end
  188.     rout_on_enemy_cancel
  189.   end
  190. end
  191.   #--------------------------------------------------------------------------
  192.   # ● 技能无法使用
  193.   #--------------------------------------------------------------------------
  194. class Window_Command < Window_Selectable
  195.   def command_enabled?(index)
  196.     if(@list[index][:name][0] == Text::SKILL_ID[1][0] &&$game_party.battle_members[0].equips[1].id == Text::SKILL_ID[1][1] && $game_actors[$game_variables[14]].state?(Text::WU_FU_ROUT_RATES[0])== true)
  197.       @list[index][:enabled] = false
  198.     elsif(@list[index][:name][0] == Text::SKILL_ID[2][0] &&$game_party.battle_members[0].equips[1].id == Text::SKILL_ID[2][1] && $game_actors[$game_variables[14]].state?(Text::WU_FU_ROUT_RATES[1])== true)
  199.       @list[index][:enabled] = false
  200.     elsif(@list[index][:name][0] == Text::SKILL_ID[3][0] &&$game_party.battle_members[0].equips[1].id == Text::SKILL_ID[3][1] && $game_actors[$game_variables[14]].state?(Text::WU_FU_ROUT_RATES[2])== true)
  201.       @list[index][:enabled] = false
  202. ####
  203.     elsif(@list[index][:name][0] == Text::ZHU_ID[1][0] &&$game_party.battle_members[0].equips[0].id == Text::ZHU_ID[1][1] && $game_actors[$game_variables[14]].state?(Text::WU_ZHU_ROUT_RATES[0])== true)
  204.       @list[index][:enabled] = false
  205.     elsif(@list[index][:name][0] == Text::ZHU_ID[2][0] &&$game_party.battle_members[0].equips[0].id == Text::ZHU_ID[2][1] && $game_actors[$game_variables[14]].state?(Text::WU_ZHU_ROUT_RATES[1])== true)
  206.       @list[index][:enabled] = false
  207.     elsif(@list[index][:name][0] == Text::ZHU_ID[3][0] &&$game_party.battle_members[0].equips[0].id == Text::ZHU_ID[3][1] && $game_actors[$game_variables[14]].state?(Text::WU_ZHU_ROUT_RATES[2])== true)
  208.       @list[index][:enabled] = false
  209.     elsif(@list[index][:name][0] == Text::ZHU_ID[4][0] &&$game_party.battle_members[0].equips[0].id == Text::ZHU_ID[4][1] && $game_actors[$game_variables[14]].state?(Text::WU_ZHU_ROUT_RATES[3])== true)
  210.       @list[index][:enabled] = false
  211.     elsif(@list[index][:name][0] == Text::ZHU_ID[5][0] &&$game_party.battle_members[0].equips[0].id == Text::ZHU_ID[5][1] && $game_actors[$game_variables[14]].state?(Text::ZHU_DAN_ROUT_ID[0])== true)
  212.       @list[index][:enabled] = false
  213. ####
  214.     elsif(@list[index][:name][0] == Text::ZHU_ID[6][0] &&$game_party.battle_members[0].equips[0].id == Text::ZHU_ID[6][1] && $game_actors[$game_variables[14]].state?(Text::ZHU_DAN_ROUT_ID[1])== true)
  215.       @list[index][:enabled] = false
  216. ####
  217.     elsif(@list[index][:name][0] == Text::ROUT_ID[0] && $game_actors[$game_variables[14]].state?(Text::WU_ROUT_RATES[0])== true)
  218.       @list[index][:enabled] = false
  219.     end
  220.     @list[index][:enabled]
  221.   end
  222. end

附状态技能变化的脚本
RUBY 代码复制
  1. #==============================================================================
  2. # ステートでスキル変化 ver1.00
  3. #------------------------------------------------------------------------------
  4. #[特徴]
  5. # 特定のステートが付与されているとき、スキルが変化する。
  6. #
  7. #[仕様]
  8. # スキルウィンドウに表示されるのは、元になるスキル。
  9. # 使用条件は元になるスキルで判断される。
  10. # 消費するMP/TPは変化後のスキル。使用時のメッセージも変化後のスキル。
  11. # そのため、元になるスキルと変化後のスキルのスキルタイプ、消費MP/TPは同じにしてください。
  12. #
  13. #[技能设定方法]
  14. #在技能的笔记栏中写<状态变化:技能ID,状态ID>。
  15. #写多个的时候,满足条件的东西中最最后(下方)记述的东西会反映出来。
  16. #例)<ステート変化:スキルID,ステートID>
  17. #
  18. #[注意]
  19. # 『能力値でスキル変化』を導入している場合、
  20. # このスクリプトはそれより下に導入してください。
  21. #
  22. #
  23. # 作成:ぶちょー
  24. # ホム:[url]http://nyannyannyan.bake-neko.net/[/url]
  25. # 著作:自分で作ったとか言わないで><
  26. #       改造はご自由にどうぞ。
  27. #       リードミーとかに私の名前の載せたりするのは任意で。
  28. #==============================================================================
  29.  
  30. #==============================================================================
  31. # バージョンアップ情報
  32. # ver1.00 公開
  33. #==============================================================================
  34.  
  35. #==============================================================================
  36. # 設定項目はありません
  37. #==============================================================================
  38.  
  39. $kzr_imported = {} if $kzr_imported == nil
  40. $kzr_imported["SkillChangeByState"] = true
  41. #==============================================================================
  42. # ■ Game_Action
  43. #==============================================================================
  44. class Game_Action
  45.   #--------------------------------------------------------------------------
  46.   # ● 公開インスタンス変数
  47.   #--------------------------------------------------------------------------
  48.   attr_reader :default_use_skill_id
  49.   #--------------------------------------------------------------------------
  50.   # ● スキルを設定
  51.   #--------------------------------------------------------------------------
  52.   alias kzr_skill_change_by_state_set_skill set_skill
  53.   def set_skill(skill_id)
  54.     @default_use_skill_id = skill_id
  55.     kzr_skill_change_by_state_set_skill($data_skills[skill_id].skill_change_state(@subject, skill_id))
  56.   end
  57. end
  58.  
  59. #==============================================================================
  60. # ■ RPG::Skill
  61. #==============================================================================
  62. class RPG::Skill < RPG::UsableItem
  63.   def skill_change_state(a, id)
  64.     $data_skills[id].note.each_line {|line|
  65.     case line
  66.     when /<ステート変化:(\d+),(\d+)>/ ; id = $1.to_i if a.state?($2.to_i)
  67.     end
  68.     }
  69.     id
  70.   end
  71. end

求教

屏幕截图 2024-08-10 025736.png (39.9 KB, 下载次数: 82)

实际上状态技能变化是没问题的

实际上状态技能变化是没问题的
好累啊,今天又是不睡觉的一天

Lv5.捕梦者

梦石
0
星屑
36437
在线时间
10798 小时
注册时间
2009-3-15
帖子
4814
2
发表于 2024-8-10 06:19:31 | 只看该作者
本帖最后由 soulsaga 于 2024-8-10 06:23 编辑

kzr_skill_change_by_state_set_skill($data_skills[skill_id].skill_change_state(@subject, skill_id))
?????改成这样试试看
kzr_skill_change_by_state_set_skill(skill_change_state(@subject, skill_id))

点评

会战斗中报错的,但不是一个问题,就是找不到方法  发表于 2024-8-10 09:36
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
34735
在线时间
6740 小时
注册时间
2012-5-26
帖子
3259

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

3
发表于 2024-8-10 10:04:56 | 只看该作者
你没有设置 @rout_skill_id 的初始值,它初始是nil,然后执行你那个 set_root时,nil会全部跳过判定,最后返回nil给set_skill,然后就报错了,没有这个id的技能

点评

已经编辑了  发表于 2024-8-10 11:19
那你要列出最新版的,然后写明报错的时机……  发表于 2024-8-10 11:13
后面改了,然后还是有问题,跟我问的一样  发表于 2024-8-10 10:18

评分

参与人数 1+1 收起 理由
chen12311 + 1 我很赞同

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv2.观梦者

梦石
0
星屑
759
在线时间
122 小时
注册时间
2024-4-13
帖子
70
4
 楼主| 发表于 2024-8-10 14:25:59 | 只看该作者
好解决了,但又出了新问题附上代码和图片
RUBY 代码复制
  1. module BattleCommand_Custom
  2.   ACTOR_COMMAND_LIST = [:attack, :skill, :rout, :guard, :item, :escape]
  3. end
  4. module Text
  5.   ZHU_ID=[]
  6.   SKILL_ID=[]
  7.   #副武器ID#
  8.   FU_ROUT_ID=[5,44,47]
  9.   #副武器无法ID#
  10.   WU_FU_ROUT_RATES=[92,70,71]
  11.   #主武器ID#
  12.   ZHU_ROUT_ID=[158,166,167,168]
  13.   #主武器状态ID(比如你通过技能获得状态判断其状态和武器ID更改技能)#
  14.   ZHU_ROUT_RATES=[106,116,117,118]
  15.   #主武器状态无法ID#
  16.   WU_ZHU_ROUT_RATES=[107,108,109,110]
  17.   #其他主武器ID(比如单个武器的ID)#
  18.   ZHU_DAN_ROUT_ID=[169,187]
  19.   #其他主武器无法状态ID#
  20.   WU_ZHU_DAN_RATES=[111,124]
  21.   #副武器数据库ID#
  22.   SKILL_I=[1,2,3]
  23.   SKILL_ID[1]=["霰弹击溃",69]
  24.   SKILL_ID[2]=["枪火击溃",70]
  25.   SKILL_ID[3]=["枪火击溃",71]
  26.   #主武器数据库ID#
  27.   ZHU_II=[1,2,3,4]
  28.   ZHU_ID[1]=["炮火击溃",126]
  29.   ZHU_ID[2]=["炮火击溃",127]
  30.   ZHU_ID[3]=["炮火击溃",128]
  31.   ZHU_ID[4]=["炮火击溃",129]
  32.   ZHU_ID[5]=["炮火击溃",130]
  33.   ZHU_ID[6]=["法术轰击",169]
  34.   #空手的ID#
  35.   ROUT_ID=["弱点击溃",27]
  36.   WU_ROUT_RATES=[86]
  37. end
  38. #获得技能ID#
  39.  
  40. class Game_Actor < Game_Battler
  41.   @weapon_num=0
  42.   @fu_weapon_num=0
  43.   @qi_weapon_num=0
  44.   Text::ZHU_ROUT_ID.each {|w| @weapon_num+=1}
  45.   Text::FU_ROUT_ID.each {|w| @fu_weapon_num+=1}
  46.   Text::ZHU_DAN_ROUT_ID.each {|w| @qi_weapon_num+=1}
  47.   @weapon_num=Array.new(@weapon_num){|w|w.to_i+1}
  48.   @fu_weapon_num=Array.new(@weapon_num){|w|w.to_i+1}
  49.   @qi_weapon_num=Array.new(@weapon_num){|w|w.to_i+1}
  50.   def weapon_id?(item_id)
  51.     @equips[0].include?($data_weapons[item_id])
  52.     unless @equips[0].include?($data_weapons[item_id])==true
  53.       @equips[1].include?($data_armors[item_id])
  54.     end
  55.   end
  56. end
  57. class NilClass
  58.   def method_missing(m, *args, &block)
  59.     self
  60.   end
  61. end
  62. class Game_Action
  63.   def rout?
  64.     item == $data_skills[subject.rout_skill_id]
  65.   end
  66.   def set_rout
  67.     set_skill(subject.rout_skill_id)
  68.     self
  69.   end
  70. end
  71. class Game_BattlerBase
  72.   def get_rout_skill
  73.     @rout_skill_id=0
  74.     @weapon_num.each do |w|
  75.       if $game_party.battle_members[0].weapon_id?(Text::ZHU_ROUT_ID[w])==true && $game_actors[$game_variables[14]].state?(Text::ZHU_ROUT_RATES[w-1])== true
  76.       @rout_skill_id=Text::ZHU_ROUT_ID[w] if $game_party.battle_members[0].weapon_id?(Text::ZHU_ROUT_ID[w])==true && $game_actors[$game_variables[14]].state?(Text::ZHU_ROUT_RATES[w-1])== true
  77.     end
  78.     @fu_weapon_num.each do |w|
  79.       if $game_party.battle_members[1].weapon_id?(Text::FU_ROUT_ID[w])==true
  80.       @rout_skill_id=Text::FU_ROUT_ID[w] if $game_party.battle_members[1].weapon_id?(Text::FU_ROUT_ID[w])==true
  81.     end
  82.     @qi_weapon_num.each do |w|
  83.       if $game_party.battle_members[0].weapon_id?(Text::ZHU_DAN_ROUT_ID[w])==true
  84.       @rout_skill_id=Text::ZHU_DAN_ROUT_ID[w] if $game_party.battle_members[0].weapon_id?(Text::ZHU_DAN_ROUT_ID[w])==true
  85.     end
  86.   end
  87.   def rout_skill_id
  88.     get_rout_skill
  89.     return @rout_skill_id if @rout_skill_id >=0
  90.     unless @rout_skill_id !=0
  91.       return Text::ROUT_ID[1]
  92.     end
  93.   end
  94. #判定技能使用
  95.   def rout_usable?
  96.     usable?($data_skills[rout_skill_id])
  97.   end
  98. end
  99. class Window_ActorCommand < Window_Command
  100.   def make_command_list_by_symbol(symbol)
  101.     case symbol
  102.     when :attack    ; add_attack_command
  103.     when :skill     ; add_skill_commands
  104.     when :rout      ;add_rout_command
  105.     when :guard     ; add_guard_command
  106.     when :item      ; add_item_command
  107.     when :escape    ; add_escape_command
  108.     when :CW_party  ; add_CW_party_command
  109.     when :DA_party  ; add_DA_party_command
  110.     end
  111.   end
  112.   def add_rout_command
  113.     add_command(Vocab::rout, :rout, @actor.rout_usable?)
  114.   end
  115. end
  116. class Scene_Battle < Scene_Base
  117.   def command_rout
  118.     BattleManager.actor.input.set_rout
  119.     select_enemy_selection
  120.   end
  121. end
  122. #以上为谈话技能选项的前台,不能显示谈判选项
  123. class Game_Temp
  124.   attr_accessor :battle_rout
  125.   alias initialize_battle_rout initialize
  126.   def initialize
  127.     initialize_battle_rout  
  128.   end
  129. end
  130. class Window_ActorCommand < Window_Command
  131.   def add_rout_command
  132.     Text::SKILL_I.each do |w|
  133.       return add_command([Text::SKILL_ID[w][0], nil], :rout, true) if $game_party.battle_members[0].equips[1].id == Text::SKILL_ID[w][1]
  134.     end
  135.     Text::ZHU_II.each do |w|
  136.       return add_command([Text::SKILL_ID[w][0], nil], :rout, true) if $game_party.battle_members[0].equips[1].id == Text::ZHU_ID[w][1]
  137.     end
  138.     return add_command([Text::ZHU_ID[5][0], nil], :rout, true) if $game_party.battle_members[0].equips[0].id == Text::ZHU_ID[5][1]
  139. ####
  140.     return add_command([Text::ZHU_ID[6][0], nil], :rout, true) if $game_party.battle_members[0].equips[0].id == Text::ZHU_ID[6][1]
  141. ####
  142.     return add_command(Text::ROUT_ID, :rout, true)
  143.   end
  144.   def set_up(a)
  145.     @actor=a
  146.     clear_command_list
  147.     make_command_list
  148.     refresh
  149.     select(0)
  150.     activate
  151.     open
  152.   end
  153. end
  154. class Game_Battler < Game_BattlerBase
  155.   def attack_apply(attacker)
  156.     item_apply(attacker, $data_skills[attacker.rout_skill_id])
  157.   end
  158. end
  159. class Scene_Battle < Scene_Base
  160.   alias create_all_windows_rout create_all_windows
  161.   def create_all_windows
  162.     create_all_windows_rout
  163.   end
  164.   alias create_actor_command_window_rout create_actor_command_window
  165.   def create_actor_command_window
  166.     create_actor_command_window_rout
  167.     @actor_command_window.set_handler(:rout, method(:command_rout))
  168.   end
  169.   #--------------------------------------------------------------------------
  170.   # ● 确定敌人
  171.   #--------------------------------------------------------------------------
  172.   def on_enemy_ok
  173.     BattleManager.actor.input.target_index = @enemy_window.enemy.index
  174.     @enemy_window.hide
  175.     @skill_window.hide
  176.     @item_window.hide
  177.     next_command
  178.   end
  179.   #--------------------------------------------------------------------------
  180.   # ● 敌人“取消”
  181.   #--------------------------------------------------------------------------
  182.   alias rout_on_enemy_cancel on_enemy_cancel
  183.   def on_enemy_cancel
  184.     case @actor_command_window.current_symbol
  185.     when :rout
  186.       @actor_command_window.activate
  187.     end
  188.     rout_on_enemy_cancel
  189.   end
  190. end
  191.   #--------------------------------------------------------------------------
  192.   # ● 技能无法使用
  193.   #--------------------------------------------------------------------------
  194. class Window_Command < Window_Selectable
  195.   def command_enabled?(index)
  196.     if(@list[index][:name][0] == Text::SKILL_ID[1][0] &&$game_party.battle_members[0].equips[1].id == Text::SKILL_ID[1][1] && $game_actors[$game_variables[14]].state?(Text::WU_FU_ROUT_RATES[0])== true)
  197.       @list[index][:enabled] = false
  198.     elsif(@list[index][:name][0] == Text::SKILL_ID[2][0] &&$game_party.battle_members[0].equips[1].id == Text::SKILL_ID[2][1] && $game_actors[$game_variables[14]].state?(Text::WU_FU_ROUT_RATES[1])== true)
  199.       @list[index][:enabled] = false
  200.     elsif(@list[index][:name][0] == Text::SKILL_ID[3][0] &&$game_party.battle_members[0].equips[1].id == Text::SKILL_ID[3][1] && $game_actors[$game_variables[14]].state?(Text::WU_FU_ROUT_RATES[2])== true)
  201.       @list[index][:enabled] = false
  202. ####
  203.     elsif(@list[index][:name][0] == Text::ZHU_ID[1][0] &&$game_party.battle_members[0].equips[0].id == Text::ZHU_ID[1][1] && $game_actors[$game_variables[14]].state?(Text::WU_ZHU_ROUT_RATES[0])== true)
  204.       @list[index][:enabled] = false
  205.     elsif(@list[index][:name][0] == Text::ZHU_ID[2][0] &&$game_party.battle_members[0].equips[0].id == Text::ZHU_ID[2][1] && $game_actors[$game_variables[14]].state?(Text::WU_ZHU_ROUT_RATES[1])== true)
  206.       @list[index][:enabled] = false
  207.     elsif(@list[index][:name][0] == Text::ZHU_ID[3][0] &&$game_party.battle_members[0].equips[0].id == Text::ZHU_ID[3][1] && $game_actors[$game_variables[14]].state?(Text::WU_ZHU_ROUT_RATES[2])== true)
  208.       @list[index][:enabled] = false
  209.     elsif(@list[index][:name][0] == Text::ZHU_ID[4][0] &&$game_party.battle_members[0].equips[0].id == Text::ZHU_ID[4][1] && $game_actors[$game_variables[14]].state?(Text::WU_ZHU_ROUT_RATES[3])== true)
  210.       @list[index][:enabled] = false
  211.     elsif(@list[index][:name][0] == Text::ZHU_ID[5][0] &&$game_party.battle_members[0].equips[0].id == Text::ZHU_ID[5][1] && $game_actors[$game_variables[14]].state?(Text::ZHU_DAN_ROUT_ID[0])== true)
  212.       @list[index][:enabled] = false
  213. ####
  214.     elsif(@list[index][:name][0] == Text::ZHU_ID[6][0] &&$game_party.battle_members[0].equips[0].id == Text::ZHU_ID[6][1] && $game_actors[$game_variables[14]].state?(Text::ZHU_DAN_ROUT_ID[1])== true)
  215.       @list[index][:enabled] = false
  216. ####
  217.     elsif(@list[index][:name][0] == Text::ROUT_ID[0] && $game_actors[$game_variables[14]].state?(Text::WU_ROUT_RATES[0])== true)
  218.       @list[index][:enabled] = false
  219.     end
  220.     @list[index][:enabled]
  221.   end
  222. end

屏幕截图 2024-08-10 142133.png (27.98 KB, 下载次数: 82)

屏幕截图 2024-08-10 142133.png

点评

好感谢大佬,解决了  发表于 2024-8-10 15:14
75、79、83的if后面也要有end结束,就和unless....end一样  发表于 2024-8-10 15:10
好累啊,今天又是不睡觉的一天
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 16:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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