スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

近況報告 5/20

続きを読む

スポンサーサイト

ゲーム制作日記<54> デフォルト計算式

みなさん、こんばんは。
ネコタです。


最近、ご無沙汰していますが、細々とツクツクしております。
とは言っても、いろんなものが中途半端ですけどね(笑)

さて、中途半端とはいえ、いろんなものが出来てきたので、そろそろ戦闘関連にメスを入れ始めようかと思いました。


今、デフォルト素材だけで作るプロジェクトを進めているのですが、戦闘もデフォルト計算式にこだわりたい。

ということで、ダメージの計算式は、デフォルトの式である

a.ATK*4-b.DEF*2

に決定。この計算式は、凄くシンプルで分かりやすい。
けど、シンプル故に、ユーザーは割といじりたがる(笑)


今回は、このデフォルト計算式のお話をしようかと思います。



■ツクールMVデフォルト計算式


RPGツクールMVの基本ダメージ計算式は、先ほど示した通り。

a.ATK*4 - b.DEF*2


さて、まずはこの計算式の意味ですが、とっても単純な構造をしています。

・ユーザーの攻撃力が1上がる→ダメ―ジは4増える。

・対象の防御力が1上がる→ダメージは2減る。


これだけ。

ダメージを完璧に相殺するには、相手の攻撃力に対して2倍の防御力があれば良い計算になります。

分かりやすいですね。



しかし、戦闘の計算は、これで完結するわけではありません。
ダメージの処理には、他にもいくつかの処理が関わっているんですね。

それらをちゃんと把握していないと、上手いゲームバランスを組み立てることが難しいんです。


では、他にどんな処理があるのか見てみましょう。

・命中判定と回避判定(命中率)
・会心率(クリティカルによるダメージUP)
・バフ・デバフによる強化・弱体化
・分散(ダメージのブレ幅)


これらの処理が、どのように行われているか、ご存知でしょうか?

実は、デフォルト戦闘の設計には、これらが固定で設定されています。

順番に見ていきましょう。


命中率
攻撃の命中判定は、命中率による命中判定の後に、回避率による回避判定を行います。

具体的には、ユーザーの命中率95%、ターゲットの回避率5%とした場合、

命中判定:95%の確率で命中
回避判定:(100%-5%)で命中


命中率による命中判定を先に処理しますので、まずは、命中率を計算します。

命中率①:100%×95%=95%

このフィルターを通ったものに対して、さらに回避判定による命中率計算を行います。

命中率②:95%×(100%-5%)=0.95*0.95=0.9025

したがって、トータルした命中率は、90.25%の命中率となるわけですね。

命中率と回避率は、職業や敵キャラで設定されているので、その数値を変更すれば良いのですが、この計算式自体は固定となります。

※参照するのは、ユーザーの命中率と対象の回避率の組み合わせとなります。


簡略化したいときは、回避率を削除するいか、命中率を100%にすればどちらか一方だけの計算となるため、分かりやすくなります。


会心の一撃
固定で3倍のダメージです。変更するためには、スクリプトを弄るかプラグインの導入が必要となります。


バフ、デバフについて
バフ・デバフによる数値変化は1段階につき25%です。そして、2段階までとなっています。

1段階バフ・デバフをかけると、数値が25%増減して計算されます。

この幅や重ねがけの回数を変更するためには、スクリプトを弄るか、プラグインの導入が必要となります。


分散
ダメージの幅です。

たとえば、分散20%、ダメージ計算の結果が100の場合、実際のダメージは100から前後20%(80~120)の値になります。


以上が、戦闘に関わる固定設定です。


あとは、防御しているかどうかもありますが、これは防御状態の時に応じて最終ダメージに50%を掛け算したりします。


で、これらの仕様が分かるとですね。

実際にテストプレイをしなくても、Excelなどの表計算ソフトを利用してシミュレートすることが出来ます。

計算に必要な設定項目は、以下の通りです。

・a.ATK(スキル使用者の攻撃力)
・b.DEF(ターゲットの防御力)
・命中率(ユーザー)
・回避率(ターゲット)
・分散
・会心率
・バフ・デバフ効果(25%)


これらを使うと、ダメージの期待値を割り出すことが出来ます。



■期待値計算


まずは、期待値が何なのかというと、

ここで言う期待値とは「無限回数この計算式で攻撃した場合において、ミス(0ダメージ)やクリティカル(3倍ダメージ)も含む、毎回の平均ダメージ」を言います。

期待値の数式的な定義ですが、

(数値*発生確率)の総和

です。理屈は簡単ですね。

これを計算できると、実際にテストをしなくても、計算だけでおおよその戦闘の経過をシミュレートでき、実際に組んでから数回テストするだけで済みます。

なので、計算できるようになっておくとすごく便利。


で、さっそく期待値を出したいんですが。

これを出すために、まずは各攻撃の発生確率を調べなければなりません。


各攻撃って何かというと、

・通常のヒットした時(1倍ダメージ)
・攻撃がミスした時(0ダメージ)
・クリティカルヒットした時(3倍ダメージ)


この3つですね。それぞれが、どのくらいの確率で発生するかを考えていきます。



●攻撃がミスした時

まず、攻撃がミスした時を考えてみましょう。

攻撃がミスする場合というのは、命中判定で命中しなかった場合を考えます。

即ち、先ほど出した命中率を全体から引いた値ですね。

全体は100%で、トータル命中率は90.25%でしたね。


ミス発生率:100%-90.25%=9.75%


よって、9.75%の確率で0ダメージとなります。



●クリティカルヒットの時

次に、クリティカルヒットの時の発生確率を出してみましょう。

クリティカルヒットは、攻撃が命中した場合に、会心率の確率で発生します。

会心率は、デフォルトだと4%に設定されているので、これで計算してみましょう。


まずは、攻撃が命中する確率ですが、


命中率:90.25%


これに対して、会心率は4%ですので、


会心発生率:90.25%*4%=3.61%


よって、この攻撃をしたときの会心発生率は3.61%の確率となります。



●通常の攻撃ヒット時

さて、通常のヒット時について発生率を考えてみましょう。

これは、ミスでもクリティカルでもないときには通常のヒットとなりますから、全体から今までのものを差し引くことで計算できます。

全体の確率は100%、ミスは9.75%、クリティカルは3.61%ですので、


100%-9.75%-3.61%=86.64%


すなわち、通常のヒットは86.64%の確率で発生することが分かりました。



さて、以上でそれぞれの発生率が分かりましたので、下に一旦まとめておきましょう。

・通常ヒット:86.64%
・ミス:9.75%
・クリティカルヒット:3.61%



それでは、いよいよ期待値の計算です。

今回は、a.atk=120、b.def=80として計算します。

まず、デフォルトのダメージ計算式からダメージを計算します。


 a.ATK*4-b.DEF*2=120*4-80*2
=480-160
=320


次に、それぞれ通常ヒット時、ミス時、クリティカルヒット時の倍率を掛け算します。


・通常ヒット時:320*1=320
・ミス時:320*0=0
・クリティカルヒット時:320*3=960


そして、それぞれに発生確率を掛け算します。


・通常ヒット時:320*0.8664=277.248
・ミス時:0*0.0975=0
・クリティカルヒット時:960*0.0361=34.656


最後にこれらを全て足し算します。


277.248+0+34.656=311.904
≒312


よって、期待値は312ダメージとなります。


●期待値計算結果

RPGツクールMVのデフォルト計算式である、下記計算式

a.ATK*4-b.DEF*2

について、

命中率:95%
回避率:5%
会心率:4%
a.atk:120
b.def:80

上記の条件において攻撃を行った場合には、平均すると

約312ダメージ

が、毎回入ると考えられます。


これを基に、例えば、1回の戦闘を平均3ターン程度としたい場合には、

312*3=936

敵のHPを936程度に設定すると、大体3ターンで倒せるということになります。


今回は1対1の戦闘を想定しましたが、このように、期待値を用いて実際の戦闘をシミュレートすることで、戦闘テストを何度も行わずに、平均的な戦闘結果を知ることが出来ます。

また、この考え方を応用すれば敵のHP・ATK・DEFの決定にも利用できます。

少し難しい話だったかもしれませんが、ぜひ試してみてくださいね。



■デフォルト計算式用サンプル


私が考えた、デフォルト計算式用の基本設定サンプルをここに提示しておきます。どうしようか迷ったら、参考にしてみてください。

ちなみに、期待値の計算結果が元の計算式になるようになっていますので、この設定にしておくと、期待値計算をしなくても数値を把握できるようになっています。


●標準型
命中率:98%
回避率:3%
会心率:3%

(トータル命中率: 約95%です)


●ギャンブル型
命中率:95%
回避率:5%
会心率:6%

(トータル命中率: 約90%です)


●安定型
命中率:99%
回避率:1%
会心率:1%

(トータル命中率: 約98%です)



■分散


スキルに分散を設定しておくと、計算結果に対してダメージの値に範囲を持たせることが出来ます。

例えば、基準となるダメージが100、分散が20%だった場合、ダメージは100±20の範囲で決定されます。

分散がどのくらいになろうとも、平均ダメージは概ね計算式の通りとなりますが、実際にダメージがばらつくとプレイヤーの印象が変わってきます。

例えば、先ほどの例の場合には、最低ダメージが80で、最高ダメージが120となりますから、設定した側からすればたった20%のつもりでも、プレイヤーからすると80と120で1.5倍ほどのブレがあるように見えるわけです。

なので、設定する分散の値によって、どのくらいの振れ幅になるのかは把握しておいた方が良いでしょう。


ざっと、一覧を載せてみますので、参考にしてみてください。
個人的にオススメは5%です。


●分散範囲一覧
分散・・・範囲 (プレイヤー視点の範囲格差)
1%・・・99%~101% (2%差)
3%・・・97%~103% (6%差)
5%・・・95%~105% (10%差)
10%・・・90%~110% (22%差)
15%・・・85%~115% (35%差)
20%・・・80%~120% (50%差)
25%・・・75%~125% (67%差)
30%・・・70%~130% (86%差)
33%・・・67%~137% (2倍差)
50%・・・50%~150% (3倍差)
60%・・・40%~160% (4倍差)
67%・・・34%~167% (5倍差)
72%・・・28%~172% (6倍差)
75%・・・25%~175% (7倍差)
78%・・・22%~178% (8倍差)
80%・・・20%~180% (9倍差)
82%・・・18%~182% (10倍差)
91%・・・9%~191% (21倍差)
94%・・・6%~194% (32倍差)
95%・・・5%~195% (39倍差)
96%・・・4%~196% (49倍差)
100%・・・0%~200% (カオス)



■バフ・デバフを考慮した能力値設定


RPGツクールMVには、ステートとは別にバフ・デバフというものがあります。

バフ:数ターンの間、能力値が上がる。1段階につき25%UPする。(最大2段階)

デバフ:数ターンの間、能力値が下がる。1段階につき25%DOWNする。(最大2段階)



バフとデバフは、それぞれ各能力値に付与することができますが、とりわけATK(MAT)やDEF(MDF)は計算式に直接かかわってくるため、この影響は無視できません。

最大で50%~150%まで変動させることが出来るので、何も考えずにバフ・デバフを付与できるようにすると、戦闘バランスが大きく崩れることになります。

そこで、バフとデバフの影響があるときの、基本ダメージ式の変化を見てみましょう。

ここでは、a.ATKとb.DEFについてのみ考えてみます。


●a.ATKを強化(バフ)

基本式: a.ATK*4-b.DEF*2

a.ATKが関わるのはa.ATK*4の部分ですね。ここがバフによって変化します。

1段階:a.ATK*4*1.25=a.ATK*5
2段階:a.ATK*4*1.5=a.ATK*6

a.ATKにバフをかけると、ダメージがa.ATKの値ずつ増えていくことになります。結構な影響力ですね。


次に、a.ATKにデバフをかける場合を見てみましょう。

●a.ATKを弱体化(デバフ)

1段階:a.ATK*4*0.75=a.ATK*3
2段階:a.ATK*4*0.5=a.ATK*2

このように、デバフをかけていくと、a.ATKの値ずつダメージが減っていきます。2段階もかかると、計算式がb.defと同じになってしまうため、値が同じ場合にはダメージが0となってしまいますね。


このことから、a.ATKはb.DEFよりも大きい値の方が良いと分かります。同じ値以下だと、デバフで完封されかねないということになりますから、慎重に導入する必要が出てくるわけですね。


次に、b.DEFに注目してみましょう。

●b.DEFを強化(バフ)

基本式: a.ATK*4-b.DEF*2

b.defが関わるのはb.DEF*2の部分ですね。ここがバフによって変化します。

1段階:b.DEF*2*1.25=b.DEF*2.5
2段階:b.DEF*2*1.5=b.DEF*3

b.DEFにバフをかけると、元数値の50%ずつダメージが減少していきます。a.ATKの時に比べて効果は小さくなりますので、実はb.DEFを操作するバフ・デバフは単純に考えるとa.ATKに対するバフ・デバフの劣化版となるんですね。


では、同様にb.DEFにデバフをかける場合を見てみましょう。


●b.DEFを弱体化(デバフ)

1段階:b.DEF*2*0.75=b.DEF*1.5
2段階:b.DEF*2*0.5=b.DEF*1

もう分かるかと思いますが、b.DEFの50%ずつ減少ダメージが減っていくので、結果として、b.DEFの50%ずつダメージが上がっていきます。





さて、ここまで見て来ると、バフとデバフが最大の効果を発揮する状況というのが、想像できてこないでしょうか。

すなわち、

・a.ATKに2段階のバフをかけ、b.DEFに2段階のデバフをかけた場合
・a.ATKに2段階のデバフをかけ、b.DEFに2段階のバフをかけた場合


この2つの状況ですね。

これらについて、確認してみましょう。

●a.ATKに2段階のバフ&b.DEFに2段階のデバフ

a.ATKに2段階バフ:a.ATK*4→a.ATK*6
b.DEFに2段階デバフ:b.DEF*2→b.DEF*1

よって、ダメージ式は、

a.ATK*6-b.DEF*1

上記のように変化して計算されます。能力値の差によって、カッチリ何倍になるという比は出せないのですが、

・a.ATK=b.DEFの場合:2.5倍
・a.ATKがb.DEFの1.5倍:2倍
・a.ATKがb.DEFの2倍:1.7倍

というように、a.ATKがb.DEFに対して大きくなっていく毎に、バフ・デバフによる効率は減っていきます。



次に、a.ATKに2段階のデバフをかけ、b.DEFに2段階のバフをかけた場合を見てみましょう。


●a.ATKに2段階のデバフ&b.DEFに2段階のバフ

a.ATKに2段階デバフ:a.ATK*4→a.ATK*2
b.DEFに2段階バフ:b.DEF*2→b.DEF*3

よって、ダメージ式は、

a.ATK*2-b.DEF*3

上記のように変化して計算されます。こうなると、a.ATKとb.DEFの関係が逆転していますので、もともとのa.ATKがb.DEFの1.5倍は無いとダメージが通らなくなってしまいますね。


よって、a.ATKはb.DEFに対して、少なくとも1.5倍よりは大きくないと、バフ・デバフだけで封殺される可能性が出てきます。


このギミックをあえて仕込むのも一興ですが、意識していないと思わぬ落とし穴となりそうな問題です。

バフ・デバフを導入する場合には、能力値についても注意しておく必要があります。



■おわり


以上、RPGツクールMVのダメージ計算式について、現時点での考察でした。


世の中には、いろんなダメージ計算式があります。

自分が扱う計算式の特徴をしっかりと理解することが、戦闘バランス調整の第一歩となります。

どの数値がどのように変化するのか。
それによって、ダメージにどの程度の変化がもたらされ、どの程度期待されるのか。

きちんと把握して、より良い戦闘バランスになるよう心がけたいものですね。


ではでは、今日はこの辺で。
ネコタでした。

ゲーム素材の発注について

皆さんこんばんは。
ここのところ、風邪でダウンしてしまい、グロッキーなネコタです。

最近は、製作したくても、もう体力が限界で厳しいです。
帰ったらご飯食べて子供の面倒見て寝る。

一応、子供を寝かした後に2時間程度時間を取れることは取れるので、今までどうにかぼちぼちやっていたんですが、やっぱり体力が落ちてるんですね。子どもから風邪うつされました(苦笑)。


さて、それでは本題。

ゲームを制作しているコミュニティの方々とお話ししていると、何かしら素材が作れる人を結構見ます。
私は素材が全く作れないので、うらやましい限り。
一応、必要そうな本は買ってさらっと勉強はしてたりするんですけど。

ツクールMVなら、プラグイン開発のためにJAVAscriptの知識が必要となるため、初心者向けのプログラミングの本(JAVAscript関連)を数冊購入しています。

また、歩行や戦闘グラフィックをいじるためにはドット絵の知識や技術も必要になるので、ドット絵の本も数冊購入しています。

立ち絵や顔グラも描けるようになりたくて、イラストの本も数冊購入。

音楽関係はまあ、現状足りてるのでやってない(笑)

アニメーションも、まだ何とかなってるのでやってない。


とまあ、それなりに手広くできるようには考えていますが、結局、ものにしている訳ではないため、私に出来ることなんてシナリオ作成とツクールMVを弄るくらいなんですよね。


そんな私がゲーム開発するためには外部の素材が必要不可欠となるわけです。

ということで、素材発注の話。


素材発注するときには、いくつか考えておかなければならないことがあります。

・予算
・納期
・具体的な仕様
・著作権について

とりあえず大別すると、この4つですね。


まず、予算ですが、いくらまで出すことが出来るかを考えておきましょう。

予算は単価ではなく、全体の予算です。1本のゲームを作るために用意することができる金額。
これを把握しないと、発注してから種銭切れになり、結果として中途半端な作品になったり断念することになりかねません。

個人製作なら借金してまで作ろうとは思わないでしょうが、商用である場合には、借金も必要になるかもしれませんからね。お金の話は、結構しっかり考えておいた方が良いです。

ちなみに、こまめに発注してこまめに支出するよりは、しっかりお金を確保しておき一気にたくさん発注した方が、結果的にローコストになりやすいです。



次に、納期です。これも決めておいた方が良いでしょう。

どのくらいで出来るのかが分からなければ、いつまでに必要になるかを考えて発注すると良いです。大体、向こうもこちらの都合に合わせてやってくれます。

連絡をこまめに取り合える環境なら、納期はちょっと短いくらいでも構わないと思います。簡単な案件であれば、極論即日でも良いわけですね(受け手が出来るかどうかになりますが)。


次に、具体的な仕様ですね。

絵なら、ポーズとか衣服の資料を添付してあげた方が良いです。あまりに漠然としていると、向こうも描くことができないので、資料は出来るだけ用意してあげた方が良いでしょう。必要なら画像のサイズ(ピクセル)も指定した方が良いです。

音楽の素材は発注したことがないので分からないのですが、音源や想定されるシーン、曲の長さなど具体的に示した方が良いと思います。

プログラムなら、PCのスペックや容量(どのくらいの空き容量を確保できるか)、使われる言語なんかを伝えといた方がよさそうです。データベースがあるなら、それを提供する必要があるかもしれません。


最後に、著作権についてです。

著作権は、基本的にもらわなくて良いと思いますが、何に使うか目的を明示しておいた方がよいでしょう。案件を受けてくれる場合には提示した使用目的については合意したものと見なすことを、あらかじめお話ししておくと良いと思います。それ以外に使用したいと思ったら、都度著作者に確認する必要があります。

ただ、二次利用(素材そのものの再配布)も検討している場合には、著作権をいただく必要があります。なお、著作権料は話し合いで決めます。具体的にどのくらいという規定はないみたいですが、概ね販売価格の数%~20%程度のようです。


素材の中にはMITライセンスのもと公開されているものもあります。自由に使っていいよというものですが、著作権を放棄したわけではないので注意してください(著作権者の表示は必須です)。



ではでは、今日はこの辺で。
ネコタでした。


ところで、シナリオ制作って案外需要あるんでしょうかね。
気が向いたらお仕事始めてみようかしら?

RPG作りは大変です。

みなさん、こんばんは。
ネコタです。


最近、思うのが、RPG作りって本当に大変だなぁということ。

学生時代は時間もあったので、長期休暇の時にバーッと作っちゃったりしてましたが、社会人になって時間が取れなくなってからは、ホント進まなくなりましたね(;'∀')

たぶん、最初は誰もが考えると思うのですが、「欲しい素材がすべて揃ってればゲーム作るのなんて簡単じゃね?」と。

実際には、欲しい素材がすべて揃っていても、作るのが大変であることに変わりないです。
欲しい素材が揃ってなければ、それをそろえるのに更に大変になるだけで(´-∀-`;)


素材をそろえても、それを使って組み立てていく作業って、思ったより膨大な作業量だったりするんですよね。

私は現在、ツクールMVでゲーム制作していますが、これにはデフォルト素材も結構入っています。

やろうと思えば、すぐにRPGは作り始めることが出来ます(満足いくものであるかは別として)。


しかし、デフォ素材とデフォ設定だけで面白そうなゲームを作るというのは、それはそれで非常に大変な作業です。

まず、面白いって何だ?というところから始まります。

とりあえず、面白いをスキップして作ってみようと思っても、何をどうすればいいか分かりません(笑)

ツールの使い方から覚えなければいけないんですね。


色々触って試してみて、試行錯誤しているうちに1か月なんてあっという間だと思います。それで、イベントの動かし方を学んでから、ようやくスタート地点。1か月程度では、まだ満足に使いこなせないでしょうから、この時点でやりたいことを全て表現できる、というわけにはいかないんですけど。

作り方を覚えて、簡単な仕組みを作って、動かしてみて・・・

ゲームとして何とか動作をするところまで行けたとします。
しかし、ここからが本番です。
だって、まだ表現したいことが出来る段階ではないですから。

この後に待っていることは、表現したいことを表現できるように、ツールを使いこなせるようになる努力と、必要な素材を作っていく作業、公開のための準備、それらの情報収集です。


ゲームって、作るだけじゃなくて、公開することも考えなきゃいけないんですよね。なんでもそうですけど、作って自己満足で終わっても良いですが、やっぱり他の人にも見てもらいたいですよね。ゲームなら、普通、誰かに遊んでもらいたいもんでしょう。

そのためには、デバッグ(バグを取り除くこと)作業、公開先の登録、デプロイメント(配布できる形にすること)、他人の配布物を使うならクレジットの作成など、やることがたくさんあります。

公開先だって、投稿できるファイルサイズに制限があったりすることも多いので、出来上がったものの容量も考えなければいけません。


こうやってみると、ゲーム作りって、考えることもやることもいっぱいあって大変なんですよね。

でも、やりがいは半端ないですし、やっぱりいろんなことを表現できるのも強みです。ゲームって、実質的になんでもできますから。

漫画は音が出ないけど、ゲームなら音が出ます。小説は文字しかないけど、ゲームならアニメーションも出せます(文字だけのゲームもできる)。アニメは見せるだけで体験させられないけど、ゲームはプレイヤーに参加してもらって体験させることもできます(アニメーションだけ見せることもできます)。

多分、表現媒体として最強だと思います。自由度が高すぎて、詰むことも多いですけど(笑)


そんなゲーム作り。私は、一生続けていくんだろうなぁ。

だって、楽しいもの。
それが一番の原動力です。


ではでは、今日はこの辺で。
ネコタでした。

ゲーム制作日記<53> キャラクター選択画面

op.png



みなさん、こんばんは。
ネコタです。



今回も恒例の『 コモンイベントで作るちょっとしたシステム 』 のご紹介。


今回紹介するのは、『パーティキャラクター選択画面』です。一部演出のためにプラグインを使用していますが、システムとしてはほとんどコモンイベントを利用して作っています。


それでは、どんな感じの内容か見てみましょう。


tc38_001s.png

現在制作中のキャラクター選択画面です。真ん中のキャラクターが今カーソルが合っているキャラクターで、右上に簡単な説明テキストが表示されています。


tc38_002s.png

決定ボタンを押すと、キャラクターのバストアップが表示されて簡単なお話しが出来ます。


tc38_003s.png

その後、このキャラクターを仲間に加えるかどうかの選択肢が表示されます。


tc38_004s.png

「はい」を選択すると、キャラクターが仲間となり、左側に仲間になったキャラクターを簡易表示させます。

一度選択したキャラは、仲間にいる限り再度選択しても、ブザー音が鳴るだけで選択することができません。


tc38_005s.png

カーソルを右に動かす(→キーを押す)と、画像達がくるっと右回りに回転して、中心のキャラクターが入れ替わります。右上のテキストもそのキャラクターのものになります。

左に動かした(←キーを押した)場合は、同様に左回りとなります。この後も、決定を押せば同じような挙動で仲間を選択できるという仕組みです。

ちなみに、キャンセルボタンを押すと左側にいるちびキャラは消えて再選択できるようになります。


tc38_006s.png

で、メンバーを全員選択すると、最終確認のアナウンスが表示されます。

「これでOK」を選択すると、キャラクター選択メニューが終了してマップに戻ります。

「ちょっと待って」を選択すると、1つ前(最後のキャラ選択)に戻ります。

「最初から考え直す」にすると、全キャラの選択がリセットされて、最初から選び直しとなります。


今回は、このような仕様となっています。
いかがでしょうか。


これから作り方を紹介していきますが、ぶっちゃけ、内部の処理は結構複雑です。なので、全然ちょっとしたシステムじゃなかったりします(苦笑)

あと、表だっては出てこないのですが、機能として以下の仕様も組み込んでいます。

・イベントによってキャラクター選択画面にメンバーを追加する場合ですが、スイッチのみで管理できます。

・システム的には増やせるアクターの上限が無いため、後から追加編集もできます。




それでは、まず最初に必要なものを確認していきましょう。


【準備】
・FTKR_PopupSpriteMessage.js(→ツクールフォーラム
・コモンイベント *15
・変数 *15
・スイッチ *(アクターの数)
・画像 *(背景やキャラクターなど必要な分だけ)

今回使用しているプラグインは、ツクールフォーラムでフトコロさんが投稿してくださった「テキストを画像で表示する」プラグインです。カラーを選択したり、画像として動かしたりできます。

今回の仕様に関わっているプラグインはこれだけで、他の挙動は全てツクールの機能で作っています。コモンイベントをかなり多用していますが、実は、大部分はまとめられます。ただ、行数が長くなって編集するのが大変になるので、分けて作っている部分が多いです。


【推奨】
・画像編集ソフト


ゲームと直接は関係ありませんが、ツクールの中に入っている画像(特に背景画像)を使う場合には、ちょっと加工しないと使いづらいです。私は無料で使えるGIMPを利用しました。

例えば背景画像ですが、フォルダbattlebacks1に入っているCastle2(1000*740)とフォルダbattlebacks2に入っているCastle3(1000*740)を使っています。しかし、そのまま使うと縮小表示しなければなりませんので、GIMPで縮小加工を施してフォルダpicturesに保存し、利用しています。

あと、GIMPを通すと、そのままの拡縮でもファイルが軽くなったりします(仕組みはよく分からないのですが、画質が落ちるのかな?)




さて、準備はこれで終了です。

それでは、実際の制作手順を紹介していきます。

ちなみに、今回は1人のキャラクターにつき全身立ち絵バストアップ歩行グラフィックの3種類を用意して作っています。


まずは、コアとなるイベントの作成です。

これは自動実行のイベントで作っても構いませんし、コモンイベントにして呼び出せるようにしても構いません。

なお、セルフスイッチを使っている場面がありますが、コモンイベントだと多分セルフスイッチが使えないと思うので、別途スイッチを用意する必要があります。


注釈:フラグの初期化
変数の操作:#0012 仲間選択数 = 0
コモンイベント:パーティ全削除
注釈:背景の設定
ピクチャの表示:#1, BG_Castle2_c, 左上 (0,0), (100%,100%), 255, 通常
ピクチャの表示:#2, BG2_Castle3_c, 左上 (0,0), (100%,100%), 255, 通常
注釈:キャラクター画像の初期設定
変数の操作:#0004 画像03 = 10
スイッチの操作:#0011 【アクター】10(妖精1) = ON
コモンイベント:パーティ選択(4右)
変数の操作:#0005 画像04 = 8
スイッチの操作:#0009 【アクター】08(悪魔1) = ON
コモンイベント:パーティ選択(3右)
変数の操作:#0008 画像07 = 5
スイッチの操作:#0006 【アクター】05(動物1) = ON
コモンイベント:パーティ選択(2右)
変数の操作:#0006 画像05 = 13
スイッチの操作:#0014 【アクター】13(人2) = ON
コモンイベント:パーティ選択(4左)
変数の操作:#0007 画像06 = 14
スイッチの操作:#0015 【アクター】14(人3) = ON
コモンイベント:パーティ選択(3左)
変数の操作:#0009 画像08 = 21
スイッチの操作:#0022 【アクター】21(人10) = ON
コモンイベント:パーティ選択(2左)
変数の操作:#0010 画像09 = 1
スイッチの操作:#0002 【アクター】01(エルフ1) = ON
コモンイベント:パーティ選択(先頭)
スイッチの操作:#0013 【アクター】12(人1) = ON
注釈:以下、選択画面処理内容
ループ
ループ
注釈:キャラクター決定時
条件分岐:ボタン[決定]が押されている
コモンイベント:キャラクター選択確認
条件分岐:セルフスイッチ AがOFF
文章:なし, 暗くする, 下
文章この子を連れていきますか?
選択肢の表示:はい, いいえ (暗くする, 右, #1, #2)
はいのとき
コモンイベント:パーティ追加

いいえのとき
ピクチャの消去:#10

分岐終了

それ以外のとき
セルフスイッチの操作:A = OFF

分岐終了
ループの中断

分岐終了
注釈:選択中キャラクター取りやめ
条件分岐:ボタン[キャンセル]が押されている
ラベル:→ちょっと待って
コモンイベント:パーティ削除
ループの中断

分岐終了
注釈:キャラクター選択(右回り)
条件分岐:ボタン[右]が押されている
ピクチャの移動:#3, 左上 (461,90), (85%,85%), 130, 通常, 10フレーム
ピクチャの移動:#4, 左上 (361,100), (95%,95%), 180, 通常, 10フレーム
ピクチャの移動:#7, 左上 (251,105), (100%,100%), 255, 通常, 10フレーム
ピクチャの移動:#6, 左上 (91,80), (85%,85%), 0, 通常, 10フレーム
ピクチャの移動:#8, 左上 (41,90), (85%,85%), 130, 通常, 10フレーム
ピクチャの移動:#9, 左上 (141,100), (95%,95%), 180, 通常, 10フレーム (ウェイト)
コモンイベント:右押時画像変更
ループの中断

分岐終了
注釈:キャラクター選択(左回り)
条件分岐:ボタン[左]が押されている
ピクチャの移動:#4, 左上 (411,80), (85%,85%), 0, 通常, 10フレーム
ピクチャの移動:#7, 左上 (461,90), (85%,85%), 130, 通常, 10フレーム
ピクチャの移動:#5, 左上 (41,90), (85%,85%), 130, 通常, 10フレーム
ピクチャの移動:#6, 左上 (141,100), (95%,95%), 180, 通常, 10フレーム
ピクチャの移動:#8, 左上 (251,105), (100%,100%), 255, 通常, 10フレーム
ピクチャの移動:#9, 左上 (361,100), (95%,95%), 180, 通常, 10フレーム (ウェイト)
コモンイベント:左押時画像変更
ループの中断

分岐終了
ウェイト:2フレーム

以上繰り返し
注釈:フラグ管理
条件分岐:仲間選択数 ≥ 4
プラグインコマンド:PSM_ERASE_POPUP 1 0
プラグインコマンド:PSM_ERASE_POPUP 2 0
プラグインコマンド:PSM_ERASE_POPUP 3 0
プラグインコマンド:PSM_ERASE_POPUP 4 0
プラグインコマンド:PSM_ERASE_POPUP 13 0
プラグインコマンド:PSM_ERASE_POPUP 14 0
プラグインコマンド:PSM_ERASE_POPUP 15 0
プラグインコマンド:PSM_ERASE_POPUP 16 0
ループの中断

分岐終了
ラベル:→最初から考え直す
ウェイト:15フレーム

以上繰り返し
注釈:キャラクター選択終了時処理
文章:なし, 暗くする, 下
文章連れていくメンバーは、この4人でよろしいですか?
選択肢の表示:これでOK, ちょっと待って, 最初から考え直す (暗くする, 右, #1, #2)
これでOKのとき
プラグインコマンド:PSM_ERASE_POPUP 5 0
プラグインコマンド:PSM_ERASE_POPUP 6 0
プラグインコマンド:PSM_ERASE_POPUP 7 0
プラグインコマンド:PSM_ERASE_POPUP 8 0
プラグインコマンド:PSM_ERASE_POPUP 9 0
プラグインコマンド:PSM_ERASE_POPUP 10 0
プラグインコマンド:PSM_ERASE_POPUP 11 0
プラグインコマンド:PSM_ERASE_POPUP 12 0

ちょっと待ってのとき
コモンイベント:パーティ選択(先頭)
ラベルジャンプ:→ちょっと待って

最初から考え直すのとき
変数の操作:#0012 仲間選択数 = 0
ピクチャの消去:#11
ピクチャの消去:#12
ピクチャの消去:#13
ピクチャの消去:#14
コモンイベント:パーティ全削除
プラグインコマンド:PSM_ERASE_POPUP 5 0
プラグインコマンド:PSM_ERASE_POPUP 6 0
プラグインコマンド:PSM_ERASE_POPUP 7 0
プラグインコマンド:PSM_ERASE_POPUP 8 0
プラグインコマンド:PSM_ERASE_POPUP 9 0
プラグインコマンド:PSM_ERASE_POPUP 10 0
プラグインコマンド:PSM_ERASE_POPUP 11 0
プラグインコマンド:PSM_ERASE_POPUP 12 0
コモンイベント:パーティ選択(先頭)
ラベルジャンプ:→最初から考え直す

分岐終了
ピクチャの消去:#1
ピクチャの消去:#2
ピクチャの消去:#3
ピクチャの消去:#4
ピクチャの消去:#5
ピクチャの消去:#6
ピクチャの消去:#7
ピクチャの消去:#8
ピクチャの消去:#9
ピクチャの消去:#10
ピクチャの消去:#11
ピクチャの消去:#12
ピクチャの消去:#13
ピクチャの消去:#14
セルフスイッチの操作:B = ON


コモンイベントがたくさん出てきてますね。

後で解説していくので、とりあえず枠を13個くらい押さえておいてください。(これに加えて、コモンイベント内でさらに2つ使います)

では、上から順番に説明していきます。


注釈:フラグの初期化
変数の操作:#0012 仲間選択数 = 0
コモンイベント:パーティ全削除

まず、フラグとなる変数12を0に初期化しておきます。
そして、コモンイベントを1つ入れます。このコモンイベントでは、一旦パーティを全員解雇しています。


注釈:背景の設定
ピクチャの表示:#1, BG_Castle2_c, 左上 (0,0), (100%,100%), 255, 通常
ピクチャの表示:#2, BG2_Castle3_c, 左上 (0,0), (100%,100%), 255, 通常

ここでは、背景の画像を設定しています。

あらかじめ画面サイズ(816*624)に合わせておいた背景画像を、2枚貼り付けます。

なお、ピクチャは数字が大きいものが手前に来るため、順番に気を付けてください。


注釈:キャラクター画像の初期設定
変数の操作:#0004 画像03 = 10
スイッチの操作:#0011 【アクター】10(妖精1) = ON
コモンイベント:パーティ選択(4右)


次に、キャラクター画像の初期設定を行っています。

ここのコモンイベントでは変数4~10を使って画像を自動設定するように作っていきますので、ここでは変数を設定しています。

ここで使うスイッチは、パーティ選択可否を切り替えるフラグとなっています。初期で仲間に選択できるキャラはスイッチも一緒にONしておきましょう。

変数の操作:#0005 画像04 = 8
スイッチの操作:#0009 【アクター】08(悪魔1) = ON
コモンイベント:パーティ選択(3右)
変数の操作:#0008 画像07 = 5
スイッチの操作:#0006 【アクター】05(動物1) = ON
コモンイベント:パーティ選択(2右)
変数の操作:#0006 画像05 = 13
スイッチの操作:#0014 【アクター】13(人2) = ON
コモンイベント:パーティ選択(4左)
変数の操作:#0007 画像06 = 14
スイッチの操作:#0015 【アクター】14(人3) = ON
コモンイベント:パーティ選択(3左)
変数の操作:#0009 画像08 = 21
スイッチの操作:#0022 【アクター】21(人10) = ON
コモンイベント:パーティ選択(2左)
変数の操作:#0010 画像09 = 1
スイッチの操作:#0002 【アクター】01(エルフ1) = ON
コモンイベント:パーティ選択(先頭)

ここら辺は、構造的には先ほどのものと一緒です。ただし、コモンイベントの内容がそれぞれでちょっとずつ違うので、注意してください。

ここには記述されておりませんが、コモンイベントの内容でピクチャ番号3~9まで使用されます。

ピクチャ番号は大きいものが手前に表示されますので、レイアウトの都合上、最も大きい9番が先頭の画像となります。

後の順番は好きにして構いませんが、がぶっている箇所が出来てしまう場合には、重なり方を考慮して番号付けしなければならないので注意してください。

ちなみに、今回は先頭が9番で、右側奥から3→4→7、左側奥から5→6→8の順となっています。

ところで、ここで設定している画像は7つありますが、最初の仕様紹介画像では5人しか表示されていません。

実は、奥に2つ透明な画像があります。レイアウトの都合上、必要な措置となっていますので、キチンと設定しておきましょう。


スイッチの操作:#0013 【アクター】12(人1) = ON


さりげなく、1人だけあぶれているスイッチがあります。

今回の例では、初期メンバーは8人から選べる仕様となっていますが、画像設定は7人分までです。それ以上の人員については、このようにスイッチをONしておくだけで構いません。コモンイベントの内容で選択肢に自動的に入ってきます。


さて、初期設定はここまで。

次に、ループ処理を2重で囲った部分を解説していきます。ここからが、挙動の本体となります。

まず、外側のループ構造から解説していきます

ループ

  (中略)

注釈:フラグ管理
条件分岐:仲間選択数 ≥ 4
プラグインコマンド:PSM_ERASE_POPUP 1 0
プラグインコマンド:PSM_ERASE_POPUP 2 0
プラグインコマンド:PSM_ERASE_POPUP 3 0
プラグインコマンド:PSM_ERASE_POPUP 4 0
プラグインコマンド:PSM_ERASE_POPUP 13 0
プラグインコマンド:PSM_ERASE_POPUP 14 0
プラグインコマンド:PSM_ERASE_POPUP 15 0
プラグインコマンド:PSM_ERASE_POPUP 16 0
ループの中断

分岐終了
ラベル:→最初から考え直す
ウェイト:15フレーム

以上繰り返し


(中略)のループ構造を抜けた場合の処理ですが、(中略)でパーティ決定していきますが、操作1回ごとに中断してループを抜けます。

中のループではボタンが押されるまでの処理を担当し、外側のループではボタンが押された後のインターバルと全員決定されたかの判定を行う処理となっています。

仲間選択数が4以上(すなわち、4人が決定されている場合)にはプラグインコマンドでテキストのポップを消して、終了処理へ進むためにループ中断して抜けます。そうでない場合には、15フレームのインターバルを設けます。

このインターバルが無いと、ボタンを押したときの処理が終了した直後にボタンを押したときの処理がストックされてしまうため、大体10~20フレーム程度のウエイトが必要となります。


それでは、中のループ構造を見ていきましょう。

注釈:キャラクター決定時
条件分岐:ボタン[決定]が押されている
コモンイベント:キャラクター選択確認
条件分岐:セルフスイッチ AがOFF
文章:なし, 暗くする, 下
文章この子を連れていきますか?
選択肢の表示:はい, いいえ (暗くする, 右, #1, #2)
はいのとき
コモンイベント:パーティ追加

いいえのとき
ピクチャの消去:#10

分岐終了

それ以外のとき
セルフスイッチの操作:A = OFF

分岐終了
ループの中断

分岐終了

まずは、決定ボタンが押されたときの処理です。

コモンイベントの内容は後述しますが、最初の画像でフォリアが「私を連れてってくれるの?」と言っていた部分の処理が入っています。選ばれた画像によって出てくるものが変わるように作りますので、中身は結構長いです。

で、その後にセルフスイッチで囲った部分ですが、これはコモンイベントの内容で、すでに仲間として選択されている場合にはフラグとしてセルフスイッチをONにしています。決定ボタンを押されたキャラがすでに仲間になっていれば、スイッチがONとなっているためスイッチOFFの操作だけの分岐へ飛び、そうでなければ仲間にするか尋ねる選択肢へ飛びます。

仲間にするかどうかの選択肢で「はい」を選んだ場合には、コモンイベントでパーティを追加する処理を行います。ここの内容では、選択された画像によって自動的に仲間になるキャラを指定する内容を組んでいます。

「いいえ」を選んだ場合には、出てきているバストアップ画像(ピクチャ10番)を削除します。このバストアップ画像も、コモンイベントで自動設定されて出てくるように組んでいます。


注釈:選択中キャラクター取りやめ
条件分岐:ボタン[キャンセル]が押されている
ラベル:→ちょっと待って
コモンイベント:パーティ削除
ループの中断

分岐終了

次に、キャンセルボタンが押されたときの処理です。

ここでは、コモンイベントによって画面左側に表示していたちびキャラを消去する処理を行っています。同時に、パーティから外れるようにしています。


注釈:キャラクター選択(右回り)
条件分岐:ボタン[右]が押されている
ピクチャの移動:#3, 左上 (461,90), (85%,85%), 130, 通常, 10フレーム
ピクチャの移動:#4, 左上 (361,100), (95%,95%), 180, 通常, 10フレーム
ピクチャの移動:#7, 左上 (251,105), (100%,100%), 255, 通常, 10フレーム
ピクチャの移動:#6, 左上 (91,80), (85%,85%), 0, 通常, 10フレーム
ピクチャの移動:#8, 左上 (41,90), (85%,85%), 130, 通常, 10フレーム
ピクチャの移動:#9, 左上 (141,100), (95%,95%), 180, 通常, 10フレーム (ウェイト)
コモンイベント:右押時画像変更
ループの中断

分岐終了

ここは、→キーが押された場合の処理です。ピクチャ3~9番を右回りになるように移動させています。

奥で透明になっている画像は、ここで透明度を下げて出てくるようになっています。

逆方向にある画像は消去されてしまいますが、ここらへんの処理はコモンイベントが行っています。移動後の画像を再決定して、更新する処理が入っています。


注釈:キャラクター選択(左回り)
条件分岐:ボタン[左]が押されている
ピクチャの移動:#4, 左上 (411,80), (85%,85%), 0, 通常, 10フレーム
ピクチャの移動:#7, 左上 (461,90), (85%,85%), 130, 通常, 10フレーム
ピクチャの移動:#5, 左上 (41,90), (85%,85%), 130, 通常, 10フレーム
ピクチャの移動:#6, 左上 (141,100), (95%,95%), 180, 通常, 10フレーム
ピクチャの移動:#8, 左上 (251,105), (100%,100%), 255, 通常, 10フレーム
ピクチャの移動:#9, 左上 (361,100), (95%,95%), 180, 通常, 10フレーム (ウェイト)
コモンイベント:左押時画像変更
ループの中断

分岐終了

ここでは、←キーが押されたときの処理を行います。

内容的には、→キーを押したときと挙動が逆方向になるようになっていますので、先ほどの処理に準じます。コモンイベントの中身もそんな感じです。


ウェイト:2フレーム

一応、最後に2フレーム置くことで重くならないようにしています。


さて、これでキャラクター選択の処理が終わりました。

ここからが最終確認と終了処理となります。

注釈:キャラクター選択終了時処理
文章:なし, 暗くする, 下
文章連れていくメンバーは、この4人でよろしいですか?
選択肢の表示:これでOK, ちょっと待って, 最初から考え直す (暗くする, 右, #1, #2)
これでOKのとき
プラグインコマンド:PSM_ERASE_POPUP 5 0
プラグインコマンド:PSM_ERASE_POPUP 6 0
プラグインコマンド:PSM_ERASE_POPUP 7 0
プラグインコマンド:PSM_ERASE_POPUP 8 0
プラグインコマンド:PSM_ERASE_POPUP 9 0
プラグインコマンド:PSM_ERASE_POPUP 10 0
プラグインコマンド:PSM_ERASE_POPUP 11 0
プラグインコマンド:PSM_ERASE_POPUP 12 0

ちょっと待ってのとき
コモンイベント:パーティ選択(先頭)
ラベルジャンプ:→ちょっと待って

最初から考え直すのとき
変数の操作:#0012 仲間選択数 = 0
ピクチャの消去:#11
ピクチャの消去:#12
ピクチャの消去:#13
ピクチャの消去:#14
コモンイベント:パーティ全削除
プラグインコマンド:PSM_ERASE_POPUP 5 0
プラグインコマンド:PSM_ERASE_POPUP 6 0
プラグインコマンド:PSM_ERASE_POPUP 7 0
プラグインコマンド:PSM_ERASE_POPUP 8 0
プラグインコマンド:PSM_ERASE_POPUP 9 0
プラグインコマンド:PSM_ERASE_POPUP 10 0
プラグインコマンド:PSM_ERASE_POPUP 11 0
プラグインコマンド:PSM_ERASE_POPUP 12 0
コモンイベント:パーティ選択(先頭)
ラベルジャンプ:→最初から考え直す

分岐終了

ここの選択肢は、最終確認の処理ですね。

さりげなくあちこちにラベルがあったと思いますが、アレは、ここの分岐で飛ばされるラベルでした。

「これでOK」を選んだ場合は、プラグインコマンドでテキストを消していきます。

「ちょっと待って」を選んだ場合は、1つ手前に戻したいので、素直にキャンセルボタンを押したときの処理へ返します。直前に入れてるコモンイベントは、説明テキストを復活させるために入っています。

「最初から考え直す」を選んだ場合には、色々とフラグを消しておく必要があるので、変数12=0に初期化し、右側にいる画像たちを消去し、パーティを全員解雇して、先頭の画像を再表示させ、ループの中に戻してやります。


「これでOK」を押した場合には、ループに返らず終了処理へ進みます。

ピクチャの消去:#1
ピクチャの消去:#2
ピクチャの消去:#3
ピクチャの消去:#4
ピクチャの消去:#5
ピクチャの消去:#6
ピクチャの消去:#7
ピクチャの消去:#8
ピクチャの消去:#9
ピクチャの消去:#10
ピクチャの消去:#11
ピクチャの消去:#12
ピクチャの消去:#13
ピクチャの消去:#14

表示している全てのピクチャを消去して終わりです。


セルフスイッチの操作:B = ON

今回の内容は自動実行イベントで作っているので、セルフスイッチをONにして終了してページを切り替えています。



コアの内容は以上ですが、中々大変ですね。
でも、まだまだ終わりじゃありませんよ。


それでは、お待ちかね(?)のコモンイベント群の内容に参りましょう。

これから、まだまだ長い奴が15個あるんです。頑張ってください。


コモンイベント:パーティ選択(先頭)

条件分岐:画像09 = 1
変数の操作:#0015 Level = フォリアのレベル
変数の操作:#0016 Exp = フォリアの経験値
プラグインコマンド:PSM_SHOW_POPUP 1 4 816 54 -1 \N[1]
プラグインコマンド:PSM_SHOW_POPUP 2 5 816 88 -1 \_\_Lv.\v[15]\_EXP.\v[16]
プラグインコマンド:PSM_SHOW_POPUP 3 5 816 142 -1 活発で、体を動かすことが好き。
プラグインコマンド:PSM_SHOW_POPUP 4 5 816 162 -1 楽天家で怖い物知らずな性格が災い
プラグインコマンド:PSM_SHOW_POPUP 15 5 816 182 -1 し、とかく危険に突っ込みがち。
プラグインコマンド:PSM_SHOW_POPUP 16 5 816 202 -1 洗練されたナイフ捌きを見せる。
プラグインコマンド:PSM_SHOW_POPUP 13 3 816 54 -1 種族:エルフ
プラグインコマンド:PSM_SHOW_POPUP 14 3 816 68 -1 属性:木
ピクチャの表示:#9, St_ElfA_01, 左上 (251,105), (100%,100%), 255, 通常

分岐終了
条件分岐:画像09 = 5
変数の操作:#0015 Level = シェンメイのレベル
変数の操作:#0016 Exp = シェンメイの経験値
プラグインコマンド:PSM_SHOW_POPUP 1 4 816 54 -1 \N[5]
プラグインコマンド:PSM_SHOW_POPUP 2 5 816 88 -1 \_\_Lv.\v[15]\_EXP.\v[16]
プラグインコマンド:PSM_SHOW_POPUP 3 5 816 142 -1 勝ち気でプライドが高く、負けず嫌
プラグインコマンド:PSM_SHOW_POPUP 4 5 816 162 -1 いな性格。負けると泣くほど悔しが
プラグインコマンド:PSM_SHOW_POPUP 15 5 816 162 -1 る。俊敏な動きと強力な打撃で相手
プラグインコマンド:PSM_SHOW_POPUP 16 5 816 162 -1 を打ち倒す。
プラグインコマンド:PSM_SHOW_POPUP 13 3 816 54 -1 種族:獣
プラグインコマンド:PSM_SHOW_POPUP 14 3 816 68 -1 属性:火
ピクチャの表示:#9, St_pugilist, 左上 (251,105), (100%,100%), 255, 通常

分岐終了
条件分岐:画像09 = 8
変数の操作:#0015 Level = ディーヴァのレベル
変数の操作:#0016 Exp = ディーヴァの経験値
プラグインコマンド:PSM_SHOW_POPUP 1 4 816 54 -1 \N[8]
プラグインコマンド:PSM_SHOW_POPUP 2 5 816 88 -1 \_\_Lv.\v[15]\_EXP.\v[16]
プラグインコマンド:PSM_SHOW_POPUP 3 5 816 142 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 4 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 15 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 16 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 13 3 816 54 -1 種族:悪魔
プラグインコマンド:PSM_SHOW_POPUP 14 3 816 68 -1 属性:闇
ピクチャの表示:#9, St_devilgirl, 左上 (251,105), (100%,100%), 255, 通常

分岐終了
条件分岐:画像09 = 10
変数の操作:#0015 Level = リーフィアのレベル
変数の操作:#0016 Exp = リーフィアの経験値
プラグインコマンド:PSM_SHOW_POPUP 1 4 816 54 -1 \N[10]
プラグインコマンド:PSM_SHOW_POPUP 2 5 816 88 -1 \_\_Lv.\v[15]\_EXP.\v[16]
プラグインコマンド:PSM_SHOW_POPUP 3 5 816 142 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 4 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 15 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 16 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 13 3 816 54 -1 種族:妖精
プラグインコマンド:PSM_SHOW_POPUP 14 3 816 68 -1 属性:風
ピクチャの表示:#9, St_rhythm-fairy, 左上 (251,105), (100%,100%), 255, 通常

分岐終了
条件分岐:画像09 = 12
変数の操作:#0015 Level = スミレのレベル
変数の操作:#0016 Exp = スミレの経験値
プラグインコマンド:PSM_SHOW_POPUP 1 4 816 54 -1 \N[12]
プラグインコマンド:PSM_SHOW_POPUP 2 5 816 88 -1 \_\_Lv.\v[15]\_EXP.\v[16]
プラグインコマンド:PSM_SHOW_POPUP 3 5 816 142 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 4 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 15 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 16 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 13 3 816 54 -1 種族:人
プラグインコマンド:PSM_SHOW_POPUP 14 3 816 68 -1 属性:土
ピクチャの表示:#9, St_Fencer, 左上 (251,105), (100%,100%), 255, 通常

分岐終了
条件分岐:画像09 = 13
変数の操作:#0015 Level = コクリコのレベル
変数の操作:#0016 Exp = コクリコの経験値
プラグインコマンド:PSM_SHOW_POPUP 1 4 816 54 -1 \N[13]
プラグインコマンド:PSM_SHOW_POPUP 2 5 816 88 -1 \_\_Lv.\v[15]\_EXP.\v[16]
プラグインコマンド:PSM_SHOW_POPUP 3 5 816 142 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 4 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 15 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 16 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 13 3 816 54 -1 種族:人
プラグインコマンド:PSM_SHOW_POPUP 14 3 816 68 -1 属性:闇
ピクチャの表示:#9, St_GothicLolita_02, 左上 (251,105), (100%,100%), 255, 通常

分岐終了
条件分岐:画像09 = 14
変数の操作:#0015 Level = クロードのレベル
変数の操作:#0016 Exp = クロードの経験値
プラグインコマンド:PSM_SHOW_POPUP 1 4 816 54 -1 \N[14]
プラグインコマンド:PSM_SHOW_POPUP 2 5 816 88 -1 \_\_Lv.\v[15]\_EXP.\v[16]
プラグインコマンド:PSM_SHOW_POPUP 3 5 816 142 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 4 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 15 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 16 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 13 3 816 54 -1 種族:人
プラグインコマンド:PSM_SHOW_POPUP 14 3 816 68 -1 属性:無
ピクチャの表示:#9, St_Lady-butler, 左上 (251,105), (100%,100%), 255, 通常

分岐終了
条件分岐:画像09 = 21
変数の操作:#0015 Level = コハルのレベル
変数の操作:#0016 Exp = コハルの経験値
プラグインコマンド:PSM_SHOW_POPUP 1 4 816 54 -1 \N[21]
プラグインコマンド:PSM_SHOW_POPUP 2 5 816 88 -1 \_\_Lv.\v[15]\_EXP.\v[16]
プラグインコマンド:PSM_SHOW_POPUP 3 5 816 142 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 4 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 15 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 16 5 816 162 -1 15文字
プラグインコマンド:PSM_SHOW_POPUP 13 3 816 54 -1 種族:人
プラグインコマンド:PSM_SHOW_POPUP 14 3 816 68 -1 属性:水
ピクチャの表示:#9, St_little Fencer, 左上 (251,105), (100%,100%), 255, 通常

分岐終了
プラグインコマンド:PSM_MOVE_POPUP 1 516 54 10
プラグインコマンド:PSM_MOVE_POPUP 2 516 88 10
プラグインコマンド:PSM_MOVE_POPUP 3 516 142 10
プラグインコマンド:PSM_MOVE_POPUP 4 516 162 10
プラグインコマンド:PSM_MOVE_POPUP 15 516 182 10
プラグインコマンド:PSM_MOVE_POPUP 16 516 202 10
プラグインコマンド:PSM_MOVE_POPUP 13 712 54 10
プラグインコマンド:PSM_MOVE_POPUP 14 712 68 10

このコモンイベントでは、先頭にあるピクチャ9番の設定を行っています。

変数10の値を参照し、それによって表示する内容(キャラクター)をそれぞれ決定しています。

構造的には全部一緒ですので、1人分の内容を作ったらコピペしてテキストやら参照するキャラクターやら画像やらを弄っていきます。

全員分をここで記述しておきますので、仲間がたくさんいるゲームでは設定が大変です。

最後のプラグインコマンドたちは、演出です。テキストの初期表示場所は画面外に設定してあるので、最後のプラグインコマンドで画面の横からシュッとスライドして出てくるような設定となっています。


はい、これで1つ終わり。
さくさく行きましょー。


次に、コモンイベント:パーティ選択(2左)を見ていきましょう。
条件分岐:画像08 = 1
ピクチャの表示:#8, St_ElfA_01, 左上 (141,100), (95%,95%), 180, 通常

分岐終了
条件分岐:画像08 = 5
ピクチャの表示:#8, St_pugilist, 左上 (141,100), (95%,95%), 180, 通常

分岐終了
条件分岐:画像08 = 8
ピクチャの表示:#8, St_devilgirl, 左上 (141,100), (95%,95%), 180, 通常

分岐終了
条件分岐:画像08 = 10
ピクチャの表示:#8, St_rhythm-fairy, 左上 (141,100), (95%,95%), 180, 通常

分岐終了
条件分岐:画像08 = 12
ピクチャの表示:#8, St_Fencer, 左上 (141,100), (95%,95%), 180, 通常

分岐終了
条件分岐:画像08 = 13
ピクチャの表示:#8, St_GothicLolita_02, 左上 (141,100), (95%,95%), 180, 通常

分岐終了
条件分岐:画像08 = 14
ピクチャの表示:#8, St_Lady-butler, 左上 (141,100), (95%,95%), 180, 通常

分岐終了
条件分岐:画像08 = 21
ピクチャの表示:#8, St_little Fencer, 左上 (141,100), (95%,95%), 180, 通常

分岐終了

ここでは、先頭から2番目(左側)であるピクチャ8番の設定を行っています。

変数9の値によって表示する画像を振り分けているだけでした。

以上。


次、コモンイベント:パーティ選択(左3)です。
条件分岐:画像06 = 1
ピクチャの表示:#6, St_ElfA_01, 左上 (41,90), (85%,85%), 130, 通常

分岐終了
条件分岐:画像06 = 5
ピクチャの表示:#6, St_pugilist, 左上 (41,90), (85%,85%), 130, 通常

分岐終了
条件分岐:画像06 = 8
ピクチャの表示:#6, St_devilgirl, 左上 (41,90), (85%,85%), 130, 通常

分岐終了
条件分岐:画像06 = 10
ピクチャの表示:#6, St_rhythm-fairy, 左上 (41,90), (85%,85%), 130, 通常

分岐終了
条件分岐:画像06 = 12
ピクチャの表示:#6, St_Fencer, 左上 (41,90), (85%,85%), 130, 通常

分岐終了
条件分岐:画像06 = 13
ピクチャの表示:#6, St_GothicLolita_02, 左上 (41,90), (85%,85%), 130, 通常

分岐終了
条件分岐:画像06 = 14
ピクチャの表示:#6, St_Lady-butler, 左上 (41,90), (85%,85%), 130, 通常

分岐終了
条件分岐:画像06 = 21
ピクチャの表示:#6, St_little Fencer, 左上 (41,90), (85%,85%), 130, 通常

分岐終了

ここでは、先頭から3番目(左側)であるピクチャ6番の画像設定を行っています。

内容は先ほどのものに準じます。変数7を条件分岐に、画像の座標、拡大率、透明度を編集してください。

以上。


次は、コモンイベント:パーティ選択(4左)です。
条件分岐:画像05 = 1
ピクチャの表示:#5, St_ElfA_01, 左上 (91,80), (85%,85%), 0, 通常

分岐終了
条件分岐:画像05 = 5
ピクチャの表示:#5, St_pugilist, 左上 (91,80), (85%,85%), 0, 通常

分岐終了
条件分岐:画像05 = 8
ピクチャの表示:#5, St_devilgirl, 左上 (91,80), (85%,85%), 0, 通常

分岐終了
条件分岐:画像05 = 10
ピクチャの表示:#5, St_rhythm-fairy, 左上 (91,80), (85%,85%), 0, 通常

分岐終了
条件分岐:画像05 = 12
ピクチャの表示:#5, St_Fencer, 左上 (91,80), (85%,85%), 0, 通常

分岐終了
条件分岐:画像05 = 13
ピクチャの表示:#5, St_GothicLolita_02, 左上 (91,80), (85%,85%), 0, 通常

分岐終了
条件分岐:画像05 = 14
ピクチャの表示:#5, St_Lady-butler, 左上 (91,80), (85%,85%), 0, 通常

分岐終了
条件分岐:画像05 = 21
ピクチャの表示:#5, St_little Fencer, 左上 (91,80), (85%,85%), 0, 通常

分岐終了

ここでは、先頭から4番目(左側)であるピクチャ5番の画像設定を行っています。
もういいですよね?

座標と透明度、拡大率を確認してください。
ちなみに、変数6を使ってます。


次は、コモンイベント:パーティ選択(2右)です。
条件分岐:画像07 = 1
ピクチャの表示:#7, St_ElfA_01, 左上 (361,100), (95%,95%), 180, 通常

分岐終了

  (以下省略)


面倒くさいので、もう省略してます。
1人作ったら、あとは表示画像を変えるだけです。

ここでは、先頭から2番目(右側)であるピクチャ7番の設定(変数8を(以下略)


次は、コモンイベント:パーティ選択(3右)です。
条件分岐:画像04 = 1
ピクチャの表示:#4, St_ElfA_01, 左上 (461,90), (85%,85%), 130, 通常

分岐終了

  (以下省略)


ここでは、先頭から3番目(右側)であるピクチャ4番(変数5(以下略)


コモンイベント:パーティ選択(4右)
条件分岐:画像03 = 1
ピクチャの表示:#3, St_ElfA_01, 左上 (411,80), (85%,85%), 0, 通常

分岐終了

  (以下省略)


ここでは、先頭から4番目(右側)であるピクチャ3番(変数4(以下略)


以上、とりあえず駆け足でコモンイベント7つ紹介しました。

ぶっちゃけ、パーティ選択(先頭)以外は分けずに1つにしても構いません。ただ、編集するとき(キャラクター追加するとき)に探すのが面倒くさくなるので、コモンイベントの枠に余裕があれば分けていた方が便利です。


それでは、次にコモンイベント:右押時画像変更を見てみましょう。

プラグインコマンド:PSM_ERASE_POPUP 1 0
プラグインコマンド:PSM_ERASE_POPUP 2 0
プラグインコマンド:PSM_ERASE_POPUP 3 0
プラグインコマンド:PSM_ERASE_POPUP 4 0
プラグインコマンド:PSM_ERASE_POPUP 13 0
プラグインコマンド:PSM_ERASE_POPUP 14 0
プラグインコマンド:PSM_ERASE_POPUP 15 0
プラグインコマンド:PSM_ERASE_POPUP 16 0
変数の操作:#0006 画像05 = 画像06
変数の操作:#0007 画像06 = 画像08
変数の操作:#0009 画像08 = 画像09
変数の操作:#0010 画像09 = 画像07
変数の操作:#0008 画像07 = 画像04
変数の操作:#0005 画像04 = 画像03
変数の操作:#0011 画像XX = 画像03
コモンイベント:画像決定(右回り)
変数の操作:#0004 画像03 = 画像XX
コモンイベント:パーティ選択(先頭)
コモンイベント:パーティ選択(2左)
コモンイベント:パーティ選択(3左)
コモンイベント:パーティ選択(4左)
コモンイベント:パーティ選択(2右)
コモンイベント:パーティ選択(3右)
コモンイベント:パーティ選択(4右)

ここでは、→キーを押して画像を移動させた後の、再表示を行っています。

一応、プラグインによるテキストを削除しておき、変数を1つずつ渡していきます。これらの変数は、画像と同期させるための変数ですので、画像の動きに合わせて渡していきます。
変数の操作:#0006 画像05 = 画像06
変数の操作:#0007 画像06 = 画像08
変数の操作:#0009 画像08 = 画像09
変数の操作:#0010 画像09 = 画像07
変数の操作:#0008 画像07 = 画像04
変数の操作:#0005 画像04 = 画像03

この部分までは、順当に隣の画像の変数を移していくだけですが、
変数の操作:#0011 画像XX = 画像03
コモンイベント:画像決定(右回り)
変数の操作:#0004 画像03 = 画像XX

ここだけ、一時保管用の変数11に移しておき、コモンイベントを挟んでいます。

ちなみに、ピクチャ3番は右奥4番目の画像ですので、これが左に1個ずれる際に、新しい画像が現れるんですね。

すぐに後述しますが、コモンイベント:画像決定(右回り)では、この新しく現れる画像を決定しています。

で、その下
コモンイベント:パーティ選択(先頭)
コモンイベント:パーティ選択(2左)
コモンイベント:パーティ選択(3左)
コモンイベント:パーティ選択(4左)
コモンイベント:パーティ選択(2右)
コモンイベント:パーティ選択(3右)
コモンイベント:パーティ選択(4右)

これは、先ほど駆け足で紹介したコモンイベントです。表示されている全ての画像を、新しく設定した画像(変数)で再表示させます。

これにより、画像が1つ横にずれる→もとの位置に戻す(しかし、画像自体は1つずれた状態)という操作が行われ、結果として隣のピクチャ番号へ画像だけを渡した形となります。

この操作によって、ピクチャ番号を変えたり増やしたりすることなく、次々と新しい画像を表示させることが可能となっている訳ですね。


では、先ほど出てきたコモンイベント:画像決定(右回り)を見ていきましょう。

条件分岐:画像XX = 24
ラベルジャンプ:セレクト01

分岐終了
条件分岐:画像XX = 23
ラベルジャンプ:セレクト24

分岐終了
条件分岐:画像XX = 22
ラベルジャンプ:セレクト23

分岐終了
条件分岐:画像XX = 21
ラベルジャンプ:セレクト22

分岐終了
条件分岐:画像XX = 20
ラベルジャンプ:セレクト21

分岐終了
条件分岐:画像XX = 19
ラベルジャンプ:セレクト20

分岐終了
条件分岐:画像XX = 18
ラベルジャンプ:セレクト19

分岐終了
条件分岐:画像XX = 17
ラベルジャンプ:セレクト18

分岐終了
条件分岐:画像XX = 16
ラベルジャンプ:セレクト17

分岐終了
条件分岐:画像XX = 15
ラベルジャンプ:セレクト16

分岐終了
条件分岐:画像XX = 14
ラベルジャンプ:セレクト15

分岐終了
条件分岐:画像XX = 13
ラベルジャンプ:セレクト14

分岐終了
条件分岐:画像XX = 12
ラベルジャンプ:セレクト13

分岐終了
条件分岐:画像XX = 11
ラベルジャンプ:セレクト12

分岐終了
条件分岐:画像XX = 10
ラベルジャンプ:セレクト11

分岐終了
条件分岐:画像XX = 9
ラベルジャンプ:セレクト10

分岐終了
条件分岐:画像XX = 8
ラベルジャンプ:セレクト09

分岐終了
条件分岐:画像XX = 7
ラベルジャンプ:セレクト08

分岐終了
条件分岐:画像XX = 6
ラベルジャンプ:セレクト07

分岐終了
条件分岐:画像XX = 5
ラベルジャンプ:セレクト06

分岐終了
条件分岐:画像XX = 4
ラベルジャンプ:セレクト05

分岐終了
条件分岐:画像XX = 3
ラベルジャンプ:セレクト04

分岐終了
条件分岐:画像XX = 2
ラベルジャンプ:セレクト03

分岐終了
条件分岐:画像XX = 1
ラベルジャンプ:セレクト02

分岐終了
条件分岐:使用不可がON
ラベル:セレクト01
条件分岐:【アクター】01(エルフ1)がON
変数の操作:#0011 画像XX = 1
ラベルジャンプ:決定

分岐終了
ラベル:セレクト02
条件分岐:【アクター】02(エルフ2)がON
変数の操作:#0011 画像XX = 2
ラベルジャンプ:決定

分岐終了
ラベル:セレクト03
条件分岐:【アクター】03(エルフ3)がON
変数の操作:#0011 画像XX = 3
ラベルジャンプ:決定

分岐終了
ラベル:セレクト04
条件分岐:【アクター】04(エルフ4)がON
変数の操作:#0011 画像XX = 4
ラベルジャンプ:決定

分岐終了
ラベル:セレクト05
条件分岐:【アクター】05(動物1)がON
変数の操作:#0011 画像XX = 5
ラベルジャンプ:決定

分岐終了
ラベル:セレクト06
条件分岐:【アクター】06(動物2)がON
変数の操作:#0011 画像XX = 6
ラベルジャンプ:決定

分岐終了
ラベル:セレクト07
条件分岐:【アクター】07(動物3)がON
変数の操作:#0011 画像XX = 7
ラベルジャンプ:決定

分岐終了
ラベル:セレクト08
条件分岐:【アクター】08(悪魔1)がON
変数の操作:#0011 画像XX = 8
ラベルジャンプ:決定

分岐終了
ラベル:セレクト09
条件分岐:【アクター】09(悪魔2)がON
変数の操作:#0011 画像XX = 9
ラベルジャンプ:決定

分岐終了
ラベル:セレクト10
条件分岐:【アクター】10(妖精1)がON
変数の操作:#0011 画像XX = 10
ラベルジャンプ:決定

分岐終了
ラベル:セレクト11
条件分岐:【アクター】11(妖精2)がON
変数の操作:#0011 画像XX = 11
ラベルジャンプ:決定

分岐終了
ラベル:セレクト12
条件分岐:【アクター】12(人1)がON
変数の操作:#0011 画像XX = 12
ラベルジャンプ:決定

分岐終了
ラベル:セレクト13
条件分岐:【アクター】13(人2)がON
変数の操作:#0011 画像XX = 13
ラベルジャンプ:決定

分岐終了
ラベル:セレクト14
条件分岐:【アクター】14(人3)がON
変数の操作:#0011 画像XX = 14
ラベルジャンプ:決定

分岐終了
ラベル:セレクト15
条件分岐:【アクター】15(人4)がON
変数の操作:#0011 画像XX = 15
ラベルジャンプ:決定

分岐終了
ラベル:セレクト16
条件分岐:【アクター】16(人5)がON
変数の操作:#0011 画像XX = 16
ラベルジャンプ:決定

分岐終了
ラベル:セレクト17
条件分岐:【アクター】17(人6)がON
変数の操作:#0011 画像XX = 17
ラベルジャンプ:決定

分岐終了
ラベル:セレクト18
条件分岐:【アクター】18(人7)がON
変数の操作:#0011 画像XX = 18
ラベルジャンプ:決定

分岐終了
ラベル:セレクト19
条件分岐:【アクター】19(人8)がON
変数の操作:#0011 画像XX = 19
ラベルジャンプ:決定

分岐終了
ラベル:セレクト20
条件分岐:【アクター】20(人9)がON
変数の操作:#0011 画像XX = 20
ラベルジャンプ:決定

分岐終了
ラベル:セレクト21
条件分岐:【アクター】21(人10)がON
変数の操作:#0011 画像XX = 21
ラベルジャンプ:決定

分岐終了
ラベル:セレクト22
条件分岐:【アクター】22(人11)がON
変数の操作:#0011 画像XX = 22
ラベルジャンプ:決定

分岐終了
ラベル:セレクト23
条件分岐:【アクター】23(人12)がON
変数の操作:#0011 画像XX = 23
ラベルジャンプ:決定

分岐終了
ラベル:セレクト24
条件分岐:【アクター】24(人13)がON
変数の操作:#0011 画像XX = 24
ラベルジャンプ:決定

分岐終了
ラベルジャンプ:セレクト01

分岐終了
ラベル:決定

若干ネタバレになりますが、今回の例では、実はキャラクターが24人います(笑)

で、ここの内容では、先ほど一時保管させたピクチャ3番と連動している変数次の画像を検索する処理となっています。

例えば、ピクチャ3番に割り当てられている変数4=10だった場合。

10の次は普通に考えれば11です。しかし、11番のキャラクターが選択できない状態の場合は、12番を探さなければいけません。12番もダメなら13番・・・という風に、物語の中ではどの番号のキャラが現時点で仲間に出来る状態なのか分かりません。

そこで、このコモンイベントでは、アクターごとに割り振られたスイッチをフラグにして振り分けを行っています。

ピクチャ3番(変数4=10)なら、ラベルジャンプで11番以降の条件分岐が書かれた地点まで飛ばし、順番にスイッチの状態を見ていきます。ONのものが見つかった時点で、その画像()を選択して、最後のラベルに飛ばします。最後まで行っても見つからない場合は、また1番目に戻って探し直します。

ここで、一時変数11を再設定したら、前のコモンイベント変数4にその数値を渡して、新しい画像に更新。これで、新しい画像が画面上に出てくるという仕組みです。


では、次。コモンイベント:左押時画像変更を見ていきましょう。
プラグインコマンド:PSM_ERASE_POPUP 1 0
プラグインコマンド:PSM_ERASE_POPUP 2 0
プラグインコマンド:PSM_ERASE_POPUP 3 0
プラグインコマンド:PSM_ERASE_POPUP 4 0
プラグインコマンド:PSM_ERASE_POPUP 13 0
プラグインコマンド:PSM_ERASE_POPUP 14 0
プラグインコマンド:PSM_ERASE_POPUP 15 0
プラグインコマンド:PSM_ERASE_POPUP 16 0
変数の操作:#0004 画像03 = 画像04
変数の操作:#0005 画像04 = 画像07
変数の操作:#0008 画像07 = 画像09
変数の操作:#0010 画像09 = 画像08
変数の操作:#0009 画像08 = 画像06
変数の操作:#0007 画像06 = 画像05
変数の操作:#0011 画像XX = 画像05
コモンイベント:画像決定(左回り)
変数の操作:#0006 画像05 = 画像XX
コモンイベント:パーティ選択(先頭)
コモンイベント:パーティ選択(2左)
コモンイベント:パーティ選択(3左)
コモンイベント:パーティ選択(4左)
コモンイベント:パーティ選択(2右)
コモンイベント:パーティ選択(3右)
コモンイベント:パーティ選択(4右)

内容的にはコモンイベント:右押時画像変更に準じますが、今度は逆回転になるので、そうなるように変数を受け渡していきます。

今回、新しい画像が出てくるのはピクチャ5番(左奥)ですので、ここの変数が一時保管されてコモンイベント:画像決定(左回り)で検索され、設定され直されるわけですね。


というわけで、次。コモンイベント:画像決定(左回り)です。
条件分岐:画像XX = 24
ラベルジャンプ:セレクト23

分岐終了
条件分岐:画像XX = 23
ラベルジャンプ:セレクト22

分岐終了
条件分岐:画像XX = 22
ラベルジャンプ:セレクト21

分岐終了
条件分岐:画像XX = 21
ラベルジャンプ:セレクト20

分岐終了
条件分岐:画像XX = 20
ラベルジャンプ:セレクト19

分岐終了
条件分岐:画像XX = 19
ラベルジャンプ:セレクト18

分岐終了
条件分岐:画像XX = 18
ラベルジャンプ:セレクト17

分岐終了
条件分岐:画像XX = 17
ラベルジャンプ:セレクト16

分岐終了
条件分岐:画像XX = 16
ラベルジャンプ:セレクト15

分岐終了
条件分岐:画像XX = 15
ラベルジャンプ:セレクト14

分岐終了
条件分岐:画像XX = 14
ラベルジャンプ:セレクト13

分岐終了
条件分岐:画像XX = 13
ラベルジャンプ:セレクト12

分岐終了
条件分岐:画像XX = 12
ラベルジャンプ:セレクト11

分岐終了
条件分岐:画像XX = 11
ラベルジャンプ:セレクト10

分岐終了
条件分岐:画像XX = 10
ラベルジャンプ:セレクト09

分岐終了
条件分岐:画像XX = 9
ラベルジャンプ:セレクト08

分岐終了
条件分岐:画像XX = 8
ラベルジャンプ:セレクト07

分岐終了
条件分岐:画像XX = 7
ラベルジャンプ:セレクト06

分岐終了
条件分岐:画像XX = 6
ラベルジャンプ:セレクト05

分岐終了
条件分岐:画像XX = 5
ラベルジャンプ:セレクト04

分岐終了
条件分岐:画像XX = 4
ラベルジャンプ:セレクト03

分岐終了
条件分岐:画像XX = 3
ラベルジャンプ:セレクト02

分岐終了
条件分岐:画像XX = 2
ラベルジャンプ:セレクト01

分岐終了
条件分岐:画像XX = 1
ラベルジャンプ:セレクト24

分岐終了
条件分岐:使用不可がON
ラベル:セレクト24
条件分岐:【アクター】24(人13)がON
変数の操作:#0011 画像XX = 24
ラベルジャンプ:決定

分岐終了
ラベル:セレクト23
条件分岐:【アクター】23(人12)がON
変数の操作:#0011 画像XX = 23
ラベルジャンプ:決定

分岐終了
ラベル:セレクト22
条件分岐:【アクター】22(人11)がON
変数の操作:#0011 画像XX = 22
ラベルジャンプ:決定

分岐終了
ラベル:セレクト21
条件分岐:【アクター】21(人10)がON
変数の操作:#0011 画像XX = 21
ラベルジャンプ:決定

分岐終了
ラベル:セレクト20
条件分岐:【アクター】20(人9)がON
変数の操作:#0011 画像XX = 20
ラベルジャンプ:決定

分岐終了
ラベル:セレクト19
条件分岐:【アクター】19(人8)がON
変数の操作:#0011 画像XX = 19
ラベルジャンプ:決定

分岐終了
ラベル:セレクト18
条件分岐:【アクター】18(人7)がON
変数の操作:#0011 画像XX = 18
ラベルジャンプ:決定

分岐終了
ラベル:セレクト17
条件分岐:【アクター】17(人6)がON
変数の操作:#0011 画像XX = 17
ラベルジャンプ:決定

分岐終了
ラベル:セレクト16
条件分岐:【アクター】16(人5)がON
変数の操作:#0011 画像XX = 16
ラベルジャンプ:決定

分岐終了
ラベル:セレクト15
条件分岐:【アクター】15(人4)がON
変数の操作:#0011 画像XX = 15
ラベルジャンプ:決定

分岐終了
ラベル:セレクト14
条件分岐:【アクター】14(人3)がON
変数の操作:#0011 画像XX = 14
ラベルジャンプ:決定

分岐終了
ラベル:セレクト13
条件分岐:【アクター】13(人2)がON
変数の操作:#0011 画像XX = 13
ラベルジャンプ:決定

分岐終了
ラベル:セレクト12
条件分岐:【アクター】12(人1)がON
変数の操作:#0011 画像XX = 12
ラベルジャンプ:決定

分岐終了
ラベル:セレクト11
条件分岐:【アクター】11(妖精2)がON
変数の操作:#0011 画像XX = 11
ラベルジャンプ:決定

分岐終了
ラベル:セレクト10
条件分岐:【アクター】10(妖精1)がON
変数の操作:#0011 画像XX = 10
ラベルジャンプ:決定

分岐終了
ラベル:セレクト09
条件分岐:【アクター】09(悪魔2)がON
変数の操作:#0011 画像XX = 9
ラベルジャンプ:決定

分岐終了
ラベル:セレクト08
条件分岐:【アクター】08(悪魔1)がON
変数の操作:#0011 画像XX = 8
ラベルジャンプ:決定

分岐終了
ラベル:セレクト07
条件分岐:【アクター】07(動物3)がON
変数の操作:#0011 画像XX = 7
ラベルジャンプ:決定

分岐終了
ラベル:セレクト06
条件分岐:【アクター】06(動物2)がON
変数の操作:#0011 画像XX = 6
ラベルジャンプ:決定

分岐終了
ラベル:セレクト05
条件分岐:【アクター】05(動物1)がON
変数の操作:#0011 画像XX = 5
ラベルジャンプ:決定

分岐終了
ラベル:セレクト04
条件分岐:【アクター】04(エルフ4)がON
変数の操作:#0011 画像XX = 4
ラベルジャンプ:決定

分岐終了
ラベル:セレクト03
条件分岐:【アクター】03(エルフ3)がON
変数の操作:#0011 画像XX = 3
ラベルジャンプ:決定

分岐終了
ラベル:セレクト02
条件分岐:【アクター】02(エルフ2)がON
変数の操作:#0011 画像XX = 2
ラベルジャンプ:決定

分岐終了
ラベル:セレクト01
条件分岐:【アクター】01(エルフ1)がON
変数の操作:#0011 画像XX = 1
ラベルジャンプ:決定

分岐終了
ラベルジャンプ:セレクト24

分岐終了
ラベル:決定

非常にややこしいですが、こちらも逆回りなので、数字の動きも逆方向となります。

右回り時は1→24の方向に書き込んでいきましたが、左回り時は24→1の方向となります。

紛らわしいですが、コピペして書き換えで頑張りましょう。


さて、残すところあと4つ。

次は、コモンイベント:キャラクター選択確認です。


変数の操作:#0011 画像XX = 画像09
条件分岐:画像XX = 1
条件分岐:フォリアがパーティにいる
SEの演奏:Buzzer1 (90, 100, 0)
セルフスイッチの操作:A = ON

それ以外のとき
ピクチャの表示:#10, Elf-A-01, 左上 (383,238), (10%,10%), 0, 通常
ピクチャの移動:#10, 左上 (157,31), (100%,100%), 255, 通常, 15フレーム
文章:なし, ウィンドウ, 下
文章\c[6]\n[1]\c[0]
文章「私を連れてってくれるの?

分岐終了

分岐終了
条件分岐:画像XX = 5
条件分岐:シェンメイがパーティにいる
SEの演奏:Buzzer1 (90, 100, 0)
セルフスイッチの操作:A = ON

それ以外のとき
ピクチャの表示:#10, fantasy-heroine-girl pugilist01, 左上 (383,238), (10%,10%), 0, 通常
ピクチャの移動:#10, 左上 (157,31), (100%,100%), 255, 通常, 15フレーム
文章:なし, ウィンドウ, 下
文章\c[6]\n[5]\c[0]
文章「にゅふふ~。アタイの力が必要かな?

分岐終了

分岐終了
条件分岐:画像XX = 8
条件分岐:ディーヴァがパーティにいる
SEの演奏:Buzzer1 (90, 100, 0)
セルフスイッチの操作:A = ON

それ以外のとき
ピクチャの表示:#10, fantasy-heroine-girl devilgirl01, 左上 (383,238), (10%,10%), 0, 通常
ピクチャの移動:#10, 左上 (157,31), (100%,100%), 255, 通常, 15フレーム
文章:なし, ウィンドウ, 下
文章\c[6]\n[8]\c[0]
文章「小生なんかでよろしいのですか?

分岐終了

分岐終了
条件分岐:画像XX = 10
条件分岐:リーフィアがパーティにいる
SEの演奏:Buzzer1 (90, 100, 0)
セルフスイッチの操作:A = ON

それ以外のとき
ピクチャの表示:#10, fantasy-heroine-girl rhythm-fairy01, 左上 (383,238), (10%,10%), 0, 通常
ピクチャの移動:#10, 左上 (157,31), (100%,100%), 255, 通常, 15フレーム
文章:なし, ウィンドウ, 下
文章\c[6]\n[10]\c[0]
文章「私で良ければ、力を貸すよ~?

分岐終了

分岐終了
条件分岐:画像XX = 12
条件分岐:スミレがパーティにいる
SEの演奏:Buzzer1 (90, 100, 0)
セルフスイッチの操作:A = ON

それ以外のとき
ピクチャの表示:#10, fantasy-heroine-girl Fencer01, 左上 (383,238), (10%,10%), 0, 通常
ピクチャの移動:#10, 左上 (157,31), (100%,100%), 255, 通常, 15フレーム
文章:なし, ウィンドウ, 下
文章\c[6]\n[12]\c[0]
文章「あら、ワタクシを連れて行ってくださるのですか?

分岐終了

分岐終了
条件分岐:画像XX = 13
条件分岐:コクリコがパーティにいる
SEの演奏:Buzzer1 (90, 100, 0)
セルフスイッチの操作:A = ON

それ以外のとき
ピクチャの表示:#10, Gothic-Lolita-01, 左上 (383,238), (10%,10%), 0, 通常
ピクチャの移動:#10, 左上 (157,31), (100%,100%), 255, 通常, 15フレーム
文章:なし, ウィンドウ, 下
文章\c[6]\n[13]\c[0]
文章「・・・私に何か、用?

分岐終了

分岐終了
条件分岐:画像XX = 14
条件分岐:クロードがパーティにいる
SEの演奏:Buzzer1 (90, 100, 0)
セルフスイッチの操作:A = ON

それ以外のとき
ピクチャの表示:#10, fantasy-heroine-girl Lady-butler01, 左上 (383,238), (10%,10%), 0, 通常
ピクチャの移動:#10, 左上 (157,31), (100%,100%), 255, 通常, 15フレーム
文章:なし, ウィンドウ, 下
文章\c[6]\n[14]\c[0]
文章「私にご用命であれば、いつでもお申し付けください。

分岐終了

分岐終了
条件分岐:画像XX = 21
条件分岐:コハルがパーティにいる
SEの演奏:Buzzer1 (90, 100, 0)
セルフスイッチの操作:A = ON

それ以外のとき
ピクチャの表示:#10, fantasy-heroine-girl little Fencer01, 左上 (383,238), (10%,10%), 0, 通常
ピクチャの移動:#10, 左上 (157,31), (100%,100%), 255, 通常, 15フレーム
文章:なし, ウィンドウ, 下
文章\c[6]\n[21]\c[0]
文章「あたしの出番? はりきっちゃうよぉ~っ!

分岐終了

分岐終了

ここでは、先頭の画像によって表示されるバストアップ画像と、簡単な会話を設定しています。

最初に一時変数11へ先頭画像と同期している変数10の値を入れます。

あとは、この変数の値をフラグとして、選択されているキャラクターが誰なのかを判別します。

そのキャラクターが仲間になっているかどうかで条件分岐させ、既に仲間となっていた場合は選択できないので、ブザーだけを鳴らしてセルフスイッチをONにします。前述しましたが、このスイッチがONの時は「連れていきますか?」というアナウンスが出ないように作っていましたね。

選択されたキャラクターが仲間になっていない場合には、バストアップ画像を表示して会話を出します。

これを全キャラクター分作っていきます。今回の例では8人だけですが、条件分岐をまるっとコピペして条件の数値と中身を書き換えることで、キャラクターを追加していけます。


次は、コモンイベント:パーティ追加ですね。
変数の操作:#0012 仲間選択数 += 1
条件分岐:仲間選択数 = 1
変数の操作:#0013 画像 X座標 = 0
変数の操作:#0014 画像 Y座標 = 240

分岐終了
条件分岐:仲間選択数 = 2
変数の操作:#0013 画像 X座標 = 0
変数の操作:#0014 画像 Y座標 = 288

分岐終了
条件分岐:仲間選択数 = 3
変数の操作:#0013 画像 X座標 = 0
変数の操作:#0014 画像 Y座標 = 336

分岐終了
条件分岐:仲間選択数 = 4
変数の操作:#0013 画像 X座標 = 0
変数の操作:#0014 画像 Y座標 = 384

分岐終了
変数の操作:#0011 画像XX = 画像09
条件分岐:仲間選択数 = 1
条件分岐:画像XX = 1
ピクチャの表示:#11, FH_elf1, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:フォリアを加える

分岐終了
条件分岐:画像XX = 5
ピクチャの表示:#11, FH_pugilist, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:シェンメイを加える

分岐終了
条件分岐:画像XX = 8
ピクチャの表示:#11, FH_devilgirl, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:ディーヴァを加える

分岐終了
条件分岐:画像XX = 10
ピクチャの表示:#11, FH_rhythm-fairy, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:リーフィアを加える

分岐終了
条件分岐:画像XX = 12
ピクチャの表示:#11, FH_Fencer, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:スミレを加える

分岐終了
条件分岐:画像XX = 13
ピクチャの表示:#11, FH_gothicLolita, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:コクリコを加える

分岐終了
条件分岐:画像XX = 14
ピクチャの表示:#11, FH_Lady-butler, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:クロードを加える

分岐終了
条件分岐:画像XX = 21
ピクチャの表示:#11, FH_little Fencer, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:コハルを加える

分岐終了
プラグインコマンド:PSM_SHOW_POPUP 5 0 50 240 -1 \p[1]
プラグインコマンド:PSM_SHOW_POPUP 6 1 50 270 -1 \_\_Lv.\v[15]\_EXP.\v[16]

分岐終了
条件分岐:仲間選択数 = 2
条件分岐:画像XX = 1
ピクチャの表示:#12, FH_elf1, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:フォリアを加える

分岐終了
条件分岐:画像XX = 5
ピクチャの表示:#12, FH_pugilist, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:シェンメイを加える

分岐終了
条件分岐:画像XX = 8
ピクチャの表示:#12, FH_devilgirl, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:ディーヴァを加える

分岐終了
条件分岐:画像XX = 10
ピクチャの表示:#12, FH_rhythm-fairy, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:リーフィアを加える

分岐終了
条件分岐:画像XX = 12
ピクチャの表示:#12, FH_Fencer, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:スミレを加える

分岐終了
条件分岐:画像XX = 13
ピクチャの表示:#12, FH_gothicLolita, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:コクリコを加える

分岐終了
条件分岐:画像XX = 14
ピクチャの表示:#12, FH_Lady-butler, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:クロードを加える

分岐終了
条件分岐:画像XX = 21
ピクチャの表示:#12, FH_little Fencer, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:コハルを加える

分岐終了
プラグインコマンド:PSM_SHOW_POPUP 7 0 50 288 -1 \p[2]
プラグインコマンド:PSM_SHOW_POPUP 8 1 50 318 -1 \_\_Lv.\v[15]\_EXP.\v[16]

分岐終了
条件分岐:仲間選択数 = 3
条件分岐:画像XX = 1
ピクチャの表示:#13, FH_elf1, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:フォリアを加える

分岐終了
条件分岐:画像XX = 5
ピクチャの表示:#13, FH_pugilist, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:シェンメイを加える

分岐終了
条件分岐:画像XX = 8
ピクチャの表示:#13, FH_devilgirl, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:ディーヴァを加える

分岐終了
条件分岐:画像XX = 10
ピクチャの表示:#13, FH_rhythm-fairy, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:リーフィアを加える

分岐終了
条件分岐:画像XX = 12
ピクチャの表示:#13, FH_Fencer, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:スミレを加える

分岐終了
条件分岐:画像XX = 13
ピクチャの表示:#13, FH_gothicLolita, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:コクリコを加える

分岐終了
条件分岐:画像XX = 14
ピクチャの表示:#13, FH_Lady-butler, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:クロードを加える

分岐終了
条件分岐:画像XX = 21
ピクチャの表示:#13, FH_little Fencer, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:コハルを加える

分岐終了
プラグインコマンド:PSM_SHOW_POPUP 9 0 50 336 -1 \p[3]
プラグインコマンド:PSM_SHOW_POPUP 10 1 50 366 -1 \_\_Lv.\v[15]\_EXP.\v[16]

分岐終了
条件分岐:仲間選択数 = 4
条件分岐:画像XX = 1
ピクチャの表示:#14, FH_elf1, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:フォリアを加える

分岐終了
条件分岐:画像XX = 5
ピクチャの表示:#14, FH_pugilist, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:シェンメイを加える

分岐終了
条件分岐:画像XX = 8
ピクチャの表示:#14, FH_devilgirl, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:ディーヴァを加える

分岐終了
条件分岐:画像XX = 10
ピクチャの表示:#14, FH_rhythm-fairy, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:リーフィアを加える

分岐終了
条件分岐:画像XX = 12
ピクチャの表示:#14, FH_Fencer, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:スミレを加える

分岐終了
条件分岐:画像XX = 13
ピクチャの表示:#14, FH_gothicLolita, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:コクリコを加える

分岐終了
条件分岐:画像XX = 14
ピクチャの表示:#14, FH_Lady-butler, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:クロードを加える

分岐終了
条件分岐:画像XX = 21
ピクチャの表示:#14, FH_little Fencer, 左上 ({画像 X座標},{画像 Y座標}), (100%,100%), 255, 通常
メンバーの入れ替え:コハルを加える

分岐終了
プラグインコマンド:PSM_SHOW_POPUP 11 0 50 384 -1 \p[4]
プラグインコマンド:PSM_SHOW_POPUP 12 1 50 414 -1 \_\_Lv.\v[15]\_EXP.\v[16]

分岐終了
ピクチャの消去:#10

ここでは、選択されたキャラクターを仲間にする処理と、右側に表示されるちびキャラ画像、レベル、経験値を表示する処理を行っています。

構造としては、仲間の数を表すフラグ変数12を+1して、現在の仲間の数によって表示するピクチャのX座標とY座標を指定しておきます。

次に、一時変数11に先頭画像と同期している変数10の値を代入し、仲間にするキャラクターを探させます。仲間の数によって使われるピクチャ番号が違うため、条件分岐ごとに書いていかなければならないのが面倒くさいです。コピペと編集でぼちぼちやっていきましょう。

仲間にしたら、バストアップ画像(ピクチャ10番)は邪魔なので消去しておきましょう。


次に、コモンイベント:パーティ削除です。
変数の操作:#0011 画像XX = 0
条件分岐:仲間選択数 = 1
ピクチャの消去:#11
プラグインコマンド:PSM_ERASE_POPUP 5 0
プラグインコマンド:PSM_ERASE_POPUP 6 0
変数の操作:#0011 画像XX = パーティメンバー1番のアクターID

分岐終了
条件分岐:仲間選択数 = 2
ピクチャの消去:#12
プラグインコマンド:PSM_ERASE_POPUP 7 0
プラグインコマンド:PSM_ERASE_POPUP 8 0
変数の操作:#0011 画像XX = パーティメンバー2番のアクターID

分岐終了
条件分岐:仲間選択数 = 3
ピクチャの消去:#13
プラグインコマンド:PSM_ERASE_POPUP 9 0
プラグインコマンド:PSM_ERASE_POPUP 10 0
変数の操作:#0011 画像XX = パーティメンバー3番のアクターID

分岐終了
条件分岐:仲間選択数 = 4
ピクチャの消去:#14
プラグインコマンド:PSM_ERASE_POPUP 11 0
プラグインコマンド:PSM_ERASE_POPUP 12 0
変数の操作:#0011 画像XX = パーティメンバー4番のアクターID

分岐終了
条件分岐:画像XX = 1
メンバーの入れ替え:フォリアを外す

分岐終了
条件分岐:画像XX = 5
メンバーの入れ替え:シェンメイを外す

分岐終了
条件分岐:画像XX = 8
メンバーの入れ替え:ディーヴァを外す

分岐終了
条件分岐:画像XX = 10
メンバーの入れ替え:リーフィアを外す

分岐終了
条件分岐:画像XX = 12
メンバーの入れ替え:スミレを外す

分岐終了
条件分岐:画像XX = 13
メンバーの入れ替え:コクリコを外す

分岐終了
条件分岐:画像XX = 14
メンバーの入れ替え:クロードを外す

分岐終了
条件分岐:画像XX = 21
メンバーの入れ替え:コハルを外す

分岐終了
条件分岐:仲間選択数 = 0

それ以外のとき
変数の操作:#0012 仲間選択数 -= 1
SEの演奏:Cancel1 (90, 100, 0)

分岐終了

構造的には、パーティ追加の場合と逆方向になりますが、処理の仕方が結構違います。

とりあえず、一時変数11は初期化しておきます。

仲間にしている数で、消去する画像を選択し、アクターIDを一時変数11に代入します。

あとは、このアクターIDのキャラクターをパーティから外します。

仲間の数が0の時は、何もすることがありませんが、1以上の時は、最後に仲間の数を1減らしておく必要があります。忘れずに、最後の条件分岐も書き込んでおきましょう。分かりやすく、キャンセル音も鳴らしておくと親切です。


それでは、いよいよ最後のコモンイベント:パーティ全削除です。
メンバーの入れ替え:フォリアを外す
メンバーの入れ替え:シェンメイを外す
メンバーの入れ替え:ディーヴァを外す
メンバーの入れ替え:リーフィアを外す
メンバーの入れ替え:スミレを外す
メンバーの入れ替え:コクリコを外す
メンバーの入れ替え:クロードを外す
メンバーの入れ替え:コハルを外す

何のことはありません。問答無用で全員を解雇するだけです。



以上、今回のシステムの構造を解説いたしました。

大分長い内容でした、理解できたでしょうか?

正直、かなり複雑で大変ですよね(笑)


ですが、割と見栄えが良いので、作ってみる価値はあると思いますよ。

画像もいっぱい必要だし、入力する量も多いので、導入は大変ですけどね・・・。





ではでは、今日はこの辺で。
ネコタでした。





↓お役に立ちましたら、クリックをお願いします↓
にほんブログ村 ゲームブログへ
にほんブログ村

にほんブログ村 ゲームブログ ゲーム制作へ
にほんブログ村

ブログランキング・にほんブログ村へ
にほんブログ村
プロフィール

猫民のんたん

Author:猫民のんたん

ネコタ:ゲーム作りが趣味の薬剤師。本職とゲーム作りの2足の草鞋を履きこなそうと日々奮闘。

毎週曜日or曜日に更新予定。
-------------------------

ミノン:ゲーム作り初心者で2児の母。前職はSE/PG。子育てをしながらゲーム作りを行おうと、日々奮闘中。

育児中のため活動休止中

最新記事
最新コメント
月別アーカイブ
カテゴリ
フリーエリア
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。