WOLF RPGエディター(ウディタ)/マップイベント【サイトトップへ戻る】
■お店のイベントを作る
(更新:2024/05/08)


アイテムや装備品を購入したり、持っている所持品を売却したりする「お店イベント」を作成します。



ショートカット
■処理の流れ
■販売価格について
■お店のイベントを作る
■カウンター内では会話内容を変える
■カウンター内へ入ろうとすると注意される

マップイベントの基礎情報は別ページに記載しています。
【マップイベントに関する説明を見る】


  
■処理の流れ

お店の処理の流れは以下のようになります。

【1】マップイベントを調べる。(起動条件:決定キーで実行)
【2】商品データを初期化する。(コモンイベント[033:【1】 お店 初期化]を呼び出す)
【3】商品データを登録する。 (コモンイベント[034:【2】 お店 商品の追加]を呼び出す)
【4】お店の画面を表示する。 (コモンイベント[035:【3】 お店処理 実行]を呼び出す)



販売する商品のデータは、可変DB[16:× お店一時処理用]に登録します。





まずコモンイベント[033:【1】 お店 初期化]を呼び出し、可変DB[16:× お店一時処理用]のデータを初期化します。



次にコモンイベント[034:【2】 お店 商品の追加]を呼び出し、可変DB[16:× お店一時処理用]に商品データを登録します。

商品の登録は商品1つずつ登録します。

例えば「薬草」「癒しの水」「魔力の水」の3つを登録する場合は…
■イベントの挿入: コモン34:[【2】お店 商品の追加 ] / 1:アイテム[A] / 0:薬草 / -1:<なし> / -1:<なし>
■イベントの挿入: コモン34:[【2】お店 商品の追加 ] / 1:アイテム[A] / 1:癒しの水 / -1:<なし> / -1:<なし>
■イベントの挿入: コモン34:[【2】お店 商品の追加 ] / 1:アイテム[A] / 2:魔力の水 / -1:<なし> / -1:<なし>
と言ったように1つずつ登録していきます。

【イベントの挿入】の設定画面では、上の「追加するのは?」にて登録したい種類を選択し、
そして下の「[A]アイテム」「[B]武器」「[C]防具」にて登録したい商品を選択します。





商品の登録が完了したらコモンイベント[035:【3】 お店処理 実行]を呼び出し、お店の画面を表示してください。


▲トップへ戻る▲


  
■販売価格について

商品の販売価格はユーザーDBで設定します。





売却時の金額は、この販売価格の半分になります。

販売価格が奇数の場合は小数切り捨てになります。(価格「101」→売価「50」)

販売価格が「1」の場合は売却価格も「1」になります。

販売価格を「0」にすると売却不可になります。



販売価格はユーザーDBの変数呼び出し値を使ってお店ごとに変える事ができます。
【販売価格を変える設定方法を見る】


▲トップへ戻る▲


  
■お店のイベントを作る

話しかけるとお店イベントが実行されるマップイベントを設定します。

▼マップイベントに話しかける
▼お店の画面を表示



まず「カウンター属性」を設定しているカウンターの地形チップを設定してください。
【カウンター属性に関する説明を見る】





マップイベントを設定し、以下のように設定してください。

▼設定箇所を赤枠で表示


【イベントコード表示】

■マップイベント「店の人」

名前:店の人
グラフィック:店の人の画像
オプション[待機時アニメ]:チェック無し
起動条件:決定キーで実行
起動条件変数:なし

■文章:いらっしゃいませ。
■イベントの挿入: コモン33:[ 【1】 お店 初期化 ]
■イベントの挿入: コモン34:[ 【2】 お店 商品の追加 ] / 1:アイテム[A] / 0:薬草 / -1:<なし> / -1:<なし>
■イベントの挿入: コモン34:[ 【2】 お店 商品の追加 ] / 1:アイテム[A] / 1:癒しの水 / -1:<なし> / -1:<なし>
■イベントの挿入: コモン34:[ 【2】 お店 商品の追加 ] / 1:アイテム[A] / 2:魔力の水 / -1:<なし> / -1:<なし>
■イベントの挿入: コモン35:[ 【3】 お店処理 実行 ] / 3:売り・買い 両方


以上で設定完了です。


▲トップへ戻る▲


  
■カウンター内では会話内容を変える

カウンター越しで会話した時とカウンター内で会話した時の会話内容を変える設定を行います。

カウンター越しで会話 カウンター内で会話



カウンター越しなのか、カウンター内なのかの判断は、マップイベントに話しかけた時の主人公の向きで判断します。

今回の設定では、カウンター越しの会話の時は主人公は上向き(向き番号=8)になるため、
上向き以外(向き番号=8以外)の時には「カウンター内での会話」と判断してカウンター内の会話を実行し、
お店の処理は実行しないようにします。



なお、主人公の向きが斜め上向き(向き番号=7・9)の時には、何も反応しないように設定します。

▼カウンター越しに斜め向きで話しかけても以下のように会話できないように設定




マップイベントを以下のように設定してください。

【イベントコード表示】

■マップイベント「店の人」

グラフィック:店の人の画像
オプション[待機時アニメ]:チェック無し
起動条件:決定キーで実行
起動条件変数:なし

■変数操作+: このEvのSelf0 = 主人公 の 向き(1〜9)
■条件分岐(変数): 【1】 このEvのSelf0 が 8 と同じ
         【2】 このEvのSelf0 が 7 と同じ
         【3】 このEvのSelf0 が 9 と同じ
-◇分岐: 【1】 [ このEvのSelf0 が 8 と同じ ]の場合↓
|■文章:いらっしゃいませ!
|■イベントの挿入: コモン33:[ 【1】 お店 初期化 ]
|■イベントの挿入: コモン34:[ 【2】 お店 商品の追加 ] / 1:アイテム[A] / 0:薬草 / -1:<なし> / -1:<なし>
|■イベントの挿入: コモン34:[ 【2】 お店 商品の追加 ] / 1:アイテム[A] / 1:癒しの水 / -1:<なし> / -1:<なし>
|■イベントの挿入: コモン34:[ 【2】 お店 商品の追加 ] / 1:アイテム[A] / 2:魔力の水 / -1:<なし> / -1:<なし>
|■イベントの挿入: コモン35:[ 【3】 お店処理 実行 ] / 3:売り・買い 両方
|■イベント処理中断
|■
-◇分岐: 【2】 [ このEvのSelf0 が 7 と同じ ]の場合↓
|■イベント処理中断
|■
-◇分岐: 【3】 [ このEvのSelf0 が 9 と同じ ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
■文章:最近売り上げが落ちてしまって困っちゃうわ。


▲トップへ戻る▲


  
■カウンター内へ入ろうとすると注意される

主人公がカウンター内へ入ろうとすると、店の人が注意してくるイベントを設定します。





今回の設定では、主人公がカウンター内に入ってきたら、店の人は右を向き、主人公は左を向いて注意するセリフを表示し、
そして店の人は下を向き、主人公は1歩下に移動させます。



マップイベント[店の人]とは別に、カウンターの入り口となるマスに新たなマップイベントを設定してください。





新たに作成したマップイベントの設定内容は以下のとおりです。

【イベントコード表示】
※店の人が「Ev0」以外の場合は、
 イベントコード設定後に修正が必要です。


■マップイベント「カウンター内」

グラフィック:なし
起動条件:プレイヤー接触
起動条件変数:なし

■動作指定:Ev0 / 主人公の方を向く
■動作指定:主人公 / 左向
■動作完了までウェイト
■文章:ちょっと!\n入って来ちゃ〜ダメ!
■動作指定:Ev0 / 下向
■動作指定:主人公 / 下



なお、0.5マス単位の移動の場合、カウンター内に入りきる前に注意されてしまいます。



これが気になる場合は、マップイベントのオプション[半歩上に設置]にチェックを入れてください。



オプション[半歩上に設置]:チェックなし オプション[半歩上に設置]:チェックあり


▲トップへ戻る▲



◎関連ページ

◆キャラクターイベントを作る
◆アイテム取得(ツボ・宝箱)のイベントを作る

YADOT-WOLFトップ  気紛れな空間へ戻る  メール