c-u-nitro-nil/Scripts/_.14.rb
2024-02-07 10:17:27 -06:00

128 lines
No EOL
6 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#==============================================================================
# ■ RGSS3 特定ボタン対応コモンイベント Ver1.00 by 星潟
#------------------------------------------------------------------------------
# マップ上でプレイヤーが自由に動かす事が出来る状態の時
# 特定のボタンを押す事で、設定した条件に合う場合に
# それぞれ指定したコモンイベントを発生させます。
#==============================================================================
# ★設定方法
#------------------------------------------------------------------------------
# キーとコモンイベント、そしてそれらの条件を設定し
# それぞれ、[キーシンボル, コモンイベントID, 条件の文字列]の順に配列を指定します。
#==============================================================================
# キーシンボルは、それぞれ以下の物が使用できます。
# 既存スクリプトと競合しないよう、既に使用している物は避けて設定して下さい。
#------------------------------------------------------------------------------
# :X デフォルトではキーボードのAに割り当て。
# :Y デフォルトではキーボードのSに割り当て。
# :Z デフォルトではキーボードのDに割り当て。
# :L デフォルトではキーボードのQ/PageUPに割り当て。
# :R デフォルトではキーボードのW/PageDownに割り当て。
# :F5 デフォルトではキーボードのF5に割り当て。
# :F6 デフォルトではキーボードのF6に割り当て。
# :F7 デフォルトではキーボードのF7に割り当て。
# :F8 デフォルトではキーボードのF8に割り当て。
# :ALT デフォルトではキーボードのAltに割り当て。
# :CTRL デフォルトではキーボードのCtrlに割り当て。
#------------------------------------------------------------------------------
# 以下5つは使用できますが、最初からシステム上で使われているので
# 使用するのは避けた方がいいでしょう。
#------------------------------------------------------------------------------
# :A デフォルトではキーボードのSHIFT等に割り当て。ダッシュ
# :B デフォルトではキーボードのX等に割り当て。メニュー
# :C デフォルトではキーボードのZ等に割り当て。調べる/話しかける)
# :F9 デフォルトではキーボードのF9等に割り当て。ダッシュ
# :SHIFT デフォルトではキーボードのSHIFT等に割り当て。ダッシュ
#==============================================================================
# 条件指定の例
#------------------------------------------------------------------------------
# 無条件に有効にする場合
# "true"
#------------------------------------------------------------------------------
# スイッチ1がONの時有効にする場合
# "$game_switches[1]"
#------------------------------------------------------------------------------
# スイッチ2がOFFの時有効にする場合
# "!$game_switches[2]"
#------------------------------------------------------------------------------
# 変数3が10の時有効にする場合
# "$game_variables[3] == 10"
#------------------------------------------------------------------------------
# 変数4が15より大きい時有効にする場合
# "$game_variables[4] > 15"
#------------------------------------------------------------------------------
# 変数5が20以上の時有効にする場合
# "$game_variables[5] >= 20"
#------------------------------------------------------------------------------
# 変数6が25より小さい時有効にする場合
# "$game_variables[6] < 25"
#------------------------------------------------------------------------------
# 変数7が30以下の時有効にする場合
# "$game_variables[7] <= 30"
#------------------------------------------------------------------------------
# アイテムID2番を所持している時のみ有効にする場合
# "$game_party.has_item?($data_items[2])"
#------------------------------------------------------------------------------
# 武器ID3番を所持している時のみ有効にする場合装備品は含まない
# "$game_party.has_item?($data_weapons[3], false)"
#------------------------------------------------------------------------------
# 防具ID4番を所持している時のみ有効にする場合装備品も含む
# "$game_party.has_item?($data_armors[4], true)"
#==============================================================================
module INSTANT_KEY
#ボタン、コモンイベントID、条件で構成された配列を作成。
#必要に応じて追加/削除して下さい。
KEYS = [
[:X, 1, "false"],
[:Y, 2, "false"],
[:Z, 3, "false"],
[:L, 4, "false"],
[:R, 5, "false"],
[:F5, 6, "false"],
[:F6, 7, "false"],
[:F7, 8, "false"],
[:F8, 9, "false"],
[:CTRL, 10, "false"],
[:ALT, 100, "true"]
]
end
class Game_Map
#--------------------------------------------------------------------------
# フレーム更新
#--------------------------------------------------------------------------
alias update_f6f7 update
def update(main = false)
#本来の処理を実行。
update_f6f7(main)
#イベント実行中でなく、キャラクターが行動可能な場合は処理続行。
return if $game_map.interpreter.running? or !$game_player.movable?
#それぞれ判定開始。
INSTANT_KEY::KEYS.each {|array|
#指定ボタンが押されていない場合は飛ばす。
next unless Input.trigger?(array[0])
#条件を満たさない場合は飛ばす。
next unless eval(array[2])
#コモンイベントをセットする。
$game_temp.reserve_common_event(array[1])
#残りの判定を全て行わない。
return
}
end
end