ランダムにアイテムを取得するプラグイン

らんだむダンジョンがすごい好きで周回要素ないのに50時間ぐらいかかるのを2週プレイした。
らんだむダンジョンはランダムにアイテムが手に入る宝箱がある。今回はそれを実装した。
ツクールのデフォルトの機能でも実現できるけど、結構面倒くさいので、簡単にできるプラグインを作る。

ランダムに手に入る宝箱

いろいろ仕様を考えたんだけど、こういう仕様にしたい。

  1. ランダムに手に入るアイテム群を設定できる(ダンジョンごとに異なるアイテム群を設定できる)
  2. アイテムごとに異なる確率を設定できる
  3. できるだけ設定しやすく、1と2を実現する

ランダムに手に入るアイテム群を設定できる

まず1だけど、参考になるのはデフォルトにあるガチャのプラグイン。
あれはどうやってアイテムを設定しているかというとプラグインコマンドで以下のようにしている。

1
2
Gacha add item 5
Gacha add armor 1

これでもいいんだけど、IDとか調べてやるのちょっと大変。
この際、アイテム選択があるコマンドを乗っ取ることにした。ショップコマンドだ。
ショップコマンドはアイテムをGUIで選択できるので設定しやすくて良い。

ショップコマンド

アイテムごとに異なる確率を設定できる

次に2番。つまりレアなアイテムは出にくくしたい。ショップコマンドはアイテムごとに価格を設定できる。
ちょうどいいので、この価格を確率にしてしまおう。
くじの本数だと考えてほしい。例えば、アイテムが3つあって、アイテム1=10、アイテム2=10、アイテム3=1だったとする。
こうすれば、くじの本数が1本しかないアイテム3は出にくくなる。

確率

確率一覧

導入方法

まず、プラグインがこれ
導入したら、まずプラグインコマンドで RandomTreasure reset を実行する。
このコマンド直後のショップ処理で登録したアイテムがランダムに手に入るアイテム群となる。ショップは開かれない。

設定プラグインコマンド

そして、次に宝箱側の設定だ。プラグインコマンドで RandomTreasure get を実行するとランダムに1個手に入る。
メッセージウィンドウに手に入れたアイテム名を表示したいときは以下のようなスクリプトを書く。

1
2
3
var item = $gameSystem.lastRandomTreasure;
$gameMessage.add("\\i[" + item.iconIndex + "]" + item.name + "を手に入れた");
this.setWaitMode('message');

宝箱側のプラグインコマンド

ランダムに取得

※ 2017/12/09 入手インフォメーション系プラグイン(TinyGetInfoWnd.jsやGetInformation.js)に対応しました。

DL先

https://raw.githubusercontent.com/kido0617/rpgmakerMV-plugin/master/RandomTreasure/RandomTreasure.js

ライセンス

MIT
自由にご利用ください。