パートナーシステム02
執筆者:神凪洸
さぁさぁ第二回!!パートナーシステム作成方法だよ!
今回は、「パートナーと操作キャラを交代出来るタイプ」っす。
2019/05/17 プロジェクト公開しました。DLはコチラ(適当アニメーションと同じプロジェクトです)
※操作キャラ(アクター)が多い場合は不向き。
先頭グラ固定など、アクターは多いがMAP上では実質一人などの場合は問題ない。
では、さっそくGO!
1、スイッチ・変数の確保。
スイッチ: 「パートナー連れ出し許可」「パートナー待機」「パートナーイベント中」計3つ。
変数: 「パートナーX座標」「パートナーY座標」「パートナー番号」
「プレイヤーX座標(2つ)」「プレイヤーY座標(2つ)」「マップID」計8つ。
注意ヽ(`Д´)ノ
「パートナー番号」は現在連れているパートナーの判別用。
その為、0が入っている時は「誰も連れていない」という意味で使用するので パートナーに番号をふる時は1からふってください。
2、MAPイベントIDの確保
連れ出すパートナー専用にMAPIDを確保するっす。
ID001を他のイベントで使わないようにするっす。これを忘れると悲惨なことになるぞ!!
3、パートナーイベントを組む
確保したIDでパートナーイベント組むっす。
◆まずは、1ページ目
出現条件に「パートナー連れ出し許可」「パートナー番号」を指定するっす。
※この時「パートナー連れ出し許可」はそのシステム自体の許可という認識で。
◆自律移動カスタム又は近づくに設定
頻度は最高
◆2ページ目の設定
1ページ目をコピペし、出現条件「パートナー待機」を追加。自律移動を固定に変更。
◆3ページ目の設定
2ページ目をコピペし、出現条件「パートナーイベント中」を「パートナー待機」に変更。
これで操作キャラを追従、パートナーイベント中、待機しているの設定が完了。
◆上記をパートナーキャラと操作キャラの二人分設定するっす
4、パートナーシステム用のコモンイベント作成
トリガー:並列処理
条件スイッチ:「パートナー連れ出し許可」
◆まず最初に追従・待機指示の作成
前回の記事同様、「条件分岐:スクリプト:Input.trigger?(:n)」
nには、お好きなボタンをどうぞ。今回は:Lでやるっすよ。
ところで、前回説明を忘れていましたが、
Input.trigger?(:n)はイベントコマンドにある「ボタンnが押されている」とは 仕様が異なるっす。
ボタンn~の方は、キーを押している限りずーっと反応し続けるっす。
Input.trigger?(:n)は、押しっぱでも一回分しか反応しないというものっす。
なので、待機・追従指示ではスクリプトので条件分岐してるっす。
5、パートナーの切り替え
同じくパートナーシステムコモンイベント内に最初の条件分岐でそれ以外の場所に
ボタン条件分岐をするっす。その中に「マップID」「プレイヤーX座標」「プレイヤーY座標」
「パートナーX座標」「パートナーY座標」を代入し
今度は、現在の「パートナー番号」で条件分岐をしてパートナーを交代するように 「パートナー番号」とプレイヤーグラを変更するっす。
そうしたら、場所移動とイベント位置設定でパートナーと操作キャラを入れ替えっす!!
ココまでのコモンイベント内は、こんな感じになってるっすよ。
注意ヽ(`Д´)ノ
待機・追従の「プレイヤーXY座標」と交代の「プレイヤーXY座標」は別物だ!
なんか知らんが、どうもプレイヤーXY座標を上書きしてしまう病が発生するため
素直にもう1つの変数を用意してそちらにいれよう。
注意ヽ(`Д´)ノ
パートナー交代する際、プレイヤーグラを変更しているぞ。
メニュー画面で並び替えなどをすると元に戻るため、「並び替え不可」にしたり
「先頭グラ固定」にしたりこの辺りはスクリプトを持ってこよう。
デフォルトのアクターグラフィック変更は、他の部分で面倒が起こることがあるので
オススメしない。また、入れ替え不可はデフォルトの「並び替え禁止の変更」で出来るっすよ。
◆とりあえず、画像通りに組んでテストしてみよう。
6、パートナー入れ替えを強化
パートナーがアクターの場合、パートナー死んでたら交代出来ないやろ!!ってことで、
パートナーが死んでたら交代出来ない+操作キャラが死んでパートナーが生きてたら
自動的に交代するようにしてみよう。
◆死んでたら交代出来ないぜシステムを作る
まず、交代部分のinput.trigger?の中身を「条件分岐:パートナーが戦闘不能になっている」で分岐。
それ以外の時に交代システムを突っ込むっす。
◆死んだら自動で交代する
交代用のinput.trigger?で分岐した、それ以外の部分に
パートナーが死んだら自動で交代及び、交代出来るパートナーがいなかったら
ゲームオーバーという形で組むっす。
これで完成!!パートナーにイベントを起動してもらうのは、前回の記事と同じなので割愛。
7、便利なスクリプト
さてさて、ここまで作ってこのシステムには最大の欠点があるっす!!
それは!!
◆ヽ(`Д´)ノ全MAPにパートナーのMAPイベントを設置しなければいけない!!
設置するだけならいいんすけど、もし追加修正があった場合……
考えるだけでも恐ろしい……((((;゚Д゚))))ガクガクブルブル
そんな時に便利なスクリプトをご紹介!!
「カルトの鳥篭」様の「クローンイベントEX」
これはまさにイベントをそのままコピペするものですが、 親イベント1つだけを弄るだけで、
他のイベントを同じものにしてくれるのです!!便利だーーー!!!
このシステムを作るなら絶対必要!!ってくらいには便利なのでぜひぜひ。
また、おなじくカルトの鳥篭様の素材で
「経路探索VXAce」「イベント起動判定拡張」を使うことで追従機能がより自然な感じになり、
ギミック判定の幅が拡がるのでオススメっすよ。
◆パートナーが離れすぎて、迷子になっちゃったー(´・ω・`)
そんな時、操作キャラと離れすぎた場合は追従速度を早くしてみたり
距離に応じて、待機解除の際に一瞬で操作キャラの元へ戻すなどを作成するのに使える便利スクリプトがあるっす。
「回想領域」様の「距離によるセルフスイッチ自動切り替え」っす!
これで操作キャラとnマス以上離れたら速度を速くしたり
nマス以上離れてる際に待機解除したら、瞬時に操作キャラの元へ!が作れちゃうっすよ!!
便利!便利!!
白黒洋菓子店のゲームでも実際にこれらを使用して、作成してます。
もし、これらをご使用でパートナーイベントを作る際わからないことがあれば、
可能な限りは対応したいと思うっす。
■おしまい
第二回パートナーシステムの作成方法っしたー!!
次回は「別のMAPに移動してもパートナーはそこで待ち続けます!」タイプの 作成方法っすよ。
ではでは・w・ノシ