LNS122 直接遷移

マップ画面から、直接アイテム画面などに移行できるようにします。






基本情報

前提スクリプト


拡張タイプ

★ 既成 (導入するだけでゲームの挙動が変化する)


説明

概要

  • マップ画面で特定のキーを押したとき、メニュー画面を介さずに直接それぞれのシーンに移行します。
  • 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
遷移先シーンとその条件のリスト


更新履歴

  • 2020/12/29 新版公開

  • こんにちは。不具合を発見したのでご報告いたします。 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