#============================================================================== # ■ RGSS3 テストモードお手軽補助スクリプト Ver1.00 by 星潟 #------------------------------------------------------------------------------ #  以下の機能がテストモード・戦闘テスト中のみ使用可能になります。 #============================================================================== # ダッシュ時、ALTキーを押す事で移動速度が更に増加します。 #============================================================================== # マップ画面で非イベント実行中かつプレイヤーが移動していない状態の場合 # 「CTRLキーを押しつつ」以下のキーを押す事で # それぞれ特殊な効果が得られます。 #------------------------------------------------------------------------------ # F5 # # マップ内の特定ワードを名前に含むイベントを強制起動します。 #------------------------------------------------------------------------------ # F6 # # 所持金が99999999増加します。 #------------------------------------------------------------------------------ # F7 # # メンバー全員のEXPを99999999増加させます。 #------------------------------------------------------------------------------ # F8 # # 名前のついている全てのアイテムを入手します。 #============================================================================== # 戦闘中、「CTRLキーを押しつつ」以下のキーを押す事で # それぞれ特殊な効果が得られます。 #------------------------------------------------------------------------------ # F5 # # 敵全体のHPを0にします。 #------------------------------------------------------------------------------ # F6 # # 敵全体のHPを対象の最大HPまで回復します。 #------------------------------------------------------------------------------ # F7 # # 味方全体のHPを0にします。 #------------------------------------------------------------------------------ # F8 # # 味方全体のHPを対象の最大HPまで回復します。 #------------------------------------------------------------------------------ # F9 # # 戦闘を強制的に中断します。(逃走扱いになります) #============================================================================== # それぞれのボタン指定は変更することができます。 # nilを指定することで無効化することもできます。 #============================================================================== module TEST_SUP #強制起動するイベントの名前に含まれる文字列を設定します。 #複数設定する場合は["宝箱", "小さなメダル"]等、「,」で区切ってください。 #文字列は「""」で囲う事も忘れずに。 EVN_WORD = ["宝箱"] #マップ/戦闘共通で、テストコマンドを有効にする為に #押しておくボタンを指定します。 TEST = :CTRL #マップ画面で、マップ内の特定ワードを名前に含むイベントを強制起動するボタンを指定します。 MKEY1 = :F5 #マップ画面で、所持金が99999999増加するボタンを指定します。 MKEY2 = :F6 #マップ画面で、メンバー全員のEXPを99999999増加させるボタンを指定します。 MKEY3 = :F7 #マップ画面で、名前のついている全てのアイテムを入手するボタンを指定します。 MKEY4 = :F8 #マップ画面で、ダッシュ速度を更に加速させるボタンを指定します。 MKEY5 = :ALT #戦闘中、敵全体のHPを0にするボタンを指定します。 BKEY1 = :F5 #戦闘中、敵全体のHPを対象の最大HPまで回復するボタンを指定します。 BKEY2 = :F6 #戦闘中、味方全体のHPを0にするボタンを指定します。 BKEY3 = :F7 #戦闘中、味方全体のHPを対象の最大HPまで回復するボタンを指定します。 BKEY4 = :F8 #戦闘中、戦闘を強制的に中断するボタンを指定します。(逃走扱いになります) BKEY5 = :F9 end #テストモードか戦闘テストモードの場合のみ全ての処理を実行。 class RPG::Event #-------------------------------------------------------------------------- # 強制起動の対象となるか否かを設定 #-------------------------------------------------------------------------- def check_test_name #キャッシュが存在する場合はキャッシュを返す。 return @check_test_name if @check_test_name != nil #とりあえずfalseにする。 @check_test_name = false #名前に該当するキーワードが含まれている場合はtrueにする。 TEST_SUP::EVN_WORD.each {|word| @check_test_name = true if self.name.include?(word) } #データを返す。 @check_test_name end end class Game_Event < Game_Character #-------------------------------------------------------------------------- # 強制起動の対象か? #-------------------------------------------------------------------------- def check_test_name @event.check_test_name end end if $TEST or $BTEST class Game_CharacterBase #-------------------------------------------------------------------------- # 移動速度の取得(ダッシュを考慮) #-------------------------------------------------------------------------- alias real_move_speed_sup real_move_speed def real_move_speed #マップテストキー5が押されていて、なおかつダッシュ状態ならば #更に加速する。 real_move_speed_sup + ((Input.press?(TEST_SUP::MKEY5) && dash?) ? 2 : 0) end end class Scene_Map #-------------------------------------------------------------------------- # テストモード用のコマンドを有効とするか? #-------------------------------------------------------------------------- def test_key_enable? #プレイヤーが操作可能であり #なおかつテストコマンド用キーを押している場合は有効。 $game_player.movable? && Input.press?(TEST_SUP::TEST) end #-------------------------------------------------------------------------- # フレーム更新 #-------------------------------------------------------------------------- alias update_sup update def update #イベント実行中ではないか? unless $game_map.interpreter.running? #テストモードコマンドが有効か? if test_key_enable? #マップテストキー1が押された場合、特定のキーワードのイベントを全て起動。 if Input.trigger?(TEST_SUP::MKEY1) $game_map.events.values.each {|event| TEST_SUP::EVN_WORD.each {|i| event.start if event.check_test_name} } end #マップテストキー2が押された場合、所持金を99999999増加させる。 $game_party.gain_gold(99999999) if Input.trigger?(TEST_SUP::MKEY2) #マップテストキー3が押された場合、パーティメンバーのEXPを99999999増加させる。 $game_party.members.each {|i| i.change_exp(i.exp + 99999999, true)} if Input.trigger?(TEST_SUP::MKEY3) #マップテストキー4が押された場合、全てのアイテム/武器/防具を所持限界まで入手する。 if Input.trigger?(TEST_SUP::MKEY4) $data_items.each {|item| $game_party.gain_item(item, $game_party.max_item_number(item)) if item && !item.name.empty?} $data_weapons.each {|item| $game_party.gain_item(item, $game_party.max_item_number(item)) if item && !item.name.empty?} $data_armors.each {|item| $game_party.gain_item(item, $game_party.max_item_number(item)) if item && !item.name.empty?} end end end #本来の処理を実行。 update_sup end end class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # テストモード用のコマンドを有効とするか? #-------------------------------------------------------------------------- def test_key_enable? #なおかつテストコマンド用キーを押している場合は有効。 Input.press?(TEST_SUP::TEST) end #-------------------------------------------------------------------------- # フレーム更新 #-------------------------------------------------------------------------- alias update_sup update def update #テストモードコマンドが有効か? if test_key_enable? #戦闘テストキー1が押された場合、敵全体のHPを0にする。 $game_troop.members.each {|i| if i.alive? i.hp = 0 i.perform_collapse_effect if i.dead? end } if Input.trigger?(TEST_SUP::BKEY1) #戦闘テストキー2が押された場合、敵全体のHPを全快にする。 $game_troop.members.each {|i| i.hp = i.mhp if i.exist?} if Input.trigger?(TEST_SUP::BKEY2) #戦闘テストキー3が押された場合、味方全体のHPを0にする。 $game_party.members.each {|i| if i.alive? i.hp = 0 i.perform_collapse_effect if i.dead? end } if Input.trigger?(TEST_SUP::BKEY3) #戦闘テストキー4が押された場合、味方全体のHPを全快にする。 $game_party.members.each {|i| i.hp = i.mhp if i.exist?} if Input.trigger?(TEST_SUP::BKEY4) #戦闘テストキー5が押された場合、戦闘を中断する。 BattleManager.abort if Input.trigger?(TEST_SUP::BKEY5) end #本来の処理を実行。 update_sup end end end