ページ 11

FF6のように、パーティーを複数に分割するスクリプト(RGSS3)

Posted: 2017年5月05日(金) 13:22
by shimei
FF6の幻獣を守れのように、ひとつのパーティを複数に分割し、どれか一つのパーティに敵が接触したらそのパーティが戦闘に突入するようなシステムを作れるスクリプトを作っていただきたいです
お願いします

Re: FF6のように、パーティーを複数に分割するスクリプト(RGSS3)

Posted: 2017年5月05日(金) 18:10
by shimei
追記
パーティの分割自体はkure様の「マルチパーティースクリプト」で
敵が非操作のユニットに触れたら戦闘になる点は
CanariAlternate様の「イベント起動判定拡張」で
実装できそうと思ってます
問題は、「分割したパーティ一つ一つの先頭キャラのキャラチップを全部同時にマップ上に用意し、非操作時には(敵が接触した時にバトルが起きる)イベントとしてマップ上に置いておくこと」が、既存のスクリプトやイベント命令などでは難しいことです
このあたりを何とかするスクリプトをお願いします

Re: FF6のように、パーティーを複数に分割するスクリプト(RGSS3)

Posted: 2017年5月06日(土) 23:38
by faida
既存のイベントコマンドでできないわけではないと思います。ただちょっと自然ではないだけで。

各パーティのメンバーのデータは「$game_party.call_save_actor(id)」で取得できます。
つまり各パーティの先頭のキャラのIDを「$game_party.call_save_actor(id)[0]」で取得できるわけです。
これとイベントの「移動ルートの設定」でやりくりします。

簡便のため、パーティ0, 1(ID取得するときは0から始まるので)とイベント1, 2を使用するとします。
編成後、以下を実行します。
スクリプト:id = $game_party.call_save_actor(0)[0]
actor = $game_actors[id]
$arr = [actor.character_name, actor.character_index]
移動ルートの設定(イベント1)
透明化 ON
スクリプト:@character_name = $arr[0]
スクリプト:@character_index = $arr[1]
(移動ルート終わり)
スクリプト:id = $game_party.call_save_actor(1)[0]
actor = $game_actors[id]
$arr = [actor.character_name, actor.character_index]
移動ルートの設定(イベント2)
スクリプト:@character_name = $arr[0]
スクリプト:@character_index = $arr[1]
(移動ルート終わり)
あとはパーティ切り替えの時に透明をON/OFFしてやりくりするだけです。

ちなみにパーティ切り替えの際にイベントを指定座標に置く方法ですが、ゲーム変数に保存する方法が簡単です。
「変数の操作」内「ゲームデータ」でプレイヤーの座標を取得することができるので、
あとは「イベントの位置設定」でなんとでもなります。

Re: FF6のように、パーティーを複数に分割するスクリプト(RGSS3)

Posted: 2017年5月08日(月) 14:00
by shimei
>FAIDAさま

ありがとうございます。試してみます!