なんか作って載せます

今月(11月)も、続けていろいろやっていきます。第16弾。

集めたコインの枚数によって、アイテムが貰えるイベント【EV】



 「コインを10枚集めたら○○と交換、次は20枚集めたら○○と交換……」、みたいなイベントを作ります。


 重要なのは、「コインの所持数」ですね。これは必ず取得する必要があります。
 そしてもう一つ、「アイテムを貰ったかどうか」という情報も取得する必要があります。

 例えば、コイン10枚で「アイテム1」、コイン20枚で「アイテム2」が貰えるとしますね。
 律儀に、コインを10枚集めるごとに交換してもらいに行くなら問題は無いでしょう。
 が、プレイ内容によっては、「アイテム1」を貰っていないのに、コインが20枚集まってしまう、なんてこともあると思います。

 ここで、ただ「コインの所持数」で判定しているだけでは、「アイテム1」をすっ飛ばして「アイテム2」が貰えることになってしまいます。
 私が作りたいのはこれではなくて、コインを20枚持ってようが50枚持ってようが、最初の「アイテム1」から順番に貰えるようにするイベントです。

 こうすると、
交換イベント1

 例えばコインを50枚以上持っている場合、全ての条件を満たすので、上から順にアイテムを貰うことができます。
 一見、これでいいんじゃないかと思いますね。

 ですが、これじゃあ駄目です。

 私が作りたいのは、交換してもらえるアイテムは1つずつで、かつ、コインもちゃんと交換してもらうごとに減る、というものですから。
 上のイベントだと、例えばコインを20枚持っている状態で、最初のアイテム交換時にコインを10枚減らしたら、残りは10枚となってしまい、2つ目のアイテムを交換してもらえなくなってしまいます。
 ちゃんと20枚持っているのに交換してもらえないとか、すごく損した気分になりますよね。

 思った通りの処理になるよう修正します。

 まず、コイン10枚ごとにアイテムと交換できるわけですから、毎回、所持数の判定は「10枚以上」でいいはずです。
 コインと交換せず、枚数だけでアイテムが貰えるというふうにしたい場合は、上で作ったイベントで事足りますね。

 そして、コイン総数を格納しておく変数を用意。

 交換が終わったら、次のアイテム交換への処理に移すためのフラグを立てる。
 これは、セルフ変数で充分です。

 修正後のイベント内容がこれ。
交換イベント2

 セルフ0は「コインの所持数」、セルフ1は「交換アイテムは現在何番目かを示す変数」、V1-12は、「コイン総数格納用変数」です。

 まだ1つもアイテムを交換してもらっていない場合、セルフ1が0の部分を通ります。
 そして、コイン所持数が10枚以上なら、処理開始です。
 アイテム増加の処理は、あとで加えて下さい。
 コインを10枚減らし、コイン総数の変数に10加算、そして、セルフ1を1にして、終わり。
 これで、次の処理は2つ目のアイテム交換の部分から始まります。

 上のイベントは、画像が途中で途切れていますが、総数50枚までの処理が作ってあります。
 作ってありますが、2つ目以降パターンは同じなので、省略しました。

 この内容で、思い通りに動いてくれました。成功です。


 今回は、単純に交換処理の部分のみ作りましたが、交換するかしないかを選択させたり、話しかけたら「現在○○枚集めているよ」みたいなメッセージを表示させることもできます。
 これらを追加する場合、メッセージを一番上、次いで選択肢を入れ、「はい(交換する)」の選択肢の方へ上の処理を全て放り込んで下さい。

 コインの枚数が足りない場合のメッセージも作ると、より完璧になるでしょう。


 今回はこれで終わります。


2012/11/24/Sat 更新
2013/09/21/Sat 内容修正

inserted by FC2 system