スーパーマーケット風買い物イベント ver1.12(最新版)
1.2からの修正点:
複数種類のアイテムを選んだ状態で買い物をキャンセルした後、
再び買い物をしなおした時にキャンセルした分の金額がリセットされていない重大バグを修正。
所持金の代入処理の順番を変更。
不要な条件分岐を整理。
買ったアイテムの種類数に関係なく、合計金額を表示する時の変数を共通化。

(買い物処理以外は変更ありません。)
サンプルをダウンロード クリックでダウンロードだ!
また、サンプルには、買い物かご使用バージョンも収録されています。

買い物かご使用バージョンでは、
『店で買い物かご(アイテム扱い)を取らないと買い物が出来ない』
『アイテムで買い物かごを使用すると、かごに入れたアイテムの種類と個数が分かる』
『中身が入った状態でかごを戻すと、中身も全てリセットされる一括返品機能』
といった違いがあります。
アイテム名や文章、変数・スイッチは自分の使い易い様に変更してください。
必要なもの
スイッチ:店で変えるアイテムの数だけ+買い物かごを使うなら追加で1つ
変数:1+店で買えるアイテム×4
場合によっては根気。
買い物棚1 買い物棚2(長いアイテム名の場合) 買い物処理 万引き防止
イベント1つ目(買い物1)
■■イベント開始条件
◇決定キーが押されたとき
------------------------------------------------------------
0001 ◆条件分岐:スイッチ[0001:買い物棚1]がON [条件に当てはまらない場合の処理内容も設定する:○]
0002  ◆文章:ポーションを戻しますか?
0003  ◆選択肢の表示:はい/いいえ [キャンセルの場合:選択肢2を選択する]
0004  :[はい]の場合
0005   ◆文章:いくつ戻しますか?
0006   ◆数値入力の処理:2桁, V[0005:ポーション返品個数]
0007   ◆条件分岐:変数[0005:ポーション返品個数]がV[0003:ポーション購入個数]以下 [条件に当てはまらない場合の処理内容も設定する:○]
0008    ◆条件分岐:変数[0005:ポーション返品個数]が0と同値 [条件に当てはまらない場合の処理内容も設定する:○]
0009     ◆文章:戻すのをやめた。
0010     ◆
0011    :それ以外の場合
0012     ◆変数の操作:[0003:ポーション購入個数]減算, 変数[0005:ポーション返品個数]の値
0013     ◆文章:\V[5]個棚に戻した。
0014     ◆条件分岐:変数[0003:ポーション購入個数]が0と同値 [条件に当てはまらない場合の処理内容も設定する:×]
0015      ◆スイッチの操作:[0001:買い物棚1]をOFFにする
0016      ◆
0017     :分岐終了
0018     ◆
0019    :分岐終了
0020    ◆
0021   :それ以外の場合
0022    ◆文章:かごの中身はそんなに入っていない!
0023    ◆
0024   :分岐終了
0025   ◆
0026  :[いいえ]の場合
0027   ◆文章:戻すのをやめた。
0028   ◆文章:\N[10]を買い足しますか?
0029   ◆選択肢の表示:はい/いいえ [キャンセルの場合:選択肢2を選択する]
0030   :[はい]の場合
0031    ◆文章:いくつ買いますか?
0032    ◆数値入力の処理:2桁, V[0002:ポーション入力個数]
0033    ◆変数の操作:[0003:ポーション購入個数]加算, 変数[0002:ポーション入力個数]の値
0034    ◆条件分岐:変数[0002:ポーション入力個数]が0より大きい [条件に当てはまらない場合の処理内容も設定する:○]
0035     ◆文章:\V[2]個のポーションを手に取った。
0036     ◆
0037    :それ以外の場合
0038     ◆文章:買い足すのをやめた。
0039     ◆
0040    :分岐終了
0041    ◆
0042   :[いいえ]の場合
0043    ◆文章:買い足すのをやめた。
0044    ◆
0045   :分岐終了
0046   ◆
0047  :分岐終了
0048  ◆
0049 :それ以外の場合
0050  ◆文章:棚にポーションが並んでいる。
0051  :  :ポーションを買っていきますか?
0052  ◆選択肢の表示:はい/いいえ [キャンセルの場合:選択肢2を選択する]
0053  :[はい]の場合
0054   ◆文章:いくつ買いますか?
0055   ◆数値入力の処理:2桁, V[0002:ポーション入力個数]
0056   ◆変数の操作:[0003:ポーション購入個数]加算, 変数[0002:ポーション入力個数]の値
0057   ◆条件分岐:変数[0002:ポーション入力個数]が0より大きい [条件に当てはまらない場合の処理内容も設定する:×]
0058    ◆主人公の名前変更:主人公[0010:アイテム1]の名前をポーションに変更
0059    ◆文章:\V[2]個のポーションを手に取った。
0060    ◆スイッチの操作:[0001:買い物棚1]をONにする
0061    ◆
0062   :分岐終了
0063   ◆
0064  :[いいえ]の場合
0065   ◆文章:買うのをやめた。
0066   ◆
0067  :分岐終了
0068  ◆
0069 :分岐終了
イベント2つ目(買い物2・アイテム名が長い場合)
■■イベント開始条件
◇決定キーが押されたとき
------------------------------------------------------------
0001 ◆条件分岐:スイッチ[0002:買い物棚2]がON [条件に当てはまらない場合の処理内容も設定する:○]
0002  ◆文章:クロースアーマーを戻しますか?
0003  ◆選択肢の表示:はい/いいえ [キャンセルの場合:選択肢2を選択する]
0004  :[はい]の場合
0005   ◆文章:いくつ戻しますか?
0006   ◆数値入力の処理:2桁, V[0009:クロアマ返品個数]
0007   ◆条件分岐:変数[0009:クロアマ返品個数]が0と同値 [条件に当てはまらない場合の処理内容も設定する:○]
0008    ◆文章:戻すのをやめた。
0009    ◆
0010   :それ以外の場合
0011    ◆条件分岐:変数[0009:クロアマ返品個数]がV[0007:クロアマ購入個数]以下 [条件に当てはまらない場合の処理内容も設定する:○]
0012     ◆変数の操作:[0007:クロアマ購入個数]減算, 変数[0009:クロアマ返品個数]の値
0013     ◆文章:\V[9]着棚に戻した。
0014     ◆条件分岐:変数[0007:クロアマ購入個数]が0と同値 [条件に当てはまらない場合の処理内容も設定する:×]
0015      ◆スイッチの操作:[0002:買い物棚2]をOFFにする
0016      ◆
0017     :分岐終了
0018     ◆
0019    :それ以外の場合
0020     ◆文章:かごの中身はそんなに入っていない!
0021     ◆
0022    :分岐終了
0023    ◆
0024   :分岐終了
0025   ◆
0026  :[いいえ]の場合
0027   ◆文章:戻すのをやめた。
0028   ◆文章:\N[11]\N[12]を買い足しますか?
0029   ◆選択肢の表示:はい/いいえ [キャンセルの場合:選択肢2を選択する]
0030   :[はい]の場合
0031    ◆文章:いくつ買いますか?
0032    ◆数値入力の処理:2桁, V[0006:クロアマ入力個数]
0033    ◆変数の操作:[0007:クロアマ購入個数]加算, 変数[0006:クロアマ入力個数]の値
0034    ◆条件分岐:変数[0006:クロアマ入力個数]が0より大きい [条件に当てはまらない場合の処理内容も設定する:○]
0035     ◆文章:クロースアーマーを\V[6]着かごに入れた。
0036     ◆
0037    :それ以外の場合
0038     ◆文章:買い足すのをやめた。
0039     ◆
0040    :分岐終了
0041    ◆
0042   :[いいえ]の場合
0043    ◆文章:買い足すのをやめた。
0044    ◆
0045   :分岐終了
0046   ◆
0047  :分岐終了
0048  ◆
0049 :それ以外の場合
0050  ◆文章:クロースアーマーが並んでいる。
0051  :  :クロースアーマーを買っていきますか?
0052  ◆選択肢の表示:はい/いいえ [キャンセルの場合:選択肢2を選択する]
0053  :[はい]の場合
0054   ◆文章:いくつ買いますか?
0055   ◆数値入力の処理:2桁, V[0006:クロアマ入力個数]
0056   ◆条件分岐:変数[0006:クロアマ入力個数]が0より大きい [条件に当てはまらない場合の処理内容も設定する:×]
0057    ◆変数の操作:[0007:クロアマ購入個数]加算, 変数[0006:クロアマ入力個数]の値
0058    ◆主人公の名前変更:主人公[0011:アイテム2]の名前をクロースに変更
0059    ◆主人公の名前変更:主人公[0012:アイテム3]の名前をアーマーに変更
0060    ◆文章:クロースアーマーを\V[6]着かごに入れた。
0061    ◆スイッチの操作:[0002:買い物棚2]をONにする
0062    ◆
0063   :分岐終了
0064   ◆
0065  :[いいえ]の場合
0066   ◆文章:買うのをやめた。
0067   ◆
0068  :分岐終了
0069  ◆
0070 :分岐終了
0071 ◆
イベント3つ目(購入イベント)
◆変数の操作:[0001:所持金]代入, 所持金
◆条件分岐:スイッチ[0001:買い物棚1]がON [条件に当てはまらない場合の処理内容も設定する:○]
 ◆条件分岐:スイッチ[0002:買い物棚2]がON [条件に当てはまらない場合の処理内容も設定する:○]
  ◆変数の操作:[0004:ポーション購入金額]代入, 変数[0003:ポーション購入個数]の値
  ◆変数の操作:[0004:ポーション購入金額]乗算, 40
  ◆変数の操作:[0008:クロアマ購入金額]代入, 変数[0007:クロアマ購入個数]の値
  ◆変数の操作:[0008:クロアマ購入金額]乗算, 80
  ◆変数の操作:[0100:合計金額]加算, 変数[0004:ポーション購入金額]の値
  ◆変数の操作:[0100:合計金額]加算, 変数[0008:クロアマ購入金額]の値
  ◆文章:店員
  :  :「\N[10]が\V[3]個と
  :  : \N[11]\N[12]が\V[7]個で、合計\V[100]Gになります」
  ◆文章:店員
  :  :「お買い上げになりますか?
  ◆選択肢の表示:買っていく/やっぱりやめる [キャンセルの場合:選択肢2を選択する]
  :[買っていく]の場合
   ◆条件分岐:変数[0100:合計金額]がV[0001:所持金]以下 [条件に当てはまらない場合の処理内容も設定する:○]
    ◆アイテムの増減:アイテム[0001:ポーション]をV[0003:ポーション購入個数]増やす
    ◆アイテムの増減:アイテム[0054:クロースアーマー]をV[0007:クロアマ購入個数]増やす
    ◆所持金の操作:所持金をV[0100:合計金額]減らす
    ◆変数の操作:[0002:ポーション入力個数〜0009:クロアマ返品個数]代入, 0
    ◆変数の操作:[0100:合計金額]代入, 0
    ◆文章:店員
    :  :「ありがとうございました
    ◆スイッチの操作:[0001:買い物棚1〜0002:買い物棚2]をOFFにする
    ◆
   :それ以外の場合
  
  ◆変数の操作:[0100:合計金額]代入, 0
    ◆文章:店員
    :  :「お金が足りないぞ!
    ◆
   :分岐終了
   ◆
  :[やっぱりやめる]の場合
   
◆変数の操作:[0100:合計金額]代入, 0
   ◆文章:店員
   :  :「ごゆっくり買い物をお楽しみ下さい
   ◆
  :分岐終了
  ◆
 :それ以外の場合
  ◆変数の操作:[0004:ポーション購入金額]代入, 変数[0003:ポーション購入個数]の値
  ◆変数の操作:[0004:ポーション購入金額]乗算, 40
  ◆変数の操作:[0100:合計金額]加算, 変数[0004:ポーション購入金額]の値
  ◆文章:店員
  :  :「\N[10]が\V[3]個で、\V[100]Gになります」
  ◆文章:店員
  :  :「お買い上げになりますか?
  ◆選択肢の表示:買っていく/やっぱやめる [キャンセルの場合:選択肢2を選択する]
  :[買っていく]の場合
   ◆条件分岐:変数[0004:ポーション購入金額]がV[0001:所持金]以下 [条件に当てはまらない場合の処理内容も設定する:○]
    ◆所持金の操作:所持金をV[0100:合計金額]減らす
    ◆アイテムの増減:アイテム[0001:ポーション]をV[0003:ポーション購入個数]増やす
    ◆変数の操作:[0002:ポーション入力個数〜0005:ポーション返品個数]代入, 0
    ◆変数の操作:[0100:合計金額]代入, 0
    ◆文章:店員
    :  :「ありがとうございました
    ◆スイッチの操作:[0001:買い物棚1]をOFFにする
    ◆
   :それ以外の場合
    ◆変数の操作:[0100:合計金額]代入, 0
    ◆文章:店員
    :  :「お金が足りないぞ!
    ◆
   :分岐終了
   ◆
  :[やっぱやめる]の場合
   ◆変数の操作:[0100:合計金額]代入, 0
   ◆文章:店員
   :  :「ごゆっくり買い物をお楽しみ下さい
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:それ以外の場合
 ◆条件分岐:スイッチ[0002:買い物棚2]がON [条件に当てはまらない場合の処理内容も設定する:○]
  ◆変数の操作:[0008:クロアマ購入金額]代入, 変数[0007:クロアマ購入個数]の値
  ◆変数の操作:[0008:クロアマ購入金額]乗算, 80
  ◆変数の操作:[0100:合計金額]代入, 変数[0008:クロアマ購入金額]の値
  ◆文章:店員
  :  :「\N[11]\N[12]が\V[7]個で、\V[100]Gになります」
  ◆文章:店員
  :  :「お買い上げになりますか?
  ◆選択肢の表示:買っていく/やっぱやめる [キャンセルの場合:選択肢2を選択する]
  :[買っていく]の場合
   ◆条件分岐:変数[0100:合計金額]がV[0001:所持金]以下 [条件に当てはまらない場合の処理内容も設定する:○]
    ◆所持金の操作:所持金をV[0100:合計金額]減らす
    ◆アイテムの増減:アイテム[0054:クロースアーマー]をV[0007:クロアマ購入個数]増やす
    ◆変数の操作:[0006:クロアマ入力個数〜0009:クロアマ返品個数]代入, 0
    ◆変数の操作:[0100:合計金額]代入, 0
    ◆文章:店員
    :  :「ありがとうございました
    ◆スイッチの操作:[0002:買い物棚2]をOFFにする
    ◆
   :それ以外の場合
    ◆変数の操作:[0100:合計金額]代入, 0
    ◆文章:店員
    :  :「お金が足りないぞ!
    ◆
   :分岐終了
   ◆
  :[やっぱやめる]の場合
   ◆変数の操作:[0100:合計金額]代入, 0
   ◆文章:店員
   :  :「ごゆっくり買い物をお楽しみ下さい
   ◆
  :分岐終了
  ◆
 :それ以外の場合
  ◆文章:店員
  :  :「何か御用ですか?
  ◆
 :分岐終了
 ◆
:分岐終了

イベント4つ目(買い物中の退出防止)
■■イベント開始条件
◇主人公から触れたとき
------------------------------------------------------------
0001 ◆条件分岐:スイッチ[0001:買い物棚1]がON [条件に当てはまらない場合の処理内容も設定する:○]
0002  ◆キャラクターの動作指定:0003:店のおじさん [移動頻度:8, 動作を繰り返す:×, 移動できない場合は無視:×], 下を向く
0003  ◆文章:店員
0004  :  :「こら!金を払っていけ!!
0005  ◆キャラクターの動作指定:主人公 [移動頻度:8, 動作を繰り返す:×, 移動できない場合は無視:×], 上に移動, 右に移動
0006  ◆
0007 :それ以外の場合
0008  ◆条件分岐:スイッチ[0002:買い物棚2]がON [条件に当てはまらない場合の処理内容も設定する:○]
0009   ◆キャラクターの動作指定:0003:店のおじさん [移動頻度:8, 動作を繰り返す:×, 移動できない場合は無視:×], 下を向く
0010   ◆文章:店員
0011   :  :「こら!金を払っていけ!!
0012   ◆キャラクターの動作指定:主人公 [移動頻度:8, 動作を繰り返す:×, 移動できない場合は無視:×], 上に移動, 右に移動
0013   ◆
0014  :それ以外の場合
0015   ◆場所移動:(店の外へ)
0016   ◆
0017  :分岐終了
0018  ◆
0019 :分岐終了
0020 ◆