ページ 11

【解決済み】戦闘後の隊列編成について

Posted: 2017年5月07日(日) 01:32
by Huyuzora
質問させていただきます。

戦闘終了後に、戦闘開始直前の隊列順に戻す方法はないでしょうか?

ツクールMVで、ポケモンのような戦闘を作りたいと考えています。
具体的には、主人公がポケモンのような仲間を連れて歩き
戦闘時には主人公がパーティーから抜けて
仲間だけが戦うという仕様にしたいと思っています。

戦闘開始時に主人公をパーティーから外し
仲間だけが戦うという所までは簡単にできたのですが、
問題は戦闘後に主人公をパーティーに戻すと
主人公が隊列の一番後ろになってしまうということです。
歩行グラフィックは味方キャラの歩行グラを全て主人公と同じにしてしまえばいいかもしれませんが
やはり、戦闘するたびに主人公が隊列の一番後ろに行くというのは望ましくないです。

戦闘が終わるたびに仲間を一度全員パーティーから外し、
また順番通りにパーティーに加えれば出来るかと考えたのですが
デフォルトの条件設定だとアクターがパーティーにいるかどうかの判定しかなく
隊列の何番目にいたかわからず、主人公を先頭に持ってくることは出来ても
他のメンバーの順番がバラバラになってしまいます・・・。

調べているうちに見つけたこちら(http://tm.yumineko.com/viewtopic.php?t=2342)で紹介されている
まっつUP様の「パーティーの並びを保存・呼び出し出来るプラグイン」で
何とか出来るかもしれないと思ったのですが
メニュー画面でしか隊列の呼び出しができずうまくいきません。
スクリプトの
:#0001 = $gameParty._actors.clone();
$gameParty._actors = $gameVariables.value(1)
等で、どうやら隊列の情報自体は変数に代入出来るようなのですが
自分の勉強不足のため具体的な使い方がいまいちわかりません。

どなたか、ご指導ご鞭撻いただけると幸いです。

Re: 戦闘後の隊列編成について

Posted: 2017年5月07日(日) 01:51
by まっつUP
KAGAMI様
お世話になります。

隊員の先頭に任意のIDのアクターを置きたい場合
以下のスクリプトコマンドを実行してください。
ただし、以下のままだとパーティに同IDのアクターがいると
増殖するのでうまく制御してください。
恐らく、置きたいアクターは一人のようなので
イベントコマンドの条件分岐で十分でしょう。

(イベントコマンドの「スクリプト」)
$gameParty._actors.unshift(1); //引数にアクターのIDを入れてください。
$gamePlayer.refresh();
$gameMap.requestRefresh();

Re: 戦闘後の隊列編成について

Posted: 2017年5月07日(日) 10:30
by Huyuzora
まっつUP様

素早いご返答、ありがとうございます。
教えていただいたスクリプトで、無事に想定通りの仕様に出来ました。
非常に助かりました。
これにて解決済みとさせていただきます。

どうもありがとうございました。