マップ画面から、直接アイテム画面などに移行できるようにします。
基本情報
前提スクリプト
拡張タイプ
★ 既成 (導入するだけでゲームの挙動が変化する)
説明
概要
- マップ画面で特定のキーを押したとき、メニュー画面を介さずに直接それぞれのシーンに移行します。
- Input が標準で取得できないキーシンボルを使いたい場合 LNS010 Input拡張 を入れておく必要があります。
設定方法
Call_Menu = {
# (遷移先シーン) => [(キー), (条件)],
Scene_Item => [:KEYI],
Scene_Skill => [:KEYK, ->{ $game_party.exists }],
Scene_Equip => [:KEYE, ->{ $game_party.exists }],
Scene_Status => [:KEYU, ->{ $game_party.exists }],
Scene_Load => [:KEYL],
Scene_Save => [:KEYV, ->{ !$game_system.save_disabled }],
}
- マップ画面から直接遷移可能なシーンを Call_Menu で定義します。
- 遷移先シーンのクラス名をキーとします。
- 値はトリガーとなるキーシンボルとその条件を要素に持つ配列です。
- 条件は Proc または eval 用の文字列で指定します。
(例)
Scene_Item => [:KEYI],
- 「I」キーが押されたときアイテム画面(Scene_Item)に移行します。
- プレイヤーが操作可能な場面であればいつでも移行できます。
Scene_Equip => [:KEYE, ->(){ $game_party.exists }],
- 「E」キーが押されたとき装備画面(Scene_Equip)に移行します。
- $game_party.exists が真、つまりパーティメンバーが存在するときのみ移行可能になります。
備考
再定義されるメソッド
Scene_Map#update_call_menu
設定項目
- Call_Menu
- 遷移先シーンとその条件のリスト
更新履歴
- こんにちは。不具合を発見したのでご報告いたします。 LNS000 組み込み拡張 LNS010 Input拡張 LNS100 プリセット拡張 LNS102 マウス操作 LNS140 マップ/キャラ拡張 の5つを導入した状態で、マップ画面でマウスカーソルをゲームウインドウの外側で大きく動かすなどすると、「 スクリプト 'LNS 140 マップ/キャラ拡張' の 980 行目で IndexError が発生しました。 index -1 too small for array; minimum: 0 」というエラーメッセージが表示され、ゲームが終了してしまいます。 スクリプトは全て最新で、内容は改変していません。 -- 2022-07-26 01:29:40
- 確認が遅れましたが、対応修正しました。正確には「既に対応済みであったがアップロードを忘れていた」という状態でした…… -- 2022-11-01 15:39:07
- 対応ありがとうございます!しかし LNS000, 010, 100, 102, 140 の5つを入れた状態で起動直後に「スクリプト 'LNS140 マップ/キャラ拡張' の 1719 行目で NameError が発生しました。 undefined method 'lns102_dash?' for class 'Game_Player'」と表示され、終了します。 -- 2022-12-24 16:39:35
最終更新:2020年12月29日 04:46