移動拡張

転送ライブラリ

ファストトラベルを実装します。
転送地点の構成やUIの生成がカンタンに実現できます。

目次

細かな条件分岐を作らずとも、お手軽にファストトラベルが実装できます。

なお、この機能は複数パーティと連動可能です。
複数パーティを実装中、各パーティごとに転送先の解放状況が保存されます。
このため、パーティ1で解禁した転送先を、遠く離れたパーティ2が利用するという状況を防ぐことができます。

転送ライブラリにおいて、現在のパーティIDを変更したい場合は次のスクリプトを実行して下さい。

$gameFastTravel.setPartyId(id);

idには0〜5の整数値を記入します。
1〜5は複数パーティ$gameParty1〜5において対象とするパーティのIDを、0は合流状態の大本である$gamePartyを指定します。
この操作はパーティ自体のIDを変更するわけではなく、あくまでも転送ライブラリの参照先を変えるだけにとどまります。
また、パーティを切り替えた際は、内部で自動的にこの操作が実行されます。

もしすべてのパーティの解放状況を合成したい場合、次のスクリプトを実行して下さい。

$gameFastTravel.gatherMultiCamp();

複数パーティの中で1つでも解放されていれば、他のパーティも解放したことにします。
このスクリプトもパーティを合流させるスクリプト実行時に自動的に行われます。
以上2つのスクリプトは、ユーザーが任意のタイミングで転送ライブラリのみに変更を加えたい場合に使用してください。

各パーティで転送先を個別解放できます。

<転送パラメーターの随時更新>

(β4.3.0〜)

On(true)にすると、ファストトラベルのUIを開く際にエリア情報の更新を行います。
制作中、完璧にエリア情報を構築してからテストプレイすることは稀でしょう。
このパラメーターをOnにしておけば、後で追加した拠点設定や転送エリアの設定が反映されるようになります。

ただし、ゲームが完成してからはエリア情報を更新する必要はないはずです。
なので、デプロイメントの前にはこのパラメーターをOffにしておきましょう。

<ファストトラベル名>

UIで表示するシステム名を設定します。

<演出コモンイベント>

ファストトラベルのマップ移動、およびその前後の演出を実行するコモンイベントを設定します。
UIで転送先を決定すると、このコモンイベントが自動的に呼び出されます。

ただしこの性質上、コモンイベントが未設定のときはファストトラベルの機能すべてが無効化されます。

<文字サイズ>

UIでの文字サイズを設定します。
ファストトラベル名とエリアウィンドウ(右図の上2つのウィンドウ)に関しては、このサイズの0.8倍になります。

【拠点設定】

プレイヤーの活動拠点となる場所のファストトラベル設定を行います。UIでは独立したエリアとして表示されます。

<拠点名>

転送先として表示される拠点の名前を設定します。
こちらはエリア名としても表示されます。

<自由拠点名>

プレイヤーが自由に拠点名を決められるように、その名前を格納する変数のIDを設定します。
IDを設定した場合、<拠点名>はエリア名としての機能に限定されます。

<常時表示>

On (true)にすると、他エリアを選択中でも拠点を選択できるようになります。
このとき、拠点はリストの最下段に配置されます。

↑どのエリアからでも拠点が選べます

<拠点のマップID・x座標・y座標>

拠点の転送先に関する座標情報をそれぞれ設定します。
オブジェクトの位置ではなく、プレイヤーが実際に移動する地点の座標を記入してください。
なお、マップIDを0で設定すると、転送先解放を実行したオブジェクトの直下座標に自動調整されます。

<イメージ画像>

UI上にて、拠点を選択中に表示される地点イメージ画像を設定します。
ディレクトリはimg以下から自由に選択できます。
サイズはウィンドウの幅におよそ合わせられます。

<トラベル先解説>

UI上にて、拠点を選択中に表示される転送先の説明を設定します。
ゲーム的なヘルプ要素や、世界観を描写するフレーバー要素など、目的に応じてご自由に解説してください。
ちなみに、エスケープコードも使えるので、固有名詞をわざわざ手入力する手間が省けます。

<解禁状態>

On (true)にすると、拠点が最初から解禁された状態になります。
この項目はゲーム中、プラグインコマンドからいつでも解禁可能です。

【転送エリア】

拠点以外の転送エリア、およびそこに属する各地点の設定を行います。
非常に深い多重構造となっているためご注意下さい。

  • ①転送エリアリスト
  • ②転送エリア設定
  • ③トラベル先リスト
  • ④トラベル先設定

②転送エリア設定のパラメーター<エリア名>は、UIのエリアリストに表示される名前を設定します。

「原初の記憶」や「荒れ果てた海」など、エリア名は自由に設定できます

④トラベル先設定は、基本的に【拠点設定】の各パラメーターと同様の仕様です。
<地名>は転送先リストに表示される名前の設定です。

<背景の不透明化>

On (true)にすると、UIの背景がメニューのようにぼやけます。

On
Off

<転送メッセージ・行き先表示>

UIにおいて、転送の確認ダイアログで表示するメッセージを設定します。
また、行き先表示をOn (true)にすると、このメッセージの前に転送先の名前も表示されるようになります。
その際は自動的に助詞も付与されます。
メッセージに予め付記しておく必要はありません。

<確認メッセージ>

UIにおいて、転送の確認ダイアログで表示するコマンドリストのテキストを設定します。
1つ目が決定用、2つ目がキャンセル用のメッセージになります。

<封印メッセージ>

トラベル先が一時的に封印されている時、トラベル先解説の欄にその旨が追記されます。
このパラメーターでは、その追記メッセージを設定します。



関連プラグインコマンド

fasttravel exe areaId regionId name

ファストトラベルに関する様々な処理を行います。
areaId regionId には、対象のトラベル先のエリアID、リージョンIDを記入します。

  • エリアID

    【転送エリア】の②転送エリアリストのリスト番号です。
    1 からスタートしますが、0 を記入すると拠点が対象になります。

  • リージョンID

    【転送エリア】の④トラベル先リストのリスト番号です。
    こちらも1 からスタートしますが、0 は存在しません。

exe に記入するデータは、以下の9種類から選択してください。

  • call

    ファストトラベルのUIを呼び出します。
    (β5.0.0〜) ファストトラベル地点以外からでもUIは呼び出せます。
    これにより、アイテムを使ったどこでもファストトラベルも可能です。

  • base

    拠点の<解放状況>をOnにします。

  • release

    指定したトラベル先の<解放状況>をOnにします。
    このとき、エリア自体が未解放の場合はエリアの解放も行います。

  • seal

    指定したトラベル先の<解放状況>をOffにします。

  • all

    全てのエリア、トラベル先の<解放状況>をOnにします。

  • name

    指定したトラベル先の<地名>を変更します。
    name に変更先の名前を記入してください。

  • img

    指定したトラベル先の<イメージ画像>を変更します。
    name に変更先のファイル名を、img以下のパス名で記入してください。拡張子は不要です。

  • sealTemp

    指定したトラベル先を一時的に封印します。
    トラベル先の表示はされますが、ファストトラベルはできなくなります。

  • releaseTemp

    指定したトラベル先の一時的な封印を解除します。

  • rename

    <自由拠点名>変数内の拠点名を変更するUIを呼び出します。
    この時のみ、areaId には名前の入力上限数を記入してください。

プラグインコマンド入力例)

transfer fastTravel / returnbase / lastcamp

transfer fastTravel により、ファストトラベル専用のマップ移動を実行します。
<演出コモンイベント>のコモンイベント内に記述してください。
転送先の座標は、UIで行き先決定時に自動で取得しています。

また、プラグインコマンド実行時に転送先の座標をリスポーン地点として更新します。
画面のフェードイン・アウトやアニメーション等は別途追加してください。

また、fastTravelの代わりに returnbase あるいは lastcamp を記述すると、前者なら拠点、後者なら最後に休んだキャンプ(リスポーン地点)へマップ移動します。
アイテムを使用した際に瞬時に拠点やリスポーン地点へ戻ることができる、簡易的なファストトラベルが可能です。

originalFade exe duration wait white

画面の暗転、および復帰を手軽に行います。
ファストトラベル以外でも使える、非常に汎用性の高いプラグインコマンドです。
任意のタイイミングでイベントコマンド内に記述してください。

実際の処理としては画面の色調変更と同じですが、これはフェードアウト・イン、およびホワイトアウト・インに特化した操作となっています。
さらにもし暗転前の色調を変更していた場合、暗転から復帰する際にそちらの色調に自動で戻ります。

ただしその性質上、フェードアウト中に画面の色調変更を行うと暗転状態が解除されます。
あくまでも色調変更の一種であることには注意してください。

  • exe

    out か in を記述します。
    それぞれフェードアウト、フェードインの処理になります。
    それ以外の場合はすべてフェードインとして扱われます。

  • duration

    転換にかかる時間を半角数字で指定します。
    0を指定すると、「画面のフェードアウト・イン」で設定されている時間が適用されます。

  • wait

    wait あるいは true を記述すると、完了までウェイト状態となります。
    不要な場合は false と記述してください。

  • white

    white あるいは true と記述することで、暗転がホワイトアウト・インに変化します。
    不要な場合は記述なしで問題ありません。

よく使う演出がお手軽に。