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

Project1

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

[已经解决] 请问如何设施特有的战斗指令

[复制链接]

Lv5.捕梦者

梦石
0
星屑
22057
在线时间
8577 小时
注册时间
2011-12-31
帖子
3362
1
发表于 2015-8-2 16:10:23 | 显示全部楼层
個別戦闘コマンド
☆カスタム項目・使い方
ActorIndividualCommand[id] = [skill1,skill2,・・・]
・idにコマンドを追加したいアクターのIDを入れてください。
・skill1(skill2,・・・)に追加したいスキルのIDを入れてください。

例)角色ID5的角色技能ID8和15追加之場合、
ActorIndividualCommand[5] = [8,15]
としてください。

また、コマンドは攻撃コマンドの下に追加されていきます。


RUBY 代码复制
  1. #==============================================================================
  2. # ■ 個別戦闘コマンド
  3. # 制作:はりー
  4. # ホームページ:魔法使いの古書店 [url]http://sbow.xxxxxxxx.jp/[/url]
  5. # ソフト:RPGツクールVX Ace(RGSS3)
  6. # Last Update:2012/11/10
  7. # Current Version:1.00
  8. #------------------------------------------------------------------------------
  9. #   キャラクター毎に個別の戦闘コマンドを追加します。
  10. #==============================================================================
  11.  
  12. =begin
  13.  ■ 更新情報
  14.  2012/11/10 個別戦闘コマンドを公開しました。
  15.  
  16. =end
  17.  
  18. #==============================================================================
  19. # ■ 使い方
  20. #------------------------------------------------------------------------------
  21. # ActorIndividualCommand[id] = [skill1,skill2,・・・]
  22. # ・idにコマンドを追加したいアクターのIDを入れてください。
  23. # ・skill1(skill2,・・・)に追加したいスキルのIDを入れてください。
  24. #
  25. # 例)アクターID5のアクターにスキルID8と15を追加する場合、
  26. #   ActorIndividualCommand[5] = [8,15]
  27. #   としてください。
  28. #
  29. # また、コマンドは攻撃コマンドの下に追加されていきます。
  30. #==============================================================================
  31.  
  32. #==============================================================================
  33. # ■ カスタマイズ項目
  34. #------------------------------------------------------------------------------
  35. module WSB
  36. module INDIVIDUALCOMMAND
  37.   ActorIndividualCommand = [] # ここは変更・削除しないでください
  38.   #ここから追加してください。
  39.   ActorIndividualCommand[] = []
  40. end
  41. end
  42.  
  43.  
  44. #==============================================================================
  45. # ■ BattleManager
  46. #==============================================================================
  47. module BattleManager
  48.   #--------------------------------------------------------------------------
  49.   # ● コマンド入力中のアクターIDを取得
  50.   #--------------------------------------------------------------------------
  51.   def self.actor_id
  52.     actor.id
  53.   end
  54. end
  55.  
  56. #==============================================================================
  57. # ■ Scene_Battle
  58. #------------------------------------------------------------------------------
  59. #  バトル画面の処理を行うクラスです。
  60. #==============================================================================
  61. class Scene_Battle
  62.   include WSB::INDIVIDUALCOMMAND
  63.   #--------------------------------------------------------------------------
  64.   # ● アクターコマンドウィンドウの作成
  65.   #--------------------------------------------------------------------------
  66.   alias individual_create_actor_command_window create_actor_command_window
  67.   def create_actor_command_window
  68.     individual_create_actor_command_window
  69.     @actor_command_window.set_handler(:symbol, method(:command_individual))
  70.   end
  71.   #--------------------------------------------------------------------------
  72.   # ● 個別コマンド
  73.   #--------------------------------------------------------------------------
  74.   def command_individual
  75.     now_index = @actor_command_window.index - 1
  76.     skill_id = ActorIndividualCommand[BattleManager.actor_id][now_index]
  77.     @skill = $data_skills[skill_id]
  78.     BattleManager.actor.input.set_skill(@skill.id)
  79.     if !@skill.need_selection?
  80.       next_command
  81.     elsif @skill.for_opponent?
  82.       select_enemy_selection
  83.     else
  84.       select_actor_selection
  85.     end
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● 敵キャラ選択[キャンセル]
  89.   #--------------------------------------------------------------------------
  90.   alias individual_on_enemy_cancel on_enemy_cancel
  91.   def on_enemy_cancel
  92.     individual_on_enemy_cancel
  93.     case @actor_command_window.current_symbol
  94.     when :attack
  95.     when :skill
  96.     when :item
  97.     else
  98.       @actor_command_window.activate
  99.     end
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● アクター選択[キャンセル]
  103.   #--------------------------------------------------------------------------
  104.   alias individual_on_actor_cancel on_actor_cancel
  105.   def on_actor_cancel
  106.     individual_on_actor_cancel
  107.     case @actor_command_window.current_symbol
  108.     when :attack
  109.     when :skill
  110.     when :item
  111.     else
  112.       @actor_command_window.activate
  113.     end
  114.   end
  115. end
  116.  
  117. #==============================================================================
  118. # ■ Window_ActorCommand
  119. #------------------------------------------------------------------------------
  120. #  バトル画面で、アクターの行動を選択するウィンドウです。
  121. #==============================================================================
  122.  
  123. class Window_ActorCommand
  124.   include WSB::INDIVIDUALCOMMAND
  125.   #--------------------------------------------------------------------------
  126.   # ● コマンドリストの作成
  127.   #--------------------------------------------------------------------------
  128.   def make_command_list
  129.     return unless @actor
  130.     add_attack_command
  131.     add_individual_command
  132.     add_skill_commands
  133.     add_guard_command
  134.     add_item_command
  135.   end
  136.   #-------------------------------------------------------------------------
  137.   # ● 特殊コマンドの追加
  138.   #-------------------------------------------------------------------------
  139.   def add_individual_command
  140.     return unless ActorIndividualCommand[BattleManager.actor_id]
  141.     ActorIndividualCommand[BattleManager.actor_id].each do |skill_id|
  142.       add_command("#{$data_skills[skill_id].name}", :symbol)
  143.     end
  144.   end
  145. end
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-21 22:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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