LNS130 Game_Interpreter拡張

Game_Interpreter の拡張スクリプト。実質的にイベントコマンドの拡張です。





基本情報

前提スクリプト

なし

拡張タイプ

△ 開発用 (導入するだけでは特に変化しない)


説明

概要

  • イベントコマンド [スクリプト] から呼び出せるメソッドをいくつか追加します。
  • 日本語で記述しても引数が合っていれば動作します。
  • ほとんどのコマンドで id は省略可能で、その場合は基本的に 0(このイベント) になります。

メソッド

● call_event(id[, page])

● イベント起動(id[, page])

  • id で指定されたイベント(0:このイベント)の、page 番のページを起動します。
  • ページのインデックスはエディタで表示される番号が基準とされます(先頭が1)。
  • page を省略すると、そのイベントの現在のページが呼ばれます。

● set_effect(type[, id])

● エフェクト開始(type[, id])

  • バトラーグラフィックに適用できるエフェクトをキャラクターに対して実行します。
  • LNS101 アニメーション拡張 を導入していなければ何も起きません。
  • type にはエフェクトの種類に応じたシンボルを指定します。
    • 指定できるのは以下のいずれかです。(括弧内はエフェクト完了に必要なフレーム数)
:whiten
行動時に白くフラッシュするエフェクト (16)
:blink
対象選択時に点滅するエフェクト (20)
:appear
[途中から出現] などで透明状態から現れるエフェクト (32)
:disappear
逃走などでフェードアウトして不可視状態になるエフェクト (16)
:collapse
通常の消滅エフェクト (48)
:boss_collapse
[ボス] の消滅エフェクト (キャラ画像の高さに依存)
:instant_collapse
[瞬間消去] の即座に消えるエフェクト (16)
  • 上の3つのエフェクトは、透明状態のキャラクターを可視状態にします。
  • 下の4つのエフェクトは、完了時に自動的にキャラクターが透明状態になります。
  • これらのエフェクトの実行中は、キャラクターの画像をロックします。
    • ロックされたキャラクター画像は、参照先のキャラクター(Game_Character)の画像名や向きなどが変化しても反映されません。

● set_random_pos([region[, check[, id]]])

● ランダム移動([region[, check[, id]]])

  • id で指定したキャラクター(-1:プレイヤー、0:このイベント)をマップ上のランダムな位置に移動させます。
  • region には移動先のリージョンを数値か配列で指定します。省略時や無効な値を指定時はリージョンチェックを行わずマップ上の任意の地点に移動します。
  • check が真の場合、通行不可能な地形の上には移動しないようにします。

● set_self_switches(ch, value[, event_id[, map_id]])

● セルフスイッチ操作(ch, value[, event_id[, map_id]])

  • map_id 番のマップにある event_id 番のイベントの、チャンネル ch 番のセルフスイッチの値を value にします。
  • map_id を省略すると、現在のマップIDが使われます。
  • event_id を省略すると、実行中のイベントIDが使われます。
  • ch の値には文字列 "A","B","C","D" またはシンボル :A, :B, :C, :D のいずれかを指定します。
    • 実際にはこれら以外の値でも構いませんが、それらの値はゲーム中から参照できないため意味を持ちません。
  • value の値は true, false のいずれかです。これら以外の場合は自動的に真偽値に変換されます(nil => false, それ以外 => true)。

● set_all_self_switches(ch, value[, name[, map_id]])

● 全セルフスイッチ操作(ch, value[, name[, map_id]])

  • map_id 番のマップ(省略時は現在のマップ)にある全イベントの、チャンネル ch 番のセルフスイッチの値を value にします。
  • name に正規表現を指定した場合、名前がその正規表現にマッチするイベントのみを対象とします。名前の判定を行わない場合、name には nil を指定してください。
  • map_id が偽(nil など)の場合、全てのマップのイベントに対して同様の操作を行います。この処理には多少時間がかかります。
  • このメソッドは、同じ形式の名前で統一された、同じ性質を持った複数のイベントを一度に制御することを意図して作られています。
  • 例えば、周回可能なゲームなどで「宝箱」全てを初期状態に戻したい場合、
set_all_self_switches("A", false, /宝箱/, nil)
とすれば、一括で初期化ができます。

● actor_pos(actor_id)

● アクター位置(actor_id)

  • actor_id 番のアクターのパーティ内での順番(先頭が 0 )を取得します。
  • 指定IDのアクターがパーティ内にいない場合は nil が返ります。

● swap_order(index1, index2)

● 順序入れ替え(index1, index2)

  • 指定位置のパーティメンバーの順序を入れ替えます。
  • $game_party.swap_order へのリダイレクトです。
  • index1, index2 には並べ替える「位置」を指定します(先頭が 0 )。
  • 不正な値が与えられた場合、何もしません。
  • アクターID を指定して入れ替えたい場合は actor_pos を利用して
swap_order(actor_pos(1), actor_pos(2))
などとしてください。

● reset_battle_sound

● 戦闘BGMリセット

  • 戦闘時に演奏される BGM と ME をエディタでの初期設定に戻します。
  • ボス戦などで一時的に変更した BGM などを元に戻すときに使います。

● wait_for_move([id])

● 移動完了までウェイト([id])

● 指定動作の全実行([id])

  • id にイベントID(-1:プレイヤー、0:このイベント)を指定した場合
    • そのキャラクターに対する [移動ルートの設定] が完了するまで待ちます。
    • 移動ルートがリピート設定の場合、いったんルートの最後まで処理し最初に戻った時点で「指定動作が全実行された」と判断されます。
    • リピート動作を「移動が終わるまでウェイト」したい場合などに利用します。
  • id を指定しなかった場合、または id に相当するイベントが存在しなかった場合
    • マップに存在する全イベント及びプレイヤーに対する [移動ルートの設定] が完了するまで待ちます。
    • RPGツクール2000 などの [指定動作の全実行] と同様の動作です。
    • 複数のイベントを同時に動かして、あとから同期を取る場合などに利用します。
    • イベントページに設定された [自律移動:カスタム] のルートは無視されます。

● reset_move([id])

● 移動ルートの解除([id])

● 指定動作の全解除([id])

  • id にイベントIDを指定した場合
    • そのイベントに対する [移動ルートの設定] を解除します。
    • 移動ルートがリピート設定であっても、動作全体を中止します。
    • その場でのリピート動作を任意のタイミングで終わらせる場合などに利用します。
  • id を指定しなかった場合、または id に相当するイベントが存在しなかった場合
    • マップに存在する全イベント及びプレイヤーに対する [移動ルートの設定] を解除します。
    • RPGツクール2000 などの [指定動作の全解除] と同様の動作です。
  • イベントページに設定された [自律移動:カスタム] のルートは解除されません。



備考

再定義されるメソッド

なし

設定項目

なし


更新履歴

  • 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日 05:22