272 lines
No EOL
9.9 KiB
Ruby
272 lines
No EOL
9.9 KiB
Ruby
#==============================================================================
|
|
# ■ 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 |