■22556 / inTopicNo.4) |
Re[3]: Beからのお願い
|
□投稿者/ 中箱
-(2011/11/27(Sun) 21:36:01) [ID:XAPi9INn]
| 2011/11/27(Sun) 21:55:55 編集(投稿者) 2011/11/27(Sun) 21:44:24 編集(投稿者) 2011/11/27(Sun) 21:39:36 編集(投稿者)
> 1、srwjのグレートゼオライマーのようなもの >2、aとbで戦闘を行って、クリア後にbが仲間になる。 >3、1.2話でaでbを説得し、cに乗るので、aで撃墜する。仲間になる。 >4、bをマップクリアまで生き残らせると仲間にになる。
1はほかに比べてやや複雑なので後回しで、先に2〜4の考え方の一例をそれぞれ大雑把に書くと
>2、aとbで戦闘を行って、クリア後にbが仲間になる。 ・aとbが戦闘を行ったら、条件を満たした事を示すフラグを立てる。 ・マップクリア後、フラグが立っていたらbを味方陣営に変更する。 これを イベントラベル、イベントコマンド、関数、変数(フラグ)、パイロット名、ユニット名、等 で表します。 ヘルプの、攻撃イベント、Setコマンド、Ifコマンド、ChangePartyコマンドあたりを参照してください。
サンプルシナリオのイベントファイルを開いて見てみるのも良いでしょう。(例えば2話には攻撃イベントやIfコマンド、Setコマンドによるフラグ立てがあります)
>3、1.2話でaでbを説得し、cに乗るので、aで撃墜する。仲間になる。 ・1.2話でaがbに対して会話コマンドを使ったらフラグ1を立てる。 ・cが破壊された時、相手がaだったらフラグ2を立てる。 ・好みのタイミングで、フラグ1とフラグ2の両方が立っているかを確認する。両方立っていたら味方陣営にする。
これは、会話イベント、破壊イベント、Ifコマンド、ChangePartyコマンド それから、SRC_Wikiのシナリオ作成応用編のQ613(http://www.src.jpn.org/neko/wiki/index.php?%A5%B7%A5%CA%A5%EA%A5%AA%BA%EE%C0%AE%B1%FE%CD%D1%CA%D4#Q613) あたりを利用する事になるでしょう。
なお、途中でインターミッションを挟む場合、判定に用いるフラグ1,2にはGlobalコマンドを利用する必要がありますので注意してください。
>4、bをマップクリアまで生き残らせると仲間にになる。 ・マップクリア時、bが生存していたら(出撃状態のままなら)味方陣営に変更する。 もしくは、 ・bが破壊されたらフラグを立てる。 ・マップクリア時、フラグが立っていなかったら味方陣営に変更する。 どちらでも構わないでしょう。
生存しているかどうかの判定は Ifコマンドの説明にパイロットが出撃しているかどうかを簡単に判定する方法がありますのでそれを用いるか、Status関数を使うのが分かり易いと思います。
さて、 > 1、srwjのグレートゼオライマーのようなもの Gゼオライマーの条件…えーっと、 ・ある話数までは、強制出撃以外で一度でも出撃させたらダメ ・特定の敵を全てゼオライマーで倒さないとダメ でしたっけ?
であれば、 ・最初は、入手可能フラグを立てておく。 ・出撃したらいけない各話の出撃ユニット選択直後、ゼオライマーが出撃していたらフラグを折る ・ゼオライマーで倒す必要のあるユニットが破壊された時、破壊した相手がゼオライマー以外だったらフラグを折る ・好みのタイミングで、フラグが立ったままかどうかを判定する。立っていたらゼオライマーをGゼオライマーに変更 こんな感じかと。 ユニットの変更にはUpgradeコマンドが用意されています。
フラグを折る代わりに入手失敗フラグを立てるようにしてもよいです。
いずれの場合もやはりインターミッションを挟むでしょうから、フラグはGlobal変数にしておく必要があります。
|
|