えー・・・っと、2ヶ月ぶりですかね?
とにかく独自のテンションで走り書きます。
ちょっと自作Gの制作に熱が入ったので、頑張ってました。
いや、まだ冷めてはいないんですが、ちょっと重大な問題が・・・
『この複雑なイベントの構成はどう覚えておけばいいだろう?』
詳しくは後述します。
まー簡単に言えばこのブログには暫くの間メモ帳として働いて頂くという事です^p^
・・・ん?記事タイトルの意味ですか?
あぁ、元ネタはFF4です。この時点で分かる方は分かると思うんですが。
牙系ほんと強いですよねー。
まともな攻撃手段がないセシルさんや、
攻撃は出来るけど消費MPが比較的大きいエッジさん、
このあたりの攻撃手段としては非常に優秀ですよね。
というわけで盗みまくったんですよ。ラスダン(月の地下渓谷)で。
苦労の結果、赤青白牙×99の束を二つ作れました:*:・( ̄∀ ̄)・:*:
あ、そうそう。あの牙系ってオープニングでセシルさんが使ってるんですね。
ズーあたりには『暗黒』効きにくかったと思うから、これもありか。
んで、『後述します』の部分の事なんですが、
潮時だと思うのでちょっとばかし機能の説明をさせていただこうかと。
今回メモするのは、“特別な技能コマンド”なんですな。
どういう事かというと、
特定の場所でそういうコマンドを追加してもらうわけです。
今作ってるのが『盗む』コマンドの追加・削除。
盗賊から盗みの方法を教えてもらって・・・・・・・みたいな感じなわけです。
あ、これだけの説明だと簡単そうだと思うでしょ!?
あーもーこれだからにわかは((
キツイですよ?多分このイベント一つに10時間くらいかけてますよ?
~~~このイベントに使用するスクリプト~~~
☆選択肢拡張 ※アクターの選択肢・選択肢の配置変更
配布元サイト 紳士の月面工房様 ←クリックで別窓にトップページ
※解説を見る前にこのスクリプトのマニュアルを
流し見する程度でも目を通しておく事をお勧めします。
☆個別戦闘コマンド ※『盗む』をはじめとした追加・削除できる戦闘コマンド
☆盗む ※今回追加するコマンドのスキル(盗むシステム)
配布元サイト KAMESOFT様 ←クリックで別窓にトップページ
さて、本題に移りますが。
簡単な流れ、
話しかける ⇒ 選択肢表示(コマンド追加、コマンド消去、説明)
~~コマンド追加の場合~~
※1追加するアクター選択 ⇒ 確認 ⇒ 追加☆
~~コマンド消去の場合~~
※2消去するアクター選択 ⇒ 確認 ⇒ 消去☆
~~説明の場合~~
大まかな説明と留意点。
こんなもんですよ。 簡 単 で し ょ ? 流 れ だ け は 。
一番苦労するのは※のついた部分。
まず選択肢の表示。
コマンドを追加したり消したりっていうのは、アクターのIDを基に行われるんですよ。
んで、このIDはどこから求めるのか。
選択肢の結果くらいのものでしょうね。というかそれ以外無い。
しかし、スクリプトの仕様上表示された選択肢の結果は、
アクター依存ではなく、格納された変数に依存するですよね。
何が言いたいかというと、選んだ選択肢の結果は、上から1、2、3、4・・・と
変数に格納されるんです。
例を挙げると、下のような選択肢があったとして、その結果を導き出すために、
⇒ A(アクターID:1) ・・・変数に 1 を格納
B(アクターID:2) ・・・変数に 2 を格納
C(アクターID:3) ・・・変数に 3 を格納
という作業が行われるわけです。
格納された変数に依存というのは、この変数の結果を利用するわけです。
Aを選択して変数に1が格納されたら、
アクターID1にコマンドを追加する作業をする。といった具合です。
あ、この二行理解してないと次の解説ワケワカメになりますよ。
見た感じだと『これに対応できるようなイベントを作れば』と思うでしょう。
IDと変数も共通してますし、このままそのIDにコマンドを追加すれば。
しかし、矛盾を覚えませんか?
このA,B,Cがゲーム上のパーティで、D,E,Fと変更可能だとしたら。
⇒ D(アクターID:4) ・・・変数に 1 を格納
E(アクターID:5) ・・・変数に 2 を格納
F(アクターID:6) ・・・変数に 3 を格納
こんな選択肢とそれに応じた変数格納の作業もありうるわけで。
さて、ここで問題です。
ここで選択肢Dを選択し、変数に1が格納された場合、
コマンド追加処理の対象になるのはA,B,C,D,E,Fの誰になりますか?
上にある赤太字の二行を理解できているなら一瞬で解る筈。
正解は、Aです。
選択肢の結果は、格納された変数依存。これはこういう事なんですね。
つまりは選択肢として表示される項目はただのお飾りで、
内面的に行われる処理がどうなのかがキモなんですね。
がっつり簡単に言うと、上から何番目の選択肢を選んだかで
その後のイベントが変わる。という事です。分かりました?
僕はこの問題を解決するのに2時間を要しました。
いやだって、ここからどうするかとか思い浮かばないでしょ?
んで、出た結論が
『パーティじゃなくて、アクターをただ並べて選択肢にすればいいじゃん』
まぁ早い話、
⇒ A(アクターID:1) ・・・変数に 1 を格納
B(アクターID:2) ・・・変数に 2 を格納
C(アクターID:3) ・・・変数に 3 を格納
D(アクターID:4) ・・・変数に 4 を格納
E(アクターID:5) ・・・変数に 5 を格納
F(アクターID:6) ・・・変数に 6 を格納
こんな感じにすれば?ってことなんです。
こうすれば起こすべき格納される変数に対するイベントが一つになりますね。
1が格納されればID1に、3が格納されればID3にコマンド追加。と。
実際これが最善の選択であったと思っています。
しかしまた壁にぶち当たる。まぁこれは単純な話です。
“あ。これ・・・ネタバレすんじゃん”
まさしくこの通り。
これはわかるでしょう?計算とか全然必要ないです。
だって全部のアクターが登場していない時にこの選択肢イベントが発生すると・・・?
見えちゃいますね。今後の登場キャラ。
一度裏切ったはずのアイツがまたパーティに・・・戻ってくるのか!?
なんてこともわかるわけで。
『全アクター登場後にこのイベントを~』というのはもっともなんですが、
でもそれじゃなんか面白くないじゃないですか。
だって全アクターが登場するの初回ED後ですし?
その後に『盗む』コマンドが付いても・・・ねぇ?
この問題は早くに解決しました。
なんと!親切な事にスクリプトに“スイッチ制御機能”なるものがあったんですよ!
どういうものかというと、選択肢を表示する際、
特定のスイッチがONになっていなければその選択肢を表示しない。
つまり、アクター登場とともに対応したスイッチを制御すれば、
丁度良く選択肢のマスクが出来るという事です。
さらに有難い事に、この影響で隠れた選択肢もあるものとして扱われるんですよ。
まあとにかくこの例を見てくださいな。
⇒ A(アクターID:1) ・・・変数に 1 を格納
B(アクターID:2) ・・・変数に 2 を格納
C(アクターID:3) ・・・変数に 3 を格納
D(アクターID:4) ・・・変数に 4 を格納
E(アクターID:5) ・・・変数に 5 を格納
F(アクターID:6) ・・・変数に 6 を格納
水色はスイッチがONにされておらず、
実際の選択肢には見えない状態である事を表しています。
ゲーム上ではこんな感じです↓
⇒ A(アクターID:1) ・・・変数に 1 を格納
C(アクターID:3) ・・・変数に 3 を格納
F(アクターID:6) ・・・変数に 6 を格納
要はCを選択した時、格納される変数は3のまま保持されるんですね。
上から2番目だから格納された変数は2。なんてことにはならないのです。
以上で解説・・・というか自分を納得させるためのメモを終了しますが、
選択肢の次、即ちコマンドの追加・削除にまだ問題があるんですよね。
これは僕がもう疲れたので明日辺りに更新したいと思います。
それでは皆様、おやすみなさいー。

