1.
エンディングの作成手順について解説する。 エンディングで使用するのは 400番台のFlagとFlag[0]である。 400番台のフラグは特殊で、エンディング専用となっている。 ゲームをクリアした時に、クリアした勢力の [400+勢力番号]のFlagがtrueになる。 Flag[401]なら勢力番号1の、 Flag[402]なら2の、Flag[410]なら10の マスター(勢力)のエンディングのフラグとなる。 0番のフラグも特殊で、ゲームをクリアした時にtrueになる。 デフォルトでは if(Flag[0]==true) { END } という使われ方をしており、その時点でイベントフェイズを終了させ それ以降のイベント(人材加入とか色々)が発生しないようにしている。 2.
エンディングはオープニングと違って、プレイヤーによってクリアする状況が違ってくる。 よって、色々な状況を想定してエンディングを作ると良い。 もっとも、分岐するEDを作る必要はないといえばないのだが。 例えばデフォルトのアルテナの場合は ・ゴートとアルテナとラムソンが存命 ・ゴートとアルテナが存命 ・アルテナとラムソンが存命 ・アルテナのみ存命 という4パターンが考えられる。 (実際にエンディングとして存在するのは、「ゴート存命(ラムソンは関係ない)」「ゴート滅亡、ラムソン存命」「アルテナのみ存命」 の3パターン) この「存命中のマスターによって左右される」パターンのエンディングは、 例えば、x陣営とy陣営が永久同盟を結んでいて、y陣営の生死で分かれるなら //EDその1 単独クリア if(Flag[40x] && KuniFlag[y]==0) { エンディングその1 } //EDその2 国y との共闘エンド if(Flag[40x] && KuniFlag[y]) { エンディングその2 } という風に組めば良い。 他に、 if(Flag[40x] && Flag[y]==true) という風に、400番代以外のフラグも条件に組み込める。 「けものもののけ」では、作中の重要イベントの 「フラグナンバー21.飛行石」のフラグを trueにしたかどうかでEDが分岐する陣営が多い。 //01コッコA(飛行石所持) if (Flag[401] && Flag[21]==true) { パターンAのED } //01コッコB(飛行石不所持) if (Flag[401] && Flag[21]==false) { パターンBのED } 上記のような使い方もできる。 他にも特定の人材が生きていると分岐するパターン等もできる。 人材の生死を判定したEDでよく使われるものでは、 特定の人材がED時に存命中であれば、一言喋るというイベントである。 // 11.ED if (Flag[411]) { Music エンディング用音楽 AreaFocus BaseArea[11] Window 0 Conversation 11 Print やったぞ! Print ついにこの大陸を Print 統一できた! WindowOn 0 if (HeroKuni[%人材A]==11) { Window 1 Conversation %人材A Print よく頑張ったな。 Print だが、本当に大変なのは Print むしろここからなのかもな。 WindowOn 0 } if (HeroKuni[%人材B]==11) { Window 1 Conversation %人材B Print マスター11……。 Print お前はこの大陸を Print 平和にする義務があるのだ……。 WindowOn 0 } WindowOff Window 0 Size 356,96 Print こうしてマスター11による Print 大陸の統治が始まったのだった。 Print マスター11は、名君と称えられた……。 WindowOn 0 WindowOff } (人材A存命中イベントにかかる個所は赤字 人材B存命中イベントにかかる個所は青字) 上記のイベントは、勢力番号11番のイベントで 人材Aと人材Bがそれぞれ存命中なら喋るというイベントである。 3.
EDのテンプレート。 ・プレイヤーが[勢力番号]の陣営をクリアした時にEDが発生。 人材Aが陣営にいる場合、追加のイベントが発生する。 Flag[40x]は、400+勢力番号が入る。
デフォルトの「活躍した人材たち」のスクリプトはそのまま流用することをお勧めする。 //エンディング(すべて) if (Flag[0]) { END } というスクリプトをいれないと、イベントフェイズは終了しない。 |