#============================================================================== # ■ RGSS3 スキルコマンド表示条件 Ver1.00 by 星潟 #------------------------------------------------------------------------------ # このスクリプトを導入することで指定したスキルIDのコマンドに対し # スキル画面/戦闘画面別に表示条件を設定できるようになります。 #============================================================================== module SKCDelete #============================================================================== #メニューから開くスキル画面で非表示にするスキルタイプIDを指定。 #まず、空のハッシュを用意。(消さないで下さい) MENU = {} #------------------------------------------------------------------------------ #設定例 #例1. #MENU[3] = "false" #この場合、スキルタイプID3は無条件で表示されなくなる。 #例2. #MENU[4] = "$game_switches[1] == true" #この場合、スキルタイプID4はスイッチID1がONの場合のみ表示される。 #例3. #MENU[5] = "$game_switches[2] == false" #この場合、スキルタイプID5はスイッチID2がOFFの場合のみ表示される。 #例4. #MENU[6] = "$game_variables[3] >= 5" #この場合、スキルタイプID6は変数ID3が5以上の場合のみ表示される。 #例5. #MENU[7] = "@actor.level > 5" #この場合、スキルタイプID7はそのアクターのレベルが5より高い場合のみ表示される。 #例6. #MENU[8] = "@actor.tp == 100" #この場合、スキルタイプID7はそのアクターの現在TPが100の場合のみ表示される。 #------------------------------------------------------------------------------ #以下に設定 MENU[3] = "false" MENU[4] = "$game_switches[1] == true" #============================================================================== #戦闘時のアクターコマンドで非表示にするスキルタイプIDを指定。 #まず、空のハッシュを用意。(消さないで下さい) BATTLE = {} #------------------------------------------------------------------------------ #設定例 #例1. #BATTLE[3] = "false" #この場合、スキルタイプID3は無条件で表示されなくなる。 #例2. #BATTLE[4] = "$game_switches[1] == true" #この場合、スキルタイプID4はスイッチID1がONの場合のみ表示される。 #例3. #BATTLE[5] = "$game_switches[2] == false" #この場合、スキルタイプID5はスイッチID2がOFFの場合のみ表示される。 #例4. #BATTLE[6] = "$game_variables[3] >= 5" #この場合、スキルタイプID6は変数ID3が5以上の場合のみ表示される。 #例5. #BATTLE[7] = "@actor.level > 5" #この場合、スキルタイプID7はそのアクターのレベルが5より高い場合のみ表示される。 #例6. #BATTLE[8] = "@actor.tp == 100" #この場合、スキルタイプID7はそのアクターの現在TPが100の場合のみ表示される。 #------------------------------------------------------------------------------ #以下に設定 BATTLE[3] = "false" BATTLE[4] = "$game_switches[1] == true" #============================================================================== end class Window_SkillCommand < Window_Command #-------------------------------------------------------------------------- # コマンドリストの作成 #-------------------------------------------------------------------------- alias make_command_list_erase make_command_list def make_command_list #本来の処理を実行。 make_command_list_erase #拡張データ(スキルタイプID)の値が #設定項目で指定したハッシュのキーとして存在しており #その条件を満たしている場合は非表示にする。 @list.delete_if {|i| SKCDelete::MENU.keys.include?(i[:ext]) && !eval(SKCDelete::MENU[i[:ext]])} end end class Window_ActorCommand < Window_Command #-------------------------------------------------------------------------- # コマンドリストの作成 #-------------------------------------------------------------------------- alias make_command_list_erase make_command_list def make_command_list #本来の処理を実行。 make_command_list_erase #拡張データ(スキルタイプID)の値が #設定項目で指定したハッシュのキーとして存在しており #その条件を満たしている場合は非表示にする。 @list.delete_if {|i| SKCDelete::BATTLE.keys.include?(i[:ext]) && !eval(SKCDelete::BATTLE[i[:ext]])} end end