#============================================================================== # ■ RGSS2 特定ボタン対応コモンイベント Ver1.02 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 = {} KEYS["X"] = [1, "true"] KEYS["Y"] = [2, "true"] KEYS["Z"] = [3, "true"] KEYS["L"] = [4, "true"] KEYS["R"] = [5, "true"] KEYS["F5"] = [6, "true"] KEYS["F6"] = [7, "true"] KEYS["F7"] = [8, "true"] KEYS["F8"] = [9, "true"] KEYS["CTRL"] = [10, "true"] KEYS["ALT"] = [11, "true"] end class Game_Map #-------------------------------------------------------------------------- # フレーム更新 #-------------------------------------------------------------------------- alias update_cmn update def update #本来の処理を実行。 update_cmn #イベント実行中でなく、キャラクターが行動可能かつ方向キーが押されていない場合は処理続行。 return if $game_map.interpreter.running? or !$game_player.movable? or Input.dir4 != 0 #それぞれ判定開始。 INSTANT_KEY::KEYS.each {|k,v| #指定ボタンが押されていないか、条件を満たさない場合は飛ばす。 next if !(Input.trigger?(eval("Input::" + k)) && eval(v[1])) #コモンイベントをセットする。 $game_temp.common_event_id = v[0] #残りの判定を全て行わない。 return } end end