ゲーム制作ツール RPGツクールVX_Ace 条件分岐「○○のスキル習得済み」の挙動を改善する


This topic contains 0件の返信, has 1件の返信, and was last updated by  ろかん Lv.26 2 年 5 ヶ月.

  • イベントコマンドの条件分岐で利用できるスキルの習得済み判定。

    aa  

    実はこれがバグなのか仕様なのかは不明ですが、デフォルトだとここで判定できるのは「レベルアップにより習得したスキル」と「イベントから習得したスキル」のみとなっています。

    どういうことかというと、データベースの「アクター・職業・武器・防具」の特徴にて設定できる「スキル追加」で習得したスキルは判定の対象外となってしまっています。

    例えば、とある武器を装備することにより「ファイア」を習得しているキャラAに、「キャラAがファイアを習得済み」という判定を行っても結果は NO となってしまいます。

    もし、この挙動に不都合がある場合は、スクリプトの次の箇所を修正することで、特徴から習得したスキルも条件分岐の判定に加えることが出来ます。

    ■ 以下の部分を修正(修正箇所は赤色)
    クラス:Game_Interpreter
    メソッド:command_111
    行数:406行目あたり

    when 3  # スキル
      result = (actor.skill_learn_for_conditional_branching?($data_skills[@params[3]]))

    ■ 以下を素材欄に貼付け

    class Game_Actor < Game_Battler
      #--------------------------------------------------------------------------
      # ● スキルの習得済み判定(条件分岐用)
      #--------------------------------------------------------------------------
      def skill_learn_for_conditional_branching?(skill)
        skill.is_a?(RPG::Skill) && ((@skills + added_skills).uniq).include?(skill.id)
      end
    end

     

このナレッジに返信するにはログインしてください。