LNS100 プリセット拡張

RGSS3 のプリセットスクリプトに基本的な拡張機能を追加するスクリプト。





基本情報

前提スクリプト

なし

拡張タイプ

△ 開発用 (導入するだけでは特に変化しない)
◆ 要注意 (内部の挙動を変えるため競合の可能性あり)


説明

概要

 プロジェクト作成時に自動的に追加されるスクリプト(Game_Systemなど)の機能を拡張するためのスクリプトです。旧LNS000 追加機能 からプリセットスクリプトに関する機能を抜き出したものです。
  • 拡張のためにいくつかのメソッドを再定義しているため、他のスクリプト素材とは競合する可能性があります。
  • また、alias によって機能を拡張するスクリプトはこれより後ろに入れてください。

内容

 追加されるメソッドの説明はスクリプト内の説明文を見てください。以下におおまかな機能を列挙します。

メモオプション
メモのあるRPGオブジェクト(RPG::BaseItemなど)から任意のオプションを取得できるようにします。
Window_Selectable のカーソル移動
Force_Wrap が真の場合、2行2列以上のウィンドウ(Window_ItemList など)でもカーソルのラップ(下端と上端がつながっているような動き)を有効にします。
イベントコマンド [スクリプト]
  • 複数の [スクリプト] が連続していた場合、全てを連結して一つの [スクリプト] として扱います。
  • スクリプト実行中にエラーが発生した場合、通常の通知の前にエラーが発生した [スクリプト] コマンドの位置をメッセージボックスで出すようにします。
Cache
任意の名前を付けたビットマップキャッシュを生成するなど、キャッシュに関する操作を追加します。
RPGモジュール機能
文字列から数値への変換や、スキルなどの名前からその ID を取得する機能を追加します。
Game_Party#actor_pos(actor_id)
actor_id 番のアクターのパーティ内での位置を取得します。
  • $game_actors[actor_id].index と同じです。
Game_Event#name
イベント(RPG::Event)の名前を返します。
  • Game_Map#any_passable?(x,y)|指定位置のタイルが上下左右いずれの方向に通行可能であるかを返します。
スプライトを持つオブジェクト
Game_Battler、Game_Character、Game_Picture において、ゲームオブジェクト側からそれを表示するためのスプライト(Sprite_Battler など)を取得できるようにします。
Scene_Battle
パーティメンバーとトループメンバーを取得するためのメソッドを追加します。
Window_Command#unshift_command(name, symbol, enabled, ext)
コマンドリストの先頭にコマンドを追加します。


備考

再定義されるメソッド

Window_Selectable#process_cursor_move
Scene_File#update_cursor
  • カーソル移動の処理を拡張できるように再定義します。

Game_Troop#setup_battle_event
Game_Map#setup_starting_map_event
Game_Map#setup_autorun_common_event
Game_CommonEvent#update
Game_Interpreter#setup_reserved_common_event
Game_Interpreter#command_117 (コモンイベント)
  • イベントのセットアップ時に現在のページ位置の情報も渡すように再定義します。

Game_Interpreter#command_108 (注釈)
Game_Interpreter#command_355 (スクリプト)
  • 同じイベントコマンドが連続する場合、連続するぶんを全て連結して扱い、12 行以上のスクリプトや 5 行以上の注釈を使えるようにします。
  • [注釈] の内容に対してなんらかの処理を行えるように拡張します。

Window_ItemList#select_last
Window_SkillList#select_last
  • 前回選択したオブジェクトがリストにない場合の挙動を変更します。

設定項目

Force_Wrap <既定値 true >
2行2列以上のウィンドウでカーソルラップを有効にする


更新履歴

  • 2021/08/28 アイコン画像を取得する Cache.icon メソッドを追加
  • 2020/12/29 公開(旧LNS000 追加機能 からプリセット関連の機能を分離)

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

すべてのコメントを見る
最終更新:2021年08月28日 03:01