アイテムを奪うイベント
アイテムを奪うイベントのサンプルです。単に、2,3種類のアイテムを奪うだけであれば、アイテムの増減でそれぞれを奪えばすむのですが、たくさんを一度に奪うときは変数を操作し、奪うアイテムをその変数のアイテムにします。
ただし、このサンプルは、奪うアイテムをすべて 0 にすることを想定していますので、それぞれのアイテムの残り個数を別々にする場合は、もっとややこしくなります。
使い方としては、捕虜になって回復アイテムや装備を奪われた設定のときなどに使えます。
装備に関して言えば、装備をはずし、メニュー呼び出しを禁止にすれば装備しなおすことが出来ないので、わざわざ個数を 0 にしなくてもいいのですが、アイテムは奪っておかないと、戦闘中に使われてしまいますから。
(バトルコマンドのアイテムという項目をなくすことが出来ればいいのですけど)
尚、捕虜から脱出したときなどにアイテムを戻す場合は、それぞれのアイテムの現在所持している個数を、それぞれの変数に格納しておく必要があります。
あと、なるべくアイテムのカテゴリーはまとめておかないと、大変になります。(ポーションはアイテム No1〜50、ブキは No 60〜100 のように)
私は当初、一応、ある程度余裕を持ってカテゴリーを分けていたのですが、途中からどうでもよいアイテムなどが増えてしまって、番号がかなり飛び飛びになってしまい苦労しました。
尚、下記イベントですが、実際に自分が使っているものは、もっと奪うアイテムの種類が多く、長くなるので、基本構造だけを書いています。なので、条件分岐の閉じる部分。(タグで言えば閉じタグにあたる部分が抜けているかもしれませんが、これはツクールで条件分岐をしていくと勝手にしてくれるので問題ないでしょう。)
- アイテムを奪うイベント
- ◆注釈:***********************
: :装備を外させる
: :***********************
◆装備の変更:メンバー全員が全ての装備を外す
◆注釈:***********************
: :奪うアイテム数番号:1〜19、
: 21〜29、231〜233の場合
: :***********************
◆注釈:***********************
: :奪うアイテム数をカウントする
: :アイテムを戻すときに使用する。
: :***********************
◆変数の操作:[1]代入, アイテム[1]の所持数
◆変数の操作:[2]代入, アイテム[2]の所持数
◆変数の操作:[3]代入, アイテム[3]の所持数
◆変数の操作:[4]代入, アイテム[4]の所持数
◆変数の操作:[5]代入, アイテム[5]の所持数
◆変数の操作:[6]代入, アイテム[6]の所持数
◆変数の操作:[7]代入, アイテム[7]の所持数
◆変数の操作:[8]代入, アイテム[8]の所持数
◆変数の操作:[9]代入, アイテム[9]の所持数
◆変数の操作:[0]代入, アイテム[10]の所持数
◆変数の操作:[1]代入, アイテム[11]の所持数
◆変数の操作:[2]代入, アイテム[12]の所持数
◆変数の操作:[3]代入, アイテム[13]の所持数
◆変数の操作:[4]代入, アイテム[14]の所持数
◆変数の操作:[5]代入, アイテム[15]の所持数
◆変数の操作:[6]代入, アイテム[16]の所持数
◆変数の操作:[7]代入, アイテム[17]の所持数
◆変数の操作:[8]代入, アイテム[18]の所持数
◆変数の操作:[9]代入, アイテム[19]の所持数
◆変数の操作:[10]代入, アイテム[21]の所持数
◆変数の操作:[11]代入, アイテム[22]の所持数
◆変数の操作:[12]代入, アイテム[23]の所持数
◆変数の操作:[13]代入, アイテム[24]の所持数
◆変数の操作:[14]代入, アイテム[25]の所持数
◆変数の操作:[15]代入, アイテム[26]の所持数
◆変数の操作:[16]代入, アイテム[27]の所持数
◆変数の操作:[17]代入, アイテム[28]の所持数
◆変数の操作:[18]代入, アイテム[29]の所持数
◆変数の操作:[19]代入, アイテム[231]の所持数
◆変数の操作:[20]代入, アイテム[232]の所持数
◆変数の操作:[21]代入, アイテム[233]の所持数
◆注釈:*************************
: :アイテムを奪うイベント
: :*************************
◆注釈:///////////////////////
: :アイテム 1〜19までで判定
: :変数[0]:アイテムNo
: :////////////////////////
◆変数の操作:[0]代入, 1
◆ラベルの設定:1番
◆条件分岐:変数[0]が19以下
◆注釈:::::::::::::::::::::::::::::
: :1〜19 のアイテムを減らす
: :::::::::::::::::::::::::::::
◆アイテムの増減:V[0]を99減らす
◆変数の操作:[0]加算, 1
◆注釈:*****************************
: :アイテムNo V[0] を 99減らす。
: :アイテムNo V[0] 加算 1で次のアイテムへ
◆注釈:*****************************
: :ラベル 1 にもどり繰り返し処理
: :アイテムNo V[0] が 20まで繰り返し
: :*****************************
◆指定ラベルへ飛ぶ:1番
◆
:それ以外の場合
◆条件分岐:変数[0]が20
◆注釈::::::::::::::::::::::::::::
: :20 アイテム No 20 は残す
: ::::::::::::::::::::::::::::
◆変数の操作:[0]加算, 1
◆指定ラベルへ飛ぶ:1番
◆
:それ以外の場合
◆条件分岐:変数[0]が21以上
◆条件分岐:変数[0]が29以下
◆注釈:::::::::::::::::::::::::::::
: :21〜29 のアイテムを減らす
: :::::::::::::::::::::::::::::
◆アイテムの増減:V[0]を99減らす
◆変数の操作:[0]加算, 1
◆指定ラベルへ飛ぶ:1番
◆
:それ以外の場合
◆条件分岐:変数[0]が30以上
◆変数の操作:[0]代入, 231
◆注釈:::::::::::::::::::::::::::::
: :30〜230 までは、そのまま
: :::::::::::::::::::::::::::::
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆
:分岐終了
◆注釈://////////////////////////
: :アイテム 231〜233 で判定
: ://////////////////////////
◆ラベルの設定:2番
◆条件分岐:変数[0]が231以上
◆条件分岐:変数[0]が233以下
◆注釈:::::::::::::::::::::::::::::::
: :231〜233のアイテムを減らす
: :::::::::::::::::::::::::::::::
◆アイテムの増減:V[0]を99減らす
◆変数の操作:[0]加算, 1
◆指定ラベルへ飛ぶ:2番
◆
:分岐終了
◆
:分岐終了
◆注釈:***************************
: :/アイテムを奪うイベント
: :*************************** - 簡単な説明
- 装備しているアイテムは奪えなかったと思うので、まず装備を全部外させます
- アイテムを戻さない場合は変数 1〜21 にアイテムの数を代入する必要はありません
- 変数[0] が使えたかどうか?なのですが、まあ、上記アイテムの数を格納する変数とは違う変数であれば何番の変数を使ってもらっても結構です
- アイテム No を格納した変数を 1ずつ加算することで、対象となるアイテム No を変化させていきます
- 奪わないアイテムがある場合、そのアイテム No の一つ前までで条件分岐し、対象のアイテムで条件分岐、それ以降のアイテムで条件分岐させます
- アイテムの最大保有数は 99 なので、99 減らすと 0 になります
ちなみに、アイテムの数はマイナスにならないようですが、これを能力値でするとマイナスをカウントするようです。たとえば・・・
- キャラクタ- A の敏捷を 変数[1] に格納
- キャラクター A の敏捷を 100 下げる(これでキャラクターの敏捷は見た目、0 になっている)
- キャラクターの敏捷を変数[1] 上昇させる
としたら、もとの敏捷に戻るだろうと考えていたのに、マイナスをカウントしてしまい、変数[1]×2−100 の値が敏捷になってしまいました。
なので、こういうときは、変数[1]の値を下げないとうまくいきません。
参考までに・・・。