ランダムで何かが起こるイベント
「くじ引き」を例として作ります。
「10ゴールド」払うとくじ引きができるイベントです。
所持金チェックをし、所持金が「10以上」の場合のみ、くじ引き処理へ移るようにしてあります。
「ランダム」というものを再現するには、「乱数」というものが必要です。
乱数は、イベントコマンド「変数操作」にて設定できます。
セルフ変数1番に、「0〜2」という値を入れるようになってますね。
これは、イベント起動1回につき、セルフ1に0〜2(0、1、2)のいずれかの値が入ることを表しています。
ここでは、くじ引きによって入手できるアイテムを3種類にしていますから、セルフ1が「0と同じ」、「1と同じ」、「2と同じ」の3つを条件分岐で作ればいいのです。
しかし、これでは3種類のアイテムがいずれも同じ確率で入手できてしまいます。
やはり、価値の高いアイテムが手に入る確率は抑え、価値の低いアイテムが手に入る確率を高めにするなど、差を持たせたいですよね。
そこで、以下のように変更します。
今度は、乱数を「0〜99」とします。
0から99までの数字の数は100個ですから、これで100%を3つの確率に割り振ることができます。
ここでは、価値の高い順に「10%」、「40%」、「50%」と確率を割り振りました。
アイテムの価値は、それぞれ高、中、低となります。
セルフ1の値としては、上から「90以上」、「50以上」、「0以上」という分岐になるわけですが、この順番でないと機能しません。
プログラムは、基本的に上から読まれていくものだからです。
ここでもし、一番上に「0以上」を設定してしまうと、乱数「0〜99」の全てを満たしてしまうので、その分岐しか通らなくなります。
ちなみに、条件分岐の設定は、上から「49以下」、「89以下」、「99以下」という順番にしても構いません。
ただしこの場合、入手できるアイテムの価値は、上から低、中、高となるので注意。
あと、もしも何度リセットしても同じアイテムが手に入ってしまうという問題が起きる場合は、別のイベントで乱数を動かすようにすればいいです。
例えば、近くの人物イベントに乱数を入れておくとか。
面倒なら、コモンイベント126番「歩行時_並列キー処理」などの「並列実行」のコモンイベントの必ず処理される箇所に、以下のように乱数を入れておけばいいです。
これだけで、乱数が同じ結果になるのを防ぐことができます。
WOLF RPGエディター Ver.2.10 使用
WOLF RPGエディターメインページへ
2015/01/24/Sat 更新