今回ご紹介するのは、メダルと交換する形でアイテムを獲得できる景品交換所の作り方です。
変数を通貨として用います。
有志の方が作成されたプラグインもありますが、今回はイベントコマンドで実装する方法を紹介したいと思います。
一部、スクリプトを使用する場面がありますのでご注意ください。
仕様ツールはRPGツクールMZですが、ツクールMVでも同様に実装可能です。
使用変数
| 変数 | 名前 | 用途 |
|---|---|---|
| 1 | メダル所持数 | 通貨として使用 |
| 2 | プレイヤーの所持金 | 現在のプレイヤーの所持金記録用 |
イベント内容
◆文章:なし, なし, ウィンドウ, 下
:文章:こちらではメダルとアイテムを交換することができます。
◆変数の操作:#0182 プレイヤーの所持金 = 所持金
◆所持金の増減:- 9999999
◆所持金の増減:+ {メダル所持数}
◆スクリプト:$dataSystem.currencyUnit = "枚"
◆ショップの処理:ポーション
:ショップの処理:ハイポーション
:ショップの処理:フルポーション
:ショップの処理:マジックウォーター
:ショップの処理:スティミュラント
:ショップの処理:ショートソード
:ショップの処理:布の服
◆スクリプト:$dataSystem.currencyUnit = "G"
◆変数の操作:#0181 メダル所持数 = 所持金
◆所持金の増減:- 9999999
◆所持金の増減:+ {プレイヤーの所持金}

まず、現在のプレイヤーの所持金を変数に記録しておきます。
[変数の操作]で、[オペランド]から[ゲームデータ]を選択。一番下の[その他]の欄から[所持金]を選びます。

次に、メダルを通貨のかわりとして使えるようにします。
[所持金の増減]を行い、現在のプレイヤーの所持金を一度ゼロにします。その後、再度[所持金の増減]を行い、メダルの所持数を記録した変数分、所持金を増やします。これで、現在の所持金がメダルの所持数となりました。
このまま[ショップの処理]を実行してもいいですが、通貨単位がそのままなのが気になります。

今回はメダルを用いるので、通貨単位を“枚”に変更しましょう。
通貨単位の取得スクリプトは、下記の通りです。
$dataSystem.currencyUnit
よって、通貨単位を“枚”にするには、下記のコードを[スクリプト]で実行します。
$dataSystem.currencyUnit = “枚”
これで通貨単位が変更されました。

通貨単位の設定を終えたら、[ショップの処理]に移ります。
メダルと交換できるアイテム一覧を作成してください。
なお、価格は[指定]を選択してください。[標準]のままだと、通常のお金で購入する際の値段が表示されてしまいます。

[指定]で入力した数値が、交換に必要なメダルの枚数となります。
商品を選択し終えたら、最後に左下の[購入のみ]にチェックを入れてください。

ショップの処理を終えたら、[スクリプト]により通貨単位をもとに戻します。
$dataSystem.currencyUnit = “G”
[変数の操作]を行い、交換後のメダル枚数を変数に記録。
所持金を再度ゼロにし、最初に記録しておいた所持金の値を加算させます。これで、所持金がメダルの枚数からもとのお金に戻りました。
最後に
メダルの部分をコインに変えれば、カジノの景品交換所にもなります。また、変数を複数用意すれば、メダルやコインなどの交換用アイテムをいくらでも増やすことが可能です。
ぜひイベント作成に役立ててください。
それでは、よいツクールライフを!


コメント