【RPGツクール】パーティー人数によって値段が変わる宿屋を作ろう!

RPGにおいて必要な施設の一つが宿屋ですね。

この宿屋の料金設定、皆さんはどうされていますか?

ゲーム開始から終了まで一定料金のまま利用できる設定や、進行度によって変化する設定など色々あると思います。

今回はパーティーの人数によって料金が変わる宿屋を作ってみようと思います。

宿屋の処理01

処理の完成図はこのようになっています。

何処でどのような処理が入っているのか、最初から作りながら解説していきます。

変数に必要な情報を代入していこう

まずは変数を使って宿屋の処理に必要な情報を入力していきます。

宿屋の処理02

今回は後々修正等が楽になるようにコモンイベントを使って作っていこうと思います。

マップイベントで作る場合も同じなので、お好きな方で作ってみてください。

宿屋の処理03

まず、変数1に現在の所持金を代入します。

変数1に適当な名前を付け操作を代入にチェックし、オペランドのゲームデータからその他を選んで所持金を選択しましょう。

これで変数1に所持金が代入されます。

宿屋の処理04

次に変数2に現在のパーティーの人数を代入します。

先ほどと同じように変数の名前をわかりやすく変え、代入にチェックを入れます。

オペランドも先ほどと同じゲームデータのその他を選び、今度はパーティー人数を選択しましょう。

これで変数2に現在のパーティー人数が代入されます。

宿屋の処理05

次は1人当たりの宿賃を決めます。

今回は決まった価格のまま最後まで進む感じで作るので、変数3に定数30を代入しました。

今回ここの変数の名前は説明の為に「1人分の宿賃」にしましたが、この後の処理でわかりにくくなりそうな方は「宿代」など簡単なものにした方が良いかもしれません。

宿屋の処理06

ここまでよろしいでしょうか?

次の処理は宿賃をパーティー人数に合わせるものです。

簡単に言うと変数2と3を掛け算させるだけです。

宿屋の処理07

まず、最初の変数の所は「1人分の宿賃」を代入した変数3にします。

そして、オペランドを変数に合わせ「パーティー人数」を代入した変数2にしましょう。

こうする事で変数3に「1人分の宿賃×パーティー人数」の答えが格納されます。

今回の場合ですと宿賃が30なので「30×1=30」や「30×2=60」などが格納されるわけです。

これで変数の下準備は終了です。

次はいよいよ宿屋の処理を入れていきます。

宿屋の処理はイベントの簡易作成を利用しよう

さて、今から宿屋の処理を組み込むのですが、少し楽をしようと思います。

コモンイベントで作ってる方はここで一度「適用」を押してデータベース画面を閉じてください(必ず適用またはOKを押してください!)

マップ上で右クリックをすると「イベントの簡易作成」というものが出てくるのはご存知ですか?

宿屋の処理08

「イベントの簡易設定」は場所移動や扉、宝箱といった処理が簡単に作れる便利な機能です。

その中に宿屋の処理もあるので、それを選んで適当なマップイベントを作りましょう。

宿屋の処理09

このイベントの中身をコピーして、先ほどまで作っていた処理の下にペーストします。

これでちょっとだけ手間が省けますね!

宿屋の処理10

コピペが済んだら細かい所を修正していきましょう。

まず、文章の表示が10Gのままなので変数3の値になるよう書き換えます。

10の所を「\V[変数の番号]」にすると指定した変数に格納されている数値が表示されます。

今回の場合は「\V[3]」にしましょう(\Gは通貨単位が表示されます。通貨単位を円にしている場合は円が表示されます)

宿屋の処理11

次に条件分岐を変えていきます。

コピペした状態だとタブ4の「お金」が選択されているのですが、これだと「変数の値以上の時」に設定できません。

なので、タブ1の変数を選びましょう。

ここで「変数1:所持金」が「変数3:宿賃」より多い場合に設定します。

宿屋の処理12

次に所持金の増減の所を変えていきましょう。

コピペした状態だと「定数:10」が減るようになっていますので、ここを変数3の「宿賃」に変更します。

これで変数3に格納されている「1人分の宿賃×パーティー人数」分の料金が引かれる事になります。

これでパーティー人数によって値段が変わる宿屋の完成です!

コモンイベントで作ってる方はマップイベントの中に今作ったコモンイベントを呼び出す処理を入れておきましょう。

宿賃を変えたい時は変数3に代入した定数を変えれば良いだけなので、修正がとても楽です!

応用も効く作り方だと思うので、色々設定カスタマイズしながら自分好みの宿屋を作ってみてはいかがでしょうか。

では、今回はこの辺で(`・ω・´)ゞ